:root{--ink-deep: #070a18;--ink: #0b1026;--ink-mid: #16204a;--ink-soft: #22305f;--moon: #f4ecd8;--moon-dim: rgba(244, 236, 216, .62);--amber: #ffb85c;--amber-hot: #ffd08a;--vermilion: #e2543e;--moss: #63a98c;--stardust: #ffe9a8;--panel: rgba(11, 16, 38, .78);--panel-line: rgba(255, 184, 92, .28);--font-title: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-body: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-number: "Bahnschrift", "DIN Alternate", "Roboto Mono", ui-monospace, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--ink);color:var(--moon);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{touch-action:none;user-select:none}#stage{position:fixed;inset:0;overflow:hidden;background:radial-gradient(ellipse 120% 46% at 50% 66%,rgba(126,156,214,.2),transparent 72%),radial-gradient(circle at 74% 14%,rgba(255,216,150,.16),transparent 38%),linear-gradient(180deg,#050813,#0a1128 34%,#16224c 66%,#0b122a)}#game{position:absolute;inset:0}#game canvas{display:block;width:100%!important;height:100%!important;touch-action:none}.layer{position:absolute;inset:0;pointer-events:none}[hidden]{display:none!important}.hud{padding:calc(14px + var(--safe-top)) calc(16px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(16px + var(--safe-left));display:flex;flex-direction:column;justify-content:space-between;font-family:var(--font-body)}.hud.hud-hidden{opacity:0}.hud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.height-readout{display:flex;align-items:baseline;gap:4px;text-shadow:0 2px 18px rgba(0,0,0,.65)}.height-value{font-family:var(--font-number);font-size:clamp(30px,6.2vmin,54px);font-weight:700;letter-spacing:.02em;line-height:.95;color:var(--moon);font-variant-numeric:tabular-nums}.height-unit{font-size:clamp(11px,1.9vmin,15px);color:var(--amber);letter-spacing:.16em;padding-bottom:.4em}.hud-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}.dust-readout{display:flex;align-items:center;gap:5px;padding:5px 11px 5px 8px;border-radius:999px;border:1px solid var(--panel-line);background:#0b102680;backdrop-filter:blur(4px);font-family:var(--font-number);font-size:clamp(13px,2.2vmin,17px);font-variant-numeric:tabular-nums;color:var(--stardust);box-shadow:0 4px 18px #00000052}.dust-readout svg{width:clamp(15px,2.4vmin,19px);height:auto;filter:drop-shadow(0 0 6px rgba(255,184,92,.55))}.icon-button{width:clamp(34px,5.2vmin,40px);height:clamp(34px,5.2vmin,40px);display:grid;place-items:center;border-radius:50%;border:1px solid var(--panel-line);background:#0b102680;backdrop-filter:blur(4px);color:var(--moon-dim);cursor:pointer;padding:0;transition:color .14s ease,border-color .14s ease,transform .14s ease,background .14s ease}.icon-button svg{width:55%;height:55%}.icon-button:hover,.icon-button:focus-visible{color:var(--amber-hot);border-color:#ffb85c99;background:#16204ab3;outline:none}.icon-button:active{transform:scale(.94)}.icon-sound-off,body.muted .icon-sound-on{display:none}body.muted .icon-sound-off{display:block}#btn-pause{display:none}body[data-status=playing] #btn-pause{display:grid}body[data-status=paused] #btn-pause{display:grid;color:var(--amber-hot)}.hud-hint{align-self:center;display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#070a186b;border:1px solid rgba(244,236,216,.08);color:var(--moon-dim);font-size:clamp(11px,1.8vmin,13px);letter-spacing:.04em;opacity:0;transform:translateY(6px);transition:opacity .42s ease,transform .42s ease;white-space:nowrap}body[data-status=playing] .hud-hint.visible{opacity:1;transform:translateY(0)}.hud-hint kbd{display:inline-block;min-width:16px;padding:1px 4px;margin:0 1px;border-radius:4px;border:1px solid rgba(244,236,216,.22);background:#f4ecd814;font-family:var(--font-number);font-size:.92em;text-align:center;color:var(--moon)}.touch-zones{display:none;position:absolute;inset:0;pointer-events:none}.touch-chevron{position:absolute;top:50%;transform:translateY(-50%);font-size:22px;color:#f4ecd829;text-shadow:0 0 12px rgba(255,184,92,.25)}.touch-left{left:18px}.touch-right{right:18px}body.touch-device[data-status=playing] .touch-zones{display:block}body.touch-device .hud-hint{display:none}@media(hover:none)and (pointer:coarse){.hud-hint{display:none}}.overlay{pointer-events:auto;display:grid;place-items:center;padding:calc(18px + var(--safe-top)) 18px calc(18px + var(--safe-bottom));background:radial-gradient(circle at 50% 40%,#070a1847,#070a18b8 78%);backdrop-filter:blur(2.5px);animation:veil-in .22s ease both}@keyframes veil-in{0%{opacity:0}to{opacity:1}}#screen-menu{background:radial-gradient(circle at 50% 34%,#070a181a,#070a189e 82%);backdrop-filter:none}.panel{position:relative;width:min(520px,100%);max-height:100%;overflow-y:auto;padding:clamp(20px,4vmin,34px) clamp(20px,4.4vmin,40px);border-radius:20px;border:1px solid var(--panel-line);background:linear-gradient(180deg,#16204ab8,#070a18db),var(--panel);box-shadow:0 26px 60px #0000008c,inset 0 1px #ffecc817;text-align:center;scrollbar-width:thin}.panel:before{content:"";position:absolute;inset:7px;border-radius:14px;border:1px solid rgba(244,236,216,.07);pointer-events:none}.menu-panel{width:min(440px,100%);border-color:#ffb85c2e;background:radial-gradient(circle at 50% 0%,rgba(255,184,92,.12),transparent 62%),linear-gradient(180deg,#1017349e,#070a18c7);backdrop-filter:blur(3px)}.eyebrow{margin:0 0 10px;font-size:clamp(10px,1.7vmin,12px);letter-spacing:.42em;text-transform:uppercase;color:#ffb85cd1}.game-title{margin:0;font-family:var(--font-title);font-weight:600;font-size:clamp(40px,9.4vmin,68px);letter-spacing:.14em;line-height:1.05;color:var(--moon);text-shadow:0 0 28px rgba(255,184,92,.34),0 0 68px rgba(255,184,92,.18)}.subtitle{margin:12px auto 0;max-width:22em;font-size:clamp(12px,2vmin,14px);line-height:1.7;color:var(--moon-dim);letter-spacing:.05em}.primary-button,.ghost-button{font-family:var(--font-body);font-size:clamp(14px,2.2vmin,16px);letter-spacing:.18em;border-radius:999px;cursor:pointer;transition:transform .13s ease,box-shadow .16s ease,border-color .16s ease,color .16s ease}.primary-button{margin-top:24px;padding:13px 42px;border:1px solid rgba(255,232,190,.7);background:linear-gradient(180deg,#ffd08a,#f0a343 62%,#d9863a);color:#2a1808;font-weight:700;box-shadow:0 12px 28px #ffa84842,inset 0 1px #fff9}.primary-button:hover,.primary-button:focus-visible{transform:translateY(-1px);box-shadow:0 16px 34px #ffa8485c,inset 0 1px #ffffffb3;outline:none}.primary-button:active{transform:translateY(1px) scale(.99)}.ghost-button{padding:11px 26px;border:1px solid rgba(244,236,216,.2);background:#f4ecd80a;color:var(--moon-dim)}.ghost-button:hover,.ghost-button:focus-visible{border-color:#ffb85c80;color:var(--amber-hot);outline:none}.best-line{margin-top:14px;font-family:var(--font-number);font-size:clamp(11px,1.8vmin,13px);letter-spacing:.16em;color:#f4ecd880}.control-list{list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid rgba(244,236,216,.08);display:grid;gap:9px;font-size:clamp(11px,1.85vmin,13px);color:#f4ecd8a8;text-align:left}.control-key{display:inline-block;min-width:30px;padding:2px 6px;margin-right:4px;border-radius:5px;border:1px solid rgba(244,236,216,.18);background:#f4ecd80f;font-family:var(--font-number);font-size:.94em;color:var(--moon);text-align:center}.platform-legend{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(244,236,216,.08);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;font-size:clamp(10px,1.7vmin,12px);color:#f4ecd880}.legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.chip{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.94em;letter-spacing:.06em}.chip-wood{background:#c9a27333;color:#e2c39a}.chip-fragile{background:#e2543e38;color:#f0907e}.chip-spring{background:#63a98c38;color:#9ad2bb}.chip-dust{background:#ffe9a82e;color:var(--stardust)}.narrow-panel{width:min(400px,100%)}.panel-title{margin:4px 0 0;font-family:var(--font-title);font-size:clamp(24px,4.4vmin,32px);font-weight:600;letter-spacing:.14em;color:var(--moon)}.panel-note{margin:10px 0 0;font-size:clamp(12px,1.9vmin,13px);letter-spacing:.08em;color:var(--moon-dim)}.panel-actions{margin-top:22px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.panel-actions .primary-button{margin-top:0}.result-grid{margin-top:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-cell{padding:12px 6px;border-radius:12px;border:1px solid rgba(244,236,216,.09);background:#f4ecd809;display:grid;gap:6px}.result-label{font-size:clamp(10px,1.6vmin,11.5px);letter-spacing:.14em;color:#f4ecd875}.result-value{font-family:var(--font-number);font-size:clamp(15px,2.7vmin,20px);color:var(--moon);font-variant-numeric:tabular-nums}.result-value b{font-weight:700;color:var(--amber-hot)}#screen-gameover.new-best .panel-title{color:var(--stardust);text-shadow:0 0 26px rgba(255,233,168,.5)}@media(max-width:520px){.panel{border-radius:16px}.result-grid{gap:6px}.result-cell{padding:10px 4px}.primary-button{padding:12px 34px}.control-list{text-align:center}}@media(max-height:520px){.control-list,.platform-legend{display:none}.primary-button{margin-top:16px}.game-title{font-size:clamp(30px,9vmin,44px)}}@media(prefers-reduced-motion:reduce){.overlay,.hud-hint{animation:none;transition:none}}
