.game-grid{grid-template-columns:repeat(4,1fr)}
.cube-card{background:linear-gradient(145deg,#211b51,#0d1732);color:var(--ink);text-decoration:none}
.cube-icon{color:var(--pink)}
.cube-game{padding:0 0 105px}
.cube-player-panel{display:grid;grid-template-columns:1.12fr .88fr;min-height:500px;margin-top:37px;background:linear-gradient(135deg,rgba(29,24,68,.78),rgba(8,27,42,.74));overflow:hidden}
.cube-stage{position:relative;min-height:500px;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 43%,rgba(124,242,237,.16),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.05),transparent);touch-action:pan-y}
.cube-stage:before,.cube-stage:after{content:"";position:absolute;width:68%;aspect-ratio:1;border:1px solid rgba(124,242,237,.1);transform:rotate(45deg);pointer-events:none}.cube-stage:after{width:43%;border-color:rgba(255,142,201,.16)}
.cube-floor{position:absolute;width:245px;height:66px;border-radius:50%;background:rgba(0,0,0,.54);filter:blur(19px);transform:translateY(144px);pointer-events:none}
#px-cube-canvas{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;cursor:grab;touch-action:none;user-select:none}#px-cube-canvas:active{cursor:grabbing}
.cube-fallback{position:absolute;z-index:1;width:174px;height:174px;transform-style:preserve-3d;transform:rotateX(-29deg) rotateY(43deg);filter:drop-shadow(0 22px 20px rgba(0,0,0,.42));transition:opacity .2s ease;pointer-events:none}.fallback-face{position:absolute;inset:0;border:3px solid #080a13;background-image:linear-gradient(90deg,transparent 30%,#080a13 30%,#080a13 35%,transparent 35%,transparent 65%,#080a13 65%,#080a13 70%,transparent 70%),linear-gradient(0deg,transparent 30%,#080a13 30%,#080a13 35%,transparent 35%,transparent 65%,#080a13 65%,#080a13 70%,transparent 70%);box-shadow:inset 3px 3px 9px rgba(255,255,255,.25),inset -5px -5px 10px rgba(0,0,0,.32)}.fallback-front{background-color:#5cda8b;transform:translateZ(87px)}.fallback-right{background-color:#ef6071;transform:rotateY(90deg) translateZ(87px)}.fallback-top{background-color:#f8f7ed;transform:rotateX(90deg) translateZ(87px)}.cube-stage.is-ready .cube-fallback{opacity:0}
.cube-loading{position:absolute;z-index:3;color:rgba(124,242,237,.78);font:500 10px "JetBrains Mono",monospace;letter-spacing:.13em;pointer-events:none;transition:opacity .2s ease}.cube-stage.is-ready .cube-loading{opacity:0}.cube-stage.fallback .cube-loading{opacity:1}
.cube-drag-label{position:absolute;right:23px;bottom:21px;z-index:4;color:rgba(124,242,237,.65);font:500 10px "JetBrains Mono",monospace;letter-spacing:.13em;pointer-events:none}
.cube-player-controls{padding:55px 48px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);background:rgba(7,9,19,.25)}
.cube-status{margin:0 0 16px;font:500 10px "JetBrains Mono",monospace;letter-spacing:.12em;color:var(--cyan)}
.cube-player-controls h3{margin:0;font-size:31px;letter-spacing:-.06em}.cube-hint{max-width:330px;margin:16px 0 9px;color:#c5c7d1;font-size:14px;line-height:1.8}.cube-touch-hint{margin:0 0 22px;color:var(--cyan);font-size:12px;line-height:1.65}
.m3-move-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.m3-move-grid button,.m3-action{min-height:46px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--ink);font:700 13px "JetBrains Mono",monospace;cursor:pointer;transition:transform .2s,border-color .2s,color .2s,background .2s}.m3-move-grid button:hover,.m3-action:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}.m3-move-grid button:disabled,.m3-action:disabled{cursor:default;opacity:.48;transform:none}.m3-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:9px;margin-top:17px}.m3-action{font-family:"Noto Sans SC","Noto Sans JP",sans-serif}.m3-primary{background:var(--cyan);border-color:var(--cyan);color:#07101a}.m3-primary:hover{background:#a4fffb;color:#07101a}.m3-count{margin:18px 0 0;color:var(--muted);font:500 11px "JetBrains Mono",monospace;letter-spacing:.08em}.m3-count strong{margin-left:5px;color:var(--pink);font-size:18px}
@media(max-width:900px){.game-grid{grid-template-columns:repeat(2,1fr)}.cube-player-panel{grid-template-columns:1fr}.cube-player-controls{border-left:0;border-top:1px solid var(--line)}.cube-stage{min-height:425px}}
@media(max-width:750px){.cube-game{padding-bottom:65px}.cube-stage{min-height:365px}.cube-player-controls{padding:37px 24px}.cube-player-controls h3{font-size:27px}.cube-drag-label{font-size:9px}.m3-move-grid button,.m3-action{min-height:52px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.cube-fallback,.cube-loading,.m3-move-grid button,.m3-action{transition:none}}
