@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.solver-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.5fr);gap:24px}.solver-input{padding:24px;min-width:0}.solver-input h2{margin:10px 0}.solver-layout .solver-hint{color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0}.solver-facelets{border-block:1px solid var(--border);margin-top:18px;padding:12px 0;font-size:12px;color:var(--muted)}.solver-facelets summary,.solver-search-details summary{cursor:pointer}.solver-facelets p{line-height:1.6;margin:12px 0}.facelet-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.facelet-legend span{display:flex;align-items:center;gap:6px}.facelet-legend i{width:10px;height:10px;border:1px solid #66776d;border-radius:3px;flex-shrink:0}.facelet-label{display:block;margin-top:12px;color:var(--text)}.solver-status{margin:0;padding:0 16px 12px;font-size:12px;color:var(--muted)}.solver-progress{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:12px;padding:0 16px 12px;font-size:12px;color:var(--muted)}.solver-search-details dl{margin:8px 0 0}.solver-search-details dl div{display:flex;gap:16px;justify-content:space-between;margin-top:6px}.solver-search-details dd{margin:0;font-variant-numeric:tabular-nums}.solver-layout .solver-choice{padding:0 16px;margin:0 0 16px}.solver-result{display:flex;align-items:center;gap:8px;padding:0 16px 16px;font-size:12px}.solver-result strong{color:var(--green, #326b55);background:#edf3e5;padding:5px 8px;border-radius:5px}.solver-result span{color:var(--muted)}.solver-layout .trainer-card>.solver-actions{padding:0 16px}.solver-actions>span{font-size:12px;color:var(--muted)}.solver-palette,.solver-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.solver-palette button{width:36px;height:36px;border:1px solid #66776d;border-radius:6px;color:#192c26;cursor:pointer}.cube-net{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,auto);gap:5px;margin:24px 0;max-width:420px}.net-face{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.net-face button{aspect-ratio:1;min-width:0;border:1px solid #495b51;border-radius:3px;color:#192c26;cursor:pointer;font-weight:700}.net-face button:disabled{opacity:1;cursor:default}.net-U{grid-area:1/2}.net-L{grid-area:2/1}.net-F{grid-area:2/2}.net-R{grid-area:2/3}.net-B{grid-area:2/4}.net-D{grid-area:3/2}.solver-input textarea{display:block;width:100%;box-sizing:border-box;min-height:85px;margin-top:8px;font-family:monospace;overflow-wrap:anywhere;padding:10px;resize:vertical}@media(max-width:900px){.solver-layout{grid-template-columns:minmax(0,1fr)}.solver-input{padding:18px}.solver-actions .button{padding:9px 12px}.solver-layout .trainer-heading{flex-wrap:wrap}}.solver-input>.solver-actions .button:not(:first-child){background:transparent;color:var(--muted);border:1px solid var(--border)}.solver-input>.solver-actions .button:not(:first-child):hover:not(:disabled){background:#edf3e5;color:#326b55}.solver-input>.solver-actions{gap:8px}.solver-input>.solver-actions .button{padding:10px 12px;font-size:12px}.representation-toggle{display:flex;gap:6px;margin:12px 0}.representation-toggle button[aria-pressed=true]{background:#e7f1de;border-color:#658456;color:#315d2d}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#19352c;background:#f5f7f5;font-synthesis:none;--green: #326b55;--muted: #718278;--border: #e1e8e2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8cb69a;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{vertical-align:middle;flex-shrink:0}button,a,input,select,summary{touch-action:manipulation}.app-shell{min-height:100dvh}.sidebar{display:none}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:12px 18px;border-bottom:1px solid var(--border);background:#fcfdfb}.mobile-brand{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:650;letter-spacing:-.7px}.mobile-brand svg{color:var(--green)}.screen-title{display:none}.topbar-right{display:flex;align-items:center;gap:9px}.user-name,.event-badge{display:none}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:12px;font-weight:600;background:#e7eee5}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:9px;border-radius:8px;color:#65806d}.icon-button:hover{background:#edf2e9}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 16px;border-radius:8px;background:var(--green);color:#fff;font-size:13px;font-weight:600}.button:hover{background:#265a45}.button.small{min-height:36px;padding:7px 11px;font-size:12px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;color:var(--green);font-size:12px}.text-button:hover{color:#1b4e36}main{max-width:1100px;margin:auto;padding:16px 14px calc(85px + env(safe-area-inset-bottom))}.card{border:1px solid var(--border);border-radius:12px;background:#fff}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px 0}.section-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:1px}.status-dot{width:6px;height:6px;border-radius:50%;background:#76a17c;display:inline-block}.scramble{padding:12px 18px 8px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;font-weight:500;line-height:1.9;text-align:center;word-spacing:3px;min-height:95px}.scramble-note{font-size:10px;color:var(--muted);text-align:center;padding:0 12px 16px}.timer-card{overflow:hidden}.timer-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;border-top:1px solid #eff3ed;background:radial-gradient(ellipse at center,#f7faf3,#fff 75%);text-align:center}.timer-status{font-size:9px;font-weight:600;letter-spacing:1.8px;color:#7b927c}.time-display{padding:8px 6px;font-size:clamp(68px,22vw,100px);line-height:1.25;letter-spacing:-5px;font-weight:400;font-variant-numeric:tabular-nums}.time-display:disabled{opacity:1}.time-display>span{font-size:20px;letter-spacing:0;color:#8aa18b;margin-left:8px}.timer-hint{font-size:11px;color:var(--muted);min-height:24px}.timer-hint kbd{display:none}.is-running .time-display{color:#418655}.timer-ring{display:none}.timer-entry{padding:12px 16px 15px;border-top:1px solid #eff3ed}.entry-switch{display:flex;justify-content:center;gap:6px}.entry-switch button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 16px;font-size:12px;color:var(--muted);border-radius:7px}.entry-switch .selected{color:var(--green);background:#edf3e8}.manual-input{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:12px;font-size:12px}.manual-input input{width:190px}.save-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}.session-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:18px 3px}.session-stats>div{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}.session-stats span{font-size:10px;color:var(--muted)}.session-stats strong{font-size:clamp(13px,4vw,19px);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.5px}.green-text{color:var(--green)!important}.history-card{overflow:hidden}.history-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}h2{font-size:15px;font-weight:600;letter-spacing:-.3px}.history-header h2 span{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}.small-muted{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.empty-state{text-align:center;padding:24px 18px;font-size:12px;color:var(--muted)}.empty-state .button{margin-top:13px}.solve-list{list-style:none;padding:0;margin:0}.solve-list>li{padding:8px 12px 10px;border-bottom:1px solid #edf1eb}.solve-list>li:last-child{border-bottom:0}.solve-row{display:flex;align-items:center;gap:13px}.solve-number{font-size:10px;color:var(--muted);min-width:20px;text-align:center}.solve-time{flex:1;font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.solve-time small{font-size:11px;color:var(--muted)}.solve-row select{font-size:11px;min-height:36px;padding:5px 8px}.delete:hover{color:#b95242;background:#fff1ec}.solve-details{margin-left:33px;font-size:10px;color:var(--muted)}.solve-details summary{cursor:pointer;width:fit-content;padding:4px 0;min-height:26px}.solve-details p{font-family:ui-monospace,monospace;line-height:1.8;padding:7px 0 3px;max-width:700px}input,select{min-height:42px;border:1px solid #dce4d9;border-radius:7px;background:#fff;color:#375742;padding:10px;font-size:13px}input:focus,select:focus{outline:2px solid #a0bd98;outline-offset:1px}.mobile-nav{position:fixed;inset:auto 0 0;display:flex;justify-content:space-evenly;padding:6px 0 calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fbfdf9f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:47px;min-width:100px;justify-content:center;font-size:10px;color:#8b9b87}.mobile-nav .active{color:var(--green)}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;margin-bottom:12px;background:#fff2ed;border:1px solid #f0dbcf;border-radius:8px;font-size:12px;color:#a05c40;line-height:1.6}.algorithm-layout{display:grid;grid-template-columns:1fr;gap:12px}.library-set{display:grid;gap:6px;padding:12px 12px 4px;font-size:11px;color:var(--muted)}.library-set select,.variation-control select{width:100%;min-width:0;min-height:40px;padding:8px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#19352c;font-size:12px}.variation-control{display:flex;align-items:center;gap:12px;padding:0 16px 14px;color:var(--muted);font-size:11px}.variation-control select{max-width:230px}.algorithm-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.algorithm-option{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;padding:12px 9px;border-radius:8px;text-align:left;min-width:0}.algorithm-option.selected{background:#edf3e7}.alg-number{display:none}.algorithm-option strong{display:block;font-size:12px;font-weight:600}.algorithm-option small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.algorithm-option svg{color:#7c9871;width:15px}.trainer-card{overflow:hidden}.trainer-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px}.eyebrow{font-size:9px;letter-spacing:.8px;color:var(--muted);margin-bottom:5px}.trainer-heading h2{font-size:19px}.outline-label{font-size:10px;padding:6px 9px;border:1px solid var(--border);border-radius:6px;color:var(--muted);white-space:nowrap}.cube-stage{position:relative;height:clamp(240px,34vh,330px);background:radial-gradient(ellipse at center,#edf3e5,#f9fbf6 70%);border-block:1px solid #edf2e8}.cube-stage canvas{touch-action:none}.cube-tools{position:absolute;bottom:10px;left:10px;display:flex;gap:6px}.tool-button{display:flex;align-items:center;gap:6px;min-height:34px;padding:7px 9px;border:1px solid #dce7d3;border-radius:6px;background:#ffffffeb;font-size:10px;color:#658456}.tool-button.selected{background:#e3efd9}.viewer-help{position:absolute;bottom:10px;right:10px}.notation{display:flex;align-items:center;justify-content:center;gap:5px;padding:16px 8px 8px;flex-wrap:wrap}.notation button{border:1px solid var(--border);border-radius:7px;min-width:36px;min-height:44px;font-family:ui-monospace,monospace;font-size:23px;padding:6px;color:#7e9373}.notation button.completed{background:#e7f1de;border-color:#dce9d2;color:#4e7e43}.notation button.next{border-color:#8da879;color:#315d2d;background:#f7faf3}.move-instruction{position:relative;display:flex;gap:7px;align-items:center;padding:5px 14px 9px;color:#7b8f6d;min-height:48px}.move-instruction p{font-size:10px;line-height:1.6}.playback{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-top:1px solid #edf1e7}.playback-buttons{display:flex;align-items:center;gap:1px}.playback .icon-button{min-width:35px;padding:7px}.play-button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;margin:0 3px}.step-count{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.step-count span{font-size:10px;color:var(--muted)}.playback select{min-height:36px;font-size:11px;padding:7px;max-width:83px}.notation-help{display:flex;align-items:center;gap:6px;border-top:1px solid #edf1e7;padding:8px 15px;color:var(--muted);font-size:10px}.info-circle{position:relative;flex-shrink:0}.info-circle summary{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#658456;cursor:pointer;list-style:none}.info-circle summary::-webkit-details-marker{display:none}.info-circle summary:hover,.info-circle[open] summary{background:#e7f1de}.info-circle summary:focus-visible{outline:2px solid var(--green);outline-offset:2px}.info-popover{position:absolute;bottom:calc(100% + 6px);left:0;z-index:10;width:min(260px,65vw);padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 6px 24px #16352b20;color:#526747;text-align:left}.info-popover p,.move-instruction .info-popover p{margin:0;font-size:12px;line-height:1.6}.info-popover p+p{margin-top:8px}.viewer-help .info-popover{left:auto;right:0}.move-instruction .info-circle{position:static}.move-instruction .info-popover{left:14px;right:auto;width:min(260px,calc(100% - 28px))}.modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#16352b70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;padding:20px}.auth-modal{position:relative;width:100%;max-width:380px;padding:28px}.close-modal{position:absolute;top:10px;right:10px}.brand-icon{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;width:38px;height:40px;border-radius:9px}.auth-modal h2{font-size:23px;margin:18px 0 24px}.auth-note{font-size:12px;color:var(--muted);margin:-12px 0 20px}.demo-users{display:grid;gap:10px}.demo-user{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface, white);color:inherit;text-align:left}.demo-user:hover,.demo-user:focus-visible{background:#edf3eb}.demo-user>svg{margin-left:auto}.form-error{font-size:12px;color:#b2563d;line-height:1.6}.full{width:100%;margin-top:4px}.pwa-status:empty{display:none}.pwa-banner{display:flex;align-items:center;gap:9px;min-height:43px;margin-bottom:12px;padding:5px 12px;border-radius:8px;background:#eaf1e3;color:#688358;font-size:11px;line-height:1.6}.pwa-banner>span{flex:1}.pwa-banner .text-button{font-size:11px;min-height:33px}.pwa-help{position:relative;padding:14px 40px 14px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;margin-bottom:12px;font-size:11px;line-height:1.8}.pwa-help .icon-button{position:absolute;top:4px;right:4px}@media(min-width:700px){main{padding:24px 28px 90px}.scramble{max-width:750px;margin:auto;min-height:70px;font-size:18px}.timer-zone{min-height:280px}.time-display{font-size:108px}.timer-hint kbd{display:inline-block;margin-left:8px;padding:1px 5px;border:1px solid var(--border);border-radius:3px;font:10px inherit;color:#91a286}.session-stats{padding:23px 10px}.session-stats span{font-size:11px}.session-stats strong{font-size:23px}.history-header{padding:18px 22px}.solve-list>li{padding:10px 19px}.user-name{display:block;font-size:12px}.algorithm-list{justify-content:start}.algorithm-option{max-width:240px;padding:14px}.algorithm-option strong{font-size:13px}.algorithm-option small{font-size:10px}.cube-stage{height:360px}.notation{gap:10px;padding-top:22px}.notation button{min-width:45px;font-size:26px}.move-instruction{justify-content:center;padding-block:10px}.move-instruction p{font-size:12px}.playback{padding:15px 22px}.playback-buttons{gap:7px}.playback .icon-button{min-width:40px}.play-button{width:44px;height:44px}.trainer-heading{padding:20px 24px}.notation-help{padding-inline:24px}.event-badge{display:flex;align-items:center;gap:6px;font-size:11px;margin-right:10px;color:var(--muted)}}@media(min-width:1000px){.sidebar{position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;width:200px;padding:28px 18px;border-right:1px solid var(--border);background:#fafcf8}.brand{display:flex;align-items:center;font-size:21px;font-weight:650;letter-spacing:-1px;white-space:nowrap}.brand .brand-icon{margin-right:8px;width:32px;height:35px}.brand-light{font-weight:400}.brand-dot{color:#73996b}.sidebar nav{margin-top:36px}.nav-link{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:12px;border-radius:8px;margin-bottom:6px;font-size:13px;text-align:left;color:var(--muted)}.nav-link.active{color:var(--green);background:#e8efe3;font-weight:600}.main-shell{margin-left:200px}.mobile-nav,.mobile-brand{display:none}.screen-title{display:block;font-size:18px;font-weight:600;letter-spacing:-.5px}.topbar{padding:16px 32px;height:72px}main{padding:28px 32px 40px}.algorithm-layout{grid-template-columns:210px minmax(0,1fr);gap:20px;align-items:start}.algorithm-list{display:flex;flex-direction:column;padding:10px}.algorithm-option{max-width:none}.alg-number{display:block;font-size:10px;color:#8aa17b}.cube-stage{height:390px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}:root{color-scheme:dark;background:var(--bg);color:var(--text);--bg: #130E2A;--bg-mid: #18122E;--surface: #1E1633;--card-bg: #221A3A;--card-alt: #271E42;--border: rgba(138,100,220,.18);--border-bright: rgba(180,130,255,.28);--acc-grad: linear-gradient(135deg, #7C3AED 0%, #C026D3 45%, #F43F5E 100%);--acc-grad-h: linear-gradient(135deg, #8B5CF6 0%, #D946EF 45%, #FB7185 100%);--acc-purple: #A855F7;--acc-violet: #7C3AED;--acc-pink: #EC4899;--text: #E8E0F8;--text-dim: #9D8FBF;--text-muted: #5D5080;--green: var(--acc-purple);--muted: var(--text-muted);--border-orig: var(--border);font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 55% 35% at 15% 5%,rgba(124,58,237,.12) 0%,transparent 100%),radial-gradient(ellipse 40% 30% at 90% 95%,rgba(236,72,153,.09) 0%,transparent 100%),radial-gradient(ellipse 30% 25% at 80% 10%,rgba(168,85,247,.07) 0%,transparent 100%)}#root{position:relative;z-index:1}.sidebar{background:var(--bg-mid);border-right:1px solid var(--border)}.brand{color:var(--text);font-size:18px;font-weight:700;letter-spacing:-.4px}.brand-light{font-weight:400;color:var(--text-dim)}.brand-dot{display:none}.brand-icon{background:var(--acc-grad);border-radius:8px;box-shadow:0 0 14px #a855f759;color:#fff}.nav-link{color:var(--text-muted);font-size:13px;font-weight:500;border-radius:8px;transition:color .15s,background .15s;position:relative}.nav-link:hover{color:var(--text-dim);background:#8a64dc1a}.nav-link.active{color:var(--text);background:#a855f724;font-weight:600}.nav-link.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:2px;border-radius:2px;background:var(--acc-grad)}.topbar{background:var(--bg-mid);border-bottom:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.screen-title{color:var(--text);font-weight:600;font-size:16px}.event-badge{font-size:12px;color:var(--text-dim);background:#8a64dc1a;border:1px solid var(--border-bright);border-radius:20px;padding:4px 12px}.avatar{background:var(--acc-grad);color:#fff;box-shadow:0 0 10px #a855f766}.icon-button{color:var(--text-muted);border-radius:8px;transition:background .15s,color .15s}.icon-button:hover{background:#8a64dc1f;color:var(--text)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 24px #0000004d;transition:border-color .2s}.card:hover{border-color:var(--border-bright)}.card-top{border-bottom:1px solid var(--border)}.section-label{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.status-dot{background:var(--acc-grad);box-shadow:0 0 6px #a855f7b3}.scramble{color:var(--text);font-family:ui-monospace,SF Mono,Consolas,monospace}.scramble-note{color:var(--text-dim);letter-spacing:.06em;font-size:10px}.timer-zone{background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(124,58,237,.07) 0%,transparent 70%);border-color:var(--border)}.timer-status{color:var(--text-dim);font-size:8px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.time-display{color:var(--text);letter-spacing:-.04em;font-weight:300}.time-display>span{color:var(--text-dim)}.timer-hint{color:var(--text-dim);font-size:11px}.timer-hint kbd{border:1px solid var(--border-bright);border-radius:4px;padding:2px 6px;background:#8a64dc14;color:var(--text-dim);font-family:inherit}.is-running .time-display{color:var(--acc-purple);background:var(--acc-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.timer-zone.is-running{background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(168,85,247,.1) 0%,transparent 70%)}.timer-entry{border-top:1px solid var(--border)}.entry-switch button{color:var(--text-dim);border-radius:8px;font-size:11px}.entry-switch .selected{color:var(--text);background:#a855f71f;border:1px solid rgba(168,85,247,.25)!important}.timer-card .section-label,.history-card .small-muted,.history-card .solve-number,.history-card .solve-time small,.history-card .solve-details,.history-header h2 span,.timer-card .manual-input{color:var(--text-dim)}.timer-card input,.timer-card select,.history-card select{background:var(--card-alt);border-color:var(--border-bright);color:var(--text)}.timer-card input::placeholder{color:var(--text-dim)}.session-stats span{color:var(--text-dim);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.session-stats strong{color:var(--text)}.green-text{background:var(--acc-grad)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;color:transparent!important}.history-header{border-bottom:1px solid var(--border)}.history-header h2{color:var(--text)}.history-header h2 span{color:var(--text-muted)}.solve-list>li{border-bottom:1px solid rgba(138,100,220,.08)}.solve-list>li:hover{background:#8a64dc0d}.solve-number{color:var(--text-muted)}.solve-time{color:var(--text)}.solve-time small,.solve-details{color:var(--text-muted)}.delete:hover{color:#fb7185;background:#f43f5e1f}.button{background:var(--acc-grad);color:#fff;font-weight:600;border-radius:8px;box-shadow:0 2px 12px #a855f74d;transition:box-shadow .15s,transform .1s}.button:hover{background:var(--acc-grad-h);box-shadow:0 4px 20px #a855f780;transform:translateY(-1px)}.text-button{color:var(--acc-purple)}.text-button:hover{color:#c084fc}.solver-input>.solver-actions .button:not(:first-child){background:#8a64dc1a;color:var(--text-dim);border:1px solid var(--border)!important}.solver-input>.solver-actions .button:not(:first-child):hover:not(:disabled){background:#8a64dc2e;color:var(--text);border-color:var(--border-bright)!important}.mobile-nav{background:#18122ef5;border-top:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.mobile-nav button{color:var(--text-muted);font-size:10px}.mobile-nav .active{color:var(--acc-purple)}.mobile-nav .active svg{filter:drop-shadow(0 0 4px rgba(168,85,247,.6))}input,select{background:var(--card-alt);border:1px solid var(--border);color:var(--text);border-radius:8px}input:focus,select:focus{outline:2px solid rgba(168,85,247,.4);border-color:#a855f780}.cube-stage{background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(124,58,237,.08),transparent 70%),var(--bg);border-color:var(--border)}.cube-stage.is-see-through{background:#16181d}.net-face button{border-color:#8a64dc40;border-radius:3px}.library-set{color:var(--text-muted)}.library-set select,.variation-control select{background:var(--card-alt);border-color:var(--border);color:var(--text)}.algorithm-option{border-radius:8px;transition:background .12s}.algorithm-option:hover{background:#8a64dc12}.algorithm-option.selected{background:#a855f71a;border:1px solid rgba(168,85,247,.22)}.algorithm-option strong{color:var(--text)}.algorithm-option small{color:var(--text-muted);font-family:ui-monospace,monospace}.algorithm-option svg{color:var(--acc-purple)}.alg-number{color:var(--text-muted)}.trainer-heading h2{color:var(--text);font-size:17px}.eyebrow{color:var(--text-muted);font-size:8px;letter-spacing:.15em}.outline-label{border-color:var(--border);color:var(--text-muted);border-radius:6px}.notation button{border:1px solid var(--border);background:var(--card-alt);color:var(--text-muted);border-radius:8px;transition:all .12s}.notation button:hover{border-color:var(--border-bright);color:var(--text);background:#8a64dc1a}.notation button.completed{background:#a855f71a;border-color:#a855f738;color:#a78bfa}.notation button.next{background:#7c3aed26;border-color:#a855f780;color:#c4b5fd;box-shadow:0 0 10px #a855f733}.move-instruction{color:var(--text-muted);border-top:1px solid var(--border)}.move-instruction p{font-size:12px;line-height:1.6}.playback{border-top:1px solid var(--border)}.playback-buttons .icon-button{color:var(--text-muted)}.play-button{background:var(--acc-grad);color:#fff;box-shadow:0 0 16px #a855f759;transition:box-shadow .15s,transform .1s}.play-button:hover{box-shadow:0 0 24px #a855f78c;transform:scale(1.04)}.step-count{color:var(--text-dim)}.step-count span{color:var(--text-muted)}.playback select{background:var(--card-alt);border-color:var(--border);color:var(--text)}.notation-help{border-top:1px solid var(--border);color:var(--text-muted)}.info-circle summary:hover,.info-circle[open] summary{background:#a855f71a;color:var(--acc-purple)}.info-popover{background:var(--card-alt);border:1px solid var(--border);box-shadow:0 8px 32px #0009;color:var(--text)}.tool-button{background:#18122eeb;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;font-size:10px;transition:all .12s}.tool-button:hover{background:#8a64dc1a;color:var(--text);border-color:var(--border-bright)}.tool-button.selected{background:#a855f71f;color:var(--acc-purple);border-color:#a855f74d}.solver-input h2{color:var(--text)}.solver-hint,.solver-status{color:var(--text-muted)}.solver-result strong{background:#a855f71f;color:#c084fc;border:1px solid rgba(168,85,247,.22)}.solver-result span{color:var(--text-muted)}.solver-facelets{border-color:var(--border)}.facelet-label{color:var(--text)}.solver-palette button{border-color:var(--border);border-radius:4px}.net-face button{border-color:var(--border)}.solver-input textarea{background:var(--card-alt);border:1px solid var(--border);color:var(--text);border-radius:8px}.solver-input textarea:focus{outline:2px solid rgba(168,85,247,.35)}.representation-toggle button[aria-pressed=true]{background:#a855f71f;border-color:#a855f74d;color:#c084fc}.modal-backdrop{background:#0a0616cc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.auth-modal{background:var(--card-bg);border:1px solid var(--border);box-shadow:0 24px 64px #000c,0 0 0 1px #a855f714}.auth-modal h2{color:var(--text)}.auth-note{color:var(--text-muted)}.demo-user{background:var(--card-alt);border:1px solid var(--border);color:var(--text);transition:background .15s,border-color .15s}.demo-user:hover{background:#a855f712;border-color:#a855f740}.demo-user>svg{color:var(--acc-purple)}.error-banner{background:#f43f5e1f;border:1px solid rgba(244,63,94,.3);color:#fb7185}.pwa-banner{background:#a855f714;border:1px solid rgba(168,85,247,.2);color:var(--acc-purple)}.form-error{color:#fb7185}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#8a64dc40;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a855f780}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.solver-palette button{width:42px;height:42px;border-radius:8px;border:none!important;font-size:12px;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .12s;box-shadow:0 2px 8px #00000059;color:#fff}.solver-palette button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000073}.solver-palette button[aria-pressed=true],.solver-palette button.selected{outline:3px solid #D946EF;outline-offset:2px;box-shadow:0 0 0 5px #d946ef40,0 2px 8px #00000059}.representation-toggle button{min-height:34px;padding:6px 14px;border-radius:8px;border:1px solid rgba(192,38,211,.2)!important;background:#c026d314!important;color:#c084fc!important;font-size:12px;font-weight:600;transition:all .15s}.representation-toggle button:hover{background:#c026d329!important;border-color:#d946ef66!important;color:#e879f9!important}.representation-toggle button[aria-pressed=true]{background:linear-gradient(135deg,#7c3aed,#c026d3)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 2px 10px #a855f759}.notation button{border:none!important;background:#312558;color:#c4b5fd;box-shadow:0 1px 4px #0000004d}.notation button:hover{background:#3d2d6e!important;color:#e9d5ff!important;box-shadow:0 3px 10px #7c3aed59;transform:translateY(-1px)}.notation button.completed{background:linear-gradient(135deg,#6d28d9,#a21caf)!important;color:#fff!important;box-shadow:0 2px 8px #a21caf66}.notation button.completed:hover{background:linear-gradient(135deg,#7c3aed,#c026d3)!important;box-shadow:0 4px 14px #c026d380;transform:translateY(-1px)}.notation button.next{background:linear-gradient(135deg,#be185d,#ec4899)!important;color:#fff!important;box-shadow:0 0 14px #ec489973;transform:scale(1.06);border:none!important}.notation button.next:hover{background:linear-gradient(135deg,#db2777,#f472b6)!important;box-shadow:0 0 22px #f472b68c}.solver-actions .button:not(:first-child),.solver-actions button:not(.button){background:#c026d31a!important;color:#c084fc!important;border:1px solid rgba(192,38,211,.25)!important}.solver-actions .button:not(:first-child):hover,.solver-actions button:not(.button):hover{background:#c026d32e!important;border-color:#d946ef73!important;color:#e879f9!important}
