:root{color-scheme:dark;font-family:"Microsoft YaHei",sans-serif;color:#e8ecdd;background:#101c19}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center}button,select,input{font:inherit}button{cursor:pointer;color:inherit;background:#142920ad;border:1px solid #dce6cc40;border-radius:5px;padding:10px 16px;touch-action:none}button:hover{background:#38503d}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #eee6b8;outline-offset:4px}button:disabled{opacity:.45;cursor:wait}.primary{background:#d9dfbd;color:#183027;border-color:#d9dfbd}.primary:hover{background:#f0edcb}#game{position:relative;width:min(100vw,177.7778dvh);height:min(56.25vw,100dvh);isolation:isolate;overflow:hidden;background:#152720}#game:fullscreen{width:100vw;height:100dvh;aspect-ratio:auto}#views,iframe{position:absolute;inset:0;width:100%;height:100%;border:0}iframe{opacity:0;pointer-events:none;background:#152720;transition:opacity .55s ease}iframe.active{opacity:1;pointer-events:auto}iframe.outgoing{opacity:0}#hud{position:absolute;inset:15px 18px auto;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;text-shadow:0 1px 8px #000}.brand{font-family:serif;letter-spacing:.2em;font-size:20px}.brand span{display:inline-block;margin-left:16px;font:12px sans-serif;letter-spacing:.1em;opacity:.75}nav{display:flex;gap:7px}nav button{padding:8px 11px;font-size:13px;background:#0b211e65;backdrop-filter:blur(5px)}.overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#0d211e72;backdrop-filter:blur(6px)}#home{place-items:end start;background:linear-gradient(90deg,#071c16db,#10251f55 65%,#14251a11);backdrop-filter:blur(0px)}.home-card{padding:clamp(20px,5vw,80px);max-width:700px}.eyebrow{font:10px sans-serif;letter-spacing:.23em;color:#d8dfb4;line-height:1.8}h1{font:clamp(32px,5vw,70px) serif;letter-spacing:.24em;margin:20px 0 22px}h2{font:25px serif;letter-spacing:.12em;margin:8px 0 24px}.intro-copy{font:16px/2 serif;letter-spacing:.14em;color:#d6dfd2}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 17px}.auto-choice{font-size:13px;color:#c7d2bf;display:flex;align-items:center;gap:8px}.hint{font-size:11px;line-height:1.9;color:#aebfb3;letter-spacing:.03em}#home-status{font-size:11px;color:#b6c7ba;margin:13px 0 0}.panel-card{width:min(440px,90%);max-height:92%;overflow:auto;background:#10261ff0;border:1px solid #d0ddbc36;padding:26px;border-radius:8px}.panel-card label{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0;font-size:13px}.panel-card select{max-width:200px;background:#243e32;color:#e3ead7;border:1px solid #c4cdb344;border-radius:3px;padding:6px}.panel-card input{width:180px}.panel-actions{display:flex;gap:10px;margin:18px 0}.panel-card a{color:#afc1ae;font-size:11px}.visit{border-top:1px solid #b5c8a52b;margin-top:22px;padding-top:6px}.visit label{margin-bottom:12px}.visit button{padding:6px 12px;font-size:12px}#controls{position:absolute;inset:auto 18px 14px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px}.movement{display:flex;gap:6px}.movement button{font-size:12px;background:#10291e85;backdrop-filter:blur(5px);min-width:60px;user-select:none;-webkit-user-select:none}.movement button.held{background:#8f9e65aa}#status{font-size:11px;text-shadow:0 1px 5px #000;color:#dbe3cb}#notice{position:absolute;left:50%;top:65px;transform:translateX(-50%);z-index:6;font-size:11px;padding:8px 13px;background:#14291ec9;border-radius:4px;white-space:nowrap}#ending{position:absolute;right:30px;bottom:70px;z-index:5;padding:18px 24px;background:#153022b8;backdrop-filter:blur(5px);border-left:1px solid #d7dfb27a;font:16px serif;letter-spacing:.1em}#ending button{font:11px sans-serif;margin-right:8px}#error{background:#12231dd9}#error-message{font-size:13px;line-height:1.8}[hidden]{display:none!important}@media(max-width:700px){#hud{inset:8px 9px auto}.brand{font-size:15px}.brand span{font-size:9px;margin-left:8px}nav{gap:3px}nav button{font-size:11px;padding:6px 8px}.home-card{padding:20px 25px}.eyebrow{font-size:8px}h1{margin:8px 0;font-size:31px}.intro-copy{font-size:12px;line-height:1.7}.home-actions{margin:12px 0}.home-actions button{padding:8px 13px;font-size:12px}.hint{font-size:9px}.home-card .hint{margin-bottom:3px}#controls{inset:auto 9px 8px}.movement button{padding:8px 9px;font-size:10px;min-width:43px}#status{max-width:35%;font-size:9px}#ending{right:15px;bottom:50px;padding:12px 16px;font-size:13px}.panel-card{padding:18px}.panel-card label{margin:12px 0}.panel-card .hint{font-size:11px}#notice{top:40px}}
iframe{transition:none!important;transform-origin:center center;will-change:opacity,transform,filter}#transition{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}#game:fullscreen #views{width:min(100vw,177.7778dvh);height:min(56.25vw,100dvh);left:50%;top:50%;transform:translate(-50%,-50%)}#game:fullscreen #transition{width:min(100vw,177.7778dvh);height:min(56.25vw,100dvh);left:50%;top:50%;transform:translate(-50%,-50%)}

#game:fullscreen{background:#000}

.language-button{position:absolute;right:20px;top:18px;font-size:13px;z-index:1}.intro-copy,.hint{white-space:pre-line}.brand #brand{font:inherit;letter-spacing:inherit;opacity:1;margin-left:0}.brand #place{max-width:30vw;vertical-align:middle}.panel-card{width:min(500px,94%)}.panel-card label>span{min-width:0}.panel-card select{max-width:54%}
html[lang="en"] h1{font-size:clamp(30px,4.5vw,60px);letter-spacing:.04em}html[lang="en"] .brand{letter-spacing:.035em}html[lang="en"] .brand #place{letter-spacing:.015em}html[lang="en"] .intro-copy,html[lang="en"] #ending{letter-spacing:.025em}html[lang="en"] #notice{white-space:normal;text-align:center;width:max-content;max-width:80%;line-height:1.6}html[lang="en"] .panel-card label{gap:12px}
@media(max-width:700px){.language-button{top:9px;right:10px;padding:6px 10px;font-size:11px}html[lang="en"] .brand #place{display:none}html[lang="en"] .brand{font-size:12px}html[lang="en"] nav button{padding:6px 7px}html[lang="en"] .home-card{padding-top:36px}html[lang="en"] h1{font-size:27px}html[lang="en"] .movement{gap:4px}html[lang="en"] .movement button{font-size:9px;padding:8px 6px;min-width:32px}html[lang="en"] #status{max-width:26%;line-height:1.5}}
