.brand small{font-size:10px;letter-spacing:3px;color:var(--cyan);margin-left:10px}.header-right{gap:20px}.hud-last strong{font-size:25px;color:var(--cyan);letter-spacing:1px}.run-promise{font-size:9px!important;line-height:1.6!important;color:#708899!important;margin:18px 0 0!important}.encounter-list{display:grid;gap:3px}.encounter-item{display:flex;gap:11px;align-items:center;color:#637987;padding:9px 10px;border:1px solid transparent;font-size:11px}.encounter-item .number{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#536c7b}.encounter-item.active{border-color:#83eee24d;background:#83eee209;color:var(--white)}.encounter-item.active .number{color:var(--cyan)}.encounter-item.done{color:#a0b6c0}.encounter-item.done .number{color:var(--cyan)}.encounter-item.active:after{content:'●';font-size:7px;color:var(--cyan);margin-left:auto}.weapon-tags{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}.weapon-tags span{border:1px solid #293e4b;padding:4px 6px;font:8px 'IBM Plex Mono',monospace;color:#a6becb}.mission-progress{height:3px;background:#23323f;margin-top:9px;position:relative}.mission-progress:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent calc(16.666% - 1px),#080d16 calc(16.666% - 1px),#080d16 16.666%)}#runProgress{height:100%;background:var(--cyan);width:0}.mission-caption{display:flex;justify-content:space-between;gap:12px;font:9px 'IBM Plex Mono',monospace;color:#869ba9;margin-top:12px;line-height:1.6}.mission-caption span:last-child{color:#a3d1cb}.core-swatch{background:#c4a3ff;transform:rotate(45deg)}.encounter-banner{position:absolute;top:12%;left:10%;right:10%;z-index:3;pointer-events:none;text-align:center;text-shadow:0 2px 12px #02070f;background:linear-gradient(90deg,transparent,#09131ee6,transparent);padding:13px}.encounter-banner>span{display:block;font:8px 'IBM Plex Mono',monospace;color:var(--cyan);letter-spacing:1.5px}.encounter-banner strong{display:block;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:32px;margin:5px 0;color:#f2f6f7;font-weight:500}.encounter-banner small{color:#afc6d2;font-size:10px}.upgrade-inner{width:94%;max-width:820px;text-align:center;padding:25px 12px}.upgrade-inner h2{font-size:47px;margin:14px 0}.upgrade-inner>p{font-size:12px;color:#9fb2c1;margin:0 0 24px}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade-card{position:relative;text-align:left;background:#101e2a;border:1px solid #34535d;padding:20px 16px;min-height:195px;transition:background .15s,border .15s}.upgrade-card:hover,.upgrade-card:focus-visible{background:#1b353d;border-color:var(--cyan)}.upgrade-card>span{font:8px 'IBM Plex Mono',monospace;letter-spacing:1.5px;color:var(--cyan)}.upgrade-card>b{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:31px;display:block;font-weight:500;margin:14px 0 10px;line-height:1}.upgrade-card>p{font-size:11px;line-height:1.65;color:#bccbd4;margin:0 0 20px}.upgrade-card>small{display:block;font:9px 'IBM Plex Mono',monospace;color:#7e9ba9;line-height:1.6}.upgrade-card>i{font:10px 'IBM Plex Mono',monospace;position:absolute;top:17px;right:16px;color:#5f8995}.upgrade-help{display:block;margin-top:18px;font-size:9px;color:#7993a1}.upgrade-screen{background:#07111bf5;z-index:8}.end-inner h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:60px;color:var(--cyan);line-height:1}.run-stats{gap:35px}.run-stats b{font-size:21px}.practice-select{display:flex;gap:6px;margin-top:9px}.practice-select select{width:100%;min-width:0;background:#122331;color:#c9dfe7;border:1px solid #365460;padding:8px 5px;font-size:10px}.practice-select button{background:#83eee2;color:#0a2528;border:0;white-space:nowrap;font-size:10px;padding:0 8px}#practiceTools{margin-top:18px}footer a{color:var(--cyan);margin-left:12px}.underbar>span{flex-wrap:wrap}.field-note{min-height:54px}#best{color:var(--cyan)}
@media(max-width:1050px){.encounter-item{padding:7px 8px}.upgrade-card{padding:14px 12px;min-height:175px}.upgrade-card>b{font-size:27px}.upgrade-card>p{font-size:10px}.upgrade-inner h2{font-size:38px}.upgrade-inner>p{margin-bottom:15px}}
@media(max-width:760px){.brand small{font-size:8px;margin-left:5px}.brand{font-size:17px;letter-spacing:1px}.header-right{gap:10px}.quiet{padding:2px;font-size:9px}.run-promise{font-size:8px!important;margin-top:10px!important}.encounter-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px}.encounter-item{font-size:9px;gap:5px;padding:7px}.encounter-item .number{font-size:8px}.encounter-item.active:after{display:none}.field-note{min-height:0}.weapon-tags{display:none}.mission-caption{font-size:8px}.encounter-banner{top:12%;padding:6px;left:2%;right:2%}.encounter-banner strong{font-size:23px}.encounter-banner small{font-size:8px}.encounter-banner>span{font-size:6px}.upgrade-screen{position:fixed;inset:0;width:100vw;height:100dvh;overflow:auto;align-items:flex-start;padding-top:30px}.upgrade-inner{padding:16px 12px;width:min(450px,100%)}.upgrade-inner h2{font-size:38px}.upgrade-grid{grid-template-columns:1fr;gap:10px}.upgrade-card{min-height:0;padding:15px}.upgrade-card>b{font-size:27px;margin:9px 0}.upgrade-card>p{font-size:11px;margin-bottom:9px}.upgrade-card>small{font-size:9px}.upgrade-help{font-size:9px;line-height:1.7;margin-bottom:25px}.run-stats{gap:22px}.run-stats b{font-size:18px}.end-inner h2{font-size:39px;margin:16px 0}.end-inner{padding:15px}.underbar{font-size:7px}.underbar i{margin-left:4px}#practiceTools{display:block;grid-column:1/-1}.practice-select{max-width:400px}.practice-select select{font-size:12px;padding:10px}.practice-select button{font-size:12px}.mission-caption span:first-child{max-width:68%}.hud-last strong{font-size:21px}.start-inner>p{margin-bottom:12px}.primary{padding:10px 16px}.start-inner h1{font-size:clamp(36px,9.5vw,60px)}}
.difficulty-picker{border:0;padding:0;margin:0 auto 17px;max-width:340px}.difficulty-picker legend{font:7px 'IBM Plex Mono',monospace;letter-spacing:1px;color:#91a9b7;text-align:center;margin-bottom:9px}.difficulty-picker>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.difficulty-picker button{border:1px solid #35515d;background:#0d1e2b;color:#b6cbd7;padding:9px 14px;font-size:12px}.difficulty-picker button[aria-pressed=true]{border-color:var(--cyan);background:#163936;color:#d4fff6}.difficulty-picker small{display:block;font:8px 'IBM Plex Mono',monospace;color:#8fadb8;margin-top:5px}.round-clock{padding:14px 16px 12px;background:#0f1c28;border:1px solid #2a414e;border-top:0;display:grid;grid-template-columns:1fr 1.3fr;gap:10px 20px;align-items:center}.round-clock>div:first-child{display:flex;align-items:center;gap:14px}.round-clock span,.round-clock small{font:9px 'IBM Plex Mono',monospace;letter-spacing:1px;color:#8fa8b7}.round-clock strong{font:23px 'IBM Plex Mono',monospace;color:#c4fff3;white-space:nowrap}.round-track{height:4px;background:#263e4b;overflow:hidden}.round-track>div{height:100%;background:var(--cyan);width:100%;transition:width .12s linear}.round-clock small{grid-column:1/-1;font-size:8px;letter-spacing:.7px}.start-inner h1{font-size:clamp(38px,4.5vw,66px);margin:14px 0}.start-inner>p{margin-bottom:16px}.start-controls{margin-top:18px}.run-promise{margin-top:12px!important}
@media(max-width:760px){.difficulty-picker{margin-bottom:10px;max-width:290px}.difficulty-picker legend{font-size:6px;margin-bottom:6px}.difficulty-picker button{font-size:10px;padding:7px 12px}.difficulty-picker small{font-size:7px;margin-top:4px}.start-inner h1{font-size:clamp(32px,8vw,48px);margin:9px 0}.start-inner>p{font-size:10px;margin:8px 0 11px}.run-promise{display:none}.start-inner{padding:20px 12px 10px}.round-clock{padding:11px 12px;grid-template-columns:1.2fr 1fr;gap:8px}.round-clock strong{font-size:18px}.round-clock span{font-size:7px;letter-spacing:0}.round-clock>div:first-child{gap:8px}.round-clock small{font-size:7px}.round-clock:has(#roundCountdown:not(:empty)){min-height:69px}}

@media(max-width:760px){.arena:has(#startScreen:not(.hidden)){aspect-ratio:160/170}}

/* Heart surface renderer. Original canvases form its live texture and input layer. */
#heartCanvas{z-index:0}#fieldCanvas{opacity:0;pointer-events:none}#overlayCanvas{opacity:0;cursor:crosshair}body.flat-fallback #fieldCanvas,body.flat-fallback #overlayCanvas{opacity:1}body.flat-fallback #heartCanvas{display:none}.surface-caption{padding:9px 13px;background:#121522;border:1px solid #33414c;border-top:0;color:#acc8d3;font:8px 'IBM Plex Mono',monospace;letter-spacing:.8px}.arena{background:radial-gradient(ellipse,#201827,#07101a)}.encounter-banner{top:7%;padding:8px}.encounter-banner strong{font-size:26px}.screen{background:#07111bd4}.arena:has(#startScreen:not(.hidden)) #heartCanvas{opacity:.75}.start-inner h1{font-size:clamp(38px,4.5vw,66px)}

.surface-map{position:absolute;z-index:2;right:13px;bottom:14px;width:132px;border:1px solid #83eee24d;background:#07111be8;pointer-events:none}.surface-map span{display:block;font:6px 'IBM Plex Mono',monospace;color:#b3d4df;padding:6px}.arena .surface-map canvas{position:static;width:100%;height:auto;display:block}.arena:has(#startScreen:not(.hidden)) .surface-map{display:none}@media(max-width:760px){.surface-map{width:91px;right:8px;bottom:8px}.surface-map span{font-size:5px;padding:4px}}@media(pointer:coarse){.surface-map{bottom:auto;top:35px}}
