:root{--safe-area-inset-top:0px;--safe-area-inset-bottom:0px;--safe-area-inset-left:0px;--safe-area-inset-right:0px}
@supports(padding-top:env(safe-area-inset-top)){:root{--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px);--safe-area-inset-right:env(safe-area-inset-right,0px)}}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#8a8073;color:#f3ead3;font:14px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;min-width:44px;min-height:44px;border:1px solid #c9d98a66;border-radius:5px;color:#f3ead3;background:#243828}button:focus,a:focus{outline:2px solid #f0cf83;outline-offset:3px}[hidden]{display:none!important}#stage{position:relative;width:100%;height:100%;min-height:0;user-select:none;-webkit-user-select:none}canvas{width:100%;height:100%;display:block;touch-action:none}#scene:focus{outline:2px solid #f0cf83;outline-offset:-3px}#hud{position:absolute;top:0;left:0;right:0;padding:0px 8px 0 8px;padding:var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) calc(8px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px))) 0 calc(8px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)));height:calc(44px + 0px);height:calc(44px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));background:rgba(30,42,31,.7);color:#f3ead3;display:flex;align-items:center;justify-content:space-between;z-index:7}#hud>button{border:0;background:transparent;font-size:20px;flex:none}#hud>div{display:flex;align-items:center;}#height{font-size:14px;font-weight:500}.version{font-size:12px;color:#f3ead3}.journey{position:absolute;right:8px;right:calc(8px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)));top:calc(64px + 0px);top:calc(64px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));bottom:calc(150px + 0px);bottom:calc(150px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));width:6px;pointer-events:none;z-index:3}.track{height:100%;width:3px;background:#1e2a1f88;border-radius:2px;position:relative}.track i{position:absolute;bottom:0;left:0;width:3px;background:#ecd393;height:0;min-height:2px}.track #best-progress{width:7px;height:2px;background:#f3ead3;left:-2px;bottom:0}#best-label{position:absolute;right:12px;bottom:0;white-space:nowrap;font-size:12px;writing-mode:vertical-rl;letter-spacing:.04em;background:#1e2a1fbb;padding:5px 3px;border-radius:3px}/* Transparent touch space is fixed across tutorial dismissal: no camera jump. */
#controls-zone{position:absolute;left:0;right:0;bottom:0;height:calc(44px + 0px);height:calc(44px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));padding:0 12px 0px 12px;padding:0 calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px))) var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)) calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)));display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:6;text-align:center;background:transparent}
#tutorial-cue{display:flex;align-items:center;justify-content:center;max-width:100%;font-size:14px;text-shadow:0 1px 3px #142318,0 0 5px #142318}
#tutorial-cue svg{flex:none;overflow:visible}#lesson-pull,#lesson-launch{fill:none;stroke:#f3d9a5;stroke-width:2.5;stroke-linecap:round}#lesson-launch{stroke-width:1.6;stroke-dasharray:3 4;opacity:.8}

#notice{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);max-width:85%;width:max-content;margin:0;padding:12px 16px;border-radius:6px;background:#1e2a1ff0;color:#fff2d2;z-index:8;text-align:center;font-size:14px;pointer-events:none}#gesture{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;overflow:hidden}#gesture-svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}#gesture-line{stroke:#f3ead3aa;stroke-width:1.5;stroke-dasharray:4 5}#gesture-arrow{fill:none;stroke:#f3d9a5;stroke-width:3;stroke-linecap:round}#gesture-origin{fill:#8e3e25;stroke:#f3d9a5;stroke-width:2}#flight-preview{fill:none;stroke:#f2e4b1;stroke-width:2;stroke-dasharray:3 7;stroke-linecap:round}#landing-preview{fill:#f3d9a533;stroke:#f3d9a5;stroke-width:2}#gesture-cue{position:absolute;transform:translate(-50%,-50%);width:68px;padding:0 0 7px;display:flex;justify-content:center;font-size:14px;font-weight:600;color:#fff3d5;text-shadow:0 1px 3px #142318,0 0 5px #142318}#gesture-cue i{position:absolute;bottom:0;left:8px;right:8px;height:3px;border-radius:3px;background:#f0c878;transform-origin:left;transform:scaleX(var(--charge,0))}
.modal{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#17291cda;backdrop-filter:blur(5px);z-index:10;padding:calc(16px + 0px) 20px calc(16px + 0px);padding:calc(16px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px))) 20px calc(16px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));text-align:center}.modal>div{width:100%;max-width:420px;max-height:100%;overflow:auto}.modal small,.aux{font-size:12px}.modal h1,.modal h2{font-family:"Songti SC",STSong,serif;font-weight:400}.modal h1{font-size:32px;letter-spacing:.02em;line-height:1.45;margin:18px 0}.modal h1 span{display:block;font:16px/1.5 Inter,"PingFang SC",sans-serif;letter-spacing:.04em;margin-top:12px}.modal h2{font-size:26px}.modal p{font-size:14px;line-height:1.7}.modal .aux{font-size:12px;color:#dedbc5}.modal button{padding:9px 18px;background:#a55231;border-color:#d5a66d;color:#fff4df}.menu-actions{display:flex;justify-content:center;flex-wrap:wrap}.menu-actions button{font-size:14px;padding:9px 12px}.links{display:flex;justify-content:center;margin-top:8px}.links a{font-size:12px;color:#f3ead3;min-width:44px;min-height:44px;padding:12px 6px;text-decoration:none}#return-view{position:absolute;bottom:calc(12px + 0px);bottom:calc(12px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));left:50%;transform:translateX(-50%);z-index:8;padding:8px 20px}#error{position:absolute;left:8%;right:8%;top:40%;background:#f0dec1;color:#512d20;padding:20px;z-index:12;font-size:14px}@media(max-width:380px){.modal h1{font-size:28px}}@media(max-height:620px){.modal h1{margin:8px 0}.modal h2{font-size:22px}.modal p{margin:8px 0}.journey{bottom:130px}}

/* Text rather than a font-dependent pause glyph. */
#hud>#pause{font-size:14px}

/* Base declarations remain usable in Chrome 61 before modern CSS enhancement. */
body{-webkit-touch-callout:none}#rank-panel select{min-height:44px;max-width:100%;background:#243828;color:#fff4df;border:1px solid #c9d98a66;border-radius:5px;font:inherit;padding:6px}#rank-panel .rank-filters{display:flex;justify-content:center;flex-wrap:wrap}#rank-rows{list-style:none;padding:0;text-align:left;max-height:38vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}#rank-rows li{display:flex;justify-content:space-between;padding:8px 4px;border-bottom:1px solid #c9d98a44}#rank-rows li span{overflow-wrap:break-word;min-width:0}#rank-rows li b{white-space:nowrap;font-weight:400}button:disabled{opacity:.5;cursor:default}#storage-state:empty{display:none}

#hud>div>*+*{margin-left:12px}.menu-actions>*,.links>*{margin:4px}#tutorial-cue>*+*{margin-left:8px}.rank-filters>label{margin:4px}#rank-rows li b{margin-left:12px}
.xhs-window #hud{top:var(--game-header-top,0px);height:44px;padding-top:0}.xhs-window .journey{top:calc(64px + var(--game-header-top,0px))}
