:root{--ink: #14110f;--ink-soft: #1f1b18;--paper: #f3ede1;--paper-dim: #c9c0b0;--orange: #ff7a1a;--amber: #ffc247;--brick: #a8573d;--steel: #5b666f;--good: #7bd88f;--bad: #ff5d4d;--display: "Arial Black", "Haettenschweiler", "Impact", "Franklin Gothic Heavy", system-ui, sans-serif;--body: ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ink);color:var(--paper);font-family:var(--body);overflow:hidden;-webkit-font-smoothing:antialiased;user-select:none;-webkit-touch-callout:none;touch-action:none}#stage,#view,#overlay{position:fixed;inset:0}#view{width:100%;height:100%;display:block}#overlay{pointer-events:none}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 42%,#0000 48%,#0000008c),linear-gradient(180deg,#00000047,#0000 22% 78%,#0006);mix-blend-mode:multiply}.hidden{display:none!important}.kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--paper-dim);font-weight:700}h1,h2,h3{font-family:var(--display);text-transform:uppercase;margin:0;line-height:.9;letter-spacing:.01em}h2{font-size:clamp(28px,4vw,46px)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn{pointer-events:auto;font-family:var(--display);text-transform:uppercase;font-size:17px;letter-spacing:.06em;border:0;border-radius:3px;padding:14px 24px;cursor:pointer;transition:transform .1s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--orange);color:#1a0d04;box-shadow:0 6px #a8460c,0 12px 30px #ff7a1a47}.btn-primary:hover{background:var(--amber)}.btn-ghost{background:#f3ede11a;color:var(--paper);box-shadow:inset 0 0 0 1px #f3ede147}.btn-ghost:hover{background:#f3ede133}.screen{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;pointer-events:auto;padding:clamp(22px,4vw,56px)}.screen.hidden{display:none}#screen-title{justify-content:center;background:linear-gradient(90deg,#0c0a09db,#0c0a0985 46%,#0c0a0900 78%),linear-gradient(0deg,#0c0a09b3,#0c0a0900 55%)}.title-wrap{max-width:640px}.wordmark{font-size:clamp(72px,13vw,170px);letter-spacing:-.01em;color:var(--paper);text-shadow:0 6px 0 rgba(0,0,0,.35);margin:10px 0 16px}.wordmark span{color:var(--orange)}.lede{font-size:clamp(15px,1.5vw,19px);line-height:1.45;color:#e4dbcb;max-width:34ch;margin:0 0 26px}.hint{margin:22px 0 0;font-size:12.5px;color:#f3ede19e;letter-spacing:.02em}.stamp{position:absolute;right:clamp(22px,4vw,56px);bottom:clamp(22px,4vw,56px);font-family:var(--display);font-size:13px;line-height:1.5;letter-spacing:.2em;text-align:right;color:#f3ede180;border-right:3px solid rgba(255,122,26,.55);padding-right:12px}#screen-contracts{background:linear-gradient(180deg,#0d0b0aed,#0d0b0ad1);pointer-events:auto}#screen-shop{background:linear-gradient(180deg,#0d0b0af0,#0d0b0ad6);pointer-events:auto}.screen-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.head-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.tally{font-family:var(--display);color:var(--amber);font-size:18px;letter-spacing:.05em}.screen-foot{margin-top:18px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#f3ede180;flex-wrap:wrap}.contract-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-rows:max-content;align-content:start;gap:14px;overflow-y:auto;padding:4px 4px 10px;scrollbar-width:thin}.contract{position:relative;text-align:left;padding:18px 18px 16px;background:linear-gradient(160deg,#28231ef5,#181513f5);border:1px solid rgba(243,237,225,.12);border-radius:4px;color:var(--paper);cursor:pointer;font-family:var(--body);transition:transform .12s ease,border-color .12s ease,background .12s ease;overflow:hidden}.contract:hover{transform:translateY(-3px);border-color:#ff7a1ab3;background:linear-gradient(160deg,#342c25fa,#1b1714fa)}.contract:disabled{cursor:default;opacity:.42;transform:none;padding-bottom:32px}.contract:after{content:"";position:absolute;right:-30px;bottom:-30px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,26,.18),transparent 70%)}.contract-no{font-family:var(--display);font-size:12px;letter-spacing:.22em;color:var(--orange)}.contract-name{font-family:var(--display);text-transform:uppercase;font-size:24px;margin:6px 0;line-height:.95}.contract-tag{font-size:12.5px;line-height:1.4;color:#f3ede19e;min-height:35px}.contract-meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:11px;color:#f3ede1b8;letter-spacing:.04em}.contract-stars{color:#4b443c;font-size:15px;letter-spacing:2px}.contract-stars .on{color:var(--amber)}.contract-lock{position:absolute;left:0;right:0;bottom:0;display:none;padding:7px 14px 8px;background:linear-gradient(0deg,#0c0a09eb,#0c0a0973);font-family:var(--display);letter-spacing:.16em;font-size:10px;text-align:center;color:#f3ede1cc}.contract:disabled .contract-lock{display:block}.contract-right{display:flex;align-items:center;gap:8px}.contract-grade{font-family:var(--display);font-size:12px;line-height:1;padding:4px 7px;border-radius:2px;background:#f3ede114;color:#f3ede173;border:1px solid rgba(243,237,225,.14)}.contract-grade.grade-s{background:var(--amber);color:#1a0d04;border-color:var(--amber)}.contract-grade.grade-a{background:#ff8a2be6;color:#1a0d04;border-color:#ff8a2be6}.contract-grade.grade-b{background:#9aa4ad8c;color:#14110f}.contract-grade.grade-c{background:#a57f5f8c;color:#14110f}.credit-chip{font-family:var(--display);font-size:14px;letter-spacing:.06em;color:var(--amber);padding:7px 12px;border-radius:3px;border:1px solid rgba(255,194,71,.35);background:#ffc24714;white-space:nowrap}.hammer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:max-content;align-content:start;gap:14px;overflow-y:auto;padding:4px 4px 10px}.hammer{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:4px;background:linear-gradient(160deg,#28231ef5,#181513f5);border:1px solid rgba(243,237,225,.12)}.hammer.equipped{border-color:#ff7a1ab3;box-shadow:inset 0 0 0 1px #ff7a1a38}.hammer-icon{width:54px;height:54px;display:grid;place-items:center;font-size:30px;border-radius:3px;background:#ff7a1a1f;border:1px solid rgba(255,122,26,.3)}.hammer-name{font-family:var(--display);text-transform:uppercase;font-size:22px;line-height:.95}.hammer-blurb{font-size:12.5px;line-height:1.4;color:#f3ede19e;flex:1}.hammer-stats{display:flex;gap:12px;font-size:11px;color:#f3ede18c;letter-spacing:.04em}.hammer-stats b{color:var(--paper);font-family:var(--display);font-size:14px}.hammer-buy{width:100%;margin-top:4px;font-size:14px;padding:11px 12px}.hammer-buy:disabled{opacity:.45;cursor:default}#hud{position:absolute;inset:0;pointer-events:none}.hud-top{position:absolute;top:16px;left:16px;right:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px) minmax(0,1fr);gap:14px;align-items:start}.hud-contract{display:flex;gap:12px;align-items:center;max-width:430px;padding:9px 16px 9px 9px;background:linear-gradient(100deg,#120e0cf2,#120e0c99);border:1px solid rgba(243,237,225,.1);border-left:3px solid var(--orange);border-radius:3px;box-shadow:0 14px 32px #00000061}.hud-no{font-family:var(--display);font-size:28px;line-height:1;color:#1a0d04;background:linear-gradient(180deg,#ffa14a,var(--orange));padding:9px 9px 6px;border-radius:3px;box-shadow:0 3px #a8460c}.hud-contract-text{min-width:0}.hud-kicker{font-size:9px;letter-spacing:.3em;font-weight:700;color:#f3ede173}.hud-name{font-family:var(--display);text-transform:uppercase;font-size:23px;line-height:1;margin-top:2px}.hud-tagline{font-size:11.5px;color:#f3ede199;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-progress{padding:10px 13px 8px;background:linear-gradient(180deg,#120e0ceb,#120e0c9e);border:1px solid rgba(243,237,225,.1);border-radius:3px;box-shadow:0 14px 32px #00000061}.bar{position:relative;height:18px;background:#0c0907;border:1px solid rgba(243,237,225,.16);border-radius:2px;overflow:hidden;box-shadow:inset 0 2px 7px #000c}.bar-fill{height:100%;width:0%;background:linear-gradient(90deg,#ff4d1f,#ff7a1a 55%,var(--amber));box-shadow:0 0 20px #ff7a1a8c;transition:width .18s ease}.bar-stripes{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(115deg,rgba(0,0,0,.22) 0 6px,transparent 6px 12px)}.bar-mark{position:absolute;top:-2px;bottom:-2px;width:3px;background:var(--paper);box-shadow:0 0 10px #ffffffe6}.bar-mark:after{content:"";position:absolute;left:50%;top:-6px;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--paper)}.bar-label{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--display);font-size:11px;letter-spacing:.14em}.bar-label span:first-child{color:var(--amber)}.hud-clock{justify-self:end;text-align:right;min-width:128px;padding:7px 15px 9px;background:linear-gradient(180deg,#120e0ceb,#120e0c99);border:1px solid rgba(243,237,225,.1);border-right:3px solid var(--orange);border-radius:3px;box-shadow:0 14px 32px #00000061}.time{font-family:var(--display);font-size:38px;line-height:.9;font-variant-numeric:tabular-nums}.time.low{color:var(--bad);animation:pulse 1s infinite}.clock-label{font-size:9px;letter-spacing:.26em;color:#f3ede180;margin-top:4px}@keyframes pulse{50%{opacity:.55}}.crosshair{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);transition:transform .12s ease}.crosshair:after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(243,237,225,.22)}.crosshair i{position:absolute;background:#f3ede1f2;box-shadow:0 0 4px #000000e6}.crosshair i:nth-child(1){left:16px;top:0;width:2px;height:9px}.crosshair i:nth-child(2){left:16px;bottom:0;width:2px;height:9px}.crosshair i:nth-child(3){top:16px;left:0;height:2px;width:9px}.crosshair i:nth-child(4){top:16px;right:0;height:2px;width:9px}.crosshair b{position:absolute;left:15px;top:15px;width:4px;height:4px;background:var(--orange);border-radius:50%;box-shadow:0 0 8px #ff7a1ae6}.crosshair.hit{transform:translate(-50%,-50%) scale(1.4)}.crosshair.target b{background:var(--amber);box-shadow:0 0 12px var(--amber)}.hitmark{position:absolute;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%) rotate(45deg);opacity:0;background:linear-gradient(var(--paper),var(--paper)) 0 0 / 3px 12px no-repeat,linear-gradient(var(--paper),var(--paper)) 100% 0 / 3px 12px no-repeat,linear-gradient(var(--paper),var(--paper)) 0 100% / 3px 12px no-repeat,linear-gradient(var(--paper),var(--paper)) 100% 100% / 3px 12px no-repeat}.hitmark.show{animation:hit .22s ease}@keyframes hit{0%{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.6)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(1.2)}}.hud-bottom{position:absolute;left:16px;right:16px;bottom:16px;display:flex;justify-content:space-between;align-items:flex-end}.tool-card{display:flex;align-items:center;gap:11px;padding:8px 10px 8px 8px;background:linear-gradient(180deg,#14100ded,#0c0a08e6);border:1px solid rgba(243,237,225,.12);border-radius:3px;box-shadow:0 12px 28px #00000061}.tool-icon{width:42px;height:42px;display:grid;place-items:center;font-size:21px;border-radius:3px;background:#ff7a1a21;border:1px solid rgba(255,122,26,.32)}.tool-body{min-width:0}.tool-name{font-family:var(--display);text-transform:uppercase;font-size:15px;letter-spacing:.06em}.tool-name span{color:var(--amber)}.tool-sub{font-size:10.5px;letter-spacing:.05em;color:#f3ede18c;margin-top:2px}.key-badge{margin-left:4px;padding:4px 7px;border-radius:3px;font-family:var(--display);font-size:10.5px;letter-spacing:.08em;color:#f3ede1cc;border:1px solid rgba(243,237,225,.22);background:#0000004d}.charge-pips{display:flex;gap:3px;margin-top:5px}.charge-pips i{width:13px;height:4px;border-radius:1px;background:var(--amber);box-shadow:0 0 6px #ffc2478c}.charge-pips i.spent{background:#f3ede124;box-shadow:none}.charge-card.empty{opacity:.45}.banner{position:absolute;left:50%;top:26%;transform:translate(-50%,-50%) scale(.92);font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(34px,6vw,76px);color:var(--paper);text-align:center;text-shadow:0 4px 0 rgba(0,0,0,.5),0 0 40px rgba(0,0,0,.6);opacity:0;transition:opacity .25s ease,transform .25s ease;pointer-events:none;line-height:.92;white-space:nowrap}.banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.banner em{font-style:normal;color:var(--orange)}.toast{position:absolute;left:50%;top:62%;transform:translate(-50%);background:#100d0bdb;border-left:3px solid var(--amber);padding:9px 16px;font-size:12.5px;letter-spacing:.03em;border-radius:2px;opacity:0;transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,-8px)}.aim-label{position:absolute;left:16px;bottom:92px;font-size:9px;letter-spacing:.22em;color:#f3ede159;display:flex;gap:8px;align-items:center}.aim-label b{color:#ff7a1a99;font-weight:600}.modal{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#090706b8;backdrop-filter:blur(5px);pointer-events:auto;padding:20px}.card{width:min(680px,94vw);background:linear-gradient(175deg,#221d19,#141110 70%);border:1px solid rgba(243,237,225,.13);border-top:4px solid var(--orange);border-radius:4px;padding:clamp(24px,4vw,40px);box-shadow:0 30px 80px #0000008c}.card h2{margin:8px 0 10px}.card-sub{color:#f3ede19e;font-size:14px;line-height:1.5;margin:0 0 22px}.controls-list{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;font-size:12px;color:#f3ede199}.controls-list b{color:var(--paper)}.stars{display:flex;gap:10px;font-size:46px;line-height:1;margin:12px 0 22px;color:#433b33}.stars .on{color:var(--amber);text-shadow:0 0 24px rgba(255,194,71,.45);animation:starpop .4s ease backwards}.stars .on:nth-child(2){animation-delay:.12s}.stars .on:nth-child(3){animation-delay:.24s}@keyframes starpop{0%{transform:scale(.4) rotate(-18deg);opacity:0}}.result-grade{display:flex;align-items:center;gap:14px;margin:0 0 22px}.grade-badge{width:62px;height:62px;display:grid;place-items:center;font-family:var(--display);font-size:34px;line-height:1;border-radius:4px;color:#1a0d04;background:linear-gradient(180deg,#ffd27a,var(--amber));box-shadow:0 4px #a8720c}.grade-badge.grade-s{background:linear-gradient(180deg,#fff2b0,#ffc247);box-shadow:0 4px #b07f10}.grade-badge.grade-a{background:linear-gradient(180deg,#ffc07a,#ff8a2b);box-shadow:0 4px #a8500c}.grade-badge.grade-b{background:linear-gradient(180deg,#cfd6dc,#9aa4ad);box-shadow:0 4px #5d666e;color:#14110f}.grade-badge.grade-c{background:linear-gradient(180deg,#c9a98d,#a57f5f);box-shadow:0 4px #6b4c33;color:#14110f}.grade-badge.grade-none{background:linear-gradient(180deg,#4a433c,#322c27);box-shadow:0 4px #201b17;color:#f3ede18c}.grade-label{font-size:9px;letter-spacing:.28em;color:#f3ede180;font-weight:700}.grade-credits{font-family:var(--display);font-size:16px;color:var(--amber);margin-top:3px}.result-stats{display:flex;gap:30px;flex-wrap:wrap;margin-bottom:20px}.result-stats div{display:flex;flex-direction:column}.result-stats b{font-family:var(--display);font-size:30px;color:var(--paper)}.result-stats span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#f3ede180;margin-top:3px}.credits-card{width:min(720px,94vw);max-height:88vh;overflow-y:auto}.credits-body{font-size:13px;line-height:1.6;color:#f3ede1bd}.credits-body b{color:var(--paper)}.credits-body p{margin:0 0 14px}#lock-hint{position:absolute;left:50%;top:56%;transform:translate(-50%);background:#100d0bd1;border:1px solid rgba(255,122,26,.6);padding:12px 20px;font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:13px;pointer-events:auto;cursor:pointer;border-radius:3px}body.shot-mode #overlay{display:none!important}.hint-touch,body.touch .hint{display:none}body.touch .hint-touch{display:block}body.touch .hud-bottom,body.touch .aim-label{display:none}#touch{position:absolute;inset:0;pointer-events:none;z-index:6}.touch-look{position:absolute;inset:0 0 0 34%;pointer-events:auto;touch-action:none}.touch-move{position:absolute;left:0;bottom:0;width:48%;height:64%;pointer-events:auto;touch-action:none}.touch-stick{position:absolute;left:108px;bottom:104px;width:112px;height:112px;transform:translate(-50%,50%);opacity:.55;transition:opacity .14s ease;pointer-events:none}.touch-stick.active{opacity:1}.stick-base{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 42%,#ffffff14,#08060585 72%);border:2px solid rgba(243,237,225,.3);box-shadow:inset 0 0 34px #0000008c,0 12px 30px #00000059}.stick-ticks i{position:absolute;background:#f3ede161;border-radius:1px}.stick-ticks i:nth-child(1){left:50%;top:9px;width:2px;height:9px;transform:translate(-50%)}.stick-ticks i:nth-child(2){left:50%;bottom:9px;width:2px;height:9px;transform:translate(-50%)}.stick-ticks i:nth-child(3){top:50%;left:9px;height:2px;width:9px;transform:translateY(-50%)}.stick-ticks i:nth-child(4){top:50%;right:9px;height:2px;width:9px;transform:translateY(-50%)}.stick-knob{position:absolute;left:50%;top:50%;width:50px;height:50px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% 34%,#ffc07a,#ff7a1a 62%,#d95c0c);border:2px solid rgba(255,226,190,.85);box-shadow:0 8px 22px #00000080,0 0 26px #ff7a1a59}.touch-stick.active .stick-knob{box-shadow:0 8px 22px #00000080,0 0 34px #ffa03c8c}.touch-btn{position:absolute;pointer-events:auto;touch-action:none;color:var(--paper);font-family:var(--display);border:1px solid rgba(243,237,225,.2);background:#100d0b9e;backdrop-filter:blur(5px);-webkit-tap-highlight-color:transparent;transition:transform .08s ease}.touch-btn:active{transform:scale(.94)}.touch-swing{right:max(24px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#ff964642,#120c0957 78%);border:2px solid rgba(255,205,165,.55);box-shadow:0 10px 26px #0000004d,inset 0 0 34px #00000038;backdrop-filter:blur(6px);color:var(--paper)}.touch-swing .tb-icon{font-size:40px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}.touch-swing:active{background:radial-gradient(circle at 50% 40%,#ffaa5a6b,#120c094d 78%)}.touch-charge{right:max(36px,env(safe-area-inset-right));bottom:calc(max(26px,env(safe-area-inset-bottom)) + 116px);width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 34%,#46362af2,#16120ff2);border:2px solid rgba(255,122,26,.55);box-shadow:0 10px 26px #0006}.touch-charge .tb-icon{font-size:24px}.touch-charge b{position:absolute;top:-7px;right:-7px;min-width:26px;text-align:center;background:var(--amber);color:#1a0d04;border-radius:999px;padding:2px 7px;font-size:14px;letter-spacing:0;box-shadow:0 3px 10px #0006}.touch-charge.empty{opacity:.38}.touch-pause{right:max(14px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:4px}.touch-pause i{width:4px;height:15px;border-radius:1px;background:var(--paper)}body.touch .hud-top{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:calc(max(12px,env(safe-area-inset-right)) + 56px)}body.touch .toast{top:auto;bottom:calc(max(26px,env(safe-area-inset-bottom)) + 244px);max-width:84vw;white-space:normal;text-align:center}body.touch .banner{top:26%}@media(max-width:900px){.hud-top{grid-template-columns:minmax(0,1fr) auto;gap:8px}.hud-progress{grid-column:1 / -1;grid-row:2}.hud-contract{max-width:none;min-width:0;width:fit-content;padding:7px 12px 7px 7px;gap:9px}.hud-no{font-size:22px;padding:7px 8px 5px}.hud-name{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-kicker,.hud-tagline{display:none}.hud-clock{min-width:0;padding:5px 11px 7px}.time{font-size:28px}.clock-label,.stamp,.tool-sub{display:none}.hint:not(.hint-touch){display:none}}@media(max-width:560px)and (orientation:portrait){.screen{padding:18px}.screen-head{flex-wrap:wrap;align-items:flex-start;gap:8px}.screen-head h2{font-size:32px}.head-right{gap:10px}.tally{font-size:15px;white-space:nowrap}.wordmark{font-size:clamp(62px,23vw,120px);margin:8px 0 12px}.lede{font-size:15px;margin-bottom:20px}.banner{font-size:clamp(26px,10vw,48px)}.contract-grid,.hammer-grid{grid-template-columns:1fr;gap:10px}.hammer{padding:14px}.hammer-name{font-size:20px}.credit-chip{font-size:12px;padding:6px 9px}.contract{padding:14px 14px 12px}.contract-name{font-size:21px}.contract-tag{min-height:0}.card{padding:20px;width:100%}.modal{padding:14px}.row .btn{flex:1 1 100%}.result-stats{gap:16px}.result-stats b{font-size:24px}.stars{font-size:38px}}@media(orientation:landscape)and (max-height:560px){.hud-top{grid-template-columns:minmax(0,1fr) minmax(170px,300px) auto;gap:8px}.hud-contract{grid-column:1;grid-row:1}.hud-progress{grid-column:2;grid-row:1}.hud-clock{grid-column:3;grid-row:1}.screen{padding:12px 16px}.wordmark{font-size:clamp(40px,13vh,76px);margin:2px 0 8px}.kicker{font-size:9px}.lede{font-size:13px;margin-bottom:12px;max-width:44ch}.btn{font-size:14px;padding:10px 18px}.hint{margin-top:10px;font-size:11px}.title-wrap{max-width:58%}.screen-head{margin-bottom:12px}.screen-head h2{font-size:30px}.screen-foot{margin-top:10px}.contract{padding:12px}.contract-name{font-size:18px}.contract-tag{min-height:0;font-size:11.5px}.hammer{padding:12px}.hammer-name{font-size:18px}.hammer-blurb{font-size:11.5px}.hammer-icon{width:40px;height:40px;font-size:22px}.modal{padding:10px;align-items:start;overflow-y:auto}.card{padding:20px;margin:0 auto}.stars{font-size:30px;margin:6px 0 12px}.result-grade{margin-bottom:14px}.grade-badge{width:50px;height:50px;font-size:26px}.result-stats{gap:18px;margin-bottom:12px}.hud-progress{padding:6px 10px 5px}.bar{height:14px}.bar-label{margin-top:4px;font-size:10px}.hud-contract{padding:5px 10px 5px 5px;gap:8px}.hud-no{font-size:18px;padding:6px 7px 4px}.hud-name{font-size:15px}.hud-clock{padding:4px 10px 6px}.time{font-size:24px}.touch-stick{width:92px;height:92px;left:74px;bottom:72px}.stick-knob{width:42px;height:42px}.touch-swing{width:70px;height:70px}.touch-swing .tb-icon{font-size:30px}.touch-charge{width:54px;height:54px;bottom:calc(max(22px,env(safe-area-inset-bottom)) + 84px)}.touch-charge .tb-icon{font-size:20px}body.touch .toast{bottom:calc(max(20px,env(safe-area-inset-bottom)) + 148px)}body.touch .banner{top:30%}}.contract-grid,.credits-card,#screen-contracts,.hammer-grid,#screen-shop{touch-action:pan-y}.touch-only{display:none}body.touch .controls-list:not(.touch-only){display:none}body.touch .touch-only{display:flex}
