:root{color:#121417;background:#f7f8fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #121417;--muted: #7b8189;--hairline: rgba(18, 20, 23, .12);--glass: rgba(250, 251, 252, .72);--radius: 18px;--shadow: 0 1px 1px rgba(17, 20, 24, .05), 0 10px 34px rgba(17, 20, 24, .08), 0 28px 80px rgba(17, 20, 24, .05)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 51% 43%,#fff,#fafbfd 34%,#f1f3f6 76%,#e9edf1)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}#viewport{position:fixed;inset:0;width:100%;height:100%;outline:none;touch-action:none}.masthead{position:fixed;z-index:4;top:28px;right:32px;left:32px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.identity{display:inline-flex;min-height:44px;align-items:center;gap:13px;color:var(--ink);text-decoration:none;pointer-events:auto}.identity__mark{position:relative;width:11px;height:39px;border-radius:7px 7px 2px 2px;background:var(--ink);clip-path:polygon(50% 0,100% 23%,100% 100%,0 100%,0 23%)}.identity strong{display:block;margin-top:4px;font-size:14px;font-weight:690;letter-spacing:.075em}.eyebrow{display:block;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;font-weight:620;letter-spacing:.135em;line-height:1.35}.status{display:flex;min-height:40px;align-items:center;gap:9px;padding:0 14px;border:1px solid rgba(255,255,255,.78);border-radius:999px;background:var(--glass);box-shadow:0 1px 1px #1114180a,0 8px 26px #11141812;color:#61676f;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-variant-numeric:tabular-nums;font-weight:620;letter-spacing:.12em;backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}.status__dot{width:6px;height:6px;border-radius:50%;background:#1fa668;box-shadow:0 0 0 4px #1fa6681c}.object-note{position:fixed;z-index:3;top:50%;left:4.6vw;width:min(300px,27vw);transform:translateY(-44%);pointer-events:none}.object-note h1{max-width:280px;margin:16px 0 15px;color:var(--ink);font-size:clamp(36px,4.15vw,68px);font-weight:520;letter-spacing:-.057em;line-height:.96;text-wrap:balance}.object-note p{max-width:260px;margin:0;color:#6d737b;font-size:12px;letter-spacing:-.008em;line-height:1.62;text-wrap:pretty}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:286px;margin:27px 0 0}.metrics div{padding-top:11px;border-top:1px solid var(--hairline)}.metrics dt{margin-bottom:7px;color:#8b9199;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:650;letter-spacing:.12em}.metrics dd{margin:0;color:#2c3035;font-size:17px;font-variant-numeric:tabular-nums;font-weight:590;letter-spacing:-.035em}.metrics dd span{margin-left:2px;color:#848a92;font-size:10px;font-weight:520}.view-rail{position:fixed;z-index:4;top:50%;right:31px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;transform:translateY(-50%)}.view-button{position:relative;min-width:104px;min-height:40px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#8b9199;cursor:pointer;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:620;letter-spacing:.08em;text-align:right;transition:color .18s ease,background-color .18s ease,transform .14s ease}.view-button span{margin-right:14px;color:#b2b7bd;font-size:8px;font-variant-numeric:tabular-nums}.view-button:after{position:absolute;top:50%;right:-1px;width:2px;height:0;border-radius:2px;background:var(--ink);content:"";transform:translateY(-50%);transition:height .18s ease}.view-button:hover,.view-button.is-active{background:#ffffff94;color:var(--ink)}.view-button.is-active:after{height:16px}.view-button:active{transform:scale(.96)}.control-dock{position:fixed;z-index:5;bottom:27px;left:50%;display:flex;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.84);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow);transform:translate(-50%);backdrop-filter:blur(22px) saturate(1.16);-webkit-backdrop-filter:blur(22px) saturate(1.16)}.icon-button{display:flex;min-width:72px;min-height:54px;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:0;border-radius:13px;background:transparent;color:#6e747c;cursor:pointer;transition:color .18s ease,background-color .18s ease,transform .14s ease,box-shadow .18s ease}.icon-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45}.icon-button span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:650;letter-spacing:.08em}.icon-button:hover{background:#ffffffb8;color:var(--ink)}.icon-button[aria-pressed=true]{background:#17191d;box-shadow:0 1px 2px #11141842,0 6px 18px #11141829;color:#f9fafb}.icon-button:active{transform:scale(.96)}.view-button:focus-visible,.icon-button:focus-visible,.identity:focus-visible{outline:2px solid #3578e5;outline-offset:3px}.model-readout{position:fixed;z-index:3;right:32px;bottom:31px;display:flex;gap:16px;color:#979da4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.09em;pointer-events:none}.gesture-hint{position:fixed;z-index:3;bottom:33px;left:33px;display:flex;align-items:center;gap:10px;color:#9399a1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:600;letter-spacing:.08em;pointer-events:none}.gesture-hint__mouse{position:relative;width:15px;height:22px;border:1px solid #a3a8ae;border-radius:8px}.gesture-hint__mouse:after{position:absolute;top:4px;left:50%;width:1px;height:4px;background:#8d939a;content:"";transform:translate(-50%)}.loader{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#f7f8fa;opacity:1;visibility:visible;transition:opacity .5s cubic-bezier(.22,1,.36,1),visibility .5s step-end}.loader.is-hidden{opacity:0;visibility:hidden}.loader__line{width:112px;height:1px;overflow:hidden;background:#d9dde1}.loader__line span{display:block;width:45%;height:100%;background:var(--ink);animation:loading-line .95s cubic-bezier(.65,0,.35,1) infinite;will-change:transform}.ui-chunk{opacity:0;transform:translateY(8px);transition:opacity .56s cubic-bezier(.22,1,.36,1),transform .56s cubic-bezier(.22,1,.36,1)}body.is-ready .ui-chunk{opacity:1;transform:translateY(0)}body.is-ready .masthead{transition-delay:40ms}body.is-ready .object-note{transition-delay:.1s;transform:translateY(-44%)}body.is-ready .view-rail{transition-delay:.15s;transform:translateY(-50%)}body.is-ready .control-dock{transition-delay:.21s;transform:translate(-50%)}body.is-ready .model-readout,body.is-ready .gesture-hint{transition-delay:.26s}body.capture-mode{background:#fff}body.capture-mode .ui-chunk,body.capture-mode .loader{display:none!important}@keyframes loading-line{0%{transform:translate(-112%)}to{transform:translate(250%)}}@media(max-width:940px){.object-note{top:116px;left:24px;width:230px;transform:none}body.is-ready .object-note{transform:none}.object-note h1{margin-top:11px;font-size:36px}.object-note p{display:none}.metrics{margin-top:18px}.view-rail{right:16px}.model-readout{display:none}}@media(max-width:640px){.masthead{top:18px;right:18px;left:18px}.status{min-height:36px;padding:0 11px}.object-note{top:84px;left:19px;width:190px}.object-note h1{font-size:30px}.metrics{display:none}.view-rail{top:auto;right:12px;bottom:98px;transform:none}body.is-ready .view-rail{transform:none}.view-button{min-width:44px;min-height:40px;padding:0 10px;font-size:0}.view-button span{margin:0;font-size:8px}.control-dock{bottom:15px;width:calc(100% - 24px);justify-content:space-between}.icon-button{min-width:0;min-height:50px;flex:1;padding:0 8px}.icon-button span,.gesture-hint{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
