:root{color-scheme:dark;--ink: #09111b;--ink-elevated: #111d2a;--ink-soft: #172535;--paper: #f5f0e6;--muted: #98a6b5;--muted-strong: #c1cad2;--signal: #f3c84b;--success: #67d7ae;--attention: #ff9466;--danger: #ff6e72;--line: rgba(245, 240, 230, .14);--face-yellow: #ffd947;--face-blue: #2384da;--face-red: #ed4d4d;--face-green: #35b96d;--face-orange: #ff8c35;--shadow: 0 28px 80px rgba(0, 0, 0, .36);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}[hidden]{display:none!important}html{min-width:320px;min-height:100%;background:var(--ink)}body{min-width:320px;min-height:100vh;min-block-size:100dvh;margin:0;color:var(--paper);background:radial-gradient(circle at 16% 8%,rgba(45,99,119,.2),transparent 34rem),radial-gradient(circle at 88% 90%,rgba(243,200,75,.08),transparent 26rem),var(--ink)}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:not(:disabled),summary,a{cursor:pointer}.skip-link{position:fixed;inset-block-start:max(.75rem,var(--safe-area-top));inset-inline-start:max(.75rem,var(--safe-area-left));z-index:100;padding:.75rem 1rem;color:var(--ink);background:var(--paper);border-radius:.6rem;transform:translateY(calc(-100% - var(--safe-area-top) - 1rem));transition:transform .16s ease}.skip-link:focus-visible{transform:translateY(0)}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:calc(4rem + var(--safe-area-top));padding-block-start:var(--safe-area-top);padding-left:max(clamp(1.1rem,4vw,4rem),var(--safe-area-left));padding-right:max(clamp(1.1rem,4vw,4rem),var(--safe-area-right));border-block-end:1px solid var(--line)}.brand{display:inline-flex;gap:.72rem;align-items:center;color:var(--paper);font-family:Futura,Avenir Next,sans-serif;font-size:1.04rem;font-weight:800;letter-spacing:.01em;text-decoration:none}.brand>span:last-child>span{color:var(--signal)}.brand-mark{display:block;inline-size:2rem;block-size:2rem;object-fit:contain}.topbar-actions,.locale-toggle{display:flex;align-items:center}.topbar-actions{gap:.6rem}.topbar-link{display:inline-flex;gap:.5rem;align-items:center;min-block-size:2.75rem;padding:.45rem .7rem;color:var(--muted-strong);font-size:.82rem;font-weight:750;text-decoration:none;border-radius:.6rem;transition:color .15s ease,background .15s ease,transform 80ms ease}.topbar-link svg{inline-size:1.2rem;block-size:1.2rem}.topbar-link:hover{color:var(--paper);background:var(--ink-soft)}.topbar-link:active{transform:translateY(1px) scale(.985)}.topbar-link-icon{justify-content:center;inline-size:2.75rem;padding:0}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.locale-toggle{gap:.45rem;min-block-size:2.75rem;padding:.4rem .55rem;color:var(--muted-strong);background:transparent;border:0;border-radius:.6rem}.toggle-track{position:relative;inline-size:2.05rem;block-size:1.1rem;background:var(--ink-soft);border:1px solid rgba(245,240,230,.22);border-radius:999px}.toggle-track i{position:absolute;inset-block-start:.15rem;inset-inline-start:.16rem;inline-size:.7rem;block-size:.7rem;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px #f3c84b1a;transition:transform .18s ease}[dir=rtl] .toggle-track i{transform:translate(-.9rem)}html[data-view=scanner],html[data-view=scanner] body{block-size:100dvh;overflow:hidden}html[data-view=scanner] #app{display:grid;grid-template-rows:auto minmax(0,1fr);block-size:100%;overflow:hidden}.scanner-shell{inline-size:100%;min-block-size:0;padding-top:clamp(.55rem,1.5vh,1rem);padding-right:max(clamp(.65rem,2vw,1.5rem),var(--safe-area-right));padding-bottom:max(clamp(.55rem,1.5vh,1rem),var(--safe-area-bottom));padding-left:max(clamp(.65rem,2vw,1.5rem),var(--safe-area-left));overflow:hidden}.camera-stage{position:relative;display:grid;place-items:center;block-size:100%;min-block-size:0}.stage-copy{position:absolute;z-index:7;inset-block-start:clamp(.7rem,2vw,1.25rem);inset-inline-start:clamp(.7rem,2vw,1.25rem);pointer-events:none}.eyebrow{margin:0 0 .55rem;color:var(--signal);font-size:.69rem;font-weight:800;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}h1,h2,h3,p{margin-block-start:0}h1{max-inline-size:none;margin-block-end:0;padding:.52rem .72rem;font-family:Futura,Avenir Next,sans-serif;font-size:clamp(1.02rem,1.8vw,1.45rem);font-weight:780;letter-spacing:-.035em;line-height:1;background:#060c13c7;border:1px solid rgba(245,240,230,.18);border-radius:.62rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.camera-frame{position:relative;isolation:isolate;overflow:hidden;inline-size:auto;max-inline-size:100%;block-size:100%;min-block-size:0;aspect-ratio:19 / 10;background:#050a10;border:1px solid rgba(245,240,230,.17);border-radius:1.3rem;box-shadow:var(--shadow),inset 0 0 0 1px #ffffff06}.camera-frame:before{position:absolute;z-index:1;inset:0;pointer-events:none;content:"";background:linear-gradient(180deg,rgba(4,8,13,.34),transparent 25%,transparent 66%,rgba(4,8,13,.68)),radial-gradient(circle at 50% 44%,transparent 20%,rgba(5,10,16,.3) 88%)}#cameraVideo,.camera-placeholder{position:absolute;inset:0;inline-size:100%;block-size:100%}#cameraVideo{z-index:0;object-fit:cover;opacity:0;transition:opacity .28s ease}.camera-frame[data-camera=on] #cameraVideo{opacity:1}.camera-frame[data-mirror=true] #cameraVideo{transform:scaleX(-1)}.camera-placeholder{display:block;z-index:-1;overflow:hidden;background:#071019;transition:opacity .18s ease}.camera-frame[data-camera=on] .camera-placeholder{opacity:0}.setup-visual,.setup-visual img{display:block;inline-size:100%;block-size:100%}.setup-visual img{object-fit:cover;object-position:50% 52%;filter:saturate(.82) contrast(1.04) brightness(.58);transform:scale(1.015)}.camera-placeholder:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(5,10,16,.82),transparent 48%,rgba(5,10,16,.22)),linear-gradient(180deg,#050a1014,#050a10b8)}.setup-coach{position:absolute;z-index:1;inset-block-start:4.4rem;inset-inline-start:1.35rem;display:grid;max-inline-size:18rem;gap:.24rem;padding:.9rem 1rem;background:#060c13c7;border:1px solid rgba(245,240,230,.18);border-radius:.72rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.setup-coach,.camera-frame[data-camera=on] .stage-copy{display:none}.setup-device{color:var(--signal);font-size:.62rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.setup-coach strong{font-size:clamp(.8rem,1.1vw,.95rem);line-height:1.3}.setup-rule{color:var(--muted-strong);font-size:.69rem}.setup-device-mobile{display:none}.cube-guide{position:absolute;z-index:2;inset:0;inline-size:100%;block-size:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 .75rem rgba(103,215,174,.12))}.cube-guide .cube-sticker,.cube-guide .cube-face-outline{vector-effect:non-scaling-stroke;stroke:#f5f0e66b;stroke-linejoin:round;stroke-linecap:round;transition:fill .16s ease,stroke .16s ease,opacity .16s ease}.cube-guide .cube-sticker{fill:transparent;stroke-width:.62}.cube-guide .cube-face-outline{fill:none;stroke-width:1.15}.cube-guide [data-face-color=yellow]{--guide-face-color: var(--face-yellow)}.cube-guide [data-face-color=blue]{--guide-face-color: var(--face-blue)}.cube-guide [data-face-color=red]{--guide-face-color: var(--face-red)}.cube-guide [data-face-color=green]{--guide-face-color: var(--face-green)}.cube-guide [data-face-color=orange]{--guide-face-color: var(--face-orange)}.cube-guide [data-face-color] .cube-sticker-center{fill:var(--guide-face-color);fill-opacity:.68;stroke:var(--guide-face-color);stroke-width:1.1}.camera-frame[data-state=aligned] .cube-guide .cube-face-outline,.camera-frame[data-state=holding] .cube-guide .cube-face-outline{stroke:#67d7aefa}.camera-frame[data-state=holding] .cube-guide{filter:drop-shadow(0 0 .95rem rgba(103,215,174,.48))}.camera-frame[data-state=reading] .cube-guide{filter:drop-shadow(0 0 .4rem rgba(243,200,75,.32))}.camera-frame[data-state=captured] .cube-guide .cube-face-outline{stroke:var(--signal)}.face-label{position:absolute;z-index:3;display:flex;align-items:center;gap:.42rem;min-block-size:1.8rem;padding:.36rem .58rem;color:var(--paper);background:#080f17c7;border:1px solid rgba(245,240,230,.16);border-radius:.5rem;font-size:clamp(.67rem,1vw,.82rem);font-weight:650;opacity:0;transform:translateY(.35rem);transition:opacity .14s ease,transform .14s ease}.camera-frame[data-state=aligned] .face-label,.camera-frame[data-state=holding] .face-label,.camera-frame[data-state=captured] .face-label{opacity:1;transform:translateY(0)}.face-label-top{inset-block-start:14%;inset-inline-start:50%;translate:-50% 0}[dir=rtl] .face-label-top{translate:50% 0}.face-label-front{inset-block-start:48%;inset-inline-start:25%}.face-label-right{inset-block-start:48%;inset-inline-end:25%}.label-dot{inline-size:.52rem;block-size:.52rem;flex:0 0 auto;background:var(--muted);border:1px solid rgba(255,255,255,.6);border-radius:.12rem}.label-dot-yellow{background:var(--face-yellow)}.label-dot-blue{background:var(--face-blue)}.label-dot-red{background:var(--face-red)}.label-dot-green{background:var(--face-green)}.label-dot-orange{background:var(--face-orange)}.stage-status{position:absolute;z-index:4;inset-block-start:4.4rem;inset-block-end:auto;inset-inline:1.2rem auto;display:flex;align-items:center;gap:.72rem;max-inline-size:min(22rem,calc(100% - 2.4rem));min-block-size:2.75rem;padding:.52rem .7rem;background:#060c13d1;border:1px solid rgba(245,240,230,.17);border-radius:.72rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stage-status>div{min-inline-size:0}.camera-frame[data-state=idle] .stage-status{display:none}.stage-status strong,.stage-status span{display:block}.stage-status strong{margin-block-end:.08rem;font-size:.78rem}.stage-status div>span{color:var(--muted);font-size:.66rem;overflow-wrap:anywhere}.status-icon{position:relative;inline-size:.82rem;block-size:.82rem;flex:0 0 auto;border:2px solid var(--muted);border-radius:50%}.camera-frame[data-state=searching] .status-icon,.camera-frame[data-state=reading] .status-icon{border-block-start-color:var(--signal);animation:spin .85s linear infinite}.camera-frame[data-state=aligned] .status-icon,.camera-frame[data-state=holding] .status-icon,.camera-frame[data-state=captured] .status-icon{border-color:var(--success);background:var(--success);box-shadow:0 0 0 .3rem #67d7ae21}.camera-frame[data-state=error] .status-icon{border-color:var(--danger);background:var(--danger)}.entry-actions{position:absolute;z-index:5;inset-block-end:1.2rem;inset-inline-end:1.2rem;display:flex;gap:.55rem}.primary-action,.demo-action{display:inline-flex;align-items:center;justify-content:center;gap:.62rem;min-block-size:3.3rem;padding:.75rem 1.1rem;color:#121718;background:var(--signal);border:1px solid transparent;border-radius:.72rem;box-shadow:0 .7rem 2rem #f3c84b33;font-size:.88rem;font-weight:800;transition:background .15s ease,box-shadow .15s ease,transform 80ms ease}.primary-action svg,.demo-action svg,.text-action svg{inline-size:1.15rem;block-size:1.15rem;fill:currentColor}.demo-action{color:var(--paper);background:#060c13d6;border-color:#f5f0e63d;box-shadow:0 .7rem 1.7rem #0003;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.demo-action:hover{background:#111d2af5;border-color:#f3c84b94;box-shadow:0 .8rem 2rem #00000047}.demo-action:disabled{color:#f5f0e666;border-color:#f5f0e61f;cursor:not-allowed}.primary-action:hover{background:#ffe175;box-shadow:0 .9rem 2.3rem #f3c84b4d}.primary-action:active,.demo-action:active,.secondary-action:active,.text-action:active,.locale-toggle:active{transform:translateY(1px) scale(.985)}.camera-frame[data-camera=on] .entry-actions{display:none}.camera-stop-button{position:absolute;z-index:8;inset-block-start:1rem;inset-inline-start:1rem;display:none;align-items:center;justify-content:center;inline-size:2.75rem;min-block-size:2.75rem;padding:0;color:var(--paper);background:#060c13d1;border:1px solid rgba(245,240,230,.22);border-radius:.68rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .15s ease,border-color .15s ease,transform 80ms ease}.camera-frame[data-camera=on] .camera-stop-button{display:inline-flex}.camera-stop-button:hover{background:#1b2836f5;border-color:#f3c84b94}.camera-stop-button:active{transform:translateY(1px) scale(.96)}.camera-stop-button svg{inline-size:1.22rem;block-size:1.22rem}.camera-stop-button span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.capture-flash{position:absolute;z-index:6;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(255,255,255,.32),transparent 65%)}.camera-frame[data-state=captured] .capture-flash{animation:capture-flash .42s ease-out}.camera-tools{position:absolute;z-index:8;inset-block-start:4.35rem;inset-inline-start:clamp(.7rem,2vw,1.25rem);display:flex;flex-direction:column;align-items:center;gap:.3rem;min-block-size:0}.text-action{position:relative;display:grid;place-items:center;align-items:center;inline-size:2.7rem;min-block-size:2.7rem;padding:0;color:var(--muted-strong);background:#060c13d1;border:1px solid rgba(245,240,230,.18);border-radius:.65rem;font-size:.77rem;font-weight:650;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.text-action span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.text-action:hover:not(:disabled),.locale-toggle:hover{color:var(--paper);background:#f5f0e611;border-color:#f5f0e61f}.text-action[aria-pressed=true]{color:var(--signal)}.text-action:disabled{display:none}.keyboard-hint{margin-inline-start:auto;color:var(--muted);font-size:.7rem}.progress-rail{position:absolute;z-index:8;inset:0;pointer-events:none}.progress-hud{position:absolute;inset-block-start:clamp(.7rem,2vw,1.25rem);inset-inline-end:clamp(.7rem,2vw,1.25rem);display:flex;gap:.52rem;align-items:center;min-block-size:2.55rem;padding:.42rem .58rem;color:var(--paper);background:#060c13d1;border:1px solid rgba(245,240,230,.18);border-radius:.68rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.progress-heading{padding:0}.progress-heading .eyebrow,.progress-number,.progress-track{display:none}.progress-heading h2{margin:0;font-family:inherit;font-size:.72rem;letter-spacing:0;white-space:nowrap}#scanProgress{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%)}.face-list{display:flex;gap:.28rem;margin:0;padding:0;list-style:none}.face-list li,.face-list li:first-child{display:block;min-block-size:0;border:0;background:transparent}.face-check{display:grid;place-items:center;inline-size:1rem;block-size:1rem;color:transparent;background:var(--face-color, var(--paper));border:1px solid color-mix(in srgb,var(--face-color, var(--paper)) 72%,white);border-radius:50%;box-shadow:inset 0 0 0 .23rem #09111be6}.face-list li[data-face=yellow]{--face-color: var(--face-yellow)}.face-list li[data-face=blue]{--face-color: var(--face-blue)}.face-list li[data-face=red]{--face-color: var(--face-red)}.face-list li[data-face=green]{--face-color: var(--face-green)}.face-list li[data-face=orange]{--face-color: var(--face-orange)}.face-list li[data-current=true] .face-check{outline:2px solid var(--signal);outline-offset:2px}.face-list li[data-captured=true] .face-check{color:var(--ink);background:var(--success);border-color:var(--success);box-shadow:none}.face-check svg{inline-size:.7rem;block-size:.7rem;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.face-list .face-swatch,.face-list .face-name,.face-list small{display:none}.next-instruction{position:absolute;inset-block-end:clamp(.7rem,2vw,1.25rem);inset-inline-start:clamp(.7rem,2vw,1.25rem);display:flex;gap:.65rem;align-items:center;max-inline-size:min(27rem,calc(100% - 20rem));min-block-size:3.25rem;padding:.5rem .65rem;color:var(--ink);background:#f5f0e6f0;border-radius:.72rem;box-shadow:0 .8rem 2rem #00000038;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.instruction-glyph{display:grid;place-items:center;inline-size:2.25rem;block-size:2.25rem;flex:0 0 auto;background:var(--signal);border-radius:.56rem}.instruction-glyph svg{inline-size:1.45rem;block-size:1.45rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.35}.next-instruction span:not(.instruction-glyph),.next-instruction strong{display:block}.next-instruction div>span{margin-block-end:.05rem;color:#617080;font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.next-instruction strong{font-size:clamp(.72rem,1.2vw,.86rem);line-height:1.25}.solution-preview{position:absolute;inset-block-end:clamp(.7rem,2vw,1.25rem);inset-inline-end:clamp(.7rem,2vw,1.25rem);inline-size:min(22rem,calc(100% - 1.4rem));padding:.8rem;color:var(--paper);background:#060c13e6;border:1px solid rgba(245,240,230,.18);border-radius:.8rem;box-shadow:0 1rem 2.5rem #00000057;pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.solution-preview .eyebrow,.solution-preview .journey-line,.solution-preview>p:not(.eyebrow){display:none}.solution-preview h3{margin-block-end:.55rem;font-family:Futura,Avenir Next,sans-serif;font-size:1rem;letter-spacing:-.02em}.secondary-action{inline-size:100%;min-block-size:2.8rem;color:var(--ink);background:var(--success);border:0;border-radius:.62rem;font-size:.8rem;font-weight:800}.secondary-action:hover{background:#8ce8c5}.secondary-action:disabled{color:#20352e;background:#a8d8c5;cursor:default}.progress-rail:has(.solution-preview:not([hidden])) .next-instruction{display:none}@media(max-width:47rem),(max-height:38rem)and (max-width:56rem){.progress-hud{inset-block-start:.55rem;inset-inline-end:.55rem}.next-instruction{inset-block-end:4.35rem;inset-inline:.6rem;max-inline-size:none}.solution-preview{inset-block-end:.6rem;inset-inline:.6rem;inline-size:auto}}@media(max-width:30rem){.progress-heading h2 span:last-child{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.diagnostics{margin-block-start:1.15rem;color:var(--muted);font-size:.72rem}.diagnostics summary{inline-size:max-content;padding-block:.5rem;list-style-position:outside}.diagnostics dl{display:grid;gap:.45rem;margin:.5rem 0 0;padding:.75rem 0;border-block:1px solid var(--line)}.diagnostics dl div{display:flex;justify-content:space-between;gap:1rem}.diagnostics dt,.diagnostics dd{margin:0}.diagnostics dd{color:var(--muted-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:end}:where(button,a,summary):focus-visible{outline:3px solid var(--signal);outline-offset:3px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes capture-flash{0%{opacity:0}24%{opacity:1}to{opacity:0}}.guide-presets,.method-switch,.cube-toolbar,.playback-controls{display:flex;gap:.5rem}.preset-button,.theater-button,.method-switch button{min-block-size:2.65rem;padding:.55rem .8rem;color:var(--muted-strong);background:#09111bb8;border:1px solid var(--line);border-radius:.65rem}.theater-button{display:grid;place-items:center;inline-size:2.65rem;padding:0;font-size:1.15rem}.theater-button svg{inline-size:1.15rem;block-size:1.15rem;fill:currentColor;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.preset-button:hover,.theater-button:hover,.method-switch button:hover,.method-switch button[aria-pressed=true]{color:var(--paper);background:var(--ink-soft);border-color:#f3c84b8f}.guide-workspace{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);min-block-size:0;overflow:hidden;background:#09111bd1;border:1px solid var(--line);border-radius:1.35rem;box-shadow:var(--shadow)}.cube-theater{grid-area:1 / 1;position:relative;min-block-size:0;overflow:hidden;background:radial-gradient(circle at 50% 44%,rgba(53,185,109,.09),transparent 28%),radial-gradient(circle at 50% 48%,#17293a,#08111b 68%)}#lessonCube{position:absolute;inset:0;z-index:1;inline-size:100%;block-size:100%;cursor:grab;touch-action:none}#lessonCube:active{cursor:grabbing}.cube-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle,transparent 48%,rgba(2,7,12,.52))}.cube-toolbar{position:absolute;inset-block-start:1rem;inset-inline-start:1rem;z-index:4}.orbit-hint{position:absolute;inset-block-end:.85rem;inset-inline:1rem;z-index:4;margin:0;color:var(--muted);font-size:.76rem;text-align:center;pointer-events:none}.move-beacon{position:absolute;inset-block-start:1rem;inset-inline-end:1rem;z-index:4;display:grid;grid-template-columns:2.8rem auto;gap:.65rem;align-items:center;padding:.42rem .65rem .42rem .42rem;color:var(--signal);background:#07111ce0;border:1px solid rgba(243,200,75,.42);border-radius:.85rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.move-beacon>#moveFace{display:grid;place-items:center;inline-size:2.6rem;block-size:2.6rem;color:var(--ink);font-weight:900;background:var(--signal);border-radius:.65rem}.move-beacon-copy{display:grid;min-inline-size:7.5rem}.move-beacon-copy strong{color:var(--paper);font-size:.78rem;text-transform:capitalize}.move-beacon-copy small{color:var(--signal);font-size:.68rem}.lesson-panel{position:relative;z-index:6;grid-area:1 / 1;align-self:end;justify-self:end;display:flex;flex-direction:column;inline-size:min(27rem,calc(100% - 1.5rem));max-block-size:calc(100% - 1.5rem);margin:.75rem;min-inline-size:0;padding:1rem;overflow:visible;background:linear-gradient(155deg,#111d2af0,#09111beb);border:1px solid var(--line);border-radius:1rem;box-shadow:0 1rem 3rem #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.method-switch{align-self:flex-start;padding:.22rem;margin-block-end:.55rem;background:var(--ink);border-radius:.8rem}.method-switch button{min-block-size:2.25rem;border-color:transparent}.method-switch button[aria-pressed=true]{color:var(--ink);background:var(--paper)}.lesson-heading{display:flex;gap:1rem;align-items:start;justify-content:space-between}.case-name,.step-counter,.preview-note,.lesson-purpose{color:var(--muted)}.case-name{display:none}.step-counter{flex:0 0 auto;font-size:.78rem;font-weight:700}.lesson-panel h1{display:flex;gap:.5rem;align-items:center;margin-block:.35rem .15rem;font-size:clamp(2.8rem,5vw,4.25rem);line-height:.95}.lesson-panel h1 svg{inline-size:.62em;block-size:.62em;fill:none;stroke:var(--signal);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.lesson-panel h1[data-turn=prime] svg{transform:scaleX(-1)}.lesson-panel h1 small{align-self:flex-start;margin-block-start:.2rem;color:var(--signal);font-size:.22em}.lesson-purpose{min-block-size:0;margin-block-end:.35rem;font-size:.78rem;line-height:1.3}.notation-line{margin-block:-.5rem 1rem}.notation-line span{padding:.25rem .55rem;color:var(--signal);font-family:ui-monospace,monospace;font-size:1.15rem;border:1px solid rgba(243,200,75,.35);border-radius:.45rem}html[data-view=guide],html[data-view=guide] body{block-size:100dvh;overflow:hidden}html[data-view=guide] #guideRoot{block-size:calc(100dvh - 4rem - var(--safe-area-top));overflow:hidden}.guide-shell{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,110rem);block-size:100%;margin-inline:auto;padding-top:.45rem;padding-right:max(.65rem,var(--safe-area-right));padding-bottom:max(.55rem,var(--safe-area-bottom));padding-left:max(.65rem,var(--safe-area-left));overflow:hidden}.guide-presets{display:none}@media(max-width:38rem),(max-height:38rem)and (max-width:56rem){.journey-nav .eyebrow,.guide-presets{display:none}.journey-nav{margin-block-end:.35rem}.journey-phases{inline-size:100%;justify-content:space-between;overflow:hidden;scrollbar-width:none}.journey-phases button{min-block-size:2rem;padding:.2rem}}.journey-nav{display:flex;gap:1rem 2rem;align-items:end;justify-content:space-between;margin-block-end:.45rem}.journey-nav>div:first-child{min-inline-size:0}.journey-phases{display:flex;gap:.38rem;max-inline-size:100%;overflow-x:auto;scrollbar-width:thin}.journey-phases button{display:inline-flex;flex:0 0 auto;gap:.42rem;align-items:center;min-block-size:2.05rem;padding:.25rem;color:var(--muted);white-space:nowrap;background:transparent;border:0;border-block-end:2px solid var(--line);cursor:pointer;touch-action:manipulation}.journey-phases button:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.journey-phases button:disabled{cursor:default}.journey-phases button[data-available=false]{opacity:.46}.journey-phases button em{display:none;font-style:normal}.journey-phases button[aria-current=step] em{display:inline}.journey-phases button span{display:grid;place-items:center;inline-size:1.2rem;block-size:1.2rem;color:var(--ink);font-size:.7rem;font-weight:800;background:var(--muted);border-radius:50%}.journey-phases button[aria-current=step]{color:var(--paper);border-color:var(--signal)}.journey-phases button[aria-current=step] span{background:var(--signal)}.journey-phases button[data-complete=true] span{background:var(--success)}.playback-controls{display:grid;grid-template-columns:3.5rem auto 3.5rem;gap:.55rem;justify-content:center;margin-block-start:.5rem}.playback-controls button,.rescan-action{min-block-size:3.5rem;font-weight:800;border-radius:.72rem;transition:transform .1s ease,filter .15s ease,border-color .15s ease}.playback-forward{color:var(--ink);background:var(--signal);border:1px solid var(--signal)}.pattern-controls{display:block;margin-block-start:.65rem}.playback-mode{display:inline-flex;gap:.5rem;align-items:center;justify-content:center;min-inline-size:7.5rem;min-block-size:3.5rem;color:var(--paper);font-weight:750;background:var(--ink-soft);border:1px solid var(--line);border-radius:.7rem;white-space:nowrap}.playback-mode svg{inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.playback-mode .playback-mode-icon{inline-size:1.2rem;block-size:1.2rem;color:var(--signal)}.playback-mode .playback-mode-chevron{inline-size:.85rem;block-size:.85rem}.playback-mode-picker{position:relative}.playback-mode-menu{position:absolute;z-index:20;inset-block-end:calc(100% + .45rem);inset-inline:0;display:grid;min-inline-size:10rem;padding:.35rem;background:#09111bfa;border:1px solid var(--line);border-radius:.75rem;box-shadow:0 1rem 2.5rem #0000006b}.playback-mode-menu[hidden]{display:none}.playback-mode-menu button{display:flex;gap:.65rem;align-items:center;min-block-size:2.7rem;padding-inline:.75rem;color:var(--muted-strong);text-align:start;background:transparent;border:0;border-radius:.5rem}.playback-mode-menu button svg{inline-size:1.2rem;block-size:1.2rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.playback-mode-menu button[aria-selected=true]{color:var(--ink);background:var(--signal)}.playback-mode-menu button:disabled{cursor:not-allowed;opacity:.34}.playback-mode-menu button:hover,.playback-mode-menu button:focus-visible{color:var(--paper);background:var(--ink-soft)}.playback-direction{display:grid;place-items:center;color:var(--paper);background:transparent;border:1px solid var(--line)}.playback-direction svg{inline-size:1.55rem;block-size:1.55rem;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.playback-forward .complete-icon,.playback-forward[data-action=complete] .forward-icon{display:none}.playback-forward[data-action=complete]{color:var(--ink);background:var(--success);border-color:var(--success)}.playback-forward[data-action=complete] .complete-icon{display:block}.playback-mode:focus-visible,.pattern-pause input:focus-visible{outline:3px solid var(--success);outline-offset:3px}.playback-mode:disabled,.pattern-pause input:disabled{cursor:not-allowed;opacity:.35}.pattern-pause{display:grid;grid-template-columns:auto minmax(4rem,1fr) 2.8rem;gap:.5rem;align-items:center;color:var(--muted);padding:.5rem .65rem;font-size:.72rem;background:#09111b85;border:1px solid var(--line);border-radius:.65rem}.pattern-pause input{inline-size:100%;accent-color:var(--signal);cursor:pointer}.pattern-pause output{color:var(--paper);font-variant-numeric:tabular-nums;text-align:end}.rescan-action{color:var(--paper);background:transparent;border:1px solid var(--line)}.playback-controls button:hover:not(:disabled),.rescan-action:hover:not(:disabled){filter:brightness(1.12);border-color:var(--signal)}.playback-controls button:active:not(:disabled),.rescan-action:active:not(:disabled){transform:translateY(1px) scale(.99)}.playback-controls button:focus-visible,.rescan-action:focus-visible,.preset-button:focus-visible,.theater-button:focus-visible,.method-switch button:focus-visible{outline:3px solid var(--success);outline-offset:3px}.playback-controls button:disabled,.playback-mode:disabled{cursor:not-allowed;opacity:.35}.move-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(.8rem,1fr));gap:.32rem;margin-block:.8rem}.move-progress i{block-size:.28rem;background:var(--ink-soft);border-radius:999px}.move-progress i[data-previewed=true]{background:var(--signal)}.move-progress i[data-confirmed=true]{background:var(--success)}.deep-dive{align-self:flex-end;padding:0;color:var(--muted-strong)}.deep-dive summary{display:grid;place-items:center;inline-size:2.5rem;block-size:2.5rem;color:var(--paper);font-weight:700;border:1px solid var(--line);border-radius:50%;cursor:pointer;list-style:none}.deep-dive p{position:absolute;z-index:8;inset-inline-end:1.5rem;max-inline-size:18rem;padding:.8rem;margin:.85rem 0 0;background:var(--ink);border:1px solid var(--line);border-radius:.7rem;font-size:.84rem;line-height:1.55}.move-beacon[data-double=true] #moveFace:after{content:"×2";position:absolute;margin-block-start:2.8rem;font-size:.65rem}.algorithm-preview{display:flex;gap:.65rem;align-items:center;min-block-size:2.6rem;padding:.45rem .6rem;margin-block-start:.55rem;color:var(--muted-strong);background:#09111b85;border:1px solid var(--line);border-radius:.65rem}.algorithm-preview[hidden]{display:none}.algorithm-preview strong{flex:0 1 auto;font-size:.72rem;line-height:1.15}.algorithm-moves{display:flex;gap:.28rem;margin-inline-start:auto}.algorithm-moves span{display:inline-flex;gap:.05rem;align-items:center;justify-content:center;min-inline-size:1.7rem;block-size:1.7rem;color:var(--paper);background:var(--ink-soft);border-radius:.38rem}.algorithm-moves b{font-size:.72rem}.algorithm-moves svg{inline-size:.72rem;block-size:.72rem;fill:none;stroke:var(--signal);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.algorithm-moves svg[data-turn=prime]{transform:scaleX(-1)}.algorithm-moves small{color:var(--signal);font-size:.58rem;font-weight:900}@media(max-width:47rem),(max-height:38rem)and (max-width:56rem){html[data-view=guide] #guideRoot{block-size:calc(100dvh - 3.4rem - var(--safe-area-top))}.guide-shell{padding-top:.25rem;padding-right:max(.4rem,var(--safe-area-right));padding-bottom:max(.4rem,var(--safe-area-bottom));padding-left:max(.4rem,var(--safe-area-left))}.journey-nav .eyebrow,.guide-presets{display:none}.journey-nav{margin-block-end:.25rem}.journey-phases{inline-size:100%;justify-content:space-between;overflow:hidden;scrollbar-width:none}.journey-phases button{min-block-size:1.9rem;padding:.15rem}.journey-phases button em{max-inline-size:7rem;overflow:hidden;text-overflow:ellipsis}.guide-workspace{block-size:100%;border-radius:1rem}.cube-toolbar{inset-block-start:.55rem;inset-inline-start:.55rem}.theater-button{inline-size:2.45rem;min-block-size:2.45rem}.move-beacon{inset-block-start:.55rem;inset-inline-end:.55rem;grid-template-columns:2.35rem auto;max-inline-size:8rem}.move-beacon>#moveFace{inline-size:2.2rem;block-size:2.2rem}.move-beacon-copy{min-inline-size:3.2rem}.move-beacon-copy small{font-size:0}.move-beacon-copy small:after{font-size:1rem}.move-beacon[data-turn=prime] .move-beacon-copy small:after{content:"↺"}.move-beacon[data-turn=clockwise] .move-beacon-copy small:after{content:"↻"}.move-beacon[data-double=true] .move-beacon-copy small:after{content:"×2"}.lesson-panel{inline-size:calc(100% - .8rem);max-block-size:45%;margin:.4rem;padding:.58rem .65rem .5rem;border-radius:.9rem}.method-switch{margin-block-end:.25rem}.method-switch button{min-block-size:1.85rem;padding:.25rem .55rem;font-size:.72rem}.lesson-heading .eyebrow{margin-block-end:.1rem}.step-counter{font-size:.64rem}.lesson-panel h1{margin-block:.18rem .08rem;font-size:clamp(1.9rem,9vw,2.55rem)}.lesson-purpose{display:-webkit-box;margin-block-end:.22rem;overflow:hidden;font-size:.7rem;line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:1}.playback-controls{padding:.22rem;margin-block-start:.1rem;background:#09111bb8;border:1px solid var(--line);border-radius:.78rem}.playback-controls button,.playback-mode{min-block-size:3.25rem}.playback-mode-menu button{min-block-size:2.25rem}.playback-mode-menu{inset-block-end:calc(100% - 1.5rem)}.algorithm-preview{gap:.3rem;min-block-size:2rem;padding:.25rem .35rem;margin-block-start:.2rem}.algorithm-preview strong{max-inline-size:6.5rem;font-size:.6rem}.algorithm-moves{gap:.15rem}.algorithm-moves span{min-inline-size:1.4rem;block-size:1.4rem}.algorithm-moves b{font-size:.6rem}.pattern-controls{margin-block-start:.25rem}.pattern-pause{min-block-size:2rem;padding:.3rem .45rem}.move-progress{margin-block:.28rem 0}.deep-dive{position:absolute;inset-block-end:.45rem;inset-inline-end:.6rem}.deep-dive summary{inline-size:1.9rem;block-size:1.9rem}}@media(max-height:36rem)and (max-width:56rem){.lesson-panel{max-block-size:calc(100% - .8rem);inline-size:min(22rem,42%)}.journey-phases button em,.lesson-purpose,.algorithm-preview strong{display:none}}@media(max-width:47rem),(max-height:38rem)and (max-width:56rem){.scanner-shell{padding-top:.45rem;padding-right:max(.45rem,var(--safe-area-right));padding-bottom:max(.45rem,var(--safe-area-bottom));padding-left:max(.45rem,var(--safe-area-left))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@supports not (backdrop-filter: blur(1px)){.stage-status,.progress-hud,.next-instruction,.solution-preview{background:#060c13f5}}@media(max-width:47rem),(max-height:38rem)and (max-width:56rem){.topbar{min-inline-size:0;min-height:calc(3.4rem + var(--safe-area-top));padding-left:max(.8rem,var(--safe-area-left));padding-right:max(.8rem,var(--safe-area-right))}.topbar-actions{min-inline-size:0;gap:.2rem}.topbar-link-icon{inline-size:2.35rem;min-block-size:2.35rem}.locale-toggle{gap:.3rem;min-block-size:2.35rem;padding:.25rem}}@media(max-width:47rem),(max-height:38rem)and (max-width:56rem){.camera-frame{inline-size:100%;aspect-ratio:auto;border-radius:1rem}.setup-visual img{object-position:54% 50%}.camera-placeholder:after{background:linear-gradient(180deg,rgba(5,10,16,.7),transparent 38%,rgba(5,10,16,.78)),radial-gradient(circle at 50% 52%,transparent 10%,rgba(5,10,16,.25) 82%)}.stage-copy{inset-block-start:.55rem;inset-inline-start:.55rem}h1{max-inline-size:9rem;padding:.46rem .58rem;font-size:clamp(.92rem,4.2vw,1.08rem)}.stage-status{inset-block-start:3.8rem;inset-inline-start:.55rem;max-inline-size:min(9.5rem,calc(100% - 1.1rem));min-block-size:2.5rem;padding:.42rem .55rem}.stage-status div>span{display:none}.entry-actions{inset-block-end:.6rem;inset-inline:.6rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.42rem;inline-size:calc(100% - 1.2rem)}.primary-action,.demo-action{min-inline-size:0;min-block-size:3.1rem;padding:.55rem;font-size:.76rem;white-space:normal}.face-label-front{inset-inline-start:13%}.face-label-right{inset-inline-end:13%}.camera-tools{inset-block-start:3.8rem;inset-inline-start:.55rem}.camera-frame[data-state]:not([data-state=idle]) .camera-tools{inset-block-start:6.75rem}.camera-stop-button{inset-block-start:.55rem;inset-inline-start:.55rem;inline-size:2.65rem;min-block-size:2.65rem}.camera-frame[data-camera=on] .camera-tools{inset-block-start:3.8rem}}@media(max-width:23rem){.primary-action,.demo-action{gap:.35rem;font-size:.7rem}.primary-action svg,.demo-action svg{inline-size:1rem;block-size:1rem}}
