:root{--bg:#f9f7f2;--bg-edge:#f5f3e9;--ink:#3a3630;--muted:#9a968f}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:radial-gradient(ellipse at 50% 45%, var(--bg) 55%, var(--bg-edge) 100%);background-color:var(--bg);color:var(--ink);flex-direction:column;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;display:flex;overflow:hidden}.stage{flex:1;grid-template-columns:1fr 1fr;min-height:0;padding:0 3vw;display:grid}.panel{min-width:0;min-height:0;position:relative}#cube-panel{cursor:grab;touch-action:none}#cube-panel:active{cursor:grabbing}#cube-panel canvas,#rings{width:100%;height:100%;display:block;position:absolute;inset:0}.controls{flex-direction:column;align-items:center;gap:6px;padding:8px 16px 18px;display:flex}.buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}button{font:inherit;color:var(--ink);cursor:pointer;background:#ffffff8c;border:1px solid #d9d5cc;border-radius:999px;padding:6px 16px;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--muted);background:#fff}button:disabled{opacity:.5;cursor:default}.status{color:var(--muted);gap:12px;min-height:1.4em;font-size:13px;display:flex}.solved{color:#2d6e4c;opacity:0;font-weight:600;transition:opacity .3s}.solved.show{opacity:1}.github{z-index:2;color:#fff;background:var(--ink);border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;transition:background .15s,transform .15s;display:flex;position:fixed;top:16px;right:16px;box-shadow:0 4px 14px #3a363047}.github:hover{background:#221f1c;transform:translateY(-1px)}.hint{color:var(--muted);text-align:center;margin:0;font-size:12px}kbd{font:inherit;background:#ffffff80;border:1px solid #d9d5cc;border-radius:4px;padding:0 4px;font-size:11px}@media (width<=760px){.stage{grid-template-rows:1fr 1fr;grid-template-columns:1fr;padding:0 16px}}
