:root{color:#fff;font-synthesis:none;background:#7197b6;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}#game{position:fixed;inset:0}canvas{outline:none;display:block}.grain{pointer-events:none;background:linear-gradient(#13243644,#0000 22% 65%,#101b2b66);position:fixed;inset:0}header{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:28px;left:34px;right:34px}.brand{color:#fff;letter-spacing:-3px;text-shadow:0 2px 9px #16273d66;pointer-events:auto;align-items:center;gap:9px;font-size:27px;font-weight:900;text-decoration:none;display:flex}.brand>span{color:#f4bd65;font-size:30px}.brand b{letter-spacing:3px;margin-left:5px;font-size:17px}.brand small{letter-spacing:6px;color:#dce6ef;margin-top:6px;font-size:8px;font-weight:400;display:block}.chapter{letter-spacing:3px;text-align:center;color:#e6eef7;font-size:9px}.chapter>span{letter-spacing:2px;color:#d7e1ebaa;margin-top:8px;font-size:10px;display:block}.chapter i{background:#f1c777;border-radius:50%;width:5px;height:5px;margin-right:9px;display:inline-block}button{font:inherit;cursor:pointer;pointer-events:auto;border:0}.outline{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#172d4555;border:1px solid #ffffff35;border-radius:4px;padding:10px 14px;font-size:10px}.intro{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(110deg,#10243bf0,#152b45d9);border:1px solid #fff2;border-top:2px solid #dcb573;border-radius:4px;width:300px;padding:22px 24px;transition:opacity .25s,transform .25s;position:absolute;bottom:134px;left:34px}.eyebrow{letter-spacing:2px;color:#c4a574;font-size:8px;font-weight:600}.intro h1{letter-spacing:1px;margin:13px 0 8px;font-size:32px;font-weight:650;line-height:1.3}.intro h1 br{display:none}.intro h1 span{color:#f2c379}.intro p{color:#bacbdb;margin:0;font-size:11px;line-height:1.8}.intro p br{display:none}.primary{color:#1e2b3c;letter-spacing:1px;background:#ecc58a;border-radius:3px;width:100%;margin-top:18px;padding:13px 17px;font-size:12px;font-weight:650;transition:background .2s}.primary span{float:right}.primary:hover{background:#ffe0ad}.hint{color:#8fa2b5;letter-spacing:1px;margin-top:11px;font-size:9px}.altitude{pointer-events:none;text-shadow:0 2px 8px #12233b66;background:linear-gradient(90deg,#122841aa,#12284100);border-left:2px solid #ebbd75;padding:16px 20px;position:absolute;top:112px;left:34px}.label{letter-spacing:2px;color:#ccdae8;font-size:8px}.number{letter-spacing:-2px;margin:5px 0;font-size:44px;font-weight:400}.number small{letter-spacing:0;color:#c8d9e7;margin-left:8px;font-size:13px}.best{color:#adbed0;font-size:9px}.best b{color:#eac789;margin-left:14px;font-weight:500}.rule{display:none}.stage{align-items:center;gap:10px;margin-top:16px;font-size:10px;display:flex}.stage>span{color:#eac789;font-size:17px}.stage small{letter-spacing:1.5px;color:#9cb0c2;margin-top:5px;font-size:7px;display:block}.progress{color:#e9eef3;text-shadow:0 1px 4px #14253b;flex-direction:column;align-items:center;gap:10px;height:30%;font-size:8px;display:flex;position:absolute;top:36%;right:28px}.track{background:#ffffff30;width:2px;height:100%;position:relative}#fill{background:#f0c582;width:2px;position:absolute;bottom:0}#marker{background:#f0c582;border-radius:50%;width:8px;height:8px;position:absolute;bottom:0;left:-3px;box-shadow:0 0 10px #ffcb7680}footer{justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:24px;left:34px;right:34px}.controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14263c88;border:1px solid #ffffff14;border-radius:4px;gap:18px;padding:12px 15px;display:flex}.controls>div{align-items:center;gap:3px;display:flex}kbd{color:#e9eef6;border:1px solid #ffffff40;border-bottom:2px solid #ffffff50;border-radius:3px;justify-content:center;align-items:center;min-width:20px;height:22px;padding:0 5px;font:9px sans-serif;display:inline-flex}.controls span{color:#becbd9;margin-left:5px;font-size:9px}.footer-note{letter-spacing:2px;color:#d5e1ed;font-size:10px}.footer-note b{color:#edc38a;margin-left:12px;font-size:20px}#status{letter-spacing:1px;text-shadow:0 1px 5px #11233b;white-space:nowrap;background:#14263c88;border-radius:4px;padding:10px 15px;font-size:10px;position:absolute;bottom:86px;left:50%;transform:translate(-50%)}#status i{background:#f0c787;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block}#toast{color:#f4d19a;opacity:0;pointer-events:none;background:#13283eea;border:1px solid #d6b17666;border-radius:4px;padding:14px 23px;font-size:12px;transition:opacity .2s;position:absolute;top:110px;left:50%;transform:translate(-50%)}.playing .intro{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}#finish{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#12243b88;place-items:center;position:fixed;inset:0}#finish:not([hidden]){display:grid}.finish-card{text-align:center;background:#172c42;border:1px solid #d9b67966;border-radius:8px;padding:40px}.finish-card h2{font-size:30px}.finish-card p{color:#bdcddd;font-size:12px}button:focus-visible{outline-offset:4px;outline:2px solid #fff}@media (width<=800px){header{top:20px;left:20px;right:20px}.chapter,.footer-note{display:none}.brand b{font-size:14px}.altitude{padding:12px 15px;top:100px;left:20px}.number{font-size:36px}.stage{margin-top:10px}.intro{width:265px;padding:16px 19px;bottom:143px;left:20px}.intro h1{font-size:27px}.intro p{font-size:10px}.controls{flex-wrap:wrap;gap:8px;max-width:380px;padding:10px}footer{bottom:20px;left:20px;right:20px}#status{padding:9px 12px;font-size:8px;bottom:109px}.progress{right:20px}}.audio-controls{pointer-events:auto;align-items:center;gap:8px;display:flex}.audio-controls details{font-size:10px;position:relative}.audio-controls summary{cursor:pointer;background:#172d4555;border:1px solid #ffffff35;border-radius:4px;padding:10px;list-style:none}.audio-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#162a40ee;border:1px solid #ffffff30;border-radius:5px;gap:12px;width:185px;padding:17px;display:grid;position:absolute;top:40px;right:0}.audio-panel input{accent-color:#efc58a;width:100%}.audio-panel label{color:#d6e0eb;font-size:11px}#chapter-title{letter-spacing:3px;color:#e6eef7;font-size:9px;display:inline}#journey-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#182d39ed,#233b46c7);border:1px solid #d2c4a52e;border-radius:6px;width:236px;padding:16px 17px 0;display:none;position:absolute;top:310px;left:34px;box-shadow:0 8px 30px #14243120}.playing #journey-panel{display:block}.quest-heading{color:#e8c893;letter-spacing:1.5px;justify-content:space-between;font-size:9px;display:flex}#quest-progress{letter-spacing:0;color:#bbcec9}#quest-title{color:#f7eee0;margin:12px 0 10px;font-size:13px;font-weight:500;line-height:1.6}#quest-meter{appearance:none;accent-color:#e7c68d;background:#ffffff16;border:0;border-radius:5px;width:100%;height:3px;display:block;overflow:hidden}#quest-meter::-webkit-progress-bar{background:#ffffff16}#quest-meter::-webkit-progress-value{background:#e7c68d;transition:width .4s}#quest-meter::-moz-progress-bar{background:#e7c68d}#quest-extra{color:#b4c9c4;min-height:36px;margin:12px 0 14px;font-size:10px;line-height:1.8}#open-journal{color:#e7d5b6;text-align:left;background:#ffffff06;border-top:1px solid #ffffff16;border-radius:0 0 6px 6px;width:calc(100% + 34px);margin-left:-17px;padding:12px 17px;font-size:11px}#open-journal>span{float:right;color:#b9cec9;font-size:9px}#open-journal b{font-weight:400}#open-journal:hover{background:#ffffff12}#reward-card{color:#3d5149;opacity:0;pointer-events:none;z-index:3;background:linear-gradient(130deg,#f4e9d6f7,#dfe6d9f2);border:1px solid #fff8e6aa;border-radius:8px;gap:14px;width:310px;padding:19px 20px;transition:opacity .35s,transform .45s;display:flex;position:absolute;top:112px;right:34px;transform:translateY(-8px);box-shadow:0 12px 40px #18263326}#reward-card.visible{opacity:1;transform:translateY(0)}.reward-stamp{color:#75876d;border:1px solid #8b9e83;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:19px;display:grid;transform:rotate(-10deg)}#reward-kicker{letter-spacing:1px;color:#7c836c;margin-bottom:8px;font-size:8px}#reward-title{font-size:15px;font-weight:600}#reward-message{color:#61736b;margin:8px 0 0;font-size:11px;line-height:1.9}#journal{color:#42534c;background:#f0ebdf;border:1px solid #fff5df99;border-radius:12px;width:min(540px,100vw - 40px);max-height:78vh;padding:28px;box-shadow:0 24px 100px #10233766}#journal::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#16263888}.journal-header{justify-content:space-between;align-items:flex-start;display:flex}.journal-header .eyebrow{color:#91816b}.journal-header h2{letter-spacing:1px;margin:12px 0;font-size:24px}.journal-header button{color:#6c786e;background:0 0;border-radius:4px;padding:0 5px;font-size:25px}.journal-description{color:#7b857a;margin:0 0 18px;font-size:11px;line-height:1.9}#journal-count{color:#857d64;letter-spacing:1px;border-bottom:1px solid #9b9f7f33;padding:0 0 15px;font-size:10px}#memory-list{margin:0;padding:0;list-style:none}#memory-list li{color:#92988b;border-bottom:1px solid #9b9f7f22;gap:15px;padding:16px 0;display:flex}#memory-list strong{font-size:12px;font-weight:500}#memory-list p{color:#999c90;margin:6px 0 0;font-size:11px;line-height:1.8}.memory-stamp{border:1px dashed #b4baa8;border-radius:50%;flex-shrink:0;place-items:center;width:33px;height:33px;font-size:20px;display:grid}.collected .memory-stamp{color:#778c6a;border:1px solid #91a181;transform:rotate(-12deg)}#memory-list .collected strong{color:#47604f}#memory-list .collected p{color:#7a8877}#journal button:focus-visible{outline-color:#687f66}.finish-card{max-width:540px;margin:20px}.finish-card p{line-height:1.9}.finish-card .finish-note{color:#ead1aa}.finish-card>.outline{margin-top:15px}#finish{z-index:4}@media (width<=800px){#journey-panel{width:205px;padding:13px 14px 0;top:278px;left:20px}#quest-title{font-size:12px}#quest-extra{font-size:9px}#open-journal{width:calc(100% + 28px);margin-left:-14px;padding:11px 14px}#reward-card{gap:10px;width:260px;padding:15px;top:102px;right:20px}#reward-title{font-size:13px}#reward-message{font-size:10px}}@media (width<=560px){#journey-panel{width:190px;top:275px}#reward-card{width:auto;inset:auto 20px 165px}#journal{padding:21px}.journal-header h2{font-size:20px}}@media (height<=690px) and (width>=801px){#journey-panel{top:105px;left:auto;right:30px}#reward-card{top:auto;bottom:145px}}@media (prefers-reduced-motion:reduce){#reward-card{transition:none}#quest-meter::-webkit-progress-value{transition:none}}#movement-hud{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#1a3340d9;border:1px solid #c5d6cc33;border-radius:5px;width:300px;padding:11px 15px;display:none;position:absolute;bottom:132px;left:50%;transform:translate(-50%)}.playing #movement-hud{display:block}#movement-hud>div{color:#d1dfd8;justify-content:space-between;gap:10px;font-size:10px;display:flex}#speed-value{color:#c2d0cf;font-size:9px;font-weight:400}#runup-meter{appearance:none;accent-color:#afccc7;background:#ffffff20;border:0;border-radius:4px;width:100%;height:4px;margin-top:9px;display:block;overflow:hidden}#runup-meter::-webkit-progress-bar{background:#ffffff20}#runup-meter::-webkit-progress-value{background:#afccc7}#inventory{letter-spacing:1px;color:#e0cba8;margin:9px 0 0;font-size:10px}#movement-hud.ready{border-color:#f0d39988}#movement-hud.ready #runup-label{color:#ffe1a2}#movement-hud.ready #runup-meter::-webkit-progress-value{background:#f0d399}#status{white-space:normal;text-align:center;max-width:calc(100vw - 70px);line-height:1.6}#toast{text-align:center;max-width:calc(100vw - 50px);line-height:1.7}@media (width<=800px){#movement-hud{width:270px;bottom:164px}#status{width:max-content;max-width:calc(100vw - 40px);font-size:9px;bottom:109px}}@media (height<=690px) and (width>=801px){#movement-hud{width:260px;bottom:100px;left:34px;transform:none}#status{bottom:82px}}
