*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:#f2f0df;overscroll-behavior:none;background:#10222b;font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#app{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);touch-action:none;position:fixed;inset:0}canvas{touch-action:none;width:100%;height:100%;display:block}body.impact{background:radial-gradient(at 50% 20%,#163d56,#081825 75%)}body.impact #app{width:min(100vw,46.6667dvh);height:min(100dvh,214.286vw);padding:0;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 100px #0008}#impact-ui{pointer-events:none;color:#f4ffff;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:absolute;inset:0}#impact-ui button,#impact-ui a{pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#impact-ui button{font:inherit;cursor:pointer;color:inherit;border:0;font-weight:800}.impact-menu{padding:max(6%,env(safe-area-inset-top)) 7% 4%;background:linear-gradient(#041d3940 0%,#041d3900 36% 54%,#041d33e6 74%,#041d33 100%),url(../art/client-impact-hero-v1.png) 50%/cover,#07304a;position:absolute;inset:0}.brand{letter-spacing:-.8px;justify-content:space-between;align-items:center;font-size:23px;font-weight:700;display:flex}.brand span{letter-spacing:1.7px;border:1px solid #79c6d860;border-radius:4px;padding:6px;font-size:8px;font-weight:700}.eyebrow{color:#8bddd9;letter-spacing:1.8px;font-size:10px;font-weight:800}.impact-menu>.eyebrow{margin-top:13%;font-size:9px}.impact-menu h1{letter-spacing:-3px;text-shadow:0 4px #073955,0 7px 20px #021d3b99;margin:6% 0 5%;font-size:clamp(42px,12vw,67px);font-weight:950;line-height:.91}.impact-menu h1 span{color:#65e4dd}.mission-line{color:#efffff;text-shadow:0 2px 8px #031d3b;background:#052e4cba;border-radius:7px;margin-left:-8px;padding:5px 8px;font-size:16px;font-weight:600;line-height:1.5;display:inline-block}.menu-bottom{left:7%;right:7%;bottom:max(3%,env(safe-area-inset-bottom));text-align:center;position:absolute}#impact-ui .primary{color:#07334c;letter-spacing:1px;background:linear-gradient(125deg,#8cffe0,#48d9e5);border-radius:15px;width:100%;min-height:52px;margin:5px 0 12px;padding:17px 24px;font-size:18px;box-shadow:0 5px #148aa7,0 8px 25px #002c4b50}.primary span{float:right}.high-scores{text-align:center;margin:7px 0 9px}.high-scores>strong{color:#aaf7e8;letter-spacing:1.5px;margin-bottom:5px;font-size:10px;display:block}.high-score-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.high-score-cell{font-variant-numeric:tabular-nums;background:#0b3b56e8;border:1px solid #93d5e05c;border-radius:8px;min-width:0;padding:5px 3px 6px}.high-score-cell.active{background:#116678;border-color:#88ffe2}.high-score-cell small{color:#b7dae1;letter-spacing:.8px;font-size:8px;font-weight:900;display:block}.high-score-cell b{color:#fff;text-overflow:ellipsis;margin-top:2px;font-size:17px;line-height:1.1;display:block;overflow:hidden}.menu-options{justify-content:center;gap:10px;display:flex}#impact-ui .menu-options button{letter-spacing:1px;background:#ffffff0c;border:1px solid #94d7db33;border-radius:8px;min-height:44px;padding:12px 13px;font-size:10px}.menu-bottom a{color:#8ec2cc;margin-top:14px;padding:5px;font-size:10px;text-decoration:none;display:inline-block}.impact-hud{padding:max(10px,env(safe-area-inset-top)) 16px 8px;background:linear-gradient(#042b45,#04334eef 90%,#04334e00);position:absolute;top:0;left:0;right:0}.hud-top{justify-content:space-between;align-items:center;display:flex}.wordmark{letter-spacing:-.5px;font-size:16px;font-weight:700}.wordmark span{letter-spacing:2px;color:#7edadd;margin-top:2px;font-size:7px;display:block}.score-badge{text-align:center;font-variant-numeric:tabular-nums;background:#10516b;border:2px solid #8bffdf;border-radius:12px;min-width:112px;padding:3px 8px;transition:background .15s,transform .15s;box-shadow:0 2px 8px #001c33a8}.score-badge small{color:#baffeb;letter-spacing:.7px;font-size:9px;font-weight:900;line-height:1.1;display:block}.score-badge b{color:#fff;font-size:23px;line-height:1.1;display:block}.score-badge.gain{background:#19a074;transform:scale(1.08)}#impact-ui #pause{background:#ffffff16;border:1px solid #9adede45;border-radius:11px;width:44px;height:44px;font-size:20px}.mission{letter-spacing:.5px;color:#91e9df;justify-content:space-between;align-items:center;gap:5px;margin:7px 0;font-size:9px;font-weight:800;display:flex}.mission #timer{color:#aed0da;white-space:nowrap}.mission #phase{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.level-label{color:#07334c;letter-spacing:.4px;background:#8bffe0;border-radius:5px;flex:none;padding:4px 6px;font-size:9px}.milestones{gap:9px;display:flex}.milestones>div{background:#ffffff0c;border:1px solid #89d3db25;border-radius:8px;flex:1;align-items:center;gap:6px;padding:6px 9px;display:flex}.milestones b{font-size:20px}.milestones small{letter-spacing:.6px;color:#9dcbd8;font-size:7px;line-height:1.3}.metric-icon{color:#79edda;font-size:21px}.run-progress{background:#8ae9e52b;border-radius:4px;height:3px;margin:10px 0 4px;overflow:hidden}.run-progress i{background:#69ebdd;width:0;height:100%;display:block}#boss-bar{text-align:center;position:absolute;top:100%;left:18%;right:18%}#boss-bar span{letter-spacing:2px;color:#18364b;font-size:10px;font-weight:900}#boss-bar>div{background:#17384b;border:2px solid #f2e7db;border-radius:6px;height:9px;overflow:hidden}#boss-fill{background:#ff7380;height:100%;display:block}.loadout{bottom:max(3.5%,env(safe-area-inset-bottom));letter-spacing:.7px;color:#f6ffff;text-shadow:0 2px 4px #163d56;justify-content:space-between;font-size:10px;font-weight:900;display:flex;position:absolute;left:5%;right:5%}.loadout span{background:#063c57e6;border-radius:9px;padding:8px 10px}.loadout span:empty{display:none}.touch-hint{text-align:center;color:#16485f;letter-spacing:2px;width:100%;font-size:11px;font-weight:900;line-height:1.5;transition:opacity .5s;position:absolute;bottom:10%}.modal{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:auto;background:#052b46c9;align-items:center;padding:7%;display:flex;position:absolute;inset:0}.sheet{text-align:center;background:linear-gradient(140deg,#144966,#082e49);border:1px solid #89ced54d;border-radius:24px;width:100%;max-height:96%;padding:24px 22px;overflow:auto;box-shadow:0 20px 60px #00162580}.sheet h2{letter-spacing:-1px;margin:12px 0 19px;font-size:29px;line-height:1.1}.sheet p{color:#c4dee6;margin:12px 0 22px;font-size:13px;line-height:1.5}#impact-ui .secondary{letter-spacing:1px;background:#ffffff0b;border:1px solid #92cfd931;border-radius:10px;width:100%;min-height:46px;margin:9px 0;padding:12px;font-size:12px;display:block}#impact-ui .quiet{color:#91ccd7;background:0 0;min-height:44px;padding:12px;font-size:10px}.lesson{flex-direction:column;gap:5px;margin:15px 0 19px;display:flex}.lesson>b{letter-spacing:1px;font-size:26px}.lesson span{color:#c4e3e8;font-size:11px}.lesson em{color:#80ffe0;font-style:normal}.lesson i{color:#ffa294;font-style:normal}.gesture{color:#88e7ec}.danger-symbol{color:#ffb98d}.result-mark{color:#81f7db;font-size:44px;line-height:1}.result-stats{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.result-stats>div{background:#ffffff08;border:1px solid #8ad5d42c;border-radius:12px;padding:13px 5px}.result-stats b{color:#8effde;font-size:25px;display:block}.result-stats span{letter-spacing:1px;color:#a4cbd7;margin-top:5px;font-size:8px;display:block}#impact-debug{color:#abffe1;background:#041a2fed;border-radius:6px;margin:0;padding:8px;font-size:10px;line-height:1.4;position:absolute;top:22%;left:5px}@media (max-height:700px){.sheet{padding:14px 18px}.sheet h2{margin:8px 0 13px;font-size:24px}.lesson{margin:10px 0}.lesson>b{font-size:23px}.brand{font-size:20px}.mission-line{font-size:14px}.impact-menu>.eyebrow{margin-top:8%}.impact-menu h1{font-size:48px}.high-scores{margin:3px 0 4px}.high-scores>strong{margin-bottom:3px}.high-score-cell{padding:3px}.high-score-cell b{font-size:14px}.menu-bottom a{margin-top:6px}}@media (prefers-reduced-motion:reduce){#impact-ui *{transition:none}}.guide{padding:18px 15px}.guide h2{margin:10px 0;font-size:25px}.guide p{margin:8px 0 13px;font-size:12px}.guide-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.guide-card{background:#ffffff09;border:1px solid #62dfd555;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:9px 6px;display:flex}.guide-card.danger{background:#8a283933;border-color:#ff977e88}.guide-card img{object-fit:contain;width:58px;height:58px}.guide-card b{letter-spacing:.3px;font-size:11px}.guide-card strong{color:#8affda;font-size:13px}.guide-card.danger strong{color:#ffb294}.guide-card span{color:#d6ebf2;font-size:11px;line-height:1.35}.gate-icon{color:#a0ffe0;align-items:center;height:58px;font-size:26px;font-weight:700;display:flex}.guide .quiet{margin-top:0}.loadout{flex-wrap:wrap;gap:4px}.loadout #score{margin-left:auto}.difficulty-picker{gap:8px;display:flex}.difficulty-picker button{background:#113c55;flex:1;min-height:54px;padding:11px 5px;border:2px solid #618598!important;border-radius:10px!important;font-size:13px!important}.difficulty-picker button[aria-pressed=true]{background:#126c78;color:#fff!important;border-color:#83ffe0!important}.difficulty-picker small{font-size:10px;font-weight:500}.difficulty-note{color:#c9e6e8;margin:7px 0;font-size:11px}.attack-diagram{gap:3px;width:85px;height:58px;display:flex}.attack-diagram i{background:#41cad1;border:2px solid #b9fff1;border-radius:3px;flex:1}.attack-diagram.aim i:nth-child(2),.attack-diagram.pincer i:first-child,.attack-diagram.pincer i:last-child,.attack-diagram.sweep i:first-child,.attack-diagram.sweep i:nth-child(2){background:repeating-linear-gradient(45deg,#e85453,#e85453 5px,#ffb293 5px 8px);border-color:#ffb293}.guide-card span{font-size:12px;line-height:1.35}.guide-card b{font-size:12px}.guide-card strong{font-size:14px}@media (max-width:350px){.wordmark{font-size:13px}.score-badge{min-width:86px;padding:3px 5px}.score-badge b{font-size:21px}}#boss-bar>div{position:relative}#boss-segments{pointer-events:none;background-image:linear-gradient(90deg,#0000 calc(100% - 2px),#f2e7db calc(100% - 2px));display:block;position:absolute;inset:0}
