:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#ecf6f2;background:#07131d;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #07131d;--ink-raised: #0d202c;--ink-soft: #183441;--paper: #ecf6f2;--paper-muted: #9cb4b8;--cyan: #67f1d0;--cyan-dark: #163e43;--coral: #ff775f;--yellow: #f4df62;--line: rgba(151, 207, 205, .28)}*{box-sizing:border-box}html,body,#root{min-width:100%;min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;overflow-x:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,.file-picker:focus-within{outline:3px solid var(--yellow);outline-offset:3px}button:disabled,input:disabled{cursor:default;opacity:.44}.app-shell{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;overflow-x:hidden;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:radial-gradient(circle at 87% 7%,rgba(103,241,208,.13),transparent 26rem),radial-gradient(circle at 7% 64%,rgba(255,119,95,.1),transparent 24rem),var(--ink)}.ambient-grid{position:fixed;z-index:-1;inset:0;opacity:.23;pointer-events:none;background-image:linear-gradient(rgba(103,241,208,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(103,241,208,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 82%);-webkit-mask-image:linear-gradient(to bottom,#000,transparent 82%)}.masthead{width:min(880px,100%);min-height:56px;margin:0 auto 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:0 2px 12px}.masthead>div:nth-child(2){display:grid;gap:2px}.masthead strong{font-size:.82rem;letter-spacing:.14em}.masthead span{color:var(--paper-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.61rem;letter-spacing:.11em}.brand-mark{position:relative;flex:0 0 36px;width:36px;height:36px}.brand-mark i,.brand-mark b{position:absolute;width:25px;height:25px;border:2px solid}.brand-mark i{top:3px;left:2px;border-color:var(--cyan)}.brand-mark b{right:2px;bottom:3px;border-color:var(--coral)}.privacy-seal{margin-left:auto;min-height:32px;display:flex;align-items:center;gap:6px;border:1px solid rgba(103,241,208,.48);padding:0 10px;color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;letter-spacing:.12em}.privacy-seal i,.active-badge i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 11px currentColor}.workbench{width:min(880px,100%);margin:0 auto;display:grid;gap:14px}.intro-copy{max-width:680px}.eyebrow{margin:0 0 8px;color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}h1{margin:0;font-size:clamp(2.35rem,10vw,5.4rem);font-weight:760;letter-spacing:-.055em;line-height:.91}.intro-copy>p:last-child{max-width:610px;margin:13px 0 0;color:var(--paper-muted);font-size:.98rem;line-height:1.52}.alignment-stage{position:relative;width:100%;aspect-ratio:4 / 3;min-height:220px;overflow:hidden;border:1px solid rgba(159,228,218,.44);border-radius:3px;background:#102630;box-shadow:0 18px 48px #00000061}.split-edge{position:absolute;z-index:8;inset:0;pointer-events:none;border-top:5px solid var(--cyan);border-right:5px solid var(--coral);border-bottom:5px solid var(--coral);border-left:5px solid var(--cyan)}.stage-grid{position:absolute;inset:0;opacity:.27;background-image:linear-gradient(rgba(135,232,216,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(135,232,216,.22) 1px,transparent 1px);background-size:9% 12%}.demo-layer{position:absolute;z-index:2;inset:0;transform:translate3d(var(--offset-x),var(--offset-y),0);transition:transform .18s cubic-bezier(.2,.75,.2,1)}.ghost-wrap{position:absolute;z-index:4;inset:0;mix-blend-mode:screen;transition:opacity .12s ease}.ghost-wrap.ghost-hidden,.media-ghost.ghost-hidden{opacity:0!important}.scene-horizon{position:absolute;left:0;right:0;bottom:21%;height:2px;background:#8fa8ac}.scene-arch{position:absolute;left:15%;top:23%;width:21%;height:43%;border:10px solid #78b7a9;border-bottom:0;border-radius:60px 60px 0 0;background:#0a1820;box-shadow:inset 0 0 0 2px #ecf6f22e}.scene-arch i{position:absolute;left:50%;top:-16%;width:6px;height:112%;background:var(--yellow);transform:translate(-50%)}.scene-pedestal{position:absolute;left:49%;bottom:21%;width:22%;height:35%;background:#d5c9a5;clip-path:polygon(13% 0,87% 0,100% 100%,0 100%);box-shadow:inset 0 0 0 3px #07131d7a}.scene-pedestal i{position:absolute;inset:14% 22%;border:2px solid #655f50}.scene-orb{position:absolute;z-index:2;left:54.5%;top:24%;width:12%;aspect-ratio:1;border-radius:50%;background:var(--coral);border:3px solid #381d20;box-shadow:-7px 9px #00000047}.scene-flag{position:absolute;right:13%;top:16%;width:5px;height:63%;background:#9cb4b8}.scene-flag i{position:absolute;left:5px;top:4px;width:66px;height:32px;background:var(--yellow);clip-path:polygon(0 0,100% 0,82% 100%,0 80%)}.scene-baseline{position:absolute;left:10%;right:9%;bottom:13%;height:7px;background:var(--coral)}.ghost-layer .scene-horizon,.ghost-layer .scene-arch,.ghost-layer .scene-arch i,.ghost-layer .scene-pedestal,.ghost-layer .scene-orb,.ghost-layer .scene-flag,.ghost-layer .scene-flag i,.ghost-layer .scene-baseline{background:transparent;border:3px solid var(--cyan);box-shadow:0 0 7px #67f1d0a6}.ghost-layer .scene-horizon,.ghost-layer .scene-baseline,.ghost-layer .scene-arch i,.ghost-layer .scene-flag{background:var(--cyan);border:0}.ghost-layer .scene-arch{border-width:4px;border-bottom:0}.ghost-layer .scene-pedestal,.ghost-layer .scene-flag i{clip-path:none}.ghost-layer .scene-pedestal i{border-color:var(--cyan)}.set-ghost-invitation{position:absolute;z-index:4;left:50%;top:50%;width:84px;height:84px;display:grid;place-items:center;border:1px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%);color:var(--cyan);font:800 .66rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;background:#07131dad;box-shadow:0 0 0 8px #67f1d00f}.set-ghost-invitation i{position:absolute;width:104px;height:1px;background:var(--cyan);transform:rotate(-38deg);opacity:.5}.registration-marks{position:absolute;z-index:9;inset:0;pointer-events:none}.mark{position:absolute;width:24px;height:24px;border-color:var(--yellow);border-style:solid}.north-west{left:14px;top:14px;border-width:2px 0 0 2px}.north-east{right:14px;top:14px;border-width:2px 2px 0 0}.south-west{left:14px;bottom:14px;border-width:0 0 2px 2px}.south-east{right:14px;bottom:14px;border-width:0 2px 2px 0}.center-cross{position:absolute;left:50%;top:50%;width:28px;height:28px;border:1px solid rgba(244,223,98,.78);border-radius:50%;transform:translate(-50%,-50%)}.center-cross:before,.center-cross:after{content:"";position:absolute;left:50%;top:50%;background:var(--yellow);transform:translate(-50%,-50%)}.center-cross:before{width:40px;height:1px}.center-cross:after{width:1px;height:40px}.scanner-line{position:absolute;z-index:7;top:5px;bottom:5px;width:1px;left:12%;background:linear-gradient(to bottom,transparent,var(--cyan) 18%,var(--cyan) 82%,transparent);box-shadow:0 0 10px var(--cyan);opacity:.7;animation:scan-stage 4.2s ease-in-out infinite alternate;pointer-events:none}@keyframes scan-stage{0%{transform:translate(0)}to{transform:translate(270px)}}.reading{min-height:64px;display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-left:4px solid var(--cyan);padding:10px 13px;background:#0d202cd1}.reading-dot{flex:0 0 10px;width:10px;height:10px;border:2px solid var(--coral);border-radius:50%}.reading-dot.registered{border-color:var(--cyan);background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.reading div{display:grid;gap:3px}.reading strong{font-size:.9rem}.reading small{color:var(--paper-muted);font-size:.73rem}.reading b{margin-left:auto;color:var(--yellow);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.demo-tools,.camera-actions,.photo-pickers,.mode-actions{display:grid;gap:10px}.demo-tools{border:1px solid var(--line);padding:12px;background:#0d202c9e}.reference-actions,.mode-actions{display:flex;flex-wrap:wrap;gap:9px}.button,.text-button,.nudge-pad button{min-height:48px;border:1px solid transparent;border-radius:2px;padding:0 16px;font-weight:760;cursor:pointer;transition:transform .11s ease,background .11s ease,border-color .11s ease}.button:active:not(:disabled),.text-button:active:not(:disabled),.nudge-pad button:active:not(:disabled){transform:translateY(2px)}.button-cyan{color:var(--ink);background:var(--cyan);border-color:var(--cyan)}.button-coral{color:#1c1110;background:var(--coral);border-color:var(--coral)}.button-ink,.button-quiet,.stop-button{color:var(--paper);background:var(--ink-raised);border-color:#9cb4b866}.button-quiet:hover:not(:disabled),.button-ink:hover:not(:disabled){border-color:var(--cyan)}.stop-button{color:var(--coral);border-color:var(--coral)}.text-button{color:var(--paper-muted);background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:4px}.movement-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.control-label,.opacity-control>span{color:var(--paper-muted);font-size:.76rem;font-weight:720;letter-spacing:.04em}.nudge-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:5px}.nudge-pad button{min-width:48px;padding:0;color:var(--paper);background:var(--ink-soft);border-color:#9cb4b84d;font-size:1.2rem}.nudge-pad button:nth-child(1){grid-column:2;grid-row:1}.nudge-pad button:nth-child(2){grid-column:1;grid-row:2}.nudge-pad button:nth-child(3){grid-column:2;grid-row:2;color:var(--cyan)}.nudge-pad button:nth-child(4){grid-column:3;grid-row:2}.nudge-pad button:nth-child(5){grid-column:3;grid-row:1}.overlay-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.opacity-control{min-height:64px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 10px}.opacity-control strong{color:var(--yellow);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.opacity-control input{grid-column:1 / -1;width:100%;min-height:48px;margin:0;accent-color:var(--cyan);cursor:pointer}.blink-button{min-width:135px;margin-bottom:2px}.blink-glyph{margin-right:7px;color:var(--cyan)}.privacy-note{margin:0;display:flex;align-items:center;gap:8px;color:var(--paper-muted);font-size:.74rem;line-height:1.4}.privacy-note span{color:var(--cyan);font-size:1rem}.camera-stage video,.photo-current,.media-ghost{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.camera-stage video,.photo-current{z-index:1;background:#0b1d27}.media-ghost{z-index:4;mix-blend-mode:screen;transition:opacity .12s ease}.camera-shutter,.photo-placeholder{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:var(--paper-muted);background:radial-gradient(circle at center,rgba(103,241,208,.1),transparent 32%),repeating-linear-gradient(135deg,rgba(103,241,208,.04) 0 9px,transparent 9px 18px),#0b1d27}.camera-shutter i,.photo-placeholder i{position:absolute;width:80px;height:80px;border:1px solid rgba(103,241,208,.5);border-radius:50%}.camera-shutter i:before,.camera-shutter i:after,.photo-placeholder i:before,.photo-placeholder i:after{content:"";position:absolute;left:50%;top:50%;background:var(--cyan);transform:translate(-50%,-50%);opacity:.55}.camera-shutter i:before,.photo-placeholder i:before{width:112px;height:1px}.camera-shutter i:after,.photo-placeholder i:after{width:1px;height:112px}.camera-shutter span,.photo-placeholder span{margin-top:118px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.15em}.active-badge{position:absolute;z-index:10;left:16px;top:16px;min-height:32px;display:flex;align-items:center;gap:7px;border:1px solid var(--coral);padding:0 10px;color:#fff5f2;background:#2b1211d1;font-size:.72rem;font-weight:780;letter-spacing:.04em}.active-badge i{color:var(--coral)}.capture-canvas{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.media-status{min-height:48px;margin:0;display:flex;align-items:center;border-left:4px solid var(--yellow);padding:8px 12px;color:var(--paper-muted);background:#0d202cd1;font-size:.82rem;line-height:1.45}.camera-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-actions .text-button{grid-column:1 / -1}.fallback-callout{display:grid;gap:4px;border:1px solid rgba(244,223,98,.5);padding:12px;color:var(--yellow);background:#2e291359}.fallback-callout span{color:var(--paper-muted);font-size:.78rem}.photo-pickers{grid-template-columns:repeat(2,minmax(0,1fr))}.file-picker{position:relative;min-height:68px;display:flex;align-items:center;gap:10px;border:1px solid rgba(156,180,184,.42);padding:8px 10px;color:var(--paper);background:var(--ink-raised);cursor:pointer}.file-picker>span:nth-child(2){display:grid;gap:3px}.file-picker strong{font-size:.8rem}.file-picker small{color:var(--paper-muted);font-size:.68rem}.file-number{color:var(--cyan);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem}.file-input{position:absolute;width:1px;height:1px;opacity:0}.gallery-label{width:min(880px,100%);margin:-5px auto 8px;color:var(--yellow);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.61rem;letter-spacing:.13em}.app-shell[data-gallery=true] .interactive-zone,.app-shell[data-gallery=true] .overlay-controls{pointer-events:none}@media(max-width:430px)and (max-height:560px){.app-shell{padding-top:8px}.masthead{min-height:44px;margin-bottom:8px;padding-bottom:7px}.brand-mark{transform:scale(.84);transform-origin:left center;margin-right:-4px}.privacy-seal{display:none}.eyebrow{margin-bottom:5px;font-size:.59rem}h1{font-size:2rem;line-height:.93}.app-shell[data-gallery=true] .demo-tools,.intro-copy>p:last-child,.privacy-note{display:none}.workbench{gap:8px}.alignment-stage{min-height:0}.reading{min-height:48px;padding-block:6px}.reading small,.reading b{display:none}}@media(max-width:520px){.overlay-controls,.camera-actions,.photo-pickers{grid-template-columns:1fr}.camera-actions .text-button{grid-column:auto}.blink-button{width:100%}.movement-panel{grid-template-columns:1fr auto}.reference-actions .button,.mode-actions .button,.mode-actions .text-button{flex:1 1 140px}}@media(min-width:680px)and (max-height:520px)and (min-aspect-ratio:4/3)and (max-aspect-ratio:3/1){.app-shell{padding-top:max(8px,env(safe-area-inset-top))}.masthead{min-height:42px;margin-bottom:8px;padding-bottom:6px}.workbench{grid-template-columns:minmax(320px,1.08fr) minmax(300px,.92fr);grid-template-rows:auto auto auto 1fr;gap:8px 14px;align-items:start}.alignment-stage{grid-column:1;grid-row:1 / span 4;min-height:0}.intro-copy{grid-column:2;grid-row:1}.eyebrow{margin-bottom:4px}h1{font-size:clamp(2rem,6vw,3.6rem)}.intro-copy>p:last-child{margin-top:7px;font-size:.76rem;line-height:1.35}.reading,.media-status{grid-column:2;grid-row:2;min-height:46px}.demo-tools,.camera-actions,.photo-pickers{grid-column:2;grid-row:3}.demo-tools{grid-template-columns:minmax(135px,160px) 1fr;grid-template-rows:auto auto auto;align-items:start;max-height:190px;overflow:auto}.demo-tools .reference-actions{grid-column:1;grid-row:1;align-self:start}.demo-tools .reference-actions .button{height:48px;min-height:48px;flex:0 0 auto}.demo-tools .movement-panel{grid-column:2;grid-row:1;display:block;border:0;padding:0}.demo-tools .movement-panel .control-label{display:none}.demo-tools .overlay-controls{grid-column:1 / -1;grid-row:2}.demo-tools .mode-actions{grid-column:1 / -1;grid-row:3}.movement-panel{grid-template-columns:1fr auto}.nudge-pad{transform:scale(.9);transform-origin:right center}.overlay-controls{grid-column:2;grid-row:4}.privacy-note,.fallback-callout{display:none}.app-shell[data-mode=photos] .media-copy>p:last-child{display:none}.app-shell[data-mode=photos] .media-workbench>.mode-actions{grid-column:2;grid-row:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.app-shell[data-mode=photos] .media-workbench>.mode-actions .button,.app-shell[data-mode=photos] .media-workbench>.mode-actions .text-button{min-width:0;min-height:48px;padding-inline:6px;font-size:.72rem;line-height:1.12}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(forced-colors:active){.alignment-stage,.reading,.demo-tools,.file-picker,.media-status{border:2px solid CanvasText}.split-edge,.ambient-grid,.scanner-line{display:none}}
