:root{color-scheme:dark;--ink:#f4e7ce;--muted:#b7c2d2;--red:#c65562;--blue:#8bd6cf;--night:#081426;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:flex;align-items:center;justify-content:center;background:#050b15;color:var(--ink);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}
button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #a5e3ff;outline-offset:5px}button{transition:background .15s,transform .15s}button:active{transform:translateY(2px)}button[disabled]{cursor:wait;opacity:.55}[hidden]{display:none!important}
#ambient{position:fixed;inset:-25px;background-position:center;background-size:cover;filter:blur(12px) brightness(.46);opacity:.8;pointer-events:none}#ambient:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent,#030910a6)}
#stage{--u:1px;position:relative;width:min(100vw,calc((100vh - 20px)*.5625),540px);aspect-ratio:9/16;isolation:isolate;overflow:hidden;background:#081426;border-radius:18px;box-shadow:0 0 0 1px #91b3c12b,0 0 0 7px #12233766,0 24px 100px #000a;user-select:none;-webkit-user-select:none;touch-action:none}
@supports(height:100dvh){#stage{width:min(100vw,calc((100dvh - 20px)*.5625),540px)}}
#game{display:block;width:100%;height:100%;touch-action:none}.screen{position:absolute;inset:0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#091322}.loading p{font-size:16px;letter-spacing:2px}.loading-star{font-size:45px;color:#e7c899;animation:breathe 1.5s infinite}
#difficulty{width:calc(364*var(--u));max-width:94%;padding:0;margin:0;border:0}#difficulty legend{font-size:calc(11*var(--u));letter-spacing:calc(2*var(--u));color:#b7c2d2;text-align:center;margin:0 auto calc(10*var(--u))}.mode-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:calc(4*var(--u));padding:calc(5*var(--u));border:1px solid #8ba0b74d;border-radius:10px;background:#091a2ad9}.mode-options label{position:relative;cursor:pointer}.mode-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.mode-options span{display:grid;place-items:center;min-height:calc(43*var(--u));padding:calc(9*var(--u)) calc(3*var(--u));border:1px solid transparent;background:transparent;border-radius:6px;font-size:calc(14*var(--u));color:#c3d0e0;transition:background .15s,border-color .15s}.mode-options input:checked+span{color:#f4f2e8;border-color:#8cd2cc88;background:#325563;box-shadow:inset 0 -2px #8bd6cf}.mode-options input:focus-visible+span{outline:2px solid #a5e3ff;outline-offset:3px}.mode-options label:hover span{border-color:#d8bd89}#modeDescription{font-size:calc(12*var(--u));line-height:1.5;color:#c4d0df;margin:calc(11*var(--u)) 0 calc(18*var(--u));min-height:calc(18*var(--u))}
.title{position:absolute;top:calc(79*var(--u));width:100%;text-align:center;text-shadow:0 3px 22px #020a15}.title>span{font:600 calc(32*var(--u))/1.2 "Songti SC","STSong","SimSun",serif;letter-spacing:calc(8*var(--u));padding-left:calc(8*var(--u))}.title h1{font:900 calc(72*var(--u))/1.2 "Songti SC","STSong","SimSun",serif;margin:calc(7*var(--u)) 0 0;letter-spacing:calc(9*var(--u));padding-left:calc(9*var(--u));color:#f4e7ce}.title p{font-size:calc(13*var(--u));letter-spacing:calc(3*var(--u));color:#b8c8dd;margin-top:calc(16*var(--u))}
.earth-note{position:absolute;top:calc(288*var(--u));right:calc(24*var(--u));color:#a9bed2;font-size:calc(10*var(--u));letter-spacing:calc(1*var(--u));transform:rotate(-6deg)}
.menu-actions{position:absolute;top:calc(586*var(--u));width:100%;display:flex;align-items:center;flex-direction:column}.primary{display:flex;justify-content:center;align-items:center;gap:calc(22*var(--u,1px));width:calc(270*var(--u,1px));max-width:100%;min-height:calc(58*var(--u,1px));padding:calc(15*var(--u,1px)) calc(20*var(--u,1px));background:#b64655;color:#fff4e7;border:1px solid #ee8c92;border-radius:10px;font-size:calc(20*var(--u,1px));font-weight:700;letter-spacing:calc(3*var(--u,1px));box-shadow:inset 0 1px #ffd6cf44,0 4px 0 #713343,0 12px 28px #0005}.primary:hover{background:#c95867}.primary span{font-size:calc(22*var(--u,1px));color:#fff0d4;font-weight:400}.control-hint{font-size:calc(12*var(--u));color:#b8c9db;margin:calc(22*var(--u)) 0 calc(10*var(--u));letter-spacing:calc(.7*var(--u))}.best-line{font-size:calc(12*var(--u));color:#a9b7c9;margin:calc(6*var(--u))}.best-line strong{font-size:calc(19*var(--u));color:#edddbb;margin-left:calc(9*var(--u));font-weight:500}
.menu-footer{position:absolute;bottom:calc(30*var(--u));left:calc(26*var(--u));right:calc(26*var(--u));display:flex;justify-content:space-between;align-items:center;color:#9babc0;font-size:calc(10*var(--u));letter-spacing:calc(1*var(--u))}.text-button{border:0;background:transparent;padding:calc(12*var(--u,1px)) calc(5*var(--u,1px));text-decoration:underline;text-underline-offset:5px;color:#c8d2e0;font-size:calc(12*var(--u,1px))}.text-button:hover{color:#fff}
.icon-button{position:absolute;top:calc(18*var(--u));width:calc(42*var(--u));height:calc(42*var(--u));border:1px solid #bdd4e12b;border-radius:50%;background:#10263bba;color:#e2e7e9;font-size:calc(22*var(--u));z-index:8;display:grid;place-items:center;padding:0}.icon-button:hover{background:#334664b3}.sound-button{left:calc(16*var(--u));width:calc(92*var(--u));min-width:75px;border-radius:25px;display:flex;justify-content:center;gap:8px}.radio-label{font-size:12px;letter-spacing:1px}.pause-button{right:calc(16*var(--u))}.small-button{position:absolute;right:calc(18*var(--u));top:calc(23*var(--u));background:#071325b8;border:1px solid #e9e5dc5e;padding:calc(10*var(--u)) calc(16*var(--u));border-radius:3px;font-size:calc(13*var(--u));z-index:9}
#hud{position:absolute;top:calc(25*var(--u));left:calc(80*var(--u));right:calc(80*var(--u));text-align:center;pointer-events:none;text-shadow:0 2px 8px #00101e}#hud>span{display:block;color:#c6d4e4;font-size:calc(11*var(--u));letter-spacing:calc(3*var(--u))}#score{display:block;font-size:calc(58*var(--u));font-weight:600;line-height:1.12;font-variant-numeric:tabular-nums}#flightLabel{font-size:calc(10*var(--u));color:#adc0d4;letter-spacing:calc(1*var(--u))}
#introCaption{position:absolute;bottom:calc(62*var(--u));left:calc(17*var(--u));right:calc(17*var(--u));padding:calc(18*var(--u)) calc(15*var(--u));border-left:calc(3*var(--u)) solid #edc787;background:linear-gradient(90deg,#06101cef,#06101cd6);box-shadow:0 6px 30px #0007;pointer-events:none}#captionText{font-size:calc(22*var(--u));font-weight:600;line-height:1.7;text-align:center;white-space:pre-line;margin:0;color:#fff4df;text-shadow:0 2px 2px #000;letter-spacing:calc(.4*var(--u))}
.ready-screen{pointer-events:none}.ready-copy{position:absolute;top:calc(180*var(--u));width:100%;text-align:center}.ready-copy h2{font:600 calc(31*var(--u))/1.4 "Songti SC","STSong","SimSun",serif;margin:calc(9*var(--u)) 0}.ready-copy p{font-size:calc(15*var(--u));color:#d7e3ee}.ready-copy small{font-size:calc(12*var(--u));color:#aebfd2}.flight-mark{color:#eaca94;font-size:calc(28*var(--u))}.tap-ring{position:absolute;top:calc(472*var(--u));left:calc(101*var(--u));width:calc(26*var(--u));height:calc(26*var(--u));border:2px solid #f0dfc2;border-radius:50%;animation:tap 1.7s infinite}
.veil{background:#050c17b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center}.pause-content,.result-content{width:calc(340*var(--u));display:flex;align-items:center;flex-direction:column;text-align:center}.eyebrow{color:#b2c7dc;font-size:calc(13*var(--u,1px));letter-spacing:calc(3*var(--u,1px))}.pause-content h2,.result-content h2{font:600 calc(31*var(--u))/1.4 "Songti SC","STSong","SimSun",serif;margin:calc(8*var(--u)) 0 calc(32*var(--u))}.pause-content .text-button,.result-content .text-button{margin-top:calc(20*var(--u));font-size:calc(14*var(--u))}.result-content h2{margin-bottom:calc(12*var(--u))}.result-number{display:flex;flex-direction:column}.result-number strong{font-size:calc(100*var(--u));line-height:1.15;font-weight:500;font-variant-numeric:tabular-nums}.result-number span{font-size:calc(12*var(--u));letter-spacing:calc(3*var(--u));color:#acbdd0}#resultMessage{font-size:calc(13*var(--u));color:#c3d0df;margin:calc(24*var(--u)) 0 0}.result-best{font-size:calc(13*var(--u));color:#acbdd0;margin:calc(14*var(--u)) 0 calc(30*var(--u))}.result-best strong{color:#f0dfc2;margin-left:calc(12*var(--u))}
#nowPlaying{position:absolute;bottom:calc(13*var(--u));left:calc(18*var(--u));right:calc(18*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));color:#dfedec;font-size:max(10px,calc(10*var(--u)));white-space:nowrap;overflow:hidden;border:1px solid #accbc438;border-radius:22px;background:#10283cd9;padding:8px 12px;min-height:32px;z-index:9}.music-dot{width:calc(4*var(--u));height:calc(4*var(--u));border-radius:50%;background:#8fbcae}.audio-recover{position:absolute;left:50%;bottom:calc(35*var(--u));transform:translateX(-50%);border:1px solid #e1be8b;background:#1d2b3f;padding:10px 16px;border-radius:3px;z-index:10;font-size:calc(13*var(--u));white-space:nowrap}
dialog{--u:1px;max-width:min(440px,calc(100vw - 30px));max-height:calc(100vh - 44px);overflow:auto;background:#142b3c;color:#e6dfd2;border:1px solid #a1c3cd66;border-radius:18px;padding:30px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#020713c9;backdrop-filter:blur(6px)}dialog h2{font:600 28px/1.5 "Songti SC","STSong","SimSun",serif;margin:8px 0 20px}dialog p{font-size:14px;line-height:1.9;color:#c4cfdb}dialog small{font-size:12px;line-height:1.8;display:block;color:#a7b6c9}.dialog-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;background:transparent;font-size:27px;color:#bfcbd9}.about-story{border-left:2px solid #b67770;padding-left:15px}.instructions{display:grid;grid-template-columns:95px 1fr;gap:10px;font-size:13px;line-height:1.6;margin:25px 0}.instructions dt{color:#e2ceb1}.instructions dd{margin:0;color:#c4cfdb}.sound-track{padding:12px 0;border-top:1px solid #56708c55;border-bottom:1px solid #56708c55}label[for=volume]{display:flex;justify-content:space-between;font-size:14px;margin:24px 0 10px}#volume{width:100%;accent-color:#e3c298;margin:15px 0 26px;touch-action:auto}.secondary{background:#283b53;border:1px solid #758ba3;padding:12px 20px;border-radius:3px;min-width:130px}.sound-tip{font-size:12px;color:#aabbd0;margin-top:25px}
.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}.no-script{position:fixed;inset:0;display:grid;place-items:center;background:#081426;padding:20px;text-align:center}
#trackName{overflow:hidden;text-overflow:ellipsis;min-width:0}#nowPlaying:hover{background:#25475a}.radio-open{margin-left:auto;color:#98d3cb}
#soundDialog{width:440px;padding:30px;scrollbar-width:thin;scrollbar-color:#638b9b transparent}#soundDialog h2{margin-bottom:18px}.radio-display{position:relative;background:#091c2a;border:1px solid #76a0aa55;border-radius:10px;padding:16px}.radio-state{color:#91d7c6;font-size:11px}.radio-state:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:currentColor}#soundTrack{font-size:16px;line-height:1.6;min-height:50px;color:#f1eddf;margin:10px 0 14px;padding:0;border:0}#nextTrack{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:42px;border-color:#749cae66;background:#294959;border-radius:6px;font-size:14px}#nextTrack:hover{background:#365c6d}
.track-list{display:flex;flex-direction:column;margin:14px 0 22px}.track-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-bottom:1px solid #b1d4d019;background:transparent;color:#c1d1db;font-size:12px;line-height:1.55;padding:11px 10px;min-height:43px;border-radius:5px}.track-list button:before{content:"♫";color:#738e9e;font-size:17px}.track-list button[aria-pressed=true]{color:#f5f3e4;background:#345461}.track-list button[aria-pressed=true]:before{color:#9cded0}.track-list button:hover{background:#294657}
#soundDialog label{margin-top:13px;font-size:13px}#soundDialog output{color:#d4eee5;font-variant-numeric:tabular-nums}#soundDialog input[type=range]{accent-color:#91c9c2;margin:8px 0 14px;min-height:24px}#mute{border-radius:7px;font-size:13px;min-height:42px}
#soundDialog .dialog-close{position:sticky;top:0;float:right;margin:-14px -14px 0 0;background:#203e50;border-radius:50%;z-index:2}.track-list button[aria-pressed=true]:after{content:"已选";margin-left:auto;color:#a1e2cf;font-size:10px;white-space:nowrap}.track-list button:hover{background:#294353}
@media(max-width:500px){#soundDialog{padding:24px 20px;max-height:calc(100dvh - 24px)}#soundDialog h2{font-size:25px}.icon-button{min-height:40px;min-width:40px}.sound-button{min-width:78px}}
@keyframes breathe{50%{opacity:.3;transform:scale(.9)}}@keyframes tap{0%{opacity:.8;transform:scale(.8)}100%{opacity:0;transform:scale(1.9)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.tap-ring{opacity:.7}}
@media(max-width:500px){#stage{border-radius:0;box-shadow:none;width:min(100vw,calc(100vh*.5625))}@supports(height:100dvh){#stage{width:min(100vw,calc(100dvh*.5625))}}dialog{padding:24px}}
@media(max-height:500px) and (orientation:landscape){
  .icon-button{width:36px;height:36px;top:8px;font-size:19px}.sound-button{left:8px}.pause-button{right:8px}
  .small-button{top:9px;right:8px;font-size:12px;min-height:34px;padding:7px 10px}
  #captionText{font-size:14px;line-height:1.6}#introCaption{left:8px;right:8px;padding:10px 8px;bottom:24px}
  .edition{display:none}.menu-footer{bottom:4px}.menu-footer>span{display:none}.menu-footer .text-button{font-size:10px;min-height:30px}
  .primary{min-height:34px;font-size:13px}.control-hint{font-size:8px;margin-top:10px}.best-line{font-size:9px;margin-top:1px}
  .result-content .text-button,.pause-content .text-button{font-size:12px;min-height:32px;margin-top:8px}
  #audioRecover{font-size:11px;bottom:25px;padding:7px 10px}
}
.menu-actions{top:calc(512*var(--u))}.menu-actions .control-hint{margin-top:calc(18*var(--u));margin-bottom:calc(4*var(--u))}.menu-footer{bottom:calc(16*var(--u))}.menu-actions .primary{min-height:calc(54*var(--u))}
label[for=effectsVolume]{display:flex;justify-content:space-between;font-size:14px;margin:14px 0 10px}#effectsVolume{width:100%;accent-color:#e3c298;margin:15px 0 26px;touch-action:auto}#volume{margin-bottom:10px}
#stage[data-mode=antey] #introCaption{bottom:auto;top:calc(85*var(--u));background:#06101cc4}#stage[data-mode=antey] #captionText{font-size:calc(21*var(--u))}
.success-screen{background:linear-gradient(#061224b0,#06122400 65%);pointer-events:none}.success-copy{position:absolute;top:calc(110*var(--u));left:0;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:auto}.success-copy h2{font:600 calc(34*var(--u))/1.5 "Songti SC","STSong","SimSun",serif;margin:calc(12*var(--u)) 0}.success-copy>p:not(.eyebrow){font-size:calc(15*var(--u));color:#dce9ed;margin:0 0 calc(26*var(--u))}.success-copy .text-button{margin-top:calc(18*var(--u))}
@media(max-height:500px) and (orientation:landscape){
  #difficulty{width:94%}#difficulty legend{font-size:9px;margin-bottom:4px}.mode-options{gap:3px}.mode-options span{min-height:28px;font-size:9px;padding:3px 1px}#modeDescription{font-size:9px;margin:5px 0 8px}.menu-actions{top:calc(496*var(--u))}.menu-actions .primary{min-height:30px;padding:5px 10px}.menu-actions .control-hint{font-size:8px;margin-top:8px;margin-bottom:0}.best-line{display:none}.menu-footer{bottom:1px}.success-copy .text-button{font-size:12px;min-height:32px}
}
