/* Self-hosted UI uses system fallbacks; no external font requests. */
:root{color-scheme:dark;--night:#060c15;--muted:#99a6bd;--text:#f5f7ff;--mint:#a2ffe2;--gold:#f2ca91;--edge:rgba(190,229,255,.17)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#06101a}body{font-family:'Rajdhani','Segoe UI',sans-serif;color:var(--text)}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:disabled{opacity:.37;cursor:not-allowed}button:not(:disabled){transition:background .2s,border-color .2s,transform .2s}button:not(:disabled):hover{transform:translateY(-2px)}#game,#viewport{position:absolute;inset:0;overflow:hidden}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 29%,rgba(0,5,14,.1) 55%,rgba(1,5,16,.7) 110%)}.letterbox{position:absolute;left:0;width:100%;height:4px;z-index:3;background:#83ebd0;opacity:.6}.letterbox-top{top:0}.letterbox-bottom{bottom:0;opacity:.25}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;position:absolute;top:0;left:0;right:0;z-index:4;padding:22px 28px;background:linear-gradient(to bottom,rgba(3,8,18,.75),transparent);pointer-events:none}.brand,.chapter-heading,.header-actions{pointer-events:auto}.brand{display:flex;align-items:center;gap:11px}.brand-glyph{font-size:34px;color:var(--mint);text-shadow:0 0 26px #4bffc7}.brand strong{display:block;font:900 26px/.88 'Barlow Condensed',sans-serif;letter-spacing:3px}.brand small{display:block;font-size:10px;letter-spacing:2.1px;font-weight:700;color:#9aceca;margin-bottom:4px}.chapter-heading{text-align:center;margin-top:1px}.chapter-heading #chapter-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:3px;color:#9ef8dc}.chapter-heading #chapter-title{display:block;font:600 22px 'Barlow Condensed',sans-serif;letter-spacing:2px}.header-actions{display:flex;gap:8px}.icon-btn{background:rgba(9,19,31,.78);border:1px solid var(--edge);color:#ddfff2;border-radius:5px;width:36px;height:36px;font-size:20px;box-shadow:0 2px 14px rgba(0,0,0,.2)}.icon-btn:hover{border-color:#9bffe0;background:#15313b}
.hud-left{position:absolute;top:110px;left:28px;width:222px;z-index:3;text-shadow:0 1px 8px rgba(0,0,0,.55)}.hero-level{display:flex;align-items:center;gap:10px;margin-bottom:20px}.avatar{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid rgba(154,255,221,.6);background:#0c2430;border-radius:4px;box-shadow:inset 0 0 22px rgba(84,255,199,.18);font-size:28px;color:var(--mint)}.hero-level small{color:#9fb7bf;display:block;font-size:10px;font-weight:700;letter-spacing:2px}.hero-level strong{font-size:21px;font-family:'Barlow Condensed',sans-serif;letter-spacing:1px}.stat-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:1.15px;font-weight:700;color:#c7d6dc;margin:9px 0 5px}.stat-label b{color:#fff;font-size:12px;letter-spacing:0}.progress{height:7px;background:rgba(5,13,18,.83);border:1px solid rgba(192,255,238,.18);border-radius:3px;overflow:hidden}.progress span{display:block;height:100%;transition:width .22s;box-shadow:0 0 12px currentColor}.health span{background:linear-gradient(90deg,#bd5c68,#ff9e8c);color:#e48478}.experience span{background:linear-gradient(90deg,#3ca9d8,#a4ffe4);color:#80e9f2}.currency{font-size:11px;letter-spacing:1.35px;font-weight:700;margin-top:16px;color:#bed4d2}.currency span{font-size:22px;color:#f4ce92;vertical-align:middle}.currency b{color:#f4ce92;font-size:16px;margin-right:4px}
.hud-right{position:absolute;right:28px;top:111px;width:220px;z-index:3}.small-kicker{font-size:11px;font-weight:700;letter-spacing:2px;color:#7cdec4}.blink-dot{display:inline-block;background:#91e9d0;box-shadow:0 0 11px #6affe1;width:5px;height:5px;border-radius:50%;margin-left:7px;vertical-align:middle;animation:blink 2s infinite}@keyframes blink{50%{opacity:.2}}.hud-right h2{margin:9px 0 6px;font:700 22px/1.04 'Barlow Condensed',sans-serif;letter-spacing:1px}.hud-right p{margin:0 0 10px;font-size:13px;color:#d4e6e8;font-weight:600;line-height:1.25}.location-line{color:#92abb6;font-size:10px;letter-spacing:1.3px;font-weight:700}.hud-right canvas{display:block;margin:17px 0 0 auto;border:1px solid rgba(127,229,214,.29);background:rgba(6,21,29,.61);border-radius:50%;box-shadow:inset 0 0 22px rgba(42,255,202,.035),0 2px 14px rgba(0,0,0,.24)}
.message{position:absolute;z-index:3;left:28px;bottom:94px;display:flex;align-items:center;gap:9px;max-width:330px;border-left:2px solid rgba(138,255,211,.6);background:linear-gradient(90deg,rgba(9,27,34,.85),rgba(7,15,24,.39));padding:10px 14px 10px 9px;opacity:.95;transition:opacity .5s}.message-portrait{width:35px;height:35px;display:flex;align-items:center;justify-content:center;font-size:27px;color:#92e9f2;background:rgba(75,231,234,.12)}.message small{display:block;letter-spacing:1.5px;font-size:9px;color:#a1e9d2;font-weight:700}.message strong{display:block;font-weight:600;font-size:13px;line-height:1.23}.interact-prompt{position:absolute;top:61%;left:50%;transform:translate(-50%,-50%);z-index:3;font-size:14px;letter-spacing:2px;font-weight:700;white-space:nowrap;color:#f6fff9;text-shadow:0 0 17px #0d1618}.interact-prompt[hidden]{display:none}.interact-prompt kbd{border:1px solid #c2ffdf;background:#0e2d32;padding:4px 9px;margin-right:10px;border-radius:3px;box-shadow:0 0 24px #5beebb55}
.bottom-center{display:flex;gap:11px;position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:3}.ability{width:78px;height:79px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:1px;position:relative;background:linear-gradient(155deg,rgba(22,43,50,.86),rgba(4,11,20,.93));border:1px solid rgba(122,210,209,.37);box-shadow:inset 0 0 17px rgba(79,223,196,.07),0 3px 18px rgba(0,0,0,.26)}.ability.primary{border-color:rgba(167,245,226,.68);background:linear-gradient(155deg,rgba(29,87,86,.83),rgba(6,27,38,.93))}.ability kbd{position:absolute;top:5px;right:6px;font-size:9px;color:#bedbd6;font-family:inherit;font-weight:700}.ability-icon{font-size:31px;color:#b8ffe6;text-shadow:0 0 17px rgba(106,251,201,.5)}.ability strong{font-size:9px;letter-spacing:.5px}.ability-meter{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#1b2e34}.ability-meter i{display:block;height:100%;width:100%;background:#92ffe2;transition:width .15s}.bottom-help{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:3;color:rgba(191,210,215,.8);font:600 10px 'Rajdhani',sans-serif;letter-spacing:1.05px;white-space:nowrap}.bottom-help span{padding:0 10px;color:#77c3bb}
#toast{position:absolute;left:50%;top:25%;z-index:9;transform:translateX(-50%);font-weight:700;color:#dfffe6;text-shadow:0 0 15px #020609;letter-spacing:2px;font-size:18px;opacity:0;transition:opacity .3s;pointer-events:none;text-align:center}#toast.show{opacity:1}
.overlay{position:absolute;z-index:10;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,8,16,.82);backdrop-filter:blur(12px)}.overlay.show{display:flex}.overlay#menu{z-index:12;background:radial-gradient(ellipse at 50% 50%,rgba(6,30,39,.55),rgba(2,7,17,.96) 80%)}.menu-glow{position:absolute;width:64vmin;height:64vmin;border-radius:50%;border:1px solid rgba(125,255,207,.1);box-shadow:0 0 0 50px rgba(68,237,189,.018),0 0 0 100px rgba(68,237,189,.016),inset 0 0 150px rgba(57,218,204,.09);animation:orb 20s linear infinite;pointer-events:none}.menu-glow:before,.menu-glow:after{content:'';position:absolute;inset:13%;border:1px dashed rgba(145,236,218,.12);border-radius:50%}.menu-glow:after{inset:29%;border-style:solid;transform:rotate(40deg)}@keyframes orb{to{transform:rotate(360deg)}}.menu-content{position:relative;z-index:1;text-align:center;padding:20px;max-width:690px}.menu-overline{font-size:12px;font-weight:700;letter-spacing:4px;color:#98e8d0;margin-bottom:17px}.main-logo{font:900 clamp(88px,12vw,165px)/.75 'Barlow Condensed','Impact',sans-serif;letter-spacing:-2px;color:#fff;text-shadow:0 8px 50px #a9ecda25}.main-logo span{color:#adf8dc}.menu-content h1{font:600 clamp(20px,3vw,36px) 'Barlow Condensed',sans-serif;letter-spacing:10px;margin:16px 0 20px;color:#edffff}.menu-content>p{font-size:17px;color:#b8cbcf;margin:0 auto 28px}.menu-buttons{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.btn{position:relative;border:1px solid rgba(164,229,218,.35);padding:13px 23px;font-size:13px;letter-spacing:2px;font-weight:700;min-height:49px;min-width:180px;background:rgba(10,31,39,.9);color:#e8fffa}.btn span{margin-left:13px}.btn-primary{color:#062019;background:linear-gradient(130deg,#8fffda,#b7fff0);border-color:#b3ffe9;box-shadow:0 4px 30px rgba(85,253,203,.13)}.btn-primary:hover{background:#fff;box-shadow:0 4px 35px rgba(130,255,212,.28)}.btn-secondary:hover{border-color:#a3ffe6;background:rgba(22,53,61,.9)}.menu-stats{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:40px;font-size:10px;letter-spacing:1.6px;color:#91aab3;font-weight:700}.menu-stats b{display:block;color:#f3fffb;font-size:23px;font-family:'Barlow Condensed',sans-serif;letter-spacing:2px}.menu-stats i{height:26px;width:1px;background:rgba(169,242,236,.24)}.menu-footer{margin-top:40px;color:#90a7aa;font-size:11px;letter-spacing:1.4px;font-weight:700}.menu-footer span{padding:0 10px;color:#3d7779}
.panel{width:min(92vw,600px);max-height:88vh;overflow-y:auto;padding:32px 37px;background:linear-gradient(142deg,rgba(13,29,42,.98),rgba(6,13,26,.98));border:1px solid rgba(121,221,212,.32);box-shadow:0 30px 130px #000a,0 0 60px #51e6d01a;position:relative}.panel h2{font:800 clamp(33px,5vw,53px)/.99 'Barlow Condensed',sans-serif;letter-spacing:1.3px;margin:14px 0 9px}.panel p{color:#b9ced3;font-size:17px;line-height:1.46;margin:14px 0 22px}.story-rule{width:110px;height:2px;background:linear-gradient(90deg,#a5ffe5,transparent);margin:18px 0}.story-panel #dialog-body{min-height:96px;font-size:20px;color:#e2eff3}.panel-tip{font-size:10px;color:#7f9a9e;letter-spacing:2px;margin-top:18px}.upgrade-panel{width:min(94vw,820px);text-align:center}.upgrade-panel>p{margin:5px 0 25px}.upgrade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.upgrade-card{min-height:196px;text-align:center;padding:20px 13px;border:1px solid rgba(120,221,210,.25);background:linear-gradient(150deg,rgba(22,53,66,.8),rgba(6,22,33,.94));color:#eafffc;display:flex;flex-direction:column;align-items:center}.upgrade-card:hover{border-color:#9fffdd;background:linear-gradient(150deg,rgba(34,94,92,.85),rgba(8,32,42,.96));transform:translateY(-5px)!important}.upgrade-card .upgrade-icon{font-size:50px;line-height:1;color:#a7ffe5;margin:6px 0 17px}.upgrade-card strong{font:700 24px 'Barlow Condensed',sans-serif;letter-spacing:.5px}.upgrade-card small{font-size:13px;color:#bad1ce;margin-top:7px;line-height:1.25}.upgrade-card em{font-size:11px;letter-spacing:1px;color:#83c8b8;font-style:normal;margin-top:auto;padding-top:12px}.sheet-panel{width:min(93vw,625px)}.sheet-panel .panel-close{position:absolute;top:12px;right:17px;background:transparent;border:0;font-size:30px;color:#b8e1d9}.char-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.char-stat{border:1px solid rgba(177,226,221,.12);padding:9px 13px;background:#0c1c29}.char-stat small{display:block;letter-spacing:1.1px;color:#90acae;font-size:10px}.char-stat strong{font-size:22px;color:#f0fff9}.forge-title{display:flex;justify-content:space-between;align-items:center;color:#b1fae1;letter-spacing:2px;font-size:13px;font-weight:700;border-bottom:1px solid rgba(159,240,221,.18);padding:12px 0 10px}.forge-title span{color:#f1d1a1;font-size:11px}.forge-items{display:grid;gap:9px;margin-top:12px}.forge-item{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:11px;background:rgba(39,69,77,.24);border:1px solid rgba(173,223,217,.12)}.forge-item strong{display:block;font-size:16px}.forge-item small{display:block;color:#a3c4c6;font-size:12px}.forge-item button{flex-shrink:0;background:#b7ffe7;color:#051e22;border:0;padding:9px 12px;font-weight:700;font-size:13px}.save-notice{font-size:12px!important;color:#819ca5!important;margin-bottom:0!important}.pause-panel{text-align:center;width:min(92vw,440px)}.pause-panel .btn{display:block;width:100%;margin:9px 0}.end-stats{display:flex;justify-content:space-around;gap:10px;color:#f7e3ba;font-weight:700;letter-spacing:1px;margin-bottom:20px}.story-panel#unused{display:none}
.touch-controls{display:none;position:absolute;z-index:5;bottom:max(18px,env(safe-area-inset-bottom));left:20px;right:20px;justify-content:space-between;align-items:end;pointer-events:none}.touch-pad{width:120px;height:120px;background:rgba(12,39,45,.37);border:2px solid rgba(140,253,226,.25);border-radius:50%;position:relative;pointer-events:auto;touch-action:none}.touch-pad:before{content:'MOVE';position:absolute;top:9px;left:0;right:0;text-align:center;font-size:10px;color:#94bcb5;letter-spacing:1.4px}.touch-pad #touch-stick{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(126,243,213,.42);border:2px solid rgba(186,255,234,.7);left:34px;top:34px;box-shadow:0 0 12px #5bf5bd22}.touch-actions{display:flex;gap:8px;align-items:end;pointer-events:auto}.touch-button{border-radius:50%;width:58px;height:58px;border:1px solid rgba(158,251,230,.7);background:#102e39ba;color:#aaffdc;font-size:29px;box-shadow:inset 0 0 26px #6aefb01b}.touch-button.big{width:75px;height:75px;font-size:41px;background:#1b5352c9}.touch-button.interact-button{font-size:23px;font-weight:700}#error{position:absolute;inset:0;z-index:30;background:#070e18;color:#fff;text-align:center;display:grid;place-content:center;padding:20px}#error[hidden]{display:none}
@media(max-width:780px){.topbar{padding:14px}.brand strong{font-size:20px}.brand small{font-size:8px}.brand-glyph{font-size:25px}.chapter-heading{display:none}.hud-left{left:14px;top:72px;width:171px}.hero-level{margin-bottom:8px}.hero-level strong{font-size:18px}.avatar{width:35px;height:35px;font-size:22px}.stat-label{font-size:9px;margin:5px 0 3px}.hud-right{right:14px;top:82px;width:150px;text-align:right}.hud-right h2{font-size:18px}.hud-right p{font-size:11px}.hud-right .small-kicker{font-size:9px}.hud-right canvas{width:105px;height:105px;margin-top:9px}.location-line{font-size:8px}.bottom-center,.bottom-help{display:none}.message{bottom:160px;left:12px;max-width:290px;padding:7px}.touch-controls{display:flex}.menu-content h1{letter-spacing:5px}.menu-stats{margin-top:22px;gap:12px}.menu-footer{margin-top:24px}.panel{padding:23px 19px}.upgrade-card{min-height:162px;padding:10px 7px}.upgrade-card .upgrade-icon{font-size:36px}.upgrade-card strong{font-size:20px}.upgrade-card small{font-size:11px}.interact-prompt{top:49%}}
@media(max-width:470px){.hud-right{top:86px}.hud-right .location-line{display:none}.hud-right canvas{width:80px;height:80px}.hud-left{width:150px}.brand strong{font-size:19px}.menu-overline{font-size:10px;letter-spacing:2px}.menu-content>p{font-size:15px}.menu-stats{font-size:9px}.upgrade-cards{gap:5px}.upgrade-card{min-height:165px}.upgrade-card strong{font-size:18px}.upgrade-card small{font-size:11px}.char-stats{grid-template-columns:repeat(2,1fr)}.message{bottom:156px;max-width:250px}.message strong{font-size:11px}.touch-pad{width:108px;height:108px}.touch-pad #touch-stick{left:28px;top:28px}.touch-button{width:51px;height:51px}.touch-button.big{width:68px;height:68px}.menu-stats i{display:none}}
@media(pointer:coarse){.touch-controls{display:flex}.bottom-center,.bottom-help{display:none}}
#crosshair{position:fixed;left:50%;top:50%;width:20px;height:20px;border:1px solid rgba(202,255,232,.65);border-radius:50%;transform:translate(-50%,-50%);z-index:6;pointer-events:none;box-shadow:0 0 11px rgba(74,255,192,.37),inset 0 0 8px rgba(94,238,217,.1)}
#crosshair:before,#crosshair:after{content:'';position:absolute;background:#c8ffe8;box-shadow:0 0 6px #7dffce}#crosshair:before{width:6px;height:1px;top:9px;left:6px}#crosshair:after{height:6px;width:1px;top:6px;left:9px}

/* v0.2 collectible equipment and inventory */
.inventory-shortcut{margin-left:8px;background:transparent;border:1px solid rgba(177,248,216,.3);padding:3px 8px;color:#c7f8e6;font-size:10px;font-weight:700;letter-spacing:.7px;cursor:pointer}
.equipment-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0 20px}
.gear-slot{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-height:86px;padding:11px;background:#0a2430;border:1px solid #325062}
.gear-slot small{font-size:10px;letter-spacing:1.4px;color:#8ca8af}
.gear-slot strong{font-size:15px;line-height:1.2}
.gear-slot button{margin-top:auto;background:none;border:1px solid #5a787d;color:#a3ddd8;padding:3px 7px;font-size:10px;cursor:pointer}
.inventory-items{display:grid;gap:6px;max-height:235px;overflow-y:auto;padding-right:4px;margin:12px 0 22px}
.gear-item{display:flex;justify-content:space-between;gap:12px;padding:10px;background:rgba(20,46,60,.74);border:1px solid #476273;border-left:3px solid #b8c4c7}
.gear-item.rarity-uncommon{border-left-color:#83e2b1}.gear-item.rarity-rare{border-left-color:#84adff}.gear-item.rarity-epic{border-left-color:#d7a0ff}.gear-item.rarity-legendary{border-left-color:#ffce79}
.gear-info{display:flex;flex-direction:column;gap:2px;min-width:0}.gear-info small{font-size:9px;letter-spacing:1.2px}.gear-info strong{font-size:15px;color:#e3f7ed}.gear-info span{font-size:11px;color:#9db8b6;line-height:1.4}
.gear-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}
.gear-actions button{border:1px solid #668b88;background:#154e4d;color:#d7fff1;padding:8px 9px;font-size:10px;font-weight:700;letter-spacing:.3px;cursor:pointer}
.gear-actions button:last-child:not(:first-child){background:transparent;color:#edc9a3;border-color:#846d60}
.gear-actions button:disabled{opacity:.55;cursor:default}
@media(max-width:470px){.equipment-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.gear-slot{padding:6px}.gear-slot strong{font-size:11px}.gear-item{flex-wrap:wrap}.gear-actions{width:100%}.inventory-shortcut{font-size:8px;padding:2px 4px}}

.echo-counter{margin-top:8px;font-weight:700;letter-spacing:1.1px;font-size:10px;color:#c4f8dd}.echo-archive{max-height:180px;overflow:auto;display:grid;gap:5px;margin-top:12px}.echo-card{padding:9px 12px;border-left:2px solid #83e5d6;background:#112837}.echo-card b{display:block;font-size:13px;color:#d7f4e9}.echo-card span{display:block;font-size:12px;color:#b1cccd;line-height:1.4;margin-top:3px}@media(max-width:470px){.echo-counter{font-size:8px}}
/* Preserve legible panel headings when the host embeds the game under different styles. */
.panel h2,.sheet-panel h2{color:#f1fffb}
.sheet-panel h2{font-size:clamp(27px,3.3vw,41px);line-height:1.02;letter-spacing:1.1px}
.gear-slot strong{color:#e9faf7}

/* Version 0.3 — readable boss combat and contract/save panels */
.contract-counter{color:#efd8ac;font-size:10px;letter-spacing:1.1px;font-weight:700;margin-top:6px}
.boss-hud{position:absolute;z-index:4;top:78px;left:50%;width:min(460px,40vw);transform:translateX(-50%);text-align:center;pointer-events:none}
.boss-hud[hidden]{display:none}
.boss-hud-title{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#ffd0c7;font:700 12px 'Rajdhani',sans-serif;letter-spacing:2.2px;margin-bottom:5px}
.boss-hud-title small{font-size:9px;color:#ffc9aa;letter-spacing:1px}
.boss-healthbar{height:12px;padding:2px;border:1px solid #a56c67b0;border-radius:4px;background:#190d17b5;box-shadow:0 0 20px #ff6d5926;overflow:hidden}
.boss-healthbar>div{height:100%;border-radius:2px;background:linear-gradient(90deg,#d44a69,#ff9c65);box-shadow:0 0 20px #ff875ba0;transition:width .15s}
.contract-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 25px}
.contract-item{background:linear-gradient(120deg,#0c242b,#0c1a28);border:1px solid #5c929045;border-radius:7px;padding:12px;min-width:0}
.contract-item-header{display:flex;justify-content:space-between;gap:9px;margin-bottom:7px}
.contract-item-header strong{font:700 14px 'Rajdhani',sans-serif;color:#def9ee}
.contract-item-header b{font-size:13px;color:#e4bb86;white-space:nowrap}
.contract-item small{display:block;min-height:33px;font-size:11px;color:#9eb9c0;line-height:1.4}
.contract-track{height:4px;background:#243742;border-radius:5px;margin-top:10px;overflow:hidden}
.contract-track i{display:block;height:100%;background:linear-gradient(90deg,#3da6c0,#a4fbd1);transition:width .2s}
.contract-complete{border-color:#a4fbd190}.contract-complete .contract-item-header strong:before{content:'✓ ';color:#a4fbd1}
.save-toolbox{border:1px solid #7eccc06b;background:#09282e78;border-radius:7px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}
.save-toolbox strong{font:700 13px 'Rajdhani',sans-serif;letter-spacing:1.7px;color:#d4fff1}.save-toolbox small{display:block;font-size:11px;color:#a8bdc0;line-height:1.3;margin-top:4px}
.save-actions{display:flex;gap:8px;flex-shrink:0}.save-actions button{border:1px solid #6eb4ac80;color:#d1fff1;background:#122f39;border-radius:3px;padding:8px 10px;font-size:11px;font-weight:700}
.save-actions button:hover{background:#1b4a4b}
@media(max-width:1000px){.boss-hud{top:78px;width:38vw}.boss-hud-title{font-size:10px;letter-spacing:1px}}
@media(max-width:780px){.boss-hud{top:164px;width:55vw}.contract-items{grid-template-columns:1fr}.save-toolbox{flex-direction:column;align-items:stretch}}
@media(max-width:470px){.boss-hud{top:203px;width:67vw}.boss-hud-title{font-size:9px}.boss-hud-title small{font-size:7px}.contract-counter{font-size:8px}.save-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.menu-glow,.blink-dot{animation:none!important}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

.pause-settings{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}.pause-settings .btn{font-size:11px;min-width:145px;padding:10px 12px}

#damage-flash{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at center,transparent 30%,rgba(255,65,75,.78) 100%);opacity:0;pointer-events:none}

.upgrade-card.gamepad-selected{border-color:#bbffe7;box-shadow:0 0 0 2px rgba(180,255,231,.55),0 0 28px rgba(87,248,192,.23)}

/* v0.5 skill-chain reward, placed above the touch controls. */
#combo-hud{position:absolute;top:29%;left:50%;transform:translateX(-50%);z-index:4;
 text-align:center;color:#fff;pointer-events:none;text-shadow:0 2px 12px #08121e,0 0 25px #00b9aa;
 background:linear-gradient(90deg,transparent,rgba(10,46,51,.55),transparent);padding:9px 26px;min-width:160px}
#combo-hud[hidden]{display:none}
#combo-hud strong{display:block;font:800 clamp(22px,2.4vw,35px)/1 'Barlow Condensed',sans-serif;letter-spacing:3px;color:#aaffd9}
#combo-hud small{display:block;margin-top:5px;font-size:10px;letter-spacing:1.2px;color:#ffe3af}
@media(max-width:780px){#combo-hud{top:35%;padding:6px 12px}#combo-hud small{font-size:8px}}

.diagnostic-link{display:inline-block;margin-top:16px;color:#a9ffe5;font-weight:800;letter-spacing:1.3px;text-decoration:underline;text-underline-offset:5px}
.diagnostic-link:focus-visible{outline:3px solid #a9ffe5;outline-offset:4px}
