:root{--ink: #f3ead3;--ink-dim: #c4bba3;--panel: rgba(20, 23, 17, .78);--line: rgba(243, 234, 211, .2);--green: #3f7a4a;--green-hi: #7cc983;--gold: #f0c050;--red: #e2564a;--gas: #9fd8ee;--font: "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--serif: "Noto Serif TC", "PMingLiU", serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#111;color:var(--ink);font-family:var(--font)}#game{position:fixed;inset:0;width:100%;height:100%;display:block}#hud{position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;z-index:5}body.playing #hud{opacity:1}.panel{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:8px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 2px 10px #00000059}.label{font-size:13px;letter-spacing:.14em;color:var(--ink-dim)}.mono{font-variant-numeric:tabular-nums}.zone-panel{top:20px;left:20px;padding:10px 18px 10px 14px;border-left:4px solid var(--green-hi)}#zone{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:.06em}#zone.danger{color:#ffc0b6}.zone-panel:has(#zone.danger){border-left-color:var(--red)}#zone-sub{font-size:13px;color:var(--ink-dim);margin-top:2px}.score-panel{top:20px;right:20px;display:flex;gap:22px;padding:10px 18px}.stat{display:flex;flex-direction:column;align-items:flex-end}.stat .value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.gear-panel{left:20px;bottom:20px;width:280px;padding:14px 16px;display:grid;gap:12px}.gauge-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}.gauge-head .num{font-size:18px;font-weight:700}.num.gas-c{color:var(--gas)}.num.hp-c{color:var(--green-hi)}.num.low{color:var(--red)}.gauge-head .hint{font-size:12px;color:var(--ink-dim);display:inline-flex;align-items:center;gap:5px}.hint kbd,.map-hint kbd,.close-hint kbd{font-size:11px;padding:1px 6px;border-bottom-width:2px}.bar{height:10px;background:#ffffff1f;border-radius:5px;overflow:hidden}.fill{height:100%;width:100%;transform-origin:left;transition:transform .12s linear;border-radius:5px}.fill.gas{background:linear-gradient(90deg,#6fb6cf,var(--gas))}.fill.hp{background:linear-gradient(90deg,#3f7a4a,var(--green-hi))}.fill.low{background:var(--red);animation:pulse .6s infinite alternate}@keyframes pulse{to{opacity:.5}}.blade-row{display:grid;grid-template-columns:2.6em 1fr;align-items:center;gap:8px;margin-top:6px}.blade-row .cap{font-size:12px;color:var(--ink-dim)}.dur{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.dur-seg{height:8px;background:#e6edf0;border-radius:2px}.dur-seg.used{background:#ffffff24}.blades{display:flex;gap:5px}.blade-icon{width:24px;height:8px;background:linear-gradient(90deg,#8d969c,#eef3f6);clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%)}.blade-icon.used{opacity:.18}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px}#crosshair .dot{width:8px;height:8px;border-radius:50%;background:#ffffffb3;box-shadow:0 0 0 1px #0000008c;transition:box-shadow .1s}#crosshair.in-range .dot{background:var(--green-hi);box-shadow:0 0 0 1px #0000008c,0 0 8px var(--green-hi)}#crosshair.on-titan .dot{background:var(--red);box-shadow:0 0 0 1px #0000008c,0 0 10px var(--red)}#crosshair.fast .dot{box-shadow:0 0 0 1px #0000008c,0 0 0 4px #f0c050e6}.hook-ind{width:11px;height:26px;border:2px solid rgba(255,255,255,.5);filter:drop-shadow(0 0 1px #000);transition:border-color .1s}#hook-l{border-right:none;border-radius:12px 0 0 12px}#hook-r{border-left:none;border-radius:0 12px 12px 0}.hook-ind.flying{border-color:var(--gold)}.hook-ind.attached{border-color:var(--green-hi);border-width:3px;box-shadow:0 0 8px var(--green-hi)}#cross-dist{position:absolute;top:30px;left:50%;transform:translate(-50%);font-size:13px;color:var(--ink);white-space:nowrap;text-shadow:0 1px 3px #000,0 0 2px #000}#speedo{position:absolute;left:50%;bottom:24px;transform:translate(-50%);width:200px;display:grid;justify-items:center;gap:5px;text-shadow:0 1px 3px #000}#speed{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}#speed.fast{color:var(--gold)}.speed-bar{position:relative;width:100%;height:8px;background:#141711b3;border:1px solid var(--line);border-radius:4px;overflow:hidden}#speed-fill{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:#9aa39a;transition:transform .1s linear}#speed-fill.fast{background:var(--gold)}.speed-bar .tick{position:absolute;left:80%;top:-1px;bottom:-1px;width:2px;background:var(--gold)}#speed-cap{font-size:12px;letter-spacing:.12em;color:var(--ink-dim)}#speed-cap.fast{color:var(--gold);font-weight:700}#toasts{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.toast{padding:7px 18px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:16px;font-weight:600;white-space:nowrap;transition:opacity .5s,transform .5s}.toast.out{opacity:0;transform:translateY(-8px)}.toast.bad{border-color:#e2564ab3;color:#ffd0c9}.toast.good{border-color:#7cc983b3;color:#d8f2d9}.toast.kill{font-family:var(--serif);font-size:22px;padding:10px 26px;color:#fff;background:#781610db;border-color:#ff786499}#supply{position:absolute;left:50%;bottom:104px;transform:translate(-50%);padding:8px 20px;border-radius:999px;background:#2f6b3ae6;font-weight:600;opacity:0;transition:opacity .2s}#supply.show{opacity:1}#minimap{position:absolute;right:20px;bottom:20px;width:200px;height:200px;border-radius:50%;border:2px solid var(--line);box-shadow:0 4px 20px #0006;background:#14171180}.map-hint{position:absolute;right:20px;bottom:228px;width:200px;text-align:center;font-size:12px;color:var(--ink);text-shadow:0 1px 3px #000}#flash{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(200,20,10,.65));opacity:0;z-index:6}#flash.on{animation:flash .6s ease-out}@keyframes flash{0%{opacity:1}to{opacity:0}}#map-overlay{position:fixed;inset:0;display:none;place-items:center;padding:60px 0 100px;background:#00000047;pointer-events:none;z-index:4}#map-overlay.show{display:grid}.map-card{min-width:min(580px,96vw);box-sizing:border-box;background:#141711e0;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:0 10px 40px #00000080}.map-title{font-family:var(--serif);font-size:18px;font-weight:700;margin:0 2px 10px;letter-spacing:.08em}#bigmap{width:min(600px,calc(100vh - 262px));height:min(600px,calc(100vh - 262px));display:block;margin:0 auto;border-radius:8px}.map-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 2px 0;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-dim);align-items:center}.lg{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}.lg.you{background:#fff}.lg.titan{background:#e53935}.lg.abnormal{background:#ffb300}.lg.depot{background:#4caf50}.lg.breach{background:#c0392b;border-radius:2px}.close-hint{margin-left:auto}.screen{position:fixed;inset:0;display:none;place-items:center;padding:20px;background:radial-gradient(ellipse at center,#0a0c0833,#0a0c08c7);overflow-y:auto;z-index:10}.screen.show{display:grid}.card{background:#161913eb;border:1px solid var(--line);border-top:3px solid var(--green-hi);border-radius:12px;padding:28px 34px;box-shadow:0 20px 60px #00000080}.title-card{max-width:780px;width:100%}.small-card{max-width:460px;width:100%;text-align:center}.eyebrow{margin:0 0 8px;font-size:13px;letter-spacing:.3em;color:var(--green-hi)}.eyebrow.red{color:#ff9a8b}h1{margin:0;font-family:var(--serif);font-size:clamp(34px,5.5vw,54px);line-height:1.1;letter-spacing:.08em}h1 span{display:block;font-size:.4em;letter-spacing:.55em;color:var(--gold);margin-top:8px}h2{margin:0 0 8px;font-family:var(--serif);font-size:30px;letter-spacing:.1em}.lead{color:var(--ink-dim);line-height:1.7;margin:14px 0 0}.title-head{padding-bottom:16px}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 16px}.rules>div{display:grid;grid-template-columns:26px 1fr;column-gap:10px;row-gap:2px;padding:10px 12px;background:#ffffff0a;border:1px solid var(--line);border-radius:8px}.rules i{grid-row:1 / 3;align-self:center;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font-style:normal;font-weight:700;display:grid;place-items:center;font-size:14px}.rules b{font-size:15px}.rules span{font-size:13px;color:var(--ink-dim);line-height:1.5}.rules em{color:var(--gold);font-style:normal;font-weight:700}.controls{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.controls h3{margin:0 0 6px;font-size:13px;letter-spacing:.3em;color:var(--green-hi);font-weight:700}.controls section>div{display:grid;grid-template-columns:128px 1fr;align-items:center;gap:8px;padding:3px 0;font-size:14px;color:var(--ink-dim)}.keys{display:flex;gap:4px;flex-wrap:wrap}kbd{font-family:var(--font);font-size:12px;padding:2px 8px;border-radius:5px;background:#2d342b;border:1px solid #55604f;border-bottom-width:3px;color:var(--ink);white-space:nowrap}.note{margin:14px 0 20px;color:var(--ink-dim);font-size:14px;text-align:center}.note b{color:var(--ink)}.btn{font:inherit;font-size:17px;font-weight:700;letter-spacing:.1em;padding:12px 26px;border-radius:8px;border:1px solid var(--line);background:#2d342b;color:var(--ink);cursor:pointer;transition:background .15s,transform .1s;display:inline-flex;align-items:center;justify-content:center;gap:10px}.btn kbd{font-size:11px;letter-spacing:0;opacity:.85}.btn:hover{background:#3a443a}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn.primary{background:var(--green);border-color:#6aae74;width:100%}.btn.primary:hover{background:#4b8c57}.small-card .btn.primary{width:auto}.row{display:flex;gap:10px;justify-content:center;margin-top:20px}.best{text-align:center;color:var(--ink-dim);font-size:14px;margin:14px 0 0}.best span{color:var(--gold);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;margin-left:4px}.dead-card{border-top-color:var(--red)}.result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 22px;text-align:left}.result div{background:#ffffff0a;border:1px solid var(--line);border-radius:8px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}.result b{font-size:24px;font-variant-numeric:tabular-nums}.result .r-main{grid-column:1 / 3;align-items:center;text-align:center;padding:14px}.result .r-main b{font-size:44px;color:var(--gold);font-family:var(--serif)}.result .r-wide{grid-column:1 / 3;flex-direction:row;justify-content:space-between;align-items:baseline}@media(max-width:820px){.rules,.controls{grid-template-columns:1fr}}@media(max-height:780px){.screen{padding:12px}h1{font-size:40px}h1 span{margin-top:4px}.eyebrow{margin-bottom:4px}.controls h3{margin-bottom:2px}.controls section>div{padding:1px 0;font-size:13px}.rules>div{padding:8px 12px}.btn{padding:10px 26px}.best{margin-top:8px}}@media(max-height:780px){.card{padding:20px 28px}.title-head{padding-bottom:10px}.lead{margin-top:8px}.rules{margin-bottom:10px}.controls{padding:10px 0;gap:8px 28px}.note{margin:10px 0 14px}}@media(prefers-reduced-motion:reduce){.fill.low{animation:none}#flash.on{animation-duration:.01s}*{transition-duration:.01s!important}}.touch-only{display:none}body.touch .touch-only{display:revert}body.touch .pc-only{display:none!important}body.touch{--u: 1;--sl: max(10px, env(safe-area-inset-left, 0px));--sr: max(10px, env(safe-area-inset-right, 0px));--st: max(8px, env(safe-area-inset-top, 0px));--sb: max(10px, env(safe-area-inset-bottom, 0px))}@media(min-height:600px){body.touch{--u: 1.25}}body.touch .panel{border-radius:6px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}body.touch .zone-panel{top:var(--st);left:var(--sl);padding:4px 10px 4px 8px;border-left-width:3px}body.touch #zone{font-size:calc(14px * var(--u));line-height:1.3}body.touch #zone-sub{font-size:calc(11px * var(--u));margin-top:0}body.touch .gear-panel{top:calc(var(--st) + 52px * var(--u));left:var(--sl);bottom:auto;width:calc(176px * var(--u));padding:6px 8px;gap:5px}body.touch .gauge:not(.blade-gauge){display:grid;grid-template-columns:2.4em 1fr 2.4em;align-items:center;gap:0 6px}body.touch .gauge-head{display:contents}body.touch .gauge-head .label{grid-column:1;grid-row:1;margin:0;font-size:calc(11px * var(--u));letter-spacing:.04em}body.touch .gauge-head .num{grid-column:3;grid-row:1;font-size:calc(12px * var(--u));text-align:right}body.touch .gauge .bar{grid-column:2;grid-row:1;height:6px;border-radius:3px}body.touch .blade-gauge .gauge-head{display:none}body.touch .blade-row{grid-template-columns:2.4em 1fr;gap:6px;margin-top:0}body.touch .blade-gauge .blade-row+.blade-row{margin-top:4px}body.touch .blade-row .cap{font-size:calc(11px * var(--u))}body.touch .dur-seg{height:6px}body.touch .blades{gap:3px}body.touch .blade-icon{width:calc(14px * var(--u));height:6px}body.touch .score-panel{top:var(--st);left:50%;right:auto;transform:translate(-50%);gap:14px;padding:3px 14px}body.touch .stat{flex-direction:row;align-items:baseline;gap:6px}body.touch .stat .label{font-size:calc(11px * var(--u));letter-spacing:.04em}body.touch .stat .value{font-size:calc(17px * var(--u));line-height:1.3}body.touch #toasts{top:calc(var(--st) + 38px * var(--u));gap:4px}body.touch .toast{font-size:13px;padding:4px 14px}body.touch .toast.kill{font-size:17px;padding:6px 18px}body.touch #cross-dist{top:22px;font-size:12px}body.touch #speedo{bottom:var(--sb);width:150px;gap:3px}body.touch #speed{font-size:15px}body.touch #speed-cap{font-size:11px}body.touch .speed-bar{height:6px}body.touch #supply{bottom:calc(var(--sb) + 48px);font-size:13px;padding:5px 14px}body.touch #minimap{top:calc(var(--st) + 52px * var(--u));right:var(--sr);bottom:auto;width:calc(92px * var(--u));height:calc(92px * var(--u));border-width:1px}body.touch #map-overlay{padding:44px 0 calc(76px * var(--u)) calc(var(--sl) + 178px * var(--u));place-items:center start}body.touch .map-card{min-width:0;display:grid;grid-template-columns:auto calc(150px * var(--u));grid-template-rows:auto auto 1fr;gap:8px 14px;padding:10px 12px}body.touch .map-title{grid-column:2;grid-row:1;font-size:13px;white-space:nowrap;margin:0;letter-spacing:.04em}body.touch #bigmap{grid-column:1;grid-row:1 / 4;width:min(calc(240px * var(--u)),calc(100vh - 110px));height:min(calc(240px * var(--u)),calc(100vh - 110px))}body.touch .map-tools{grid-column:2;grid-row:2;flex-direction:column;align-items:stretch;gap:6px;margin:0}body.touch .map-group{display:flex;justify-content:space-between}body.touch .map-jump .map-btn{flex:1}body.touch .map-btn{height:40px;font-size:13px;white-space:nowrap;padding:0 6px}body.touch .map-btn-icon{width:44px;flex:none;padding:0;font-size:20px}body.touch .map-zoom{flex:1;min-width:0;font-size:13px}body.touch .map-hint-text{display:none}body.touch .map-legend{grid-column:2;grid-row:3;flex-direction:column;align-items:flex-start;gap:3px;margin:0;padding:0;border-top:0;font-size:12px}body.touch .close-hint{margin-left:0;margin-top:auto;color:var(--ink)}#touch-ui{--b: calc(76px * var(--u));--g: calc(12px * var(--u));position:fixed;inset:0;z-index:5;pointer-events:none;display:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body.touch.playing #touch-ui{display:block}#touch-ui .t-look{position:absolute;top:0;right:0;width:55%;height:100%;pointer-events:auto}#touch-ui .t-stick{position:absolute;left:calc(var(--sl) + 14px);bottom:calc(var(--sb) + 10px);width:calc(128px * var(--u));height:calc(128px * var(--u));border-radius:50%;background:#12161459;border:2px solid rgba(242,234,214,.35);pointer-events:auto}#touch-ui .t-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#f2ead68c}#touch-ui .t-buttons{position:absolute;inset:0;pointer-events:none}#touch-ui .t-btn{position:absolute;pointer-events:auto;padding:0;display:grid;place-items:center;width:var(--sz, var(--b));height:var(--sz, var(--b));border-radius:50%;border:2px solid rgba(242,234,214,.4);background:#1216148c;color:var(--ink);font:700 calc(var(--fs, 17px) * var(--u)) / 1 var(--font);letter-spacing:.04em;touch-action:none;-webkit-tap-highlight-color:transparent;transition:background .08s,transform .08s}#touch-ui .t-btn.on{background:#3f7a4ae6;transform:scale(.94)}#touch-ui .t-btn{--cx: 0px;--cy: 0px;right:calc(var(--sr) + (var(--cx) - var(--sz, var(--b)) / 2) * 1);bottom:calc(var(--sb) + (var(--cy) - var(--sz, var(--b)) / 2) * 1)}#touch-ui .t-slash{--sz: calc(84px * var(--u));--fs: 24px;--cx: calc(56px * var(--u));--cy: calc(56px * var(--u));border-color:#e2564ad9;border-width:3px;background:#28121099}#touch-ui .t-jet,#touch-ui .t-hook-l,#touch-ui .t-hook-r{--sz: calc(70px * var(--u));--fs: 17px}#touch-ui .t-jet{--cx: calc(172px * var(--u));--cy: calc(50px * var(--u));border-color:#9fd8eecc}#touch-ui .t-hook-l{--cx: calc(139px * var(--u));--cy: calc(131px * var(--u));border-color:#7cc983d9}#touch-ui .t-hook-r{--cx: calc(60px * var(--u));--cy: calc(168px * var(--u));border-color:#7cc983d9}#touch-ui .t-slash.on{background:#962820e6}#touch-ui .t-jet.on{background:#326e8ce6}#touch-ui .t-orbit,#touch-ui .t-rope-in,#touch-ui .t-rope-out{--sz: calc(50px * var(--u));--fs: 13px}#touch-ui .t-rope-out{--cx: calc(237px * var(--u));--cy: calc(75px * var(--u))}#touch-ui .t-rope-in{--cx: calc(210px * var(--u));--cy: calc(153px * var(--u))}#touch-ui .t-orbit{--cx: calc(153px * var(--u));--cy: calc(210px * var(--u))}#touch-ui .t-gyro,#touch-ui .t-map,#touch-ui .t-pause{--sz: calc(44px * var(--u));--fs: 12px;top:var(--st);border-width:1px;background:#12161499}#touch-ui .t-pause{right:var(--sr)}#touch-ui .t-map{right:calc(var(--sr) + 44px * var(--u) + 8px)}#touch-ui .t-gyro{right:calc(var(--sr) + 2 * (44px * var(--u) + 8px))}body.touch .touch-help{display:grid;gap:6px;padding:12px 0 4px;border-top:1px solid var(--line)}body.touch .touch-help>div{display:grid;grid-template-columns:4.5em 1fr;gap:10px;font-size:14px;color:var(--ink-dim);line-height:1.5}body.touch .touch-help b{color:var(--green-hi);letter-spacing:.12em;font-size:13px}body.touch .touch-help em{color:var(--gold);font-style:normal;font-weight:700}@media(max-height:520px){body.touch .screen{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}body.touch .card{padding:14px 20px}body.touch .title-card{max-width:820px;display:grid;grid-template-columns:270px 1fr;grid-template-rows:auto auto 1fr;gap:0 22px;align-content:center}body.touch .title-head{grid-column:1;grid-row:1;padding-bottom:8px}body.touch .title-body{grid-column:2;grid-row:1 / 4;align-self:center}body.touch #btn-start{grid-column:1;grid-row:2;align-self:start}body.touch .best{grid-column:1;grid-row:3;align-self:start;margin-top:8px}body.touch h1{font-size:34px}body.touch h1 span{font-size:.36em;margin-top:4px}body.touch .eyebrow{font-size:11px;margin-bottom:4px}body.touch .lead{font-size:13px;line-height:1.6;margin-top:6px}body.touch .rules{grid-template-columns:1fr;gap:6px;margin:0 0 8px}body.touch .rules>div{padding:6px 10px;grid-template-columns:22px 1fr}body.touch .rules i{width:22px;height:22px;font-size:12px}body.touch .rules b{font-size:14px}body.touch .rules span{font-size:12px;line-height:1.4}body.touch .touch-help{padding-top:8px;gap:4px}body.touch .touch-help>div{font-size:12.5px;line-height:1.45;grid-template-columns:3.8em 1fr;gap:8px}body.touch .note{margin:8px 0 0;font-size:12px;text-align:left}body.touch .btn{padding:11px 20px;min-height:44px}body.touch .small-card{max-width:520px;padding:12px 20px}body.touch h2{font-size:24px;margin-bottom:2px}body.touch .small-card .lead{margin-top:4px}body.touch .row{margin-top:12px}body.touch .result{grid-template-columns:repeat(3,1fr);margin:10px 0 12px;gap:8px}body.touch .result .r-main{grid-column:1 / 4;padding:6px}body.touch .result .r-wide{grid-column:auto;flex-direction:column;align-items:flex-start}body.touch .result .r-main b{font-size:32px}body.touch .result b{font-size:18px}}#rotate-hint{position:fixed;inset:0;z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#14170f;color:var(--ink)}#rotate-hint svg{color:var(--green-hi)}#rotate-hint .phone{transform-origin:32px 28px;animation:rot 2.4s ease-in-out infinite}#rotate-hint b{font-family:var(--serif);font-size:24px;letter-spacing:.1em}#rotate-hint span{font-size:14px;color:var(--ink-dim)}@keyframes rot{0%,25%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media(orientation:portrait){body.touch #rotate-hint{display:flex}}@media(prefers-reduced-motion:reduce){#rotate-hint .phone{animation:none;transform:rotate(-90deg)}}#touch-ui .t-gyro.active{border-color:#6fbf73;color:#cfeccf}.tutorial-btn{width:100%;margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:2px;border-color:#6fbf73}.tutorial-btn .tut-hint{font-size:12px;font-weight:500;color:var(--ink-dim)}#tutorial{position:fixed;top:96px;left:20px;width:340px;z-index:6;display:none;pointer-events:none;background:#121614db;border:1px solid rgba(124,201,131,.45);border-left:4px solid var(--green-hi);border-radius:8px;padding:10px 14px 12px;color:var(--ink);box-shadow:0 2px 10px #00000059;transition:border-color .3s,box-shadow .3s}body.playing #tutorial.show{display:block}#tutorial .tut-dots{display:flex;gap:3px;margin-bottom:8px}#tutorial .tut-dots i{flex:1;height:4px;border-radius:2px;background:#ffffff24}#tutorial .tut-dots i.done{background:var(--green-hi)}#tutorial .tut-dots i.cur{background:var(--gold)}#tutorial .tut-head{display:flex;align-items:baseline;gap:8px}#tutorial .tut-step{font-size:12px;color:var(--green-hi);font-weight:700;font-variant-numeric:tabular-nums}#tutorial .tut-title{font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--ink-dim)}#tutorial .tut-prog{margin-left:auto;font-size:13px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}#tutorial .tut-prog:empty{display:none}#tutorial .tut-goal{margin:6px 0 0;font-size:18px;line-height:1.5;font-weight:700;color:var(--ink);text-wrap:balance}#tutorial .tut-goal b{color:var(--gold);font-weight:700}#tutorial kbd{font-size:.72em;padding:1px 7px;margin:0 1px;vertical-align:.12em}#tutorial .tut-text{margin:6px 0 0;padding-top:6px;border-top:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--ink-dim)}#tutorial .tut-text b{color:var(--ink)}#tutorial .tut-actions{display:flex;gap:8px;margin-top:10px}#tutorial .tut-actions button{font:inherit;font-size:12px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:#ffffff0f;color:var(--ink-dim);pointer-events:auto;cursor:pointer}#tutorial .tut-actions button:hover{background:#ffffff24;color:var(--ink)}#tutorial .tut-actions button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#tutorial .tut-actions kbd{font-size:11px;margin:0;vertical-align:baseline}#tutorial .tut-check{position:absolute;top:-13px;right:14px;display:none;align-items:center;gap:4px;padding:3px 12px 3px 8px;border-radius:999px;background:var(--green);color:#fff;font-size:13px;font-weight:700;box-shadow:0 2px 8px #0006}#tutorial .tut-check svg{width:16px;height:16px}#tutorial.is-done{border-color:var(--green-hi);box-shadow:0 0 0 2px #7cc98359,0 2px 10px #00000059}#tutorial.is-done .tut-check{display:inline-flex;animation:tut-pop .9s ease-out both}@keyframes tut-pop{0%{opacity:0;transform:translateY(6px) scale(.7)}20%{opacity:1;transform:none}75%{opacity:1}to{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){#tutorial.is-done .tut-check{animation:none}}body.touch #tutorial{top:var(--st);left:calc(var(--sl) + 190px * var(--u));right:calc(var(--sr) + 3 * (44px * var(--u) + 8px));width:auto;padding:6px 10px 7px;border-left-width:3px;box-shadow:none}body.touch #tutorial .tut-dots{margin-bottom:5px}body.touch #tutorial .tut-main{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}body.touch #tutorial .tut-title{font-size:12px}body.touch #tutorial .tut-goal{font-size:14px;line-height:1.4;margin-top:3px}body.touch #tutorial .tut-text{font-size:11px;line-height:1.45;margin-top:3px;padding-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.touch #tutorial .tut-actions{flex-direction:column;justify-content:center;gap:5px;margin-top:0}body.touch #tutorial .tut-actions button{justify-content:center;min-width:58px;min-height:36px;font-size:13px;padding:4px 10px}body.touch #tutorial .tut-check{top:auto;bottom:-13px}body.touch.tutoring .score-panel{display:none}body.touch.tutoring #toasts{top:calc(var(--st) + 112px)}#titan-labels{position:fixed;inset:0;pointer-events:none;z-index:4}.titan-label{position:absolute;left:0;top:0;padding:3px 10px;border-radius:999px;background:#781610d9;color:#fff;font-size:13px;font-weight:700;white-space:nowrap}.titan-label.soon{background:#e0b44cf2;color:#1b1b1b}#map-overlay.show{z-index:7}#map-overlay.show .map-card{pointer-events:auto}#bigmap{cursor:grab;touch-action:none}#bigmap:active{cursor:grabbing}.map-tools{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.map-group{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:10px;background:#ffffff0d;border:1px solid var(--line)}.map-btn{font:inherit;font-size:14px;font-weight:700;min-width:40px;height:36px;padding:0 12px;border-radius:7px;border:0;background:#2b322d;color:var(--ink);cursor:pointer;transition:background .12s,transform .12s}.map-btn-icon{font-size:20px;line-height:1;padding:0;width:40px}.map-btn:hover{background:#3c463e}.map-btn:active{background:#4a5649;transform:scale(.96)}.map-btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.map-zoom{min-width:56px;text-align:center;font-size:14px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}.map-hint-text{font-size:13px;color:var(--ink-dim);margin-left:auto}body:not(.touch) .map-hint-text .touch-only{display:none}body.touch .map-hint-text .pc-only{display:none}body.map-open #crosshair,body.map-open #cross-dist{visibility:hidden}[data-mode=look]{--mc: var(--green-hi);--o-look: 1;--tilt: 0deg}[data-mode=swing]{--mc: var(--gold);--o-swing: 1;--tilt: 26deg}[data-mode=none]{--mc: #9a9c92;--o-none: 1;--tilt: 0deg}.hm-ico{width:28px;height:28px;flex:none;color:var(--mc, var(--green-hi));transition:color .15s}.hook-mode{position:static;display:flex;align-items:center;gap:10px;padding-top:10px;margin-top:-2px;border-top:1px solid var(--line)}.hook-mode .hm-text{display:grid;gap:1px;min-width:0}.hook-mode .hm-label{font-size:12px;color:var(--ink-dim);white-space:nowrap}.hook-mode b{font-size:16px;line-height:1.2;color:var(--mc, var(--green-hi));letter-spacing:.06em;transition:color .15s}.hm-pips{display:flex;gap:3px;margin-left:auto}.hm-pips i{width:8px;height:8px;border-radius:50%;background:#ffffff29;transition:background .15s}[data-mode=look] .hm-pips i:nth-child(1),[data-mode=swing] .hm-pips i:nth-child(2),[data-mode=none] .hm-pips i:nth-child(3){background:var(--mc);box-shadow:0 0 6px var(--mc)}.hook-mode .hm-key{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-dim)}.hook-mode kbd{font-size:11px;padding:1px 6px;border-bottom-width:2px}body.touch .hook-mode{display:none}#touch-ui .t-hookmode{--sz: auto;--fs: 13px;display:inline-flex;align-items:center;gap:6px;position:absolute;left:calc(var(--sl) + 14px);bottom:calc(var(--sb) + 10px + 128px * var(--u) + 8px);right:auto;width:auto;height:44px;min-width:0;padding:0 14px 0 8px;border-radius:999px;border-width:1.5px;border-color:var(--mc, var(--green-hi));background:#1216149e;white-space:nowrap}#touch-ui .t-hookmode .hm-ico{width:26px;height:26px}#touch-ui .t-hookmode[data-mode=none]{color:var(--ink-dim);border-style:dashed}#touch-ui .t-hookmode.on{background:#3f7a4ae6}
