.facelet-editor{gap:.9rem;min-width:0;padding-top:.85rem;display:grid}.editor-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.editor-heading h2{color:var(--text);margin:.15rem 0 0;font-size:1rem}.eyebrow{color:var(--accent);letter-spacing:.13em;font-size:.7rem}.draft-state{border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:.28rem .45rem;font-size:.68rem}.draft-state.is-dirty{color:#ffbd5c;border-color:#ffbd5c}.color-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.color-counts span{border:1px solid var(--line);color:var(--muted);text-align:center;border-radius:.4rem;padding:.35rem;font-size:.68rem}.color-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.palette-color,.editor-primary{min-width:44px;min-height:44px}.palette-color{border:1px solid var(--line);color:var(--muted);background:#0b1220;border-radius:.5rem;justify-content:center;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.palette-color span{background:var(--sticker-color);border-radius:.22rem;width:.9rem;height:.9rem}.palette-color[aria-pressed=true]{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.face-net-scroll{overscroll-behavior-inline:contain;max-width:100%;padding:.25rem 0 .5rem;overflow-x:auto}.face-net{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(4,136px);gap:.45rem;width:max-content;display:grid}.face[data-face=U]{grid-area:1/2}.face[data-face=L]{grid-area:2/1}.face[data-face=F]{grid-area:2/2}.face[data-face=R]{grid-area:2/3}.face[data-face=B]{grid-area:2/4}.face[data-face=D]{grid-area:3/2}.face{gap:.2rem;display:grid}.face>strong{color:var(--muted);text-align:center;font-size:.68rem}.face-grid{grid-template-columns:repeat(3,44px);gap:2px;display:grid}.facelet{background:var(--sticker-color,#344055);color:#07101a;border:2px solid #050912;border-radius:5px;width:44px;height:44px}.facelet:disabled{cursor:not-allowed;opacity:1}.facelet[data-invalid=true]{outline-offset:1px;outline:3px solid #ff5f72}[data-color=U]{--sticker-color:#f4f7f5}[data-color=R]{--sticker-color:#ff3b4f}[data-color=F]{--sticker-color:#35e87a}[data-color=D]{--sticker-color:#ffd53d}[data-color=L]{--sticker-color:#ff8a35}[data-color=B]{--sticker-color:#3f7cff}[data-color=empty]{--sticker-color:#344055}.editor-errors{color:#ffacb7;background:#7d304026;border:1px solid #7d3040;border-radius:.55rem;padding:.65rem;font-size:.75rem}.editor-errors p,.editor-errors ul{margin:0}.editor-errors ul{gap:.3rem;padding:.45rem 0 0 1rem;display:grid}.editor-errors button{min-height:44px;color:inherit;text-align:left;background:0 0;border:0;padding:.25rem}.editor-success{color:var(--accent);margin:0;font-size:.8rem}.editor-primary{border:1px solid var(--accent);background:var(--accent);color:#10180b;border-radius:.55rem;font-weight:750}@media (width<=899px){.face-net{grid-template-columns:repeat(4,136px);gap:.3rem}.face-grid{grid-template-columns:repeat(3,44px)}.facelet{width:44px;height:44px}}.solution-panel{gap:.85rem;padding-top:.85rem;display:grid}.solution-mode{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.solution-mode button,.solution-primary,.optimal-setup-notice button,.solver-settings button,.optimal-progress button,.solution-progress button,.playback-controls button,.verified-solution select{min-height:44px}.solution-mode button,.playback-controls button,.optimal-setup-notice button,.solver-settings button,.optimal-progress button,.solution-progress button{border:1px solid var(--line);color:var(--muted);background:#0b1220;border-radius:.5rem}.solution-mode button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.solution-primary{border:1px solid var(--accent);background:var(--accent);color:#10180b;border-radius:.55rem;font-weight:750}.solution-progress,.optimal-setup-notice,.optimal-capability-error,.optimal-progress,.solver-settings,.verified-solution{border:1px solid var(--line);background:#0b1220;border-radius:.6rem;padding:.7rem}.solution-progress{grid-template-columns:auto 1fr;align-items:center;gap:.6rem;display:grid}.solution-progress button{grid-column:1/-1}.solution-progress p,.optimal-capability-error p,.optimal-progress p,.solver-settings p{color:var(--muted);margin:.2rem 0 0;font-size:.75rem}.solution-progress__spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite solution-spin}@keyframes solution-spin{to{transform:rotate(360deg)}}.solution-message{color:var(--muted);margin:0}.solution-message.is-error{color:#ffacb7}.solution-message.is-cancelled{color:#ffcf7a}.optimal-setup-notice ul,.optimal-capability-error ul{color:var(--muted);margin:.65rem 0;padding-left:1.15rem;font-size:.78rem}.optimal-setup-notice button{border-color:var(--accent);width:100%;color:var(--accent)}.optimal-capability-error{border-color:#8d5360}.optimal-progress{gap:.55rem;display:grid}.optimal-progress__copy{justify-content:space-between;gap:.75rem;display:flex}.optimal-progress__copy span{color:var(--muted)}.optimal-progress__bar{background:#1d2a3d;border-radius:999px;height:.45rem;position:relative;overflow:hidden}.optimal-progress__bar>span{background:var(--accent);height:100%;display:block}.optimal-progress__bar.is-indeterminate:after{background:var(--accent);content:"";width:35%;animation:1.2s ease-in-out infinite optimal-indeterminate;position:absolute;inset:0 auto 0 -35%}@keyframes optimal-indeterminate{to{transform:translate(390%)}}.solver-settings summary{min-height:44px;color:var(--muted);cursor:pointer}.solver-settings>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.verified-solution header{justify-content:space-between;gap:.6rem;display:flex}.verified-solution header div,.verified-solution label{gap:.2rem;display:grid}.verified-solution header span,.verified-solution label{color:var(--muted);font-size:.7rem}.solution-steps{gap:.3rem;max-height:15rem;margin:.75rem 0;padding:0;list-style:none;display:grid;overflow-y:auto}.solution-steps li{min-height:44px;color:var(--muted);border:1px solid #0000;border-radius:.4rem;grid-template-columns:1.8rem 1fr;align-items:center;padding:.35rem;display:grid}.solution-steps li[data-current=true]{border-color:var(--accent);color:var(--text)}.playback-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.operation-panel{gap:var(--space-md);max-height:min(55dvh,30rem);padding-top:var(--space-md);display:grid;overflow-y:auto}.move-pad{gap:var(--space-xs);display:grid}.move-row{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.move-row button,.history-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:.5rem;min-width:44px;min-height:44px}.move-row button:hover,.move-row button:focus-visible{border-color:var(--accent);color:var(--accent)}.history-actions{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.history-count{color:var(--muted);grid-column:1/-1;margin:0;font-size:.72rem}.history-actions button:disabled{cursor:not-allowed;opacity:.45}@media (width>=900px){.operation-panel{max-height:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080c15;--surface:#111a2a;--line:#28354c;--text:#f5f8fc;--muted:#8d9bb0;--accent:#b6f43d;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{min-height:100%}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{color:inherit;font:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.app-shell{width:100%;min-height:100dvh;padding-bottom:calc(7rem + var(--safe-bottom));background:var(--bg);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.topbar{align-items:center;gap:var(--space-sm);min-height:3.5rem;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--line);background:var(--surface);letter-spacing:.08em;display:flex}.brand-mark{background:var(--accent);width:.75rem;height:.75rem;box-shadow:0 0 1rem color-mix(in srgb, var(--accent) 55%, transparent);border-radius:.2rem}.cube-badge{color:var(--muted);margin-left:auto;font-size:.75rem}.cube-stage{min-width:0;min-height:20rem;color:var(--muted);place-items:center;display:grid}.cube-stage-loading{place-content:center;justify-items:center;gap:var(--space-sm);width:100%;height:100%;min-height:20rem;color:var(--muted);letter-spacing:.04em;background:radial-gradient(circle at 35% 28%,#35c8e61a,#0000 36%),#080c15;font-size:.875rem;display:grid}.cube-stage-loading__indicator{background:var(--accent);width:.75rem;height:.75rem;box-shadow:0 0 1rem color-mix(in srgb, var(--accent) 55%, transparent);border-radius:.2rem}.control-dock{padding:var(--space-md);padding-bottom:var(--safe-bottom);border-top:1px solid var(--line);background:var(--surface);position:fixed;bottom:0;left:0;right:0}.control-dock button{min-height:44px}.control-dock [role=tablist]{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.control-dock [role=tab]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:.5rem;min-width:44px;min-height:44px}.control-dock [role=tab][aria-selected=true]{border-color:var(--accent);color:var(--accent)}.control-dock [role=tabpanel]{min-height:3rem}@media (width<=899px){.app-shell{padding-bottom:calc(min(52dvh, 28rem) + var(--safe-bottom))}.control-dock{overscroll-behavior:contain;max-height:min(52dvh,28rem);padding-bottom:calc(12px + var(--safe-bottom));overflow-y:auto}}@media (width>=900px){.app-shell{grid-template-columns:minmax(0,1fr) 380px;padding-bottom:0}.topbar{grid-column:1/-1}.cube-stage{grid-area:2/1}.control-dock{padding:var(--space-lg);border-top:0;border-left:1px solid var(--line);grid-area:2/2;position:static}}
