:root{--bg:#060608;--ink:#b6bbc1;--dim:#787e8b}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;touch-action:none;-webkit-tap-highlight-color:transparent}canvas{display:block;position:absolute;inset:0}.veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,rgba(40,44,54,.16),transparent 62%),radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.55))}.veil:after{content:"";position:absolute;inset:-6%;opacity:.06;mix-blend-mode:screen;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}#loader{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:30px;background:transparent;transition:opacity .9s ease}#loader.hidden{opacity:0;pointer-events:none}.ring{width:132px;height:132px;position:relative;display:grid;place-content:center;border-radius:50%;box-shadow:inset 0 0 35px #101218}.arc{--p:0;position:absolute;inset:0;border-radius:50%;background:conic-gradient(#d4dce7 calc(var(--p)*1%),#23252c 0);-webkit-mask:radial-gradient(circle,transparent 62px,#000 63px);mask:radial-gradient(circle,transparent 62px,#000 63px)}.arc.indeterminate{background:conic-gradient(#d4dce7 0 22%,#23252c 0);animation:spin 1.6s linear infinite}#pct{font-size:20px;letter-spacing:1px;color:#f0f1f4}#status,#hint,#note,#panel{font-size:10px;letter-spacing:.22em;color:var(--dim)}#hint{position:absolute;bottom:max(7%,env(safe-area-inset-bottom));left:0;right:0;text-align:center;z-index:2;transition:opacity 1.2s;pointer-events:none}#hint.gone{opacity:0}#note{position:absolute;left:max(24px,env(safe-area-inset-left));top:24px;z-index:2;letter-spacing:.07em;max-width:380px;line-height:1.7;pointer-events:none}#note.warn{color:#c9a46a}#panel{position:absolute;right:max(20px,env(safe-area-inset-right));top:20px;z-index:3;display:flex;gap:14px;align-items:center;letter-spacing:.12em}#panel button{font:inherit;letter-spacing:.2em;color:#d4dce7;background:transparent;border:1px solid #30323a;padding:8px 12px;border-radius:2px;cursor:pointer}#panel button:hover,#panel button:focus-visible{border-color:#8b93a1;outline:none}#error{position:absolute;inset:0;z-index:6;display:grid;place-content:center;text-align:center;padding:24px;background:var(--bg);font-size:12px;letter-spacing:.1em;line-height:1.8;color:#c9ccd2}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){#hint{font-size:8px}#note{font-size:8px;max-width:220px;left:16px;top:16px}#panel{top:auto;bottom:16px;right:16px}}@media(prefers-reduced-motion:reduce){.arc.indeterminate{animation:none}#loader{transition:none}}[hidden],.clean #note,.clean #hint,.clean #panel{display:none!important}.arc{display:none}.ring{box-shadow:none}.veil:after{animation:grain .9s steps(1) infinite}@keyframes grain{0%{transform:translate(0)}17%{transform:translate(-3%,2%)}33%{transform:translate(2%,-3%)}50%{transform:translate(-2%,-1%)}67%{transform:translate(3%,3%)}83%{transform:translate(-1%,2%)}}#hint{opacity:0}.live #hint{opacity:1}.live #hint.gone{opacity:0}:root{--bg:#181818;--ink:#d6d4ce;--dim:#777773}.veil{background:radial-gradient(ellipse at 50% 40%,rgba(60,60,54,.055),transparent 65%),radial-gradient(ellipse at 50% 48%,transparent 50%,rgba(0,0,0,.2))}.veil:after{opacity:.027;animation:none}#note{left:32px;top:29px;font-family:Georgia,serif;font-size:18px;letter-spacing:-.035em;color:#ceccc7;max-width:none}#panel{top:auto;bottom:28px;right:32px}#panel button{border:0;border-bottom:1px solid #55544f;padding:8px 0;font-size:9px;color:#b5b3ac}#panel button:hover,#panel button:focus-visible{color:#fff;border-color:#fff}#stats{display:none}.debug #stats{display:inline}#hint{font-size:8px;letter-spacing:.19em;bottom:38px;color:#777772}@media(max-width:600px){#note{left:22px;top:24px;font-size:17px}#panel{right:22px;bottom:22px}#hint{bottom:70px;font-size:7px}}:root{--bg:#1c1c1c}#pct{font-size:13px;font-weight:400;letter-spacing:-.03em;color:#d0cfcb;font-family:ui-monospace,SFMono-Regular,monospace}#status{font-size:7px;letter-spacing:.24em;color:#686864}#loader{gap:18px;transition:opacity .65s ease}#note{font-family:Georgia,serif;font-size:17px;font-weight:400;letter-spacing:-.045em;opacity:.82}#hint{color:#74746f;font-size:7px;letter-spacing:.16em}#panel button{font-size:8px;opacity:.65;border-bottom-color:#3b3b38;transition:opacity .3s}#panel button:hover,#panel button:focus-visible{opacity:1}.veil:after{opacity:.018}#cursor-light{position:absolute;width:4px;height:4px;border-radius:50%;background:#eeefec;box-shadow:0 0 5px 1px #fff9,0 0 16px 4px #fff2;transform:translate(-50%,-50%);pointer-events:none;z-index:3;opacity:0;transition:opacity .45s}#cursor-light.on{opacity:.9}@media(prefers-reduced-motion:reduce){#cursor-light{transition:none}}#loader{display:block}#loader .ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}#status{display:none}#hint,#panel{opacity:0;transition:opacity 1.4s ease}.settled #hint,.settled #panel{opacity:1}#panel{pointer-events:none}.settled #panel{pointer-events:auto}.settled #hint.gone{opacity:0}.live:not(.settled) #hint{opacity:0}#loader .ring{width:184px;height:184px}#pct{font-size:34px;font-weight:300;letter-spacing:-.06em;color:#e4e3dd}#status{display:block;position:absolute;top:calc(50% + 29px);left:0;right:0;text-align:center;font-size:10px;letter-spacing:.13em;color:#81817a}#note{opacity:0;transition:opacity 1.1s ease}.settled #note{opacity:.82}:root{--bg:#222222}.veil{background:radial-gradient(ellipse at 50% 46%,transparent 45%,rgba(0,0,0,.1) 100%)}.veil:after{opacity:.032;mix-blend-mode:soft-light;animation:grain 2.4s steps(1) infinite}#cursor-light,#cursor-light.on{display:none}@media(prefers-reduced-motion:reduce){.veil:after{animation:none}}#cursor-light{display:block;width:4px;height:4px;background:#fff;box-shadow:0 0 4px 1px #fffc,0 0 13px 4px #fff3,0 0 24px 8px #fff1}#cursor-light.on{display:block;opacity:.95}.live:not(.settled) #cursor-light{opacity:0}@media(hover:hover)and (pointer:fine){html,body,#app,#app *{cursor:none!important}}.veil:after{opacity:.012;animation:none}@media(max-width:720px),(pointer:coarse){html,body,#app{width:100%;height:100%;overscroll-behavior:none}#note{left:max(20px,env(safe-area-inset-left));top:max(20px,env(safe-area-inset-top));font-size:16px}#panel{right:max(20px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}#panel button{min-height:44px;min-width:128px;font-size:9px;padding:12px 4px}#hint{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 60px);font-size:8px;letter-spacing:.1em;padding:0 20px}#cursor-light{display:none!important}}@media(max-height:500px)and (orientation:landscape){#note{top:max(14px,env(safe-area-inset-top));font-size:14px}#panel{bottom:max(10px,env(safe-area-inset-bottom))}#hint{bottom:22px;left:20px;right:auto;text-align:left;max-width:200px;font-size:7px}}@media(max-width:720px),(pointer:coarse),(max-width:1000px)and (max-height:500px){#panel button{min-height:44px;min-width:128px;background:#191919b8;border-radius:3px;padding:12px 8px;color:#e0ded8;opacity:.9}#hint{text-shadow:0 1px 5px #000;color:#b6b4ae}}#camera-box{position:absolute;z-index:5;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:230px;padding:10px;background:#191919ed;border:1px solid #44443f;border-radius:8px;color:#d5d3cc;font:11px/1.5 system-ui,sans-serif;touch-action:auto}#camera-video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transform:scaleX(-1);background:#111;border-radius:4px}#camera-status{min-height:32px;margin:9px 0 4px}.camera-help{margin:5px 0;color:#bbb9b3}.camera-private{margin:8px 0 0;font-size:10px;color:#8f9e8c}#camera-close{position:absolute;z-index:1;right:14px;top:14px;min-width:36px;min-height:36px;border:1px solid #777;border-radius:50%;background:#111c;color:#fff;font:22px system-ui;cursor:pointer}#camera-toggle[aria-pressed=true]{color:#e1f0da;border-color:#a1b49b}.camera-control #cursor-light.on{display:block!important;opacity:.95}@media(max-width:720px),(pointer:coarse){#camera-box{width:182px;padding:8px;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));font-size:10px}#camera-video{aspect-ratio:16/10}.camera-private{font-size:9px}#panel{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));justify-content:space-between;gap:10px}#panel button{min-width:0;min-height:44px;padding:10px 8px}#camera-close{right:10px;top:10px}}@media(max-height:500px)and (orientation:landscape){#camera-box{width:170px;top:10px}.camera-help{font-size:9px}#camera-status{min-height:0}.camera-private{font-size:8px}}@media(hover:hover)and (pointer:fine){#panel button,#camera-box,#camera-box *{cursor:auto!important}#camera-box button{cursor:pointer!important}}.camera-diagnosis{margin-top:8px;font-size:10px;color:#aaa}.camera-diagnosis pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;max-height:150px;overflow:auto}.camera-diagnosis button{min-height:36px;background:#292929;color:#ddd;border:1px solid #555;border-radius:4px;padding:6px;cursor:pointer}@font-face{font-family:StudioInter;src:url(/brand/inter-variable.woff2) format("woff2");font-weight:100 900;font-display:swap}.studio-header{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:clamp(18px,2.6vw,40px) clamp(20px,5.4vw,104px);pointer-events:none;background:linear-gradient(to bottom,#080b0d,#080b0deb 62%,#080b0d00);font:16px/24px StudioInter,Inter,system-ui,sans-serif;color:#f4f2ec}.studio-header>*{pointer-events:auto}.studio-wordmark{display:inline-flex;align-items:center;min-height:44px}.studio-wordmark img{display:block;width:auto;height:clamp(18px,1.8vw,26px);opacity:.94;transition:opacity .3s}.studio-wordmark:hover img{opacity:1}#studio-nav{display:flex;gap:clamp(18px,2.6vw,40px)}#studio-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;font-weight:550;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:#f4f2ec;background:linear-gradient(currentColor,currentColor) 0 calc(50% + 12px) /100% 1px no-repeat;transition:color .25s,background-size .35s cubic-bezier(.22,.61,.36,1)}#studio-nav a.secondary{color:#a7afaf;background-size:0 1px}#studio-nav a:hover{color:#d2bb9d;background-size:100% 1px}.studio-menu,#studio-nav .studio-mail{display:none}.studio-header a:focus-visible,.studio-menu:focus-visible{outline:1px solid #d2bb9d;outline-offset:5px}#camera-box{top:max(112px,calc(env(safe-area-inset-top) + 90px))}@media(hover:hover)and (pointer:fine){.studio-header,.studio-header *{cursor:auto!important}.studio-header a,.studio-header button{cursor:pointer!important}}@media(max-width:720px){.studio-header{padding:calc(18px + env(safe-area-inset-top)) 22px 18px}.studio-wordmark,.studio-menu{position:relative;z-index:2}.studio-menu{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:none;color:#f4f2ec;font:550 11px StudioInter,system-ui;letter-spacing:.2em;text-transform:uppercase}.studio-menu span{position:relative;width:22px;height:8px}.studio-menu span:before,.studio-menu span:after{content:"";position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .35s,top .35s}.studio-menu span:before{top:0}.studio-menu span:after{top:7px}.studio-menu[aria-expanded=true] span:before{top:4px;transform:rotate(45deg)}.studio-menu[aria-expanded=true] span:after{top:4px;transform:rotate(-45deg)}#studio-nav{position:fixed;inset:0;z-index:1;flex-direction:column;justify-content:center;gap:6px;padding:110px 22px 48px;background:#080b0d;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s}#studio-nav.is-open{opacity:1;visibility:visible;pointer-events:auto}#studio-nav a,#studio-nav a.secondary{display:flex;min-height:64px;font-size:clamp(30px,9vw,40px);font-weight:500;letter-spacing:-.03em;text-transform:none;color:#f4f2ec;background:none;border-bottom:1px solid #1d262b}#studio-nav a:not(.secondary){color:#d2bb9d}#studio-nav .studio-mail{display:block;margin-top:28px;font-size:15px;color:#a7afaf;border:0;letter-spacing:0;min-height:44px}#camera-box{top:max(96px,calc(env(safe-area-inset-top) + 90px))}}@media(prefers-reduced-motion:reduce){.studio-header *{transition:none!important}}#panel{left:max(22px,env(safe-area-inset-left));right:auto}@media(max-width:720px),(pointer:coarse){#panel{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(76px,calc(env(safe-area-inset-bottom) + 64px))}}@media(hover:hover)and (pointer:fine){html:not(.pointer-ready),html:not(.pointer-ready) body,html:not(.pointer-ready) #app,html:not(.pointer-ready) #app *{cursor:auto!important}}#cursor-light.on,.live:not(.settled) #cursor-light.on{opacity:.95;transition:none;z-index:50}.live #panel{opacity:1;pointer-events:auto;transition:none}.camera-feed{position:relative}#hand-overlay{position:absolute;inset:0;width:100%;height:100%;transform:scaleX(-1);pointer-events:none}#camera-video{aspect-ratio:4/3;object-fit:fill}#loader{pointer-events:none}#camera-box{max-height:calc(100dvh - 132px);overflow-y:auto;overscroll-behavior:contain}@media(max-height:500px){#camera-box{top:max(76px,env(safe-area-inset-top));width:180px;max-height:calc(100dvh - 96px)}.camera-help{font-size:9px}}.touch-active #cursor-light.on{display:block!important;opacity:.65;width:8px;height:8px;box-shadow:0 0 12px 5px #fff3;transition:none}#cursor-light{--trail-angle:0rad;--trail-length:0px;width:3px;height:3px;box-shadow:0 0 4px 1px #fff9,0 0 13px 3px #fff2}#cursor-light:before{content:"";position:absolute;right:50%;top:50%;width:var(--trail-length);height:2px;border-radius:100%;background:linear-gradient(90deg,transparent,#f4f0e555);transform-origin:right center;transform:translateY(-50%) rotate(var(--trail-angle));filter:blur(.35px)}#cursor-light:after{content:"";position:absolute;inset:-4px;background:linear-gradient(transparent 42%,#fff9 50%,transparent 58%),linear-gradient(90deg,transparent 42%,#fff9 50%,transparent 58%);transform:rotate(20deg);opacity:.55}@media(prefers-reduced-motion:reduce){#cursor-light:before{display:none}}.touch-active #cursor-light:before{display:none}@supports (height:100dvh){html,body,#app{height:100dvh}}@media(any-pointer:coarse){#panel button{min-height:44px}#camera-box{max-height:calc(100dvh - 132px)}}#camera-video{aspect-ratio:var(--camera-aspect,4/3)}
