@font-face{font-family:BeyondTitle;src:url('./vendor/title-noto-sans-sc.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
:root{color-scheme:dark;--ink:#ebefed;--muted:#a4b2b9;--amber:#ffb14c;--bg:#080c10}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}#experience{position:relative;width:100%;height:100svh;min-height:0;overflow:hidden}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}header{position:absolute;left:4.4%;right:4.4%;top:max(28px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:14px;letter-spacing:.21em;font-weight:650;pointer-events:auto}.brand svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.5}.edition{font-size:11px;letter-spacing:.12em;color:var(--muted)}.slash{padding:0 14px;color:#58656f}.intro{position:absolute;left:5.2%;top:22%;pointer-events:none}h1{font-family:BeyondTitle,"PingFang SC",sans-serif;font-size:clamp(40px,4.6vw,66px);font-weight:500;margin:0;letter-spacing:.08em;line-height:1.1}h1 span{display:block;font-size:13px;letter-spacing:.32em;margin-top:24px;font-weight:400}.intro p{font-size:12px;line-height:2.1;color:var(--muted);margin-top:28px}.scene-tag{position:absolute;right:4.4%;top:50%;writing-mode:vertical-rl;color:#8c9da8;font-size:9px;letter-spacing:.18em;display:flex;gap:12px;align-items:center;pointer-events:none}.signal{width:5px;height:5px;border-radius:50%;background:var(--amber)}footer{position:absolute;left:5.2%;right:5.2%;bottom:max(23px,env(safe-area-inset-bottom));pointer-events:none}.instructions{display:flex;align-items:center;gap:9px;font-size:11px;color:#b8c3c9;margin-bottom:19px}.instructions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1}.controls{display:flex;align-items:center;gap:9px;pointer-events:auto;width:max-content}button{border:1px solid #52616b;background:#111a20;color:var(--ink);font:inherit;font-size:12px;min-height:46px;padding:0 21px;border-radius:3px;cursor:pointer;transition:background .18s,border-color .18s}button:hover{background:#24333c;border-color:#bcc9cd}button:focus-visible,a:focus-visible{outline:2px solid #ffe0a6;outline-offset:5px}button.primary{display:flex;align-items:center;gap:32px;background:#e9ad67;color:#171b1d;border-color:#e9ad67;font-weight:600}.primary:hover{background:#ffce91}.primary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}.footnote{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:13px;border-top:1px solid #34414a;font-size:10px;color:#9fadb6;letter-spacing:.09em}#status{color:#d2bc98}#loading{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);font-size:13px;color:#d4b78c;background:#101820;padding:16px 22px;border:1px solid #46515a}#loading span{display:inline-block;width:5px;height:5px;background:var(--amber);margin-left:14px}#error{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(85%,440px);background:#152029;padding:30px}#error h2{font-size:20px}#error p{font-size:14px;line-height:1.8;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:700px){header{left:6%;right:6%;top:max(22px,env(safe-area-inset-top))}.brand{font-size:11px;gap:8px}.brand svg{width:24px;height:24px}.edition{font-size:9px;letter-spacing:0}.slash{padding:0 6px}.intro{left:7%;top:12%}h1{font-size:45px;letter-spacing:.12em}h1 span{margin-top:13px;font-size:10px;letter-spacing:.22em}.intro p{display:none}.scene-tag{right:4%;top:43%;font-size:8px}footer{left:7%;right:7%;bottom:max(20px,env(safe-area-inset-bottom))}.instructions{font-size:10px;margin-bottom:14px}.controls{width:100%;gap:8px}.controls button{padding:0 15px;min-height:46px}.controls .primary{flex:1;justify-content:space-between;gap:12px}.footnote{margin-top:20px;font-size:9px;padding-top:12px}}
@media(max-height:540px) and (min-width:701px){.intro{top:24%}h1{font-size:40px}.intro p{display:none}h1 span{margin-top:12px}footer{bottom:14px}.footnote{margin-top:13px}.instructions{margin-bottom:9px}button{min-height:38px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

@media(max-width:700px){.intro{top:12%}h1{font-size:39px}.scene-tag{display:none}}

@media(max-width:700px) and (min-height:600px){.intro{top:10%}h1{font-size:34px}h1 span{margin-top:10px}.footnote{margin-top:14px}.instructions{margin-bottom:12px}}
@media(max-height:540px){header{top:max(14px,env(safe-area-inset-top))}.intro{top:23%}h1{font-size:32px}h1 span{margin-top:8px}.intro p,.instructions,.footnote{display:none}footer{bottom:max(12px,env(safe-area-inset-bottom))}.controls{width:auto}.controls button{min-height:44px}}
