: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(4.75rem + 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}.privacy-note{color:var(--muted);font-size:.78rem;letter-spacing:.015em}.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)}.scanner-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,23rem);gap:clamp(1.75rem,4vw,4.75rem);width:min(96rem,100%);margin-inline:auto;padding-top:clamp(1.7rem,3vw,3rem);padding-right:max(clamp(1.1rem,4vw,4rem),var(--safe-area-right));padding-bottom:max(2.2rem,var(--safe-area-bottom));padding-left:max(clamp(1.1rem,4vw,4rem),var(--safe-area-left))}.camera-stage{min-width:0}.stage-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,29rem);grid-template-areas:"eyebrow intro" "title intro";align-items:end;gap:.25rem 3rem;margin-block-end:1.15rem}.stage-copy .eyebrow{grid-area:eyebrow}.stage-copy h1{grid-area:title}.stage-copy .intro{grid-area:intro}.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:16ch;margin-block-end:0;font-family:Futura,Avenir Next,sans-serif;font-size:clamp(2.2rem,3.6vw,4rem);font-weight:750;letter-spacing:-.055em;line-height:.97;text-wrap:balance}.intro{max-inline-size:43ch;margin-block-end:.25rem;color:var(--muted-strong);font-size:clamp(.98rem,1.35vw,1.12rem);line-height:1.6}.camera-frame{position:relative;isolation:isolate;overflow:hidden;inline-size:100%;max-inline-size:100%;aspect-ratio:19 / 10;min-block-size:24rem;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}.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:1.35rem;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-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=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-end:1.2rem;inset-inline:1.2rem auto;display:flex;align-items:center;gap:.72rem;max-inline-size:min(26rem,calc(100% - 2.4rem));min-block-size:3.3rem;padding:.66rem .86rem;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:.87rem}.stage-status div>span{color:var(--muted);font-size:.72rem;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{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}.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{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-block-size:3.5rem;padding-block-start:.55rem}.text-action{display:inline-flex;align-items:center;gap:.48rem;min-block-size:2.75rem;padding:.55rem .7rem;color:var(--muted-strong);background:transparent;border:1px solid transparent;border-radius:.58rem;font-size:.77rem;font-weight:650}.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{color:#98a6b561;cursor:not-allowed}.keyboard-hint{margin-inline-start:auto;color:var(--muted);font-size:.7rem}.progress-rail{align-self:end;padding-block:1rem .5rem}.progress-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding-block-end:1rem}.progress-heading h2{margin:0;font-family:Futura,Avenir Next,sans-serif;font-size:clamp(1.55rem,2.5vw,2.2rem);letter-spacing:-.04em}.progress-number{color:var(--muted);font-size:.78rem;font-weight:700}#scanProgress{position:absolute;clip-path:inset(50%);inline-size:1px;block-size:1px;overflow:hidden}.progress-track{overflow:hidden;inline-size:100%;block-size:.45rem;margin-block-end:1.8rem;background:var(--ink-soft);border-radius:999px;box-shadow:inset 0 0 0 1px #f5f0e614}.progress-track i{display:block;inline-size:0;block-size:100%;background:linear-gradient(90deg,var(--signal),var(--success));border-radius:inherit;box-shadow:0 0 1rem #67d7ae59;transition:inline-size .38s cubic-bezier(.2,.75,.2,1)}.face-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.face-list li{display:grid;grid-template-columns:1.75rem .78rem minmax(0,1fr) auto;gap:.68rem;align-items:center;min-block-size:3.45rem;border-block-end:1px solid var(--line);color:var(--muted-strong);transition:color .16s ease,background .16s ease}.face-list li:first-child{border-block-start:1px solid var(--line)}.face-list li[data-current=true]{color:var(--paper);background:linear-gradient(90deg,rgba(243,200,75,.07),transparent 72%)}[dir=rtl] .face-list li[data-current=true]{background:linear-gradient(-90deg,rgba(243,200,75,.07),transparent 72%)}.face-check{display:grid;place-items:center;inline-size:1.55rem;block-size:1.55rem;color:transparent;border:1px solid rgba(245,240,230,.2);border-radius:50%}.face-check svg{inline-size:1rem;block-size:1rem;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.face-list li[data-captured=true] .face-check{color:var(--ink);background:var(--success);border-color:var(--success);box-shadow:0 0 0 .28rem #67d7ae14}.face-swatch{inline-size:.72rem;block-size:.72rem;border:1px solid rgba(255,255,255,.36);border-radius:.15rem}.face-yellow{background:var(--face-yellow)}.face-blue{background:var(--face-blue)}.face-red{background:var(--face-red)}.face-green{background:var(--face-green)}.face-orange{background:var(--face-orange)}.face-name{font-size:.86rem;font-weight:680}.face-list small{color:var(--muted);font-size:.68rem}.face-list li[data-captured=true] small{color:var(--success)}.next-instruction{display:flex;align-items:center;gap:.9rem;margin-block-start:1.5rem;padding:1rem 1.05rem;background:#f1eadc;border-radius:.78rem;color:var(--ink)}.instruction-glyph{display:grid;place-items:center;inline-size:2.65rem;block-size:2.65rem;flex:0 0 auto;background:var(--signal);border-radius:.58rem}.instruction-glyph svg{inline-size:1.75rem;block-size:1.75rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.next-instruction span:not(.instruction-glyph),.next-instruction strong{display:block}.next-instruction div>span{margin-block-end:.12rem;color:#617080;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.next-instruction strong{font-size:.86rem;line-height:1.35}.solution-preview{margin-block-start:1.5rem;padding-block-start:1.45rem;border-block-start:1px solid var(--line)}.solution-preview h3{margin-block-end:.65rem;font-family:Futura,Avenir Next,sans-serif;font-size:1.42rem;letter-spacing:-.03em}.solution-preview>p:not(.eyebrow){color:var(--muted-strong);font-size:.78rem;line-height:1.55}.journey-line{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-block:1rem}.journey-line i{block-size:.28rem;background:var(--ink-soft);border-radius:99px}.journey-line i:nth-child(-n+2){background:var(--success)}.journey-line i.active{background:var(--signal);box-shadow:0 0 .65rem #f3c84b52}.secondary-action{inline-size:100%;min-block-size:3rem;color:var(--ink);background:var(--success);border:0;border-radius:.65rem;font-size:.82rem;font-weight:800}.secondary-action:hover{background:#8ce8c5}.secondary-action:disabled{color:#20352e;background:#a8d8c5;cursor:default}.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-columns:minmax(0,1.5fr) minmax(19rem,.72fr);min-block-size:min(46rem,calc(100vh - 10rem));overflow:hidden;background:#09111bd1;border:1px solid var(--line);border-radius:1.35rem;box-shadow:var(--shadow)}.cube-theater{position:relative;min-block-size:38rem;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%);border-inline-end:1px solid var(--line)}#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{display:flex;flex-direction:column;min-inline-size:0;padding:clamp(1.25rem,2.8vw,2.25rem);background:linear-gradient(155deg,#111d2afa,#09111bf5)}.method-switch{align-self:flex-start;padding:.22rem;margin-block-end:1.25rem;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:1rem .3rem;font-size:clamp(4.5rem,7vw,7rem);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:2.6rem;margin-block-end:.8rem;font-size:.9rem;line-height:1.4}.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}.guide-shell{width:min(100%,96rem);margin-inline:auto;padding:clamp(1.25rem,3vw,2.5rem) clamp(1rem,4vw,4rem) 3rem}@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:1.25rem}.journey-nav>div:first-child{min-inline-size:0}.journey-phases{display:flex;gap:.38rem;max-inline-size:58rem;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.35rem;padding:.35rem;color:var(--muted);white-space:nowrap;background:transparent;border:0;border-block-end:2px solid var(--line)}.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.25rem;block-size:1.25rem;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:auto}.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:64rem){.journey-nav{display:grid}.guide-presets{flex-wrap:wrap}.guide-workspace{grid-template-columns:minmax(0,1fr)}.cube-theater{min-block-size:clamp(25rem,62vw,38rem);border-inline-end:0;border-block-end:1px solid var(--line)}.lesson-panel h1{max-inline-size:18ch}}@media(max-width:38rem),(max-height:38rem)and (max-width:56rem){html[data-view=guide],html[data-view=guide] body,html[data-view=guide] #guideRoot{block-size:100dvh;overflow:hidden}html[data-view=guide] #app{display:none}.guide-shell{display:grid;grid-template-rows:auto minmax(0,1fr);block-size:100%;padding-top:max(.35rem,var(--safe-area-top));padding-right:max(.5rem,var(--safe-area-right));padding-bottom:max(.35rem,var(--safe-area-bottom));padding-left:max(.5rem,var(--safe-area-left));overflow:hidden}.guide-presets{display:none}.preset-button{white-space:normal}.guide-workspace{grid-template-rows:minmax(0,56%) minmax(0,44%);block-size:100%;min-block-size:0;border-radius:1rem}.cube-theater{block-size:auto;min-block-size:0}.cube-toolbar{inset-block-start:.65rem;inset-inline-start:.65rem}.theater-button{min-block-size:2.5rem;padding-inline:.62rem;font-size:.75rem}.move-beacon{inset-block-start:.65rem;inset-inline-end:.65rem;grid-template-columns:2.4rem auto;max-inline-size:8.2rem}.move-beacon-copy{min-inline-size:3.6rem}.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{position:relative;min-block-size:0;padding:.65rem .75rem .55rem;overflow:hidden;border-radius:1.35rem 1.35rem 0 0}.lesson-panel h1{margin-block:.35rem .15rem;font-size:clamp(2rem,11vw,2.8rem)}.method-switch{margin-block-end:.35rem}.method-switch button{min-block-size:2rem;padding:.3rem .62rem;font-size:.78rem}.lesson-heading .eyebrow{margin-block-end:.15rem}.step-counter{font-size:.68rem}.lesson-purpose{min-block-size:0;display:-webkit-box;margin-block-end:.35rem;overflow:hidden;font-size:.78rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.algorithm-preview{gap:.35rem;min-block-size:2.2rem;padding:.32rem .4rem;margin-block-start:.28rem}.algorithm-preview strong{max-inline-size:7rem;font-size:.64rem}.algorithm-moves{gap:.18rem}.algorithm-moves span{min-inline-size:1.48rem;block-size:1.48rem}.algorithm-moves b{font-size:.65rem}.algorithm-moves svg{inline-size:.65rem;block-size:.65rem}.playback-controls{position:relative;inset-block-end:auto;z-index:9;padding:.3rem;margin-inline:-.25rem;background:#09111beb;border:1px solid var(--line);border-radius:.9rem;box-shadow:0 .75rem 2rem #00000047;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.playback-controls button,.playback-mode{min-block-size:3.25rem}.playback-mode-menu button{min-block-size:2.25rem}.move-progress{margin-block:.38rem 0}.deep-dive{position:absolute;inset-block-end:.55rem;inset-inline-end:.75rem}.deep-dive summary{inline-size:2.1rem;block-size:2.1rem}}@media(max-height:44rem)and (max-width:56rem){.guide-workspace{grid-template-rows:minmax(0,51%) minmax(0,49%)}.journey-nav{margin-block-end:.25rem}}@media(min-width:38.01rem)and (max-width:56rem)and (max-height:38rem){.guide-workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,58%) minmax(0,42%)}.cube-theater{border-inline-end:1px solid var(--line);border-block-end:0}.lesson-panel{border-start-start-radius:0;border-start-end-radius:1rem;border-end-end-radius:1rem;border-end-start-radius:0}.lesson-purpose{-webkit-line-clamp:1}}@media(max-width:64rem){.scanner-shell{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-inline:1.5rem}.stage-copy{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "intro";gap:.9rem}.camera-frame{min-block-size:20rem}.progress-rail{inline-size:min(100%,46rem);justify-self:center}.privacy-note{display:none}}@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{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){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{position:relative;display:block;block-size:100%;min-block-size:0;padding-top:.5rem;padding-right:max(.7rem,var(--safe-area-right));padding-bottom:max(.45rem,var(--safe-area-bottom));padding-left:max(.7rem,var(--safe-area-left));overflow:hidden}.camera-stage{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);block-size:100%;min-block-size:0}.stage-copy{display:flex;align-items:center;min-block-size:2.2rem;margin:0}.stage-copy .eyebrow,.stage-copy .intro{display:none}h1{max-inline-size:none;font-size:clamp(1.12rem,5vw,1.4rem);letter-spacing:-.035em;line-height:1}.camera-frame{block-size:100%;min-block-size:0;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%)}.setup-coach,.setup-device-desktop,.keyboard-hint{display:none}.setup-device-mobile{display:block}.stage-status{inset-block-end:5rem;inset-inline:.8rem;inline-size:calc(100% - 1.6rem);max-inline-size:none}.entry-actions{inset-block-end:.8rem;inset-inline:.8rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem;inline-size:calc(100% - 1.6rem)}.primary-action,.demo-action{min-inline-size:0;padding-inline:.6rem;white-space:normal}.face-label-front{inset-inline-start:13%}.face-label-right{inset-inline-end:13%}.camera-tools{position:absolute;z-index:9;inset-block-start:2.7rem;inset-inline-start:.55rem;flex-direction:column;gap:.25rem;min-block-size:0;padding:0}.camera-tools .text-action{position:relative;inline-size:2.65rem;min-block-size:2.65rem;justify-content:center;padding:0;background:#060c13d1;border-color:#f5f0e62e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.camera-tools .text-action:disabled{display:none}.camera-tools .text-action span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.progress-rail{position:absolute;z-index:8;inset-block-start:3.1rem;inset-inline-end:1.2rem;display:flex;align-items:center;gap:.5rem;inline-size:auto;padding:.38rem .48rem;color:var(--paper);background:#060c13d1;border:1px solid rgba(245,240,230,.18);border-radius:.62rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.progress-heading{padding:0}.progress-heading .eyebrow,.progress-number,.progress-track,.next-instruction,.diagnostics{display:none}.progress-heading h2{font-family:inherit;font-size:.72rem;letter-spacing:0;white-space:nowrap}.face-list{display:flex;gap:.28rem}.face-list li,.face-list li:first-child{display:block;min-block-size:0;border:0;background:transparent}.face-list .face-check{inline-size:1rem;block-size:1rem;border-color:color-mix(in srgb,var(--face-color, var(--paper)) 72%,white);box-shadow:inset 0 0 0 .2rem #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-captured=true] .face-check{color:var(--ink);background:var(--success);border-color:var(--success);box-shadow:none}.face-list .face-check svg{inline-size:.7rem;block-size:.7rem}.face-list .face-swatch,.face-list .face-name,.face-list small{display:none}.progress-rail:has(.solution-preview:not([hidden])){inset-block:auto 3.65rem;inset-inline:1.4rem;display:block;padding:.75rem;pointer-events:auto}.progress-rail:has(.solution-preview:not([hidden])) .progress-heading,.progress-rail:has(.solution-preview:not([hidden])) .face-list{display:none}.solution-preview{margin:0;padding:0;border:0}.solution-preview .eyebrow,.solution-preview .journey-line,.solution-preview>p:not(.eyebrow){display:none}.solution-preview h3{margin-block-end:.55rem;font-size:1rem}.secondary-action{min-block-size:2.75rem}}
