@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-code);--color-primary:var(--primary);--color-on-primary:var(--on-primary);--color-surface:var(--surface-card);--color-ink:var(--text-primary);--color-divider:var(--border-subtle)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-divider{border-color:var(--border-subtle)}.bg-surface{background-color:var(--surface-card)}.p-\[var\(--panel-padding\)\]{padding:var(--panel-padding)}.text-ink{color:var(--text-primary)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#ffb21a;--primary-hover:#ffc247;--primary-active:#efa000;--on-primary:#11151c;--accent-text:#ffb21a;--accent-soft:#2b2112;--surface-page:#080b10;--surface-card:#0f141c;--surface-raised:#182230;--surface-inset:#0b1017;--text-primary:#f4f7fb;--text-secondary:#b4becc;--text-muted:#93a0b2;--border-subtle:#293443;--border-control:#697b94;--focus-ring:#ffb21a;--success:#63d9ad;--error:#ff9aa5;--info:#98bcff;--background:var(--surface-page);--foreground:var(--text-primary);--line:var(--border-subtle);--muted:var(--text-muted);--accent:var(--accent-text);--font-ui:Arial, "Noto Sans TC", "Noto Sans SC", "Microsoft JhengHei", "Microsoft YaHei", sans-serif;--font-code:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--container-landing:75rem;--container-reading:50rem;--container-workspace:90rem;--gutter:var(--space-4);--panel-padding:var(--space-4);--section-gap:var(--space-12);--header-height:4rem;--h1-size:2rem;--h1-leading:2.5rem;--hero-size:2.5rem;--hero-leading:3rem;--h2-size:1.5rem;--h2-leading:2rem;--h3-size:1.25rem;--h3-leading:1.75rem;--body-size:1rem;--body-leading:1.625rem;--lead-size:1.125rem;--lead-leading:1.75rem;--caption-size:.875rem;--caption-leading:1.25rem;--algorithm-size:1rem;--algorithm-leading:1.5rem;--z-header:30;--z-dock:40;--z-backdrop:90;--z-modal:100;--bottom-dock-height:0px;--bottom-dock-gap:0px}[data-locale=zh-Hans]{--font-ui:"Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "WenQuanYi Micro Hei", sans-serif;font-family:var(--font-ui)}[data-locale=zh-Hant]{--font-ui:"Microsoft JhengHei", "Noto Sans TC", "Noto Sans CJK TC", "Source Han Sans TC", "PingFang TC", sans-serif;font-family:var(--font-ui)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent-text:#875000;--accent-soft:#fff1d6;--surface-page:#f5f7fa;--surface-card:#fff;--surface-raised:#e9eef5;--surface-inset:#eef2f6;--text-primary:#17202c;--text-secondary:#46566b;--text-muted:#59697d;--border-subtle:#d4dce6;--border-control:#718198;--focus-ring:#875000;--success:#08764d;--error:#b4233d;--info:#235db6}@media (min-width:48rem){:root{--gutter:var(--space-6);--panel-padding:var(--space-6);--section-gap:var(--space-16);--h1-size:2.5rem;--h1-leading:3rem;--hero-size:3rem;--hero-leading:3.5rem;--h2-size:1.75rem;--h2-leading:2.25rem}}@media (min-width:75rem){:root{--gutter:var(--space-8);--panel-padding:var(--space-8);--section-gap:var(--space-24);--header-height:4.5rem;--h1-size:3rem;--h1-leading:3.5rem;--hero-size:4rem;--hero-leading:4.5rem;--h2-size:2rem;--h2-leading:2.5rem;--h3-size:1.5rem;--h3-leading:2rem;--lead-size:1.25rem;--lead-leading:1.875rem;--algorithm-size:1.125rem;--algorithm-leading:1.75rem}}*{box-sizing:border-box}html,body{min-height:100%}body{background:radial-gradient(circle at 20% 12%, #2764df17, transparent 30rem), var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.home-landing{width:min(1320px,100% - 48px);margin:auto}.home-hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:70px 0 60px;display:grid}.home-kicker{color:var(--accent);letter-spacing:.18em;font:600 .65rem/1.8 monospace}.home-hero h1{letter-spacing:-.065em;max-width:650px;margin:22px 0;font-size:clamp(3rem,6.4vw,6.3rem);font-weight:750;line-height:1.02}.home-description{color:#a2adbd;max-width:440px;font-size:1.05rem;line-height:1.85}.home-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.home-actions a,.home-actions button{color:#e7ecf4;cursor:pointer;background:0 0;border:1px solid #384354;border-radius:12px;justify-content:space-between;align-items:center;gap:26px;min-height:52px;padding:14px 22px;font-size:.9rem;text-decoration:none;display:inline-flex}.home-actions .home-primary{color:#11151c;background:var(--accent);border-color:var(--accent);font-weight:700;box-shadow:0 10px 35px #ffb21a18}.home-color-line{gap:7px;margin-top:40px;display:flex}.home-color-line i{border-radius:4px;width:22px;height:5px}.home-playground{background:radial-gradient(at 50% 42%,#31528a55,#0000 60%),linear-gradient(140deg,#141e2c,#090d14);border:1px solid #ffffff1c;border-radius:30px;min-width:0;padding:22px;animation:.65s both home-enter;position:relative;overflow:hidden;box-shadow:0 32px 100px #0007,inset 0 1px #ffffff0a}.home-playground-heading{color:#8593a8;letter-spacing:.1em;justify-content:space-between;gap:12px;font:.62rem monospace;display:flex}.home-cube-stage{cursor:grab;height:clamp(420px,48vw,620px)}.home-cube-stage:active{cursor:grabbing}.home-cube-stage canvas{width:100%;height:100%;display:block}.home-play-hint{color:#96a4b8;text-align:center;font-size:.73rem;line-height:1.6}.home-solution{flex-wrap:wrap;justify-content:center;gap:5px;max-height:66px;margin:0 0 14px;display:flex;overflow:auto}.home-solution span{color:#7f8da1;min-width:32px;font:700 .76rem/1.2 var(--font-code);text-align:center;background:#0b0f15;border:1px solid #ffffff18;border-radius:6px;padding:4px 6px}.home-solution span.is-complete{color:#586679;opacity:.72}.home-solution span.is-current{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 12px #ffb21a22}.home-cube-tools{color:#91a0b6;align-items:center;gap:16px;margin-top:16px;font-size:.73rem;display:flex}.home-cube-tools span{margin-right:auto}.home-cube-tools button{color:#ccd6e5;cursor:pointer;background:0 0;border:0;min-height:32px}.home-landing button:disabled{opacity:.4;cursor:default}.home-steps{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:32px;padding:35px 0;display:grid}.home-steps article>span{color:var(--accent);font:.75rem monospace}.home-steps h2{margin:12px 0;font-size:1.35rem}.home-steps p{color:#94a1b4;max-width:320px;font-size:.88rem;line-height:1.7}.home-explore{padding:36px 0}.home-explore h2{letter-spacing:-.035em;font-size:clamp(1.5rem,3vw,2rem)}.home-explore>div{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.home-explore a{border:1px solid var(--line);color:#cbd5e4;background:var(--surface-raised);border-radius:12px;justify-content:space-between;gap:14px;padding:22px;text-decoration:none;display:flex}.home-explore a:hover{border-color:var(--accent)}@keyframes home-enter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.home-hero{grid-template-columns:1fr;gap:32px;padding-top:42px}.home-hero-copy{max-width:650px}.home-cube-stage{height:clamp(420px,82vw,560px)}.home-hero h1{font-size:clamp(3.1rem,10vw,5.5rem)}}@media (max-width:600px){.home-landing{width:calc(100% - 28px)}.home-playground{border-radius:22px;padding:16px}.home-steps,.home-explore>div{grid-template-columns:1fr;gap:16px}.home-steps article{padding:10px 0}.home-color-line{margin-top:24px}.home-cube-stage{height:300px}}.app-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:28px clamp(20px,4vw,60px) 36px}.topbar,.scan-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080b10e6;transition:transform .28s;position:sticky;top:0}.topbar.is-hidden,.scan-header.is-hidden{transform:translateY(calc(-100% - 1px))}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:14px;height:58px;display:flex}.topbar h1{letter-spacing:-.02em;margin:1px 0 0;font-size:1rem;font-weight:570;line-height:1.2}.eyebrow{color:var(--text-muted);font-family:var(--font-code);letter-spacing:.16em;margin:0;font-size:.7rem;font-weight:650}.brand-logo{--brand-logo-size:31px;width:var(--brand-logo-size);height:var(--brand-logo-size);flex:0 0 var(--brand-logo-size);background:url(/logo.png) 50%/contain no-repeat;display:inline-block}.brand-logo--footer{--brand-logo-size:25px}.status-chip{color:#a8b2c2;align-items:center;gap:8px;margin-left:auto;font-size:.78rem;display:flex}.status-chip span{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 14px #36d399b3}.workspace{grid-template-columns:minmax(0,1fr) 350px;gap:clamp(18px,3vw,44px);min-height:calc(100vh - 123px);padding-top:26px;display:grid}.stage-card{border:1px solid var(--line);background:linear-gradient(#ffffff04 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#ffffff04 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 50% 46%,#172130 0,#0d1219 44%,#090c11 76%);border-radius:22px;min-height:650px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 24px 70px #00000047}.stage-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 44%,#04060a61 100%);position:absolute;inset:0}.stage-meta{z-index:2;color:#8190a5;font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:.72rem;display:flex;position:absolute;inset:22px 24px auto}.stage-hint{color:#647185;letter-spacing:.02em;text-transform:none}.cube-viewport{z-index:1;cursor:grab;position:absolute;inset:0}.cube-viewport:active{cursor:grabbing}.cube-viewport canvas{width:100%;height:100%;display:block}.axis-legend{z-index:2;color:#667286;font-family:var(--font-code);gap:15px;font-size:.7rem;display:flex;position:absolute;bottom:22px;left:24px}.axis-legend span{align-items:center;gap:6px;display:flex}.axis-dot{border-radius:50%;width:6px;height:6px}.axis-x{background:var(--cube-red)}.axis-y{background:var(--cube-yellow)}.axis-z{background:var(--cube-blue)}.control-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f141ce0;border-radius:20px;align-self:center;padding:26px;box-shadow:inset 0 1px #ffffff0a,0 24px 60px #00000038}.panel-heading{justify-content:space-between;align-items:flex-end;display:flex}.panel-heading h2{letter-spacing:-.04em;margin:6px 0 0;font-size:1.6rem;font-weight:620}.move-count{color:var(--muted);font-family:var(--font-code);font-size:.8rem}.sequence{flex-wrap:wrap;gap:8px;min-height:50px;margin-top:26px;display:flex}.move-token{border:1px solid var(--line);color:#8d98aa;min-width:44px;height:42px;font-family:var(--font-code);background:#0b0f15;border-radius:10px;place-items:center;padding:0 10px;font-size:.96rem;transition:all .18s;display:grid}.move-token.is-complete{color:#566275;background:#0b0e13}.move-token.is-current{color:#111317;background:var(--accent);border-color:var(--accent);box-shadow:0 0 24px #ffb21a29}.progress-track{background:#252d39;height:2px;margin-top:24px;overflow:hidden}.progress-track span{background:var(--accent);height:100%;transition:width .24s;display:block}.transport{justify-content:center;align-items:center;gap:12px;margin:25px 0 18px;display:flex}.transport button,.step-actions button{border:1px solid var(--line);color:var(--foreground);cursor:pointer;transition:transform .14s,background .14s,border-color .14s}.transport button:hover:not(:disabled),.step-actions button:hover:not(:disabled){border-color:#fff3;transform:translateY(-1px)}.transport button:disabled,.step-actions button:disabled{cursor:not-allowed;opacity:.34}.icon-button{background:#111720;border-radius:50%;place-items:center;width:45px;height:45px;display:grid}.transport svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.play-button{background:var(--foreground);border-radius:999px;justify-content:center;align-items:center;gap:9px;min-width:112px;height:52px;font-size:.9rem;font-weight:670;display:flex;color:#0a0d12!important}.play-button svg{fill:currentColor;stroke:none}.step-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.step-actions button{color:#aab4c3;background:0 0;border-radius:10px;min-height:42px;font-size:.78rem}.speed-control{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.speed-label{color:#b9c1ce;justify-content:space-between;font-size:.82rem;display:flex}.speed-label output{color:var(--accent);font-family:var(--font-code)}.speed-control input{--range-progress:33%;appearance:none;background:linear-gradient(to right,var(--accent) var(--range-progress),#29313e var(--range-progress));border-radius:99px;width:100%;height:4px;margin:18px 0 7px}.speed-control input::-webkit-slider-thumb{appearance:none;border:4px solid var(--accent);cursor:pointer;background:#0d1219;border-radius:50%;width:17px;height:17px;box-shadow:0 0 0 3px #ffb21a14}.speed-control input::-moz-range-thumb{border:4px solid var(--accent);cursor:pointer;background:#0d1219;border-radius:50%;width:10px;height:10px}.speed-scale{color:#566174;font-family:var(--font-code);justify-content:space-between;font-size:.65rem;display:flex}.current-move{background:var(--accent-soft);color:#aeb7c5;border-radius:11px;justify-content:space-between;align-items:center;margin-top:25px;padding:13px 15px;font-size:.78rem;display:flex}.current-move strong{color:var(--accent);font-family:var(--font-code);font-size:1rem}.keyboard-note{color:#5f6a7b;text-align:center;margin:19px 0 0;font-size:.68rem;line-height:1.8}.keyboard-note kbd{min-width:22px;height:20px;color:var(--text-muted);font-family:var(--font-code);background:#0a0e14;border:1px solid #303947;border-bottom-width:2px;border-radius:4px;place-items:center;margin-right:3px;padding:0 4px;display:inline-grid}.keyboard-note span{margin:0 6px}.celebration-overlay{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(at 50% 43%,#1c2b40e0,#05080df5 68%);place-items:center;padding:24px;animation:.42s both celebration-fade-in;display:grid;position:fixed;inset:0;overflow:hidden}.celebration-card{z-index:2;text-align:center;background:linear-gradient(145deg,#161e2af5,#0c1017f5);border:1px solid #ffffff24;border-radius:24px;width:min(520px,100%);padding:46px 42px 40px;animation:.6s cubic-bezier(.2,.8,.2,1) both celebration-pop;position:relative;box-shadow:0 30px 100px #0009,inset 0 1px #ffffff12}.celebration-cube{width:78px;height:78px;color:var(--accent);background:linear-gradient(145deg,#ffb21a2a,#ffb21a08);border:1px solid #ffb21a55;border-radius:23px;place-items:center;margin:0 auto 25px;font-size:2.2rem;display:grid;transform:rotate(-8deg);box-shadow:0 0 60px #ffb21a25,inset 0 0 24px #ffb21a0d}.celebration-cube span{animation:2.2s ease-in-out infinite celebration-sparkle}.celebration-card .eyebrow{color:var(--accent)}.celebration-card h2{color:#f4f7fb;letter-spacing:-.045em;margin:12px 0;font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.16}.celebration-card>p:not(.eyebrow){color:#9aa7b9;max-width:360px;margin:0 auto;font-size:.98rem;line-height:1.7}.celebration-card button{border:1px solid var(--accent);background:var(--accent);color:#11151c;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:15px;min-width:170px;min-height:50px;margin-top:30px;padding:0 22px;font-weight:750;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 10px 34px #ffb21a24}.celebration-card button:hover{transform:translateY(-2px);box-shadow:0 14px 42px #ffb21a40}.celebration-card button span{font-size:1.1rem}.celebration-confetti{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebration-confetti i{top:-12vh;left:var(--confetti-x);background:var(--confetti-color);opacity:.85;width:8px;height:14px;animation:celebration-confetti-fall var(--confetti-duration) linear var(--confetti-delay) infinite;border-radius:2px;position:absolute;transform:rotate(22deg)}.celebration-confetti i:nth-child(3n){border-radius:50%;width:6px;height:6px}.celebration-confetti i:nth-child(4n){width:5px;height:17px}@keyframes celebration-fade-in{0%{opacity:0}to{opacity:1}}@keyframes celebration-pop{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes celebration-sparkle{0%,to{opacity:.72;transform:scale(.86)rotate(-10deg)}50%{opacity:1;transform:scale(1.14)rotate(10deg)}}@keyframes celebration-confetti-fall{0%{transform:translateY(-8vh)rotate(0)}to{transform:translate3d(var(--confetti-drift),112vh,0) rotate(700deg)}}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:900px){.workspace{grid-template-columns:1fr}.stage-card{min-height:min(62vh,620px)}.control-panel{align-self:auto}}@media (max-width:520px){.app-shell{padding:16px 14px 24px}.topbar{height:54px}.status-chip{font-size:0}.status-chip span{width:8px;height:8px}.workspace{gap:14px;padding-top:14px}.stage-card{border-radius:16px;min-height:430px}.stage-meta{inset:16px 17px auto}.stage-hint{display:none}.axis-legend{bottom:16px;left:17px}.control-panel{border-radius:16px;padding:22px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.celebration-overlay,.celebration-card,.celebration-cube span,.celebration-confetti i{animation-iteration-count:1!important}}.scan-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:24px clamp(20px,4vw,56px) 42px}.scan-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:66px;display:flex}.brand-lockup{align-items:center;gap:14px;display:flex}.brand-lockup h1{letter-spacing:-.02em;margin:2px 0 0;font-size:1.05rem;font-weight:600}.scan-progress-label{color:#778398;font-size:.82rem}.scan-progress-label span{color:var(--accent);font-family:var(--font-code)}.scan-header-actions{align-items:center;gap:18px;display:flex}.shuffle-button{background:var(--accent-soft);min-height:38px;color:var(--accent);cursor:pointer;border:1px solid #ffb21a42;border-radius:9px;align-items:center;gap:8px;padding:0 13px;font-size:.78rem;font-weight:650;transition:transform .14s,border-color .14s,background .14s;display:flex}.shuffle-button:hover:not(:disabled){background:#ffb21a30;border-color:#ffb21a80;transform:translateY(-1px)}.shuffle-button:disabled{opacity:.45;cursor:not-allowed}.shuffle-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.scan-layout{grid-template-columns:minmax(460px,1.1fr) minmax(520px,.9fr);gap:clamp(20px,3vw,42px);padding-top:28px;display:grid}.capture-panel,.review-panel{border:1px solid var(--line);background:#0f141ce6;border-radius:22px;min-width:0;padding:26px;box-shadow:inset 0 1px #ffffff0a,0 24px 70px #0000003d}.capture-heading,.review-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.capture-heading h2,.review-heading h2{letter-spacing:-.04em;margin:6px 0 0;font-size:1.55rem;font-weight:620}.center-instruction{border:1px solid var(--line);color:#a8b2c1;text-transform:capitalize;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:.78rem;display:flex}.center-instruction i{border-radius:3px;width:10px;height:10px;box-shadow:inset 0 0 0 1px #0003}.camera-frame{aspect-ratio:4/3;background:radial-gradient(circle at 50% 45%,#1a2533,var(--surface-inset) 72%);border:1px solid #273140;border-radius:16px;margin-top:22px;position:relative;overflow:hidden}.camera-frame video,.camera-frame img{object-fit:cover;width:100%;height:100%}.camera-frame video.camera-video-mirrored{transform:scaleX(-1)}.camera-frame video.camera-video-hidden{display:none}.camera-placeholder{color:#7f8b9d;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex;position:absolute;inset:0}.camera-placeholder svg{fill:none;stroke:#59677a;stroke-width:1.4px;width:38px;height:38px;margin-bottom:4px}.camera-placeholder strong{color:#bec7d4;font-size:.95rem;font-weight:580}.camera-placeholder span{max-width:280px;font-size:.78rem;line-height:1.55}.camera-guide-overlay{z-index:4;pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:12px}.camera-guide-header{color:#e7edf5;font-family:var(--font-code);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 2px #00000080;background:#070b10ad;border:1px solid #ffffff29;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:.66rem;display:flex}.camera-guide-header span{color:var(--accent)}.camera-guide-header strong{letter-spacing:.03em;text-align:right;font-size:.7rem;font-weight:650}.camera-guide-center{color:#f1f4f8;text-shadow:0 1px 2px #00000080;background:#070b10b8;border:1px solid #ffffff2e;border-radius:999px;align-self:center;align-items:center;gap:7px;padding:7px 10px;font-size:.72rem;font-weight:650;display:flex}.camera-guide-center i{border-radius:3px;width:11px;height:11px;box-shadow:inset 0 0 0 1px #0000004d,0 0 10px #ffffff2e}.camera-guide-overlay p{color:#d5dde8;text-align:center;text-shadow:0 1px 2px #00000080;background:#070b10ad;border-radius:7px;max-width:300px;margin:0 auto 3px;padding:7px 10px;font-size:.7rem;line-height:1.45}.camera-guide-outline{z-index:2;aspect-ratio:1;pointer-events:none;border:2px solid #ffb21ad1;border-radius:5px;width:auto;height:72%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #070b1057,0 0 20px #ffb21a29}.target-grid{z-index:2;aspect-ratio:1;pointer-events:none;grid-template-columns:repeat(3,1fr);width:auto;height:72%;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.target-grid span{background:#ffffff04;border:1px solid #ffffffb8;position:relative;box-shadow:inset 0 0 20px #00000014}.target-grid span.is-center-target{background:var(--center-target)}.target-grid span i{border:1px solid #ffffffd9;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.guide-corner{z-index:3;pointer-events:none;width:28px;height:28px;position:absolute}.corner-a{border-left:3px solid var(--accent);border-top:3px solid var(--accent);top:13.5%;left:22.5%}.corner-b{border-right:3px solid var(--accent);border-top:3px solid var(--accent);top:13.5%;right:22.5%}.corner-c{border-left:3px solid var(--accent);border-bottom:3px solid var(--accent);bottom:13.5%;left:22.5%}.corner-d{border-right:3px solid var(--accent);border-bottom:3px solid var(--accent);bottom:13.5%;right:22.5%}.capture-error,.solver-error{color:var(--error);margin:12px 0 0;font-size:.78rem;line-height:1.5}.capture-actions{grid-template-columns:1.25fr .9fr;gap:10px;margin-top:16px;display:grid}.capture-actions button{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:48px;transition:transform .14s,border-color .14s,background .14s;display:flex}.capture-actions button:hover{transform:translateY(-1px)}.capture-actions svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.primary-capture{border:1px solid var(--accent);background:var(--accent);color:#111317;font-weight:650}.upload-button{border:1px solid var(--line);color:#c1c9d5;background:#121924}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.face-steps{grid-template-columns:repeat(6,1fr);gap:8px;margin-top:20px;display:grid}.face-steps button{border:1px solid var(--line);background:var(--surface-inset);min-width:0;color:var(--text-muted);cursor:pointer;border-radius:9px;padding:9px 4px 8px}.face-steps button span{background:#1a2230;border-radius:50%;place-items:center;width:20px;height:20px;margin:0 auto 5px;font-size:.66rem;display:grid}.face-steps button b{font-family:var(--font-code);font-size:.76rem}.face-steps button.is-active{background:var(--accent-soft);color:var(--accent);border-color:#ffb21a8c}.face-steps button.is-scanned span{box-shadow:0 0 0 2px #36d399}.review-heading p{color:#6f7a8c;margin:0;font-size:.78rem}.review-heading-actions{align-items:center;gap:12px;display:flex}.reset-scan-button{color:#b8c3d2;cursor:pointer;white-space:nowrap;background:#151d28;border:1px solid #384354;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 12px;font-size:.76rem;font-weight:620;transition:border-color .14s,background .14s,color .14s;display:inline-flex}.reset-scan-button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:#ffb21a80}.reset-scan-button:disabled{opacity:.42;cursor:not-allowed}.reset-scan-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.cube-preview-card{background:radial-gradient(circle at 50% 35%,#172231 0,var(--surface-inset) 72%);border:1px solid #ffffff14;border-radius:13px;margin:20px auto 0;overflow:hidden}.cube-preview-title{color:#b7c1cf;justify-content:space-between;align-items:center;padding:10px 13px 0;font-size:.74rem;display:flex}.cube-preview-title small{color:#657287;font-family:var(--font-code);font-size:.62rem}.cube-preview-viewport{height:230px}.cube-preview-viewport canvas{width:100%;height:100%;display:block}.scanner-cube-preview{margin-top:22px}.scanner-cube-preview .cube-preview-viewport{height:clamp(360px,32vw,500px)}.camera-launcher{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;margin-top:12px;display:flex}.camera-launcher svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.camera-modal{z-index:120;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.camera-modal.is-open{display:flex}.camera-modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default;background:#030508d6;border:0;position:absolute;inset:0}.camera-modal-sheet{z-index:1;background:#0f141c;border:1px solid #293443;border-radius:20px;width:min(520px,100%);max-height:calc(100dvh - 40px);padding:18px;position:relative;overflow-y:auto;box-shadow:0 28px 90px #00000094}.camera-modal-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.camera-modal-header h2{letter-spacing:-.03em;margin:5px 0 0;font-size:1.3rem;font-weight:620}.camera-modal-close{border:1px solid var(--line);color:#cbd3de;cursor:pointer;background:#151d28;border-radius:50%;flex:none;width:42px;height:42px;font-size:1.45rem;line-height:1}.camera-face-picker{grid-template-columns:repeat(6,1fr);gap:6px;margin-top:14px;display:grid}.camera-face-picker button{border:1px solid var(--line);background:var(--surface-inset);min-width:0;min-height:62px;color:var(--text-muted);cursor:pointer;text-align:left;border-radius:9px;grid-template-rows:repeat(2,1fr);grid-template-columns:auto 1fr;align-items:center;column-gap:5px;padding:6px;display:grid}.camera-face-picker button.is-active{background:var(--accent-soft);color:var(--accent);border-color:#ffb21aa6}.camera-face-picker button i{border-radius:5px;grid-row:1/-1;width:17px;height:17px;box-shadow:inset 0 0 0 1px #0000003d}.camera-face-picker button b{font-family:var(--font-code);font-size:.7rem;line-height:1}.camera-face-picker button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.57rem;line-height:1.1;overflow:hidden}.camera-face-picker button small{color:var(--success);font-family:var(--font-code);grid-column:2;font-size:.55rem;line-height:1}.camera-face-picker button.is-active small{color:var(--accent)}.camera-modal .camera-frame{margin-top:16px}.capture-review{margin-top:14px}.capture-review h3{color:#f3f4ef;margin:0;font-size:1rem}.capture-review p{color:#acb7c5;font-size:.78rem;line-height:1.4}.capture-review-photo{aspect-ratio:4/3;border-radius:12px;width:100%;position:relative;overflow:hidden}.capture-review-photo img{object-fit:contain}.capture-review-colors{grid-template-columns:repeat(3,1fr);gap:5px;width:min(100%,220px);margin:14px auto;display:grid}.capture-review-colors>label{aspect-ratio:1;border-radius:8px;justify-content:center;align-items:flex-end;padding:4px;display:flex;position:relative}.capture-review-colors span{background:var(--surface-inset);color:#fff;border-radius:4px;padding:2px 4px;font-size:.6rem}.camera-face-picker button:disabled{cursor:default;opacity:.55}.orientation-guide{border:1px solid var(--line);background:#111b27;border-radius:12px;align-items:center;gap:12px;margin-top:12px;padding:12px;display:flex}.orientation-model{perspective:400px;flex:0 0 86px;place-items:center;width:86px;height:86px;display:grid;transform:scaleX(-1)}.orientation-perspective{width:48px;height:48px;transform-style:preserve-3d;transform:rotateX(-18deg)rotateY(-22deg)}.orientation-cube{width:48px;height:48px;transform-style:preserve-3d;transform:var(--to);animation:1.8s ease-in-out both orientation-turn;position:relative}.orientation-side{backface-visibility:hidden;background:#080d13;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid;position:absolute;inset:0}.orientation-side i{border-radius:2px}.orientation-side.is-capture-face:after{content:"";border:2px solid var(--cube-yellow);pointer-events:none;border-radius:3px;animation:2.8s ease-in-out infinite capture-face-pulse;position:absolute;inset:-2px;box-shadow:0 0 5px #ffd50059}@keyframes capture-face-pulse{0%,to{opacity:.55;box-shadow:0 0 3px #ffd50040}50%{opacity:1;box-shadow:0 0 10px #ffd500cc}}.orientation-F{transform:translateZ(24px)}.orientation-B{transform:rotateY(180deg)translateZ(24px)}.orientation-U{transform:rotateX(90deg)translateZ(24px)}.orientation-D{transform:rotateX(-90deg)translateZ(24px)}.orientation-R{transform:rotateY(90deg)translateZ(24px)}.orientation-L{transform:rotateY(-90deg)translateZ(24px)}.orientation-instructions{min-width:0;font-size:.75rem}.orientation-instructions strong{align-items:center;gap:5px;margin-bottom:5px;display:flex}.orientation-instructions strong i{border-radius:3px;flex:0 0 12px;height:12px}.orientation-instructions p{color:#acb7c5;margin:5px 0;line-height:1.4}.orientation-instructions small{color:var(--text-muted);font-size:.62rem;display:block}.orientation-instructions button{border:1px solid var(--line);min-height:36px;color:var(--accent);cursor:pointer;background:#182330;border-radius:6px;margin-top:5px;padding:5px 8px}.orientation-actions{gap:8px;margin-top:10px;display:flex}.orientation-actions button{cursor:pointer;border-radius:8px;flex:1;min-height:44px;padding:6px}.camera-alignment-hint{color:#acb7c5;margin:8px 0 0;font-size:.75rem;line-height:1.4}.capture-actions button:disabled{opacity:.45;cursor:not-allowed}@keyframes orientation-turn{0%,20%{transform:var(--from)}to{transform:var(--to)}}@media (prefers-reduced-motion:reduce){.orientation-cube{animation:none}.orientation-side.is-capture-face:after{opacity:1;animation:none}}.cube-net{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(4,1fr);gap:9px;width:min(100%,480px);margin:24px auto 20px;display:grid}.mobile-cube-editor{display:none}.net-face{opacity:.5;background:#090d13;border:1px solid #ffffff12;border-radius:9px;min-width:0;padding:6px}.net-face.is-scanned{opacity:1}.net-face.is-current{opacity:1;border-color:#ffb21a9e;box-shadow:0 0 0 1px #ffb21a24}.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}.net-face-label{color:#6d798c;width:100%;height:18px;font-family:var(--font-code);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0 2px;font-size:.65rem;display:flex}.net-face.is-current .net-face-label{color:var(--accent)}.net-face-label i{color:var(--success);font-style:normal}.sticker-grid{grid-template-columns:repeat(3,1fr);gap:3px;display:grid}.sticker-grid button{aspect-ratio:1;background:var(--sticker);cursor:pointer;border:1px solid #0000004d;border-radius:4px;min-width:0;padding:0;transition:transform .12s,outline .12s;box-shadow:inset 0 1px 1px #ffffff38,inset 0 -1px 2px #0000002e}.sticker-grid button:hover{transform:scale(.92)}.sticker-grid button.is-selected{z-index:1;outline-offset:2px;outline:2px solid #fff;position:relative}.sticker-grid button.is-fixed{cursor:default}.sticker-grid button.is-fixed:hover{transform:none}.palette-block{border-top:1px solid var(--line);padding-top:20px}.palette-title{color:#7d899a;justify-content:space-between;font-size:.78rem;display:flex}.palette-title strong{color:#b9c2cf;font-family:var(--font-code)}.color-palette{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:12px;display:grid}.color-palette button{border:1px solid var(--line);background:var(--surface-inset);color:#707c8e;cursor:pointer;text-transform:capitalize;border-radius:8px;min-width:0;padding:8px 3px 7px}.color-palette button i{border-radius:6px;width:25px;height:25px;margin:0 auto 5px;display:block;box-shadow:inset 0 0 0 1px #00000038}.color-palette button span{text-overflow:ellipsis;font-size:.62rem;display:block;overflow:hidden}.color-palette button.is-selected{color:#d5dbe4;background:#18202b;border-color:#ffffff7a}.validation-card{background:var(--accent-soft);border:1px solid #ffb21a33;border-radius:11px;align-items:center;gap:12px;margin-top:19px;padding:13px 14px;display:flex}.validation-card.is-valid{background:#36d3991a;border-color:#36d39940}.validation-icon{background:var(--accent);color:#111317;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.validation-card.is-valid .validation-icon{background:var(--success)}.validation-card strong{color:#e4e8ee;font-size:.82rem;display:block}.validation-card p{color:#8f9bad;margin:3px 0 0;font-size:.72rem;line-height:1.45}.color-counts{flex-wrap:wrap;gap:7px 11px;margin:13px 2px 0;display:flex}.color-counts span{color:#708094;font-family:var(--font-code);align-items:center;gap:5px;font-size:.68rem;display:flex}.color-counts span.is-invalid{color:var(--error)}.color-counts i{border-radius:2px;width:8px;height:8px}.continue-button{color:#11151b;cursor:pointer;background:#f2f5f8;border:0;border-radius:11px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;margin-top:18px;font-weight:680;display:flex}.continue-button:disabled{color:#657184;cursor:not-allowed;background:#202733}.continue-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.solver-view{position:relative}.back-to-scan{z-index:10;border:1px solid var(--line);color:#b6c0ce;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f141ce6;border-radius:999px;min-height:40px;padding:0 15px;position:fixed;bottom:24px;left:clamp(20px,4vw,60px)}.ad-slot{color:#536174;min-height:90px;font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;background:#090d1380;border:1px solid #ffffff0f;border-radius:10px;justify-content:center;align-items:center;font-size:.62rem;display:flex;position:relative;overflow:hidden}.ad-slot--rectangle{min-height:100px}.ad-slot--rail{min-height:280px}.ad-slot--anchor{background:0 0;border:0;border-radius:0;min-height:50px}.ad-slot[data-configured=true] .ad-slot-placeholder{display:none}.ad-slot .adsbygoogle{width:100%;min-height:inherit}.ad-slot-placeholder{opacity:.7}.scanner-ad{margin-top:18px}.solver-ad{width:min(728px,100% - 40px);margin:18px auto 0}.seo-ad{width:min(728px,100% - 32px);margin:0 auto 12px}.mobile-anchor-wrap{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090c11f0;border-top:1px solid #ffffff14;min-height:50px;padding:0 40px 0 0;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #0003}.mobile-anchor-wrap .ad-slot{width:100%}.ad-dismiss{color:#aeb8c6;cursor:pointer;background:#111720;border:1px solid #384353;border-radius:50%;width:28px;height:28px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.affiliate-card{border:1px solid var(--line);background:#0f141ce6;border-radius:16px;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);gap:20px;width:min(900px,100% - 40px);margin:26px auto 50px;padding:22px;display:grid}.affiliate-copy h2{letter-spacing:-.03em;margin:5px 0 7px;font-size:1.12rem}.affiliate-copy p{color:#8f9bad;margin:0;font-size:.76rem;line-height:1.5}.affiliate-copy small{color:#69768a;margin-top:12px;font-size:.64rem;line-height:1.45;display:block}.affiliate-copy small a{color:#9ca8b8;text-underline-offset:3px}.affiliate-links{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.affiliate-links a{border:1px solid var(--line);background:var(--surface-inset);color:#d4dbe5;border-radius:10px;flex-direction:column;justify-content:space-between;min-height:76px;padding:12px;text-decoration:none;transition:transform .14s,border-color .14s;display:flex}.affiliate-links a:hover{border-color:#ffb21a80;transform:translateY(-1px)}.affiliate-links strong{font-size:.78rem}.affiliate-links span{color:#78869a;font-size:.65rem;line-height:1.4}.seo-content{border-top:1px solid var(--line);width:min(920px,100% - 40px);margin:10px auto 70px;padding:32px 0 0}.seo-page{min-height:100vh;padding:34px 0 1px}.localized-page{min-height:100vh}.localized-toolbar{z-index:30;border-bottom:1px solid var(--line);width:min(1480px,100% - 56px);min-height:72px;color:var(--text-muted);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#080b10f0;align-items:center;gap:clamp(18px,2vw,30px);margin:0 auto;font-size:.82rem;display:flex;position:sticky;top:0}.root-page-toolbar{display:flex}.localized-brand{color:#e4eaf3;font-family:var(--font-code);letter-spacing:.13em;white-space:nowrap;flex:none;align-items:center;gap:12px;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.localized-brand:hover{color:#fff}.site-desktop-nav{justify-content:flex-end;align-items:center;gap:clamp(12px,1.45vw,23px);margin-left:auto;display:flex}.site-desktop-nav a{color:#9aa5b5;white-space:nowrap;padding:8px 0;font-size:.82rem;line-height:1.2;text-decoration:none;transition:color .14s;position:relative}.site-desktop-nav a:hover,.site-desktop-nav a[aria-current=page]{color:var(--accent)}.site-language-switcher{border-left:1px solid var(--line);flex:none;margin-left:2px;padding-left:13px}.localized-toolbar .language-switcher{gap:3px}.localized-toolbar .language-switcher a{border-radius:8px;padding:8px 10px;font-size:.8rem}.scan-header .site-desktop-nav,.topbar .site-desktop-nav{margin-left:auto}.root-language-nav{justify-content:flex-end;gap:5px;width:min(920px,100% - 40px);margin:0 auto 8px;display:flex}.root-language-nav a{color:#8895a8;border:1px solid #0000;border-radius:7px;padding:6px 8px;font-size:.7rem;text-decoration:none}.root-language-nav a:hover,.root-language-nav a[aria-current=page]{border-color:var(--line);background:var(--surface-raised);color:var(--accent)}.language-switcher{align-items:center;gap:5px;margin-left:auto;display:flex}.language-switcher a{color:#8895a8;border:1px solid #0000;border-radius:7px;padding:6px 8px;text-decoration:none}.language-switcher a:hover,.language-switcher a[aria-current=page]{border-color:var(--line);background:var(--surface-raised);color:var(--accent)}.site-footer{border-top:1px solid var(--line);background:#070a0fb8;margin-top:clamp(54px,8vw,92px)}.site-footer-inner{width:min(1160px,100% - 40px);margin:0 auto;padding:30px 0 21px}.site-footer-top{justify-content:space-between;align-items:flex-start;gap:28px;display:flex}.site-footer-brand{color:#dbe2eb;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.site-footer-brand>span:last-child{flex-direction:column;gap:4px;display:flex}.site-footer-brand strong{font-family:var(--font-code);letter-spacing:.14em;font-size:.7rem}.site-footer-brand small{color:var(--text-muted);font-size:.65rem}.site-footer-nav{flex-wrap:wrap;justify-content:flex-end;gap:7px 20px;display:flex}.site-footer-nav a{color:var(--text-secondary);padding:4px 0;font-size:.72rem;text-decoration:none;transition:color .14s}.site-footer-nav a:hover,.site-footer-nav a[aria-current=page]{color:var(--accent)}.site-footer-contact{margin-top:22px;font-size:.75rem;font-style:normal}.site-footer-contact a{max-width:100%;color:var(--accent);overflow-wrap:anywhere;align-items:center;gap:8px;font-weight:650;text-decoration:none;display:inline-flex}.site-footer-contact svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.site-footer-contact span{min-width:0}.site-footer-contact a:hover{text-underline-offset:3px;text-decoration:underline}.site-footer-bottom{color:#596679;font-family:var(--font-code);letter-spacing:.04em;border-top:1px solid #ffffff12;justify-content:space-between;gap:20px;margin-top:27px;padding-top:17px;font-size:.6rem;display:flex}.mobile-site-menu{display:none}.localized-seo{margin-top:18px}.review-tools{justify-content:flex-end;margin-top:14px;display:flex}.mobile-shuffle-button{display:none}.localized-seo h1{letter-spacing:-.05em;margin:7px 0 10px;font-size:clamp(1.45rem,3.2vw,2.25rem)}.localized-seo h2{margin:0 0 7px;font-size:1rem}.localized-seo p{color:var(--text-secondary);line-height:1.75}.localized-seo a{color:var(--accent);text-underline-offset:3px}.seo-article h1{letter-spacing:-.055em;margin:8px 0 12px;font-size:clamp(1.8rem,4vw,3rem)}.contact-card{border:1px solid var(--line);background:var(--surface-card);border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;width:fit-content;max-width:100%;margin:28px 0;padding:20px 24px;font-style:normal;display:flex}.contact-card span{color:var(--text-muted);font-size:.8rem}.contact-card a{color:var(--accent);overflow-wrap:anywhere;text-underline-offset:4px;font-size:clamp(1rem,2.5vw,1.35rem);font-weight:700}.seo-article h3{margin:26px 0 7px;font-size:1rem}.guide-steps{gap:10px;margin-top:28px;display:grid}.guide-steps section{border:1px solid var(--line);background:#0f141ca6;border-radius:12px;padding:17px 19px}.guide-steps h2{letter-spacing:-.02em;margin:0 0 5px;font-size:.95rem}.guide-steps p{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.6}.guide-cta{margin-top:28px!important}.guide-cta a{color:var(--accent);text-underline-offset:4px;font-weight:650}.seo-content h2{letter-spacing:-.045em;margin:7px 0 10px;font-size:clamp(1.4rem,3vw,2rem)}.seo-content>p:not(.eyebrow){max-width:720px;color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.7}.seo-columns{grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;display:grid}.seo-columns article{border:1px solid var(--line);background:#0f141ca6;border-radius:12px;padding:18px}.seo-columns h3{margin:0 0 7px;font-size:.9rem}.seo-columns p{color:var(--text-secondary);margin:0;font-size:.77rem;line-height:1.6}.seo-columns a{color:var(--accent);text-underline-offset:3px}.geo-seo-section{border-top:1px solid var(--line);margin-top:24px;padding-top:36px}.geo-seo-section h1{letter-spacing:-.04em;margin-bottom:14px;font-size:clamp(1.6rem,3.5vw,2.3rem)}.geo-lead{color:#cbd5e1!important;margin-bottom:28px!important;font-size:1.02rem!important;line-height:1.75!important}.geo-features-block{border:1px solid var(--line);background:#0f141cb3;border-radius:14px;margin-bottom:28px;padding:22px 24px}.geo-features-block h2{margin-bottom:12px;font-size:1.15rem}.geo-bullets{color:var(--text-secondary);margin:0;padding-left:20px;font-size:.88rem;line-height:1.8}.geo-qa-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px;display:grid}.geo-qa-card{border:1px solid var(--line);background:#0f141ca6;border-radius:12px;padding:20px}.geo-qa-card h2{color:#f1f5f9;margin-top:0;margin-bottom:10px;font-size:1.05rem}.geo-qa-card h3{color:#cbd5e1;margin-top:14px;margin-bottom:8px;font-size:.85rem}.geo-summary-answer{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.65}.geo-qa-card ul{color:var(--text-secondary);margin:8px 0 0;padding-left:18px;font-size:.82rem;line-height:1.65}.geo-steps-container{border:1px solid var(--line);background:#0f141ca6;border-radius:14px;margin-bottom:30px;padding:24px}.geo-steps-container h2{margin-top:0;margin-bottom:8px;font-size:1.2rem}.geo-steps-container>p{color:var(--text-secondary);margin-top:0;margin-bottom:16px;font-size:.88rem}.geo-steps-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.geo-step-item{background:var(--surface-inset);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.geo-step-item strong{color:#f8fafc;margin-bottom:4px;font-size:.92rem;display:block}.geo-step-item p{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.55}.geo-table-wrap{margin-bottom:34px}.geo-table-wrap h2{margin-bottom:14px;font-size:1.2rem}.geo-table-scroll{border:1px solid var(--line);background:#0f141cb3;border-radius:12px;overflow-x:auto}.geo-comparison-table{border-collapse:collapse;text-align:left;width:100%;font-size:.82rem}.geo-comparison-table th,.geo-comparison-table td{border-bottom:1px solid var(--line);padding:12px 16px}.geo-comparison-table th{background:var(--surface-inset);color:#cbd5e1;white-space:nowrap;font-weight:600}.geo-comparison-table td{color:var(--text-secondary)}.geo-comparison-table tr:last-child td{border-bottom:none}.geo-comparison-table td:nth-child(2){color:var(--accent);font-weight:600}.geo-faq-container{margin-bottom:32px}.geo-faq-container h2{margin-bottom:16px;font-size:1.2rem}.geo-faq-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.geo-faq-item{border:1px solid var(--line);background:#0f141ca6;border-radius:12px;padding:18px 20px}.geo-faq-item h3{color:#f1f5f9;margin:0 0 8px;font-size:.92rem;line-height:1.4}.geo-faq-item p{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.65}.geo-links-footer{border-top:1px solid var(--line);color:var(--text-muted);margin-top:24px;padding-top:16px;font-size:.85rem}.geo-links-footer a{color:var(--accent);font-weight:600;text-decoration:none}.geo-links-footer a:hover{text-decoration:underline}@media (max-width:768px){.geo-qa-grid,.geo-faq-grid{grid-template-columns:1fr}}@media (max-width:1060px){.scan-layout{grid-template-columns:1fr}.capture-panel,.review-panel{width:min(720px,100%);margin:0 auto}}@media (max-width:600px){.scan-shell{padding:16px 14px 86px}.scan-header-actions{gap:8px}.scan-progress-label{display:none}.shuffle-button{padding:0 10px;font-size:.7rem}.scan-layout{gap:14px;padding-top:14px}.capture-panel,.review-panel{border-radius:16px;padding:19px 15px}.center-instruction{padding:7px 9px;font-size:.68rem}.camera-frame{margin-top:18px}.capture-actions{grid-template-columns:1fr}.cube-net{gap:5px}.net-face{border-radius:6px;padding:4px}.sticker-grid{gap:2px}.color-palette{grid-template-columns:repeat(3,1fr)}.color-palette button span{font-size:.72rem}.review-heading p{display:none}.mobile-anchor-wrap{display:flex}.affiliate-card{grid-template-columns:1fr;width:calc(100% - 28px);margin-bottom:88px;padding:17px}.affiliate-links{grid-template-columns:1fr}.seo-content{width:calc(100% - 28px);margin-bottom:95px}.seo-columns{grid-template-columns:1fr}.seo-ad{width:calc(100% - 28px)}.site-footer-inner{width:calc(100% - 28px);padding:26px 0 20px}.site-footer-top{flex-direction:column;gap:21px}.site-footer-nav{justify-content:flex-start;gap:8px 18px}.site-footer-bottom{align-items:flex-start;margin-top:22px;font-size:.56rem;line-height:1.5}}@media (max-width:1439px){.site-desktop-nav,.site-language-switcher{display:none}.mobile-site-menu{z-index:60;margin-left:auto;display:block;position:relative}.mobile-menu-trigger{color:#d7dee8;cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.mobile-menu-trigger:hover,.mobile-menu-trigger[aria-expanded=true]{color:var(--accent);background:#ffffff0f}.mobile-menu-icon{flex-direction:column;justify-content:space-between;width:17px;height:14px;display:flex}.mobile-menu-icon i{background:currentColor;border-radius:99px;height:2px;transition:transform .14s,opacity .14s;display:block}.mobile-menu-icon.is-open i:first-child{transform:translateY(6px)rotate(45deg)}.mobile-menu-icon.is-open i:nth-child(2){opacity:0}.mobile-menu-icon.is-open i:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobile-menu-overlay{z-index:100;background:#030508c7;animation:.18s both mobile-menu-fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.mobile-menu-backdrop{cursor:default;background:radial-gradient(circle at 85% 8%,#ffb21a1f,#0000 30%),#030508bd;border:0;position:absolute;inset:0}.mobile-menu-sheet{z-index:1;isolation:isolate;width:100%;min-height:100%;padding:0 var(--gutter) max(24px, env(safe-area-inset-bottom));background:linear-gradient(145deg,#101721fc,#070a0ffc 58%);flex-direction:column;display:flex;position:relative;overflow-y:auto;box-shadow:22px 0 60px #00000057}.mobile-menu-sheet:before{content:"";z-index:-1;opacity:.42;pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 74%);mask-image:linear-gradient(#000,#0000 74%)}.mobile-menu-sheet:after{content:"";z-index:-1;filter:blur(18px);pointer-events:none;background:#2764df21;border-radius:50%;width:260px;height:260px;position:absolute;top:100px;right:-120px}.mobile-menu-panel-header{min-height:var(--header-height);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative}.mobile-menu-brand{align-items:center;gap:12px;display:flex}.mobile-menu-close{color:#d7dee8;cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.mobile-menu-close:hover,.mobile-menu-close:focus-visible{color:var(--accent);background:#ffffff0f}.mobile-menu-close-icon{width:17px;height:17px;position:relative}.mobile-menu-close-icon i{background:currentColor;border-radius:99px;width:17px;height:2px;position:absolute;top:8px;left:0}.mobile-menu-close-icon i:first-child{transform:rotate(45deg)}.mobile-menu-close-icon i:last-child{transform:rotate(-45deg)}.mobile-menu-content{flex-shrink:0;width:min(640px,100%);margin:0 auto;padding:clamp(24px,4dvh,48px) 0 16px}.mobile-menu-nav{border-top:1px solid #ffffff26}.mobile-menu-nav-link{color:#cbd3df;border-bottom:1px solid #ffffff1c;align-items:center;gap:16px;min-height:clamp(70px,15vw,98px);text-decoration:none;transition:color .16s,padding .16s,background .16s;display:flex;position:relative}.mobile-menu-nav-link:before{content:"";background:var(--accent);border-radius:99px;width:3px;height:0;transition:height .18s;position:absolute;left:-1px}.mobile-menu-nav-link:hover,.mobile-menu-nav-link[aria-current=page]{color:#fff;background:linear-gradient(90deg,#ffb21a1a,#0000 72%);padding-left:12px}.mobile-menu-nav-link:hover:before,.mobile-menu-nav-link[aria-current=page]:before{height:34px}.mobile-menu-index{color:#657287;width:30px;font-family:var(--font-code);flex:none;font-size:.64rem}.mobile-menu-nav-link[aria-current=page] .mobile-menu-index{color:var(--accent)}.mobile-menu-nav-label{letter-spacing:-.06em;flex:1;font-size:clamp(1.65rem,8vw,3.4rem);font-weight:590}.mobile-menu-arrow{fill:none;stroke:#667488;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px;transition:transform .16s,color .16s}.mobile-menu-nav-link:hover .mobile-menu-arrow,.mobile-menu-nav-link[aria-current=page] .mobile-menu-arrow{color:var(--accent);transform:translate(3px)}.mobile-menu-language{color:#7f8c9e;justify-content:space-between;align-items:center;gap:12px;margin-top:36px;padding:20px 0 0;font-size:.72rem;display:flex}.mobile-menu-language>div{gap:6px;display:flex}.mobile-menu-language a{color:#aeb9c8;min-width:45px;min-height:38px;font-family:var(--font-code);border:1px solid #ffffff1a;border-radius:8px;place-items:center;font-size:.7rem;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:grid}.mobile-menu-language a:hover,.mobile-menu-language a[aria-current=page]{background:var(--accent-soft);color:var(--accent);border-color:#ffb21a8c}.mobile-menu-footer{color:#536073;width:min(640px,100%);font-family:var(--font-code);letter-spacing:.1em;border-top:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin:auto auto 0;padding-top:18px;font-size:.59rem;display:flex}.mobile-menu-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;display:flex}.mobile-menu-footer a{color:#8996a9;text-align:right;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.mobile-menu-footer a:hover,.mobile-menu-footer a[aria-current=page]{color:var(--accent)}@keyframes mobile-menu-fade-in{0%{opacity:0}to{opacity:1}}}@media (max-width:600px){.localized-toolbar{gap:12px;width:calc(100% - 28px);min-height:60px}.localized-brand{letter-spacing:.1em;gap:9px;font-size:.78rem}.localized-toolbar .language-switcher,.site-desktop-nav,.site-language-switcher,.root-language-nav{display:none}.localized-toolbar .mobile-site-menu{margin-left:auto}.root-page-toolbar{border-bottom:1px solid var(--line);align-items:center;width:calc(100% - 28px);min-height:60px;margin:0 auto;display:flex}.root-page-toolbar .mobile-site-menu{margin-left:auto}.review-tools{display:none}.review-panel{grid-template-columns:58px minmax(0,1fr) 58px;column-gap:5px;display:grid}.review-heading{grid-column:1/-1}.cube-preview-card{margin-top:12px}.cube-preview-title{padding-top:8px}.cube-preview-viewport{height:140px}.cube-preview-card{grid-area:2/2;margin-top:0}.review-panel>.cube-net,.review-panel>.palette-block{display:none}.mobile-cube-editor{display:contents}.mobile-editor-heading{grid-area:3/1/auto/-1;justify-content:space-between;align-items:center;gap:10px;min-width:0;margin-top:10px;display:flex}.mobile-editor-heading>div:first-child{align-items:baseline;gap:8px;min-width:0;display:flex}.mobile-editor-heading .eyebrow{white-space:nowrap;flex:none;margin:0}.mobile-editor-heading h3{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.1rem;font-weight:620;overflow:hidden}.mobile-editor-heading-actions{flex:none;align-items:center;gap:6px;display:flex}.mobile-editor-status{border:1px solid var(--line);color:#8b98aa;font-family:var(--font-code);white-space:nowrap;border-radius:7px;padding:5px 7px;font-size:.62rem}.mobile-shuffle-button{white-space:nowrap;align-items:center;gap:5px;min-height:34px;padding:0 8px;font-size:.65rem;display:flex}.mobile-shuffle-button svg{width:14px;height:14px}.mobile-face-tabs{pointer-events:none;z-index:2;grid-area:2/1/auto/-1;grid-template-rows:repeat(3,1fr);grid-template-columns:58px minmax(0,1fr) 58px;align-self:stretch;gap:3px;margin-top:0;display:grid;position:relative}.mobile-face-tabs button:first-child{grid-area:1/1}.mobile-face-tabs button:nth-child(2){grid-area:2/1}.mobile-face-tabs button:nth-child(3){grid-area:3/1}.mobile-face-tabs button:nth-child(4){grid-area:1/3}.mobile-face-tabs button:nth-child(5){grid-area:2/3}.mobile-face-tabs button:nth-child(6){grid-area:3/3}.mobile-face-tabs button{border:1px solid var(--line);background:var(--surface-inset);color:#768397;cursor:pointer;pointer-events:auto;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:0;padding:1px;display:flex}.mobile-face-tabs button.is-active{background:var(--accent-soft);color:var(--accent);border-color:#ffb21a9e}.mobile-face-tabs button i{border-radius:3px;width:10px;height:10px;box-shadow:inset 0 0 0 1px #00000040}.mobile-face-tabs button b{font-family:var(--font-code);font-size:.62rem;line-height:1}.mobile-face-tabs button span{color:var(--success);font-family:var(--font-code);font-size:.48rem;line-height:1}.mobile-face-tabs button.is-active span{color:var(--accent)}.mobile-palette-block{grid-area:5/1/auto/-1;align-self:start;margin-top:12px}.mobile-palette-block .palette-title{display:none}.mobile-face-editor-panel{background:radial-gradient(circle at 50% 30%,#172231 0,var(--surface-inset) 75%);border:1px solid #ffffff14;border-radius:13px;grid-area:4/1/auto/-1;margin-top:12px;padding:12px 10px 10px}.mobile-face-label{color:#c4ccd7;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:650;display:flex}.mobile-face-label small{color:#718096;font-family:var(--font-code);font-size:.63rem;font-weight:500}.mobile-sticker-grid{grid-template-columns:repeat(3,1fr);gap:4px;width:min(100%,210px);margin:9px auto 7px;display:grid}.mobile-sticker-grid button{aspect-ratio:1;background:var(--sticker);color:#0c101694;cursor:pointer;border:1px solid #0006;border-radius:9px;min-width:0;min-height:58px;padding:0;transition:transform .12s,outline .12s;position:relative;box-shadow:inset 0 2px 2px #ffffff42,inset 0 -3px 5px #0003,0 2px #0000003d}.mobile-sticker-grid button:hover:not(:disabled){transform:scale(.97)}.mobile-sticker-grid button span{font-family:var(--font-code);opacity:.65;font-size:.6rem;font-weight:700;position:absolute;bottom:5px;right:7px}.mobile-sticker-grid button.is-selected{z-index:1;outline:3px solid var(--accent);outline-offset:3px}.mobile-sticker-grid button.is-fixed{cursor:default}.mobile-editor-hint{color:#7f8c9e;text-align:center;margin:0;font-size:.72rem;line-height:1.45}.mobile-palette-block{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.mobile-color-palette{grid-template-rows:1fr;grid-template-columns:repeat(6,1fr);gap:4px;height:auto;margin-top:0;display:grid}.mobile-color-palette button{border:1px solid var(--line);background:var(--surface-inset);color:#8490a1;cursor:pointer;text-align:center;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;min-height:0;padding:1px;display:flex}.mobile-color-palette button i{border-radius:5px;flex:none;width:15px;height:15px;box-shadow:inset 0 0 0 1px #0000003d}.mobile-color-palette button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.49rem;font-weight:650;line-height:1;display:block;overflow:hidden}.mobile-color-palette button small{color:#667487;font-family:var(--font-code);font-size:.46rem;line-height:1}.review-panel>.validation-card,.review-panel>.color-counts,.review-panel>.solver-error,.review-panel>.continue-button,.review-panel>.scanner-ad{grid-column:1/-1}.mobile-color-palette button.is-selected{color:#e5eaf0;background:#18202b;border-color:#ffffff8c;box-shadow:0 0 0 1px #ffb21a33}.mobile-color-palette button.is-selected small{color:var(--accent)}.scanner-cube-preview{margin-top:18px}.scanner-cube-preview .cube-preview-viewport{height:210px}.camera-modal{align-items:flex-end;padding:0}.camera-modal-sheet{width:100%;max-height:calc(100dvh - 12px);padding:16px 14px max(16px,env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:22px 22px 0 0}.camera-face-picker{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}.camera-face-picker button{min-height:54px;padding:5px}.camera-modal .camera-frame{margin-top:14px}.review-panel{display:block}.mobile-cube-editor{flex-direction:column;display:flex}.mobile-editor-heading{order:1}.mobile-face-tabs{order:2;grid-template-rows:52px;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:10px}.mobile-face-tabs button:nth-child(n){grid-area:auto}.mobile-face-editor-panel{order:3}.mobile-palette-block{order:4}}.capture-review-colors select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.capture-review-colors label:focus-within{outline-offset:2px;outline:3px solid #fff}.capture-review-colors select:disabled{cursor:default}#scanner,#scan-instructions{scroll-margin-top:20px}.seo-article li{color:var(--text-secondary);margin:10px 0;line-height:1.7}.seo-article figure{margin:24px 0}.seo-article figcaption{text-align:center;color:var(--text-secondary);font-size:.8rem}.notation-net{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:460px;margin:20px auto;display:grid}.notation-face{aspect-ratio:1;background:#151d28;border:2px solid;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex}.notation-face b{color:#fff;font-size:1.4rem}.notation-face span{color:#c6d0dd;font-size:.75rem}.notation-U{grid-area:1/2}.notation-L{grid-area:2/1}.notation-F{grid-area:2/2}.notation-R{grid-area:2/3}.notation-B{grid-area:2/4}.notation-D{grid-area:3/2}.guide-callout{border-left:3px solid var(--accent);background:#18212e;border-radius:8px;margin:24px 0;padding:18px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
html{scroll-padding-top:calc(var(--header-height) + var(--space-4));scroll-padding-bottom:calc(var(--bottom-dock-height) + var(--bottom-dock-gap))}body{background:var(--surface-page);color:var(--text-primary);font:400 var(--body-size)/var(--body-leading) var(--font-ui);padding-bottom:calc(var(--bottom-dock-height) + var(--bottom-dock-gap))}.site-content{flex:1;min-width:0}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}:where(h1,h2,h3,p){overflow-wrap:break-word}:where(h1,h2,h3){text-wrap:balance}:lang(zh) :where(h1,h2,h3,.eyebrow,.mobile-menu-nav-label){letter-spacing:normal}.container,.home-landing,.site-footer-inner{width:100%;max-width:var(--container-landing);padding-inline:var(--gutter);margin-inline:auto}.container--reading{max-width:var(--container-reading)}.container--workspace,.app-shell,.scan-shell{width:100%;max-width:var(--container-workspace);padding-inline:var(--gutter);margin-inline:auto}.app-shell,.scan-shell{padding-top:0;padding-bottom:var(--space-8);min-height:auto}.seo-page,.localized-page{min-height:auto}.seo-page{padding-top:var(--space-8)}.seo-content{width:100%;max-width:var(--container-reading);padding-inline:var(--gutter);padding-top:var(--space-8);margin:0 auto var(--section-gap);border-top:0}.geo-seo-section{max-width:var(--container-landing)}.seo-content>p:not(.eyebrow),.localized-seo p,.seo-article li{max-width:65ch;color:var(--text-secondary);font-size:var(--body-size);line-height:var(--body-leading)}.seo-content>p:not(.eyebrow)+p{margin-top:var(--space-4)}.seo-content h1{font:700 var(--h1-size)/var(--h1-leading) var(--font-ui);letter-spacing:-.02em;margin:var(--space-3) 0 var(--space-6)}.seo-content h2,.home-explore h2{font:700 var(--h2-size)/var(--h2-leading) var(--font-ui);letter-spacing:-.02em;margin:var(--space-8) 0 var(--space-4)}.seo-content h3,.home-steps h2{font:700 var(--h3-size)/var(--h3-leading) var(--font-ui);letter-spacing:normal}.seo-content a,.affiliate-copy small a{color:var(--accent-text);text-underline-offset:4px}.seo-content :where(ul,ol){padding-left:var(--space-6)}.seo-content :where(li,a){overflow-wrap:anywhere}.eyebrow,.home-kicker{color:var(--text-muted);font:600 var(--caption-size)/var(--caption-leading) var(--font-ui);letter-spacing:.06em}.home-kicker{color:var(--accent-text)}.home-hero{gap:var(--space-8);padding-block:var(--section-gap);grid-template-columns:minmax(0,1fr)}.home-hero h1{font:700 var(--hero-size)/var(--hero-leading) var(--font-ui);letter-spacing:-.02em;margin:var(--space-6) 0}.home-description{max-width:42ch;font-size:var(--lead-size);line-height:var(--lead-leading);color:var(--text-secondary)}.home-playground{background:var(--surface-card);border-color:var(--border-subtle);border-radius:var(--radius-xl);padding:var(--panel-padding);box-shadow:none}.home-cube-stage{height:clamp(420px,48vw,620px)}.home-steps,.home-explore>div,.geo-qa-grid,.geo-faq-grid,.seo-columns{gap:var(--gutter);grid-template-columns:minmax(0,1fr)}.home-steps,.home-explore{padding-block:var(--space-8)}.home-steps p,.geo-qa-card p,.geo-step-item p,.geo-faq-item p,.seo-columns p,.affiliate-copy p,.geo-bullets,.geo-steps-container>p{font-size:var(--body-size);line-height:var(--body-leading);color:var(--text-secondary)}.home-playground-heading,.home-play-hint,.home-cube-tools,.geo-links-footer,.site-footer-nav a,.site-footer-brand small,.site-footer-bottom,.seo-article figcaption,.affiliate-copy small,.affiliate-links span{font-size:var(--caption-size);line-height:var(--caption-leading);color:var(--text-muted);letter-spacing:normal}.home-playground-heading,.home-cube-tools{flex-wrap:wrap}.localized-toolbar{width:100%;max-width:var(--container-workspace);padding-inline:var(--gutter);min-height:var(--header-height);gap:var(--space-6);background:var(--surface-page);z-index:var(--z-header)}.localized-brand{white-space:normal;letter-spacing:.08em;min-width:0;color:var(--text-primary);flex:0 auto;font-size:.875rem}.localized-brand>span:last-child{overflow-wrap:anywhere;min-width:0}.localized-toolbar .mobile-site-menu{flex-shrink:0}.site-desktop-nav{gap:var(--space-4);flex-wrap:wrap}.site-desktop-nav a,.language-switcher a{font:600 1rem/1.5 var(--font-ui)}.site-desktop-nav a{color:var(--text-secondary);white-space:normal}.language-switcher a,.localized-toolbar .language-switcher a{border-radius:var(--radius-md);justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 12px;font-size:1rem;display:inline-flex}.language-switcher a:hover,.language-switcher a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text)}.topbar,.scan-header{height:auto;min-height:var(--header-height);gap:var(--space-4);background:var(--surface-page);z-index:var(--z-header);padding-block:var(--space-3)}.topbar>.brand-logo,.brand-lockup{flex-shrink:0}.brand-lockup{flex-shrink:1;min-width:0}.brand-lockup>div,.topbar>div{min-width:0}.brand-lockup .brand-logo{flex-shrink:0}.brand-lockup .eyebrow{overflow-wrap:anywhere}.topbar .app-title,.brand-lockup .app-title{font:700 var(--h3-size)/var(--h3-leading) var(--font-ui);margin:0}.mobile-menu-sheet{background:var(--surface-page)}.mobile-menu-overlay{z-index:var(--z-modal)}.mobile-menu-nav-label{letter-spacing:-.02em;font-size:clamp(1.5rem,5vw,2.5rem)}.mobile-menu-language a{min-width:44px;min-height:44px;font-size:1rem}.card,.guide-steps section,.geo-qa-card,.geo-faq-item,.geo-features-block,.geo-step-item,.seo-columns article,.capture-panel,.review-panel,.control-panel,.affiliate-card{min-width:0;padding:var(--panel-padding);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:none}.guide-steps{margin-block:var(--space-8);gap:var(--space-4);list-style:none;padding:0!important}.guide-steps .tutorial-step{align-items:flex-start;gap:var(--space-4);max-width:none;margin:0;display:flex}.tutorial-step>div{min-width:0}.step-number{color:var(--accent-text);font:700 var(--algorithm-size)/var(--algorithm-leading) var(--font-code);flex:none;padding-top:3px}.guide-steps h2,.geo-qa-card h2,.geo-faq-item h3,.geo-features-block h2,.capture-heading h2,.review-heading h2,.panel-heading h2{font:700 var(--h3-size)/var(--h3-leading) var(--font-ui);letter-spacing:normal;margin:0 0 var(--space-2)}.card :is(h2,h3),.guide-steps h2{color:var(--text-primary)}.guide-steps p{font-size:var(--body-size);line-height:var(--body-leading);color:var(--text-secondary);margin:0}.guide-callout{background:var(--accent-soft);border-color:var(--accent-text);padding:var(--panel-padding)}.home-explore a,.affiliate-links a{background:var(--surface-card);border-color:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem}.affiliate-card{width:calc(100% - 2 * var(--gutter));max-width:var(--container-reading);gap:var(--space-6);margin-block:var(--space-8)}.affiliate-links{grid-template-columns:minmax(0,1fr)}.site-footer{margin-top:var(--space-12);background:var(--surface-inset)}.site-footer-top,.site-footer-bottom{flex-wrap:wrap}.site-footer-top>*,.site-footer-brand>span:last-child{min-width:0;max-width:100%}.site-footer-brand strong,.site-footer-nav a{overflow-wrap:anywhere}.site-footer-nav{min-width:0;max-width:100%}.site-footer-brand strong{font-size:var(--caption-size);color:var(--text-primary)}.button,.home-actions a,.home-actions button,.capture-actions button,.continue-button,.step-actions button,.shuffle-button,.upload-button{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--border-control);border-radius:var(--radius-md);min-height:48px;font:600 1rem/1.5 var(--font-ui);cursor:pointer;background:var(--surface-raised);color:var(--text-primary);padding:12px 20px;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.button--primary,.home-actions .home-primary,.primary-capture,.capture-actions .primary-capture,.continue-button{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:none}:is(.button--primary,.home-primary,.primary-capture,.continue-button):hover:not(:disabled){background:var(--primary-hover)}:is(.button--primary,.home-primary,.primary-capture,.continue-button):active:not(:disabled){background:var(--primary-active)}.button--utility{min-height:44px;color:var(--text-secondary);background:0 0;border-color:#0000;padding:10px 12px}.button--utility:hover,.button--utility[aria-current=page],.button--utility[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}:is(.button,.home-actions button,.capture-actions button,.continue-button,.step-actions button):disabled{background:var(--surface-raised);color:var(--text-muted);border-color:var(--border-subtle);opacity:1;cursor:not-allowed}.home-actions button:hover,.step-actions button:hover:not(:disabled),.shuffle-button:hover:not(:disabled){transform:none}.icon-button,.camera-modal-close,.mobile-menu-trigger,.mobile-menu-close,.home-cube-tools button,.orientation-instructions button{min-width:44px;min-height:44px}.algorithm{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-inset);max-width:100%;color:var(--text-primary);font:700 var(--algorithm-size)/var(--algorithm-leading) var(--font-code);flex-wrap:wrap;gap:.25em;padding:6px 10px;display:inline-flex}.algorithm>span{white-space:pre}.notation-inline,.move-token,.current-move strong{font-family:var(--font-code);font-weight:700}.move-token{font-size:var(--algorithm-size);line-height:var(--algorithm-leading);background:var(--surface-inset);color:var(--text-primary);border-radius:var(--radius-sm)}.move-token.is-complete{color:var(--text-secondary);background:var(--surface-inset)}.move-token.is-current{background:var(--primary);color:var(--on-primary)}.test-scramble code{white-space:normal;text-overflow:clip;font-size:var(--algorithm-size);line-height:var(--algorithm-leading);display:inline-flex;overflow:visible}.notation-face{background:var(--surface-raised);border-radius:var(--radius-sm)}.net-face.is-current{z-index:1;border-color:var(--primary);opacity:1;box-shadow:0 0 0 1px var(--primary), 0 0 16px #ffb21a2e;position:relative}.net-face.is-current .net-face-label{color:var(--primary);font-weight:700}.face-steps button.is-active[aria-current=step]{box-shadow:0 0 0 1px var(--primary), 0 0 12px #ffb21a1f}.notation-face b{color:var(--text-primary);font-family:var(--font-code)}.notation-face span,.geo-comparison-table{font-size:var(--caption-size)}.notation-face span{overflow-wrap:anywhere;text-align:center;max-width:100%}.geo-table-scroll{min-width:0;max-width:100%;overflow-x:auto}.geo-comparison-table th{background:var(--surface-inset);color:var(--text-primary)}.geo-comparison-table td{color:var(--text-secondary)}.geo-comparison-table td:first-child{font-weight:700}.scan-layout,.workspace{gap:var(--gutter);grid-template-columns:minmax(0,1fr)}.capture-panel,.review-panel{width:100%;max-width:none}.stage-card{background-color:var(--surface-inset);border-radius:var(--radius-xl)}.capture-heading,.review-heading,.panel-heading{gap:var(--space-3);flex-wrap:wrap}.scan-header .eyebrow,.topbar .eyebrow{font-size:.875rem}.status-chip,.stage-meta,.axis-legend,.keyboard-note,.speed-scale,.scan-progress-label,.center-instruction,.camera-placeholder span,.review-heading p,.cube-preview-title,.validation-card p,.color-counts,.palette-title,.mobile-editor-hint,.mobile-face-label small,.orientation-instructions small,.camera-alignment-hint,.camera-guide-overlay p,.camera-guide-header,.camera-guide-header strong{font-size:var(--caption-size);line-height:var(--caption-leading);color:var(--text-muted)}.camera-placeholder strong,.validation-card strong,.orientation-instructions p,.capture-review p,.capture-error,.solver-error{font-size:1rem;line-height:1.625}.capture-error,.solver-error,.color-counts span.is-invalid{color:var(--error)}.camera-guide-header,.camera-guide-header strong,.camera-guide-overlay p{color:#f4f7fb;background:#080b10e8}.color-palette button{min-height:48px;font-size:1rem}.color-palette{grid-template-columns:repeat(3,minmax(0,1fr))}.color-palette button span,.face-steps button span,.face-steps button b,.camera-face-picker button :is(b,span,small),.net-face-label{font-size:var(--caption-size);line-height:var(--caption-leading)}.face-steps button{min-height:64px}.camera-face-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.camera-face-picker button span{white-space:normal;overflow-wrap:anywhere}.mobile-color-palette{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-color-palette button{gap:4px;min-height:64px;padding:8px}.mobile-color-palette button span,.mobile-color-palette button small,.mobile-face-tabs button b,.mobile-face-tabs button span{font-size:var(--caption-size);line-height:var(--caption-leading)}.mobile-face-tabs{grid-template-rows:minmax(64px,auto)}.mobile-face-tabs button{min-height:64px}.mobile-face-tabs button span{overflow-wrap:anywhere}.mobile-editor-heading,.mobile-editor-heading-actions{flex-wrap:wrap}.mobile-editor-heading-actions{flex:auto;min-width:0;max-width:100%}.mobile-editor-heading-actions .shuffle-button{white-space:normal;max-width:100%}.camera-modal{z-index:var(--z-modal)}.camera-modal-sheet{background:var(--surface-card);border-radius:var(--radius-xl)}.ad-slot{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-inset);color:var(--text-muted);min-height:0;font:400 var(--caption-size)/var(--caption-leading) var(--font-ui);letter-spacing:normal;text-transform:none;flex-direction:column;overflow:visible}.ad-label{align-self:flex-start}.ad-slot--rectangle .adsbygoogle,.ad-slot--rail .adsbygoogle{min-height:250px}.ad-slot--anchor .adsbygoogle{width:320px;height:50px;min-height:50px}.seo-ad,.solver-ad{width:calc(100% - 2 * var(--gutter));max-width:728px;margin:var(--space-8) auto}.mobile-anchor-wrap{align-items:center;gap:var(--space-6);padding:var(--space-3) var(--gutter) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--surface-page);z-index:var(--z-dock);flex-direction:column;display:flex}.dock-actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.mobile-anchor-wrap .back-to-scan{border-radius:var(--radius-md);background:var(--surface-raised);min-height:48px;color:var(--text-primary);border-color:var(--border-control);margin:0;position:static}.dock-ad{width:100%;max-width:400px;padding-top:44px;position:relative}.dock-ad .ad-slot{width:100%;padding:0}.ad-dismiss{width:44px;height:44px;color:var(--text-primary);background:var(--surface-raised);top:0;right:0;transform:none}.mobile-anchor-wrap[hidden]{display:none}body:has(.camera-modal.is-open,.mobile-menu-overlay) .mobile-anchor-wrap{display:none}body:has(.mobile-anchor-wrap){--bottom-dock-height:224px;--bottom-dock-gap:16px}body:has(.mobile-anchor-wrap[data-controls-only=true]){--bottom-dock-height:88px}@media (max-width:351px){.dock-ad{display:none}}@media (min-width:48rem){.home-explore>div,.geo-qa-grid,.geo-faq-grid,.seo-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.home-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.dock-ad{display:none}.mobile-anchor-wrap:not(:has(.dock-actions)){display:none}}@media (min-width:75rem){.home-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.home-explore>div{grid-template-columns:repeat(3,minmax(0,1fr))}.scan-layout,.workspace{grid-template-columns:minmax(0,2fr) minmax(340px,1fr)}.topbar{flex-wrap:wrap}.topbar .site-desktop-nav{flex-basis:100%;order:3;justify-content:flex-start}}@media (max-width:1439px){.site-desktop-nav,.site-language-switcher,.localized-toolbar .language-switcher{display:none}.mobile-site-menu{margin-left:auto;display:block}.scan-header .status-chip,.topbar .status-chip{display:none}}@media (max-width:767px){.home-cube-stage{height:clamp(420px,82vw,560px)}.face-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.home-actions{flex-direction:column}.home-actions>*{width:100%}.affiliate-card{grid-template-columns:minmax(0,1fr)}.site-footer-top{flex-direction:column}.site-footer-nav{justify-content:flex-start}.capture-actions{grid-template-columns:minmax(0,1fr)}.localized-brand{letter-spacing:.03em;font-size:.875rem}}
[data-reveal-state]{opacity:1;transition:opacity var(--reveal-duration,.6s) ease var(--reveal-delay,0s), transform var(--reveal-duration,.6s) cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s);transform:none}[data-reveal-state=pending]{opacity:0;transform:translateY(20px)}[data-reveal-state=visible]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal-state]{opacity:1!important;transition:none!important;transform:none!important}}@media print{[data-reveal-state]{opacity:1!important;transition:none!important;transform:none!important}}
.solver-shell{--workspace-gap:12px;box-sizing:border-box;width:100%;max-width:none;height:100dvh;min-height:0;max-height:100dvh;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);grid-template-rows:var(--header-height) 44px minmax(0, 1fr) 28px;margin:0 auto;display:grid;overflow:hidden}.solver-shell [hidden]{display:none!important}.solver-status{min-width:0;color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;margin-right:auto;font-size:12px;display:flex}.solver-status strong{color:var(--accent);font-family:var(--font-code)}.solver-toolbar{width:100%;max-width:var(--container-workspace);padding-inline:var(--gutter);justify-content:space-between;align-items:center;gap:8px;margin-inline:auto;display:flex}.solver-header-actions{flex-shrink:0;gap:4px;display:flex}.solver-shell .workspace-tool{min-width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:20px;line-height:1;display:inline-flex}.solver-shell .workspace-tool span{font-size:12px}.solver-shell .workspace-tool:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.solver-shell .workspace-tool:disabled{opacity:.4;cursor:default}.solver-shell svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.solver-shell .solver-body{gap:var(--workspace-gap);min-width:0;min-height:0;padding:8px var(--gutter) 0;width:100%;max-width:var(--container-workspace);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,55fr) minmax(0,45fr);margin-inline:auto;display:grid}.solver-shell :is(.capture-panel,.review-panel,.control-panel,.stage-card){border-radius:16px;align-self:stretch;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:12px;overflow:hidden}.solver-shell .capture-panel{grid-template-rows:28px minmax(0,1fr) 44px;gap:8px;display:grid}.solver-shell :is(.capture-heading,.review-heading,.panel-heading){flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:0;display:flex}.solver-shell :is(.capture-heading,.review-heading,.panel-heading) h2{white-space:nowrap;margin:0;font-size:16px;line-height:1.2}.orientation-caption{color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.orientation-caption i{border-radius:3px;flex-shrink:0;width:10px;height:10px}.orientation-caption>span{margin-left:6px}.scan-stage{background:radial-gradient(at 50% 40%,#172231,#090d13 75%);border-radius:12px;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden;container-type:size}.solver-shell .scanner-cube-preview{margin:0;position:absolute;inset:0}.solver-shell .cube-preview-viewport{width:100%;height:100%;min-height:0}.solver-shell .camera-frame{aspect-ratio:1;border:0;border-radius:0;flex-shrink:0;width:min(100cqw,100cqh);height:auto;margin:0}.solver-shell .camera-frame :is(video,img){object-fit:cover;width:100%;height:100%}.scan-detection-grid{border:2px solid var(--accent);pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:14%;box-shadow:0 0 0 100vmax #0003}.scan-detection-grid span{border:1px solid #ffffff60;position:relative}.scan-detection-grid span:after{content:"";pointer-events:none;background:#10151dcc;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #080b1080,0 1px 3px #000}.viewfinder-label{z-index:1;color:#fff;white-space:nowrap;background:#080b10dc;border-radius:6px;max-width:95%;padding:4px 8px;font-size:12px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.solver-shell .stage-preview-toggle{z-index:2;background:#0a0e16dd;font-size:12px;position:absolute;bottom:6px;right:6px}.solver-shell .face-steps{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;display:grid}.solver-shell .face-steps button{flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:4px;display:flex}.solver-shell .face-steps button span{flex-shrink:0;width:14px;height:14px;margin:0;display:block}.solver-shell .face-steps button b{font-size:12px;line-height:1}.solver-shell .review-panel{grid-template-rows:28px minmax(0,1fr) 70px 40px 44px;grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.solver-shell .review-heading>.workspace-tool{height:28px}.inspection-visual{min-width:0;min-height:0;display:grid}.net-preview{place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.solver-shell .cube-net{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(100cqw,133.333cqh - 72px);margin:0;display:grid}.solver-shell .net-face{border-radius:6px;min-width:0;padding:3px;position:relative}.solver-shell .net-face-label{height:18px;min-height:0;font-size:10px;line-height:1}.solver-shell .sticker-grid{aspect-ratio:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;display:grid}.solver-shell .sticker-grid button{aspect-ratio:1;border-radius:3px;min-width:0;min-height:0}.active-face-editor-slot{display:none}.solver-shell .palette-block{border:0;grid-template-rows:18px minmax(0,1fr);gap:4px;margin:0;padding:0;display:grid}.solver-shell .palette-title{justify-content:space-between;align-items:center;margin:0;font-size:12px;line-height:1;display:flex}.solver-shell .color-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:0;display:grid}.solver-shell .color-palette button{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:4px 0;display:flex}.solver-shell .color-palette button i{width:18px;height:18px}.solver-shell .color-palette button span{font-size:11px;line-height:1}.scan-feedback{min-height:0;color:var(--accent);flex-direction:column;justify-content:center;gap:4px;font-size:12px;line-height:1.2;display:flex}.scan-feedback>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.scan-feedback.is-valid{color:var(--success)}.solver-shell .color-counts{flex-wrap:nowrap;justify-content:space-between;gap:4px;margin:0;display:flex}.solver-shell .color-counts span{font-size:10px;line-height:1.1}.solver-shell .scanner-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.4fr);gap:8px;min-height:44px;display:grid}.solver-shell .scanner-actions button{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:44px;margin:0;padding:4px 8px;font-size:13px;line-height:1.15;display:flex}.solver-shell .scanner-actions .upload-button{font-size:12px}.solver-guide-hint{justify-content:center;align-items:center;min-height:0;font-size:11px;line-height:1;display:flex}.solver-guide-hint a{color:var(--text-muted);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.solver-guide-hint a:hover{color:var(--accent)}.solver-shell .stage-card{padding:0}.solver-shell .stage-meta{font-size:12px;inset:14px 14px auto}.solver-shell .axis-legend{font-size:11px;bottom:14px;left:14px}.solver-shell .control-panel{flex-direction:column;gap:12px;display:flex}.solver-shell .panel-heading{flex-shrink:0}.solver-shell .panel-heading .eyebrow{font-size:11px}.solver-shell .move-count{font-size:12px}.solver-shell .sequence{flex:1 1 0;grid-template-columns:repeat(8,minmax(0,1fr));align-content:center;gap:6px;min-height:0;margin:0;display:grid;overflow:auto}.solver-shell .move-token{min-width:0;height:36px;padding:0 2px;font-size:14px}.solver-shell .move-token.is-complete{opacity:.42}.solver-shell .progress-track{flex:0 0 2px;margin:0}.solver-shell .transport{flex-shrink:0;gap:18px;margin:0}.solver-shell .transport button{height:44px;min-height:44px}.solver-shell .step-actions{display:none}.solver-shell .speed-control{flex-shrink:0;margin:0;padding:10px 0 0}.solver-shell .speed-label{font-size:12px}.solver-shell .speed-control input{height:4px;margin:14px 0 8px}.solver-shell .speed-scale{font-size:10px}.solver-shell .current-move{flex-shrink:0;min-height:34px;margin:0;padding:6px 10px}.solver-shell .keyboard-note{margin:0;font-size:11px}@media (max-width:767px) and (orientation:portrait){.solver-shell{--workspace-gap:8px;grid-template-rows:var(--header-height) 44px minmax(0,1fr) 24px;padding-inline:0}.solver-status{gap:5px;margin:0 auto 0 0;font-size:11px}.solver-header-actions .workspace-tool span{display:none}.solver-shell .solver-body{grid-template-rows:minmax(0,1fr) clamp(330px,46dvh,440px);grid-template-columns:minmax(0,1fr);padding-top:6px}.solver-shell :is(.capture-panel,.review-panel,.control-panel){border-radius:12px;padding:6px 8px}.solver-shell .capture-panel{grid-template-rows:20px minmax(0,1fr) 44px;gap:4px}.solver-shell :is(.capture-heading,.review-heading,.panel-heading) h2{font-size:13px}.orientation-caption{gap:4px;font-size:10px}.solver-shell .face-steps{gap:5px}.solver-shell .face-steps button{border-radius:6px;gap:6px}.solver-shell .review-panel{grid-template-rows:22px minmax(0,1fr) 62px 28px 44px;gap:5px}.solver-shell .review-heading{grid-column:auto}.solver-shell .review-heading .workspace-tool{font-size:22px}.solver-shell .review-heading .workspace-tool span{font-size:10px}.inspection-visual{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:14px}.solver-shell .cube-net{gap:3px;width:min(100cqw,133.333cqh - 68px)}.solver-shell .net-face{border-radius:4px;padding:2px}.solver-shell .net-face-label{z-index:2;align-items:flex-start;width:100%;height:100%;padding:1px 3px;font-size:9px;position:absolute;inset:0}.solver-shell .net-face .sticker-grid{pointer-events:none;gap:1px;margin-top:16px}.solver-shell .net-face .sticker-grid button{border-radius:2px;outline:none}.active-face-editor-slot{place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.active-face-editor{aspect-ratio:1;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));place-self:center;gap:4px;width:min(100cqw,100cqh,180px);height:auto;display:grid}.active-face-editor button{color:#0a1018;min-width:0;min-height:0;font:700 12px var(--font-code);cursor:pointer;border:1px solid #ffffff25;border-radius:6px;padding:0}.active-face-editor button.is-selected{outline-offset:1px;outline:2px solid #fff}.solver-shell .palette-block{grid-template-rows:14px minmax(0,1fr);gap:4px}.solver-shell .palette-title{font-size:10px}.solver-shell .color-palette{gap:5px}.solver-shell .color-palette button{border-radius:6px;gap:3px}.solver-shell .color-palette button i{width:16px;height:16px}.solver-shell .color-palette button span{font-size:9px}.scan-feedback{gap:3px;font-size:10px}.solver-shell .color-counts span{font-size:9px}.solver-shell .scanner-actions{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);gap:6px}.solver-shell .scanner-actions .upload-button{padding:2px;font-size:10px}.solver-shell .scanner-actions .upload-button span{display:none}.solver-shell .scanner-actions button{font-size:12px}.solver-shell .control-panel{gap:8px}.solver-shell .sequence{gap:4px}.solver-shell .move-token{border-radius:5px;height:28px;font-size:12px}.solver-shell .panel-heading .eyebrow,.solver-shell .keyboard-note,.solver-shell .speed-scale{display:none}.solver-shell .speed-control{padding-top:6px}.solver-shell .speed-label{font-size:11px}.solver-shell .speed-control input{margin:12px 0 6px}.solver-shell .stage-hint{display:none}}@media (max-height:550px) and (orientation:landscape){.solver-shell{grid-template-rows:var(--header-height) 44px minmax(0,1fr) 20px;padding-inline:0}.solver-shell .solver-body{gap:6px;padding-top:4px}.solver-shell :is(.capture-panel,.review-panel,.control-panel){gap:4px;padding:6px}.solver-shell .review-panel{grid-template-rows:22px minmax(0,1fr) 44px 26px 44px}.solver-shell .palette-block{grid-template-rows:1fr}.solver-shell .palette-title,.solver-shell .color-palette button span,.solver-shell .workspace-tool span,.solver-shell .keyboard-note,.solver-shell .speed-scale{display:none}.solver-shell .move-token{height:24px;font-size:12px}.solver-shell .speed-control{padding-top:4px}}.solver-shell .orientation-guide.is-compact{z-index:3;border:1px solid var(--line);background:#0a101be8;border-radius:9px;flex-direction:column;gap:0;width:78px;margin:0;padding:0;display:flex;position:absolute;top:6px;left:6px}.solver-shell .is-compact .orientation-model{flex:0 0 76px;width:76px;height:76px}.solver-shell .orientation-replay{border:0;border-top:1px solid var(--line);width:100%;min-height:28px;color:var(--accent);cursor:pointer;background:0 0;padding:0;font-size:20px;line-height:1}.solver-shell .orientation-replay:disabled{color:var(--text-muted);opacity:.4;cursor:default}@media (max-width:767px){.solver-shell .orientation-guide.is-compact{width:58px;top:4px;left:4px}.solver-shell .is-compact .orientation-model{flex-basis:56px;width:56px;height:56px}.solver-shell .is-compact .orientation-perspective{scale:.65}}
