@font-face{font-family:SignalSerif;src:url('./assets/signal-serif.woff') format('woff');font-display:swap}
:root{color-scheme:dark;--ink:#e2e9f5;--muted:#98a4bc;--line:rgba(193,207,239,.16);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#131b36}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:1px solid #d5efff;outline-offset:5px}button:disabled{cursor:default}svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}button{border:0;background:none}a{color:inherit;text-decoration:none}#experience{position:relative;width:100%;height:100dvh;isolation:isolate;color:var(--ink)}.stage{position:absolute;inset:0;overflow:hidden}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.edge-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,16,34,.28),transparent 20%,transparent 87%,rgba(10,17,35,.12));transition:opacity .5s}.header{position:absolute;top:max(35px,env(safe-area-inset-top));left:42px;right:42px;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:center;gap:13px;opacity:.84}.wordmark>svg{width:29px;height:29px;stroke-width:.7}.wordmark>span{font-family:SignalSerif,"Songti SC",serif;font-size:20px;letter-spacing:.24em;line-height:1.1}.wordmark small{display:block;font-family:Arial,sans-serif;font-size:8px;font-weight:400;letter-spacing:.21em;margin-top:8px;opacity:.55}.header-actions{display:flex;gap:22px}.quiet-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 0;font-size:11px;letter-spacing:.12em;color:#c2cde1;opacity:.65;transition:opacity .2s}.quiet-button:hover{opacity:1}.quiet-button svg{width:17px;height:17px}.header-actions circle{fill:#1c2647}.caption{position:absolute;left:49px;bottom:54px;pointer-events:none}.eyebrow{display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.23em;color:#aab7cf;margin:0 0 16px}.eyebrow>span{width:4px;height:4px;border-radius:50%;background:#bdd6e8;box-shadow:0 0 9px #9fc6ff80}.caption h1{font-family:SignalSerif,"Songti SC","SimSun",serif;font-size:34px;font-weight:400;letter-spacing:.18em;margin:0 0 11px;line-height:1.5;color:#dbe5f6}.title-dot{color:#a6bbd4;margin-left:-.15em}.caption-line{font-size:10px;letter-spacing:.18em;color:#b0bdd5;opacity:.7;margin:0}.transport{position:absolute;right:43px;bottom:53px;display:flex;align-items:center;gap:15px;opacity:.72;transition:opacity .3s}.transport:hover{opacity:1}.icon-button{padding:9px;display:grid;place-items:center;min-width:36px;min-height:36px;color:#d4dff0;opacity:.75;transition:opacity .2s}.icon-button:hover{opacity:1}.icon-button svg{width:17px;height:17px}.play-symbol{display:none}body.paused .pause-symbol{display:none}body.paused .play-symbol{display:block}.timeline-wrap{width:155px;padding-top:9px}.timeline-caption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.08em;color:#a9b8d0;margin-top:5px;font-variant-numeric:tabular-nums}.infinity{margin-left:3px;font-size:11px}input[type=range]{display:block;width:100%;height:17px;background:transparent;appearance:none;cursor:pointer;margin:0;--fill:0%}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#bfcee7 var(--fill),#58647e55 var(--fill));border-radius:2px}input[type=range]::-webkit-slider-thumb{appearance:none;width:7px;height:7px;border-radius:50%;background:#d4e1f3;margin-top:-2.5px;box-shadow:0 0 8px #d4e1f322}input[type=range]::-moz-range-track{height:2px;background:#58647e55}input[type=range]::-moz-range-progress{height:2px;background:#bfcee7}input[type=range]::-moz-range-thumb{width:7px;height:7px;border:0;border-radius:50%;background:#d4e1f3}.hud{transition:opacity .5s,visibility .5s}body.immersive .hud{opacity:0;visibility:hidden;pointer-events:none}body.immersive .edge-shade{opacity:0}.exit-immersive{position:absolute;right:35px;top:28px;opacity:0;visibility:hidden;transition:opacity .4s;z-index:8}body.immersive .exit-immersive{opacity:.23;visibility:visible}body.immersive .exit-immersive:hover,body.immersive .exit-immersive:focus-visible{opacity:1}.lamp-action{position:absolute;width:70px;height:85px;transform:translate(-50%,-50%);border-radius:50%;z-index:2;cursor:pointer}.lamp-action span{pointer-events:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:max-content;color:#c9d9f0;font-size:10px;letter-spacing:.1em;opacity:0;transition:opacity .3s;text-shadow:0 1px 7px #10172c}.lamp-action:hover span,.lamp-action:focus-visible span{opacity:.75}body.immersive .lamp-action span{display:none}.settings{position:absolute;top:90px;right:34px;width:292px;padding:20px 24px 18px;background:rgba(13,22,44,.89);backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 80px #060c2033;z-index:12;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s,transform .22s,visibility .22s}.settings.open{opacity:1;visibility:visible;transform:none}.settings-heading{display:flex;align-items:center;justify-content:space-between;margin:-3px -8px 20px 0}.settings h2{font-size:13px;letter-spacing:.1em;font-weight:500;margin:0}.settings fieldset{border:0;padding:0;margin:0 0 23px}.settings legend{font-size:10px;color:#a4b3cc;padding:0;margin-bottom:10px;letter-spacing:.06em}.segmented{display:flex;border:1px solid var(--line);border-radius:7px;padding:3px}.segmented button{width:50%;padding:8px 4px;font-size:10px;border-radius:4px;color:#8192b0;transition:color .2s,background .2s}.segmented button.selected{background:#35425e77;color:#d5e2f4}.control-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.06em;color:#b2bfd5;margin:21px 0 8px}.control-label output{color:#8193b2;font-size:9px;font-variant-numeric:tabular-nums}.settings input{height:20px}.settings-footer{margin-top:25px;padding-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between}.text-button{padding:3px 0;font-size:10px;color:#a6b7d1}.text-button:hover{color:#eff6ff}.text-button span{padding-left:7px}.settings-hint{color:#6f819f;font-size:9px;line-height:1.7;margin:16px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{color:#d4def2;padding:0;border:1px solid #6d7c9738;border-radius:12px;overflow:hidden;background:#101831;box-shadow:0 20px 100px #050917aa;max-height:92dvh;max-width:90vw}dialog::backdrop{background:#070d20c4;backdrop-filter:blur(12px)}.reference-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 4px 20px}.reference-heading h2{font-size:11px;font-weight:400;letter-spacing:.1em}dialog video{display:block;width:auto;height:calc(88dvh - 48px);max-width:88vw;object-fit:contain}body.reference-view .stage{width:min(100vw,56.25dvh);left:50%;right:auto;transform:translateX(-50%)}body.reference-view .caption{opacity:.65}#fallback{position:absolute;inset:0;place-content:center;text-align:center;background:#151f40;color:#bbcce8}#fallback:not([hidden]){display:grid}#fallback h1{font-weight:400;letter-spacing:.2em}#fallback p{font-size:12px}#fallback button{margin:20px auto;padding:12px 22px;border:1px solid #7a8ba055;border-radius:5px;font-size:12px}
@media(min-width:1800px){.caption{left:64px;bottom:64px}.caption h1{font-size:40px}.header{left:58px;right:58px;top:44px}.transport{right:58px;bottom:64px}.timeline-wrap{width:188px}}
@media(max-width:760px){.header{top:max(23px,env(safe-area-inset-top));left:24px;right:24px}.wordmark>span{font-size:17px}.wordmark small{font-size:6px;margin-top:6px}.wordmark>svg{width:25px;height:25px}.wordmark{gap:9px}.header-actions{gap:17px}.quiet-button{font-size:10px;gap:6px}.caption{left:26px;bottom:max(96px,calc(env(safe-area-inset-bottom) + 85px))}.caption h1{font-size:26px;letter-spacing:.14em;margin-bottom:7px}.eyebrow{font-size:6px;letter-spacing:.18em;margin-bottom:12px}.caption-line{font-size:8px;letter-spacing:.12em}.transport{left:18px;right:18px;bottom:max(25px,calc(env(safe-area-inset-bottom) + 18px));gap:12px}.timeline-wrap{flex:1;width:auto;max-width:260px;padding-top:8px}.transport #restart{margin-left:auto}.settings{top:76px;right:18px;width:min(292px,calc(100vw - 36px));max-height:calc(100dvh - 98px);overflow:auto}.exit-immersive{right:24px;top:20px}.edge-shade{background:linear-gradient(0deg,#0a112244,transparent 28%,transparent 88%,#0a112222)}body.reference-view .caption{opacity:1}body.reference-view .stage{width:100%;left:0;transform:none}}
@media(max-height:550px) and (min-width:761px){.header{top:16px}.caption{bottom:28px}.caption h1{font-size:25px}.transport{bottom:28px}.settings{top:61px;max-height:calc(100dvh - 75px);overflow:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hud,.settings,.quiet-button{transition:none}}
@media(max-width:760px){.caption{left:auto;right:24px;text-align:right;bottom:max(104px,calc(env(safe-area-inset-bottom) + 93px))}.caption .eyebrow{display:none}.caption h1{font-size:22px}.caption-line{font-size:8px;letter-spacing:.02em}.caption .title-dot{display:none}}
