@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&family=Outfit:wght@400;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#090d19;--surface:#161b2e;--surface2:#1e263d;--line:#2b354d;--ink:#f5f7ff;--muted:#8795b4;--teal:#64ead9;--purple:#a77bff;--yellow:#ffcc70;--danger:#ff7c8c;font-family:'Vazirmatn',Tahoma,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{overflow-x:hidden;background:radial-gradient(ellipse at 80% -5%,#2b2256 0,transparent 43%),radial-gradient(ellipse at 0% 100%,#113b3d 0,transparent 45%),var(--bg)}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.hidden{display:none!important}.app{position:relative;min-height:100vh}.screen{position:relative}.stars{pointer-events:none;position:fixed;inset:0;opacity:.3;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,black,transparent 80%)}.eyebrow,.kicker{font:700 11px 'Outfit',sans-serif;letter-spacing:2px;color:var(--teal);text-transform:uppercase}.live-dot{display:inline-block;vertical-align:middle;width:8px;height:8px;background:#4bf3b9;box-shadow:0 0 13px #4bf3b9;border-radius:50%;margin-left:6px}.welcome-screen{max-width:1140px;min-height:100vh;margin:auto;padding:45px 28px 60px;display:flex;flex-direction:column;align-items:center}.welcome-hero{text-align:center}.logo-symbol{font-size:56px;line-height:1.5;filter:drop-shadow(0 4px 20px #7b51fa66)}.logo-symbol span{font-size:30px;margin-right:-18px}.welcome-hero h1{font-size:clamp(40px,5vw,68px);font-weight:900;letter-spacing:-2px;margin:-8px 0 5px}.welcome-hero h1 em{font-style:normal;background:linear-gradient(110deg,var(--teal),var(--purple));color:transparent;background-clip:text}.tagline{color:#c1c9dd;font-size:15px;margin:0 0 20px}.feature-pills{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.feature-pills span{border:1px solid #3b4459;border-radius:30px;color:#afbcd3;font-size:12px;padding:5px 14px;background:#ffffff08}.entrance-box{width:min(760px,100%);margin-top:37px;border:1px solid #394262;border-radius:22px;padding:24px;background:linear-gradient(135deg,#1b2138f5,#11182aed);box-shadow:0 24px 90px #0007}.field-label{display:block;font-size:12px;font-weight:700;margin:0 0 9px;color:#bec9e0}.text-field{width:100%;height:48px;color:#fff;padding:10px 15px;border:1px solid #414f6d;border-radius:12px;background:#111728;transition:border .2s}.text-field:focus{border-color:var(--teal);outline:none}.entry-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.entry-panel{padding:18px;border:1px solid #3c4660;border-radius:15px;background:#ffffff05}.panel-top{display:flex;gap:11px;align-items:center;margin-bottom:22px}.panel-top b{display:block;font-size:15px}.panel-top small{display:block;color:var(--muted);font-size:11px}.panel-icon{display:grid;place-items:center;background:#343054;width:42px;height:42px;font-size:23px;border-radius:13px}.language-toggle{display:flex;gap:8px;margin-bottom:18px}.lang-btn{background:#202940;border:1px solid #3a4863;padding:8px 10px;flex:1;border-radius:10px;color:#9eacc8}.lang-btn.active{background:#203f43;border-color:var(--teal);color:var(--teal)}.primary-button,.secondary-button{display:flex;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:10px 18px;border-radius:11px;border:0;font-weight:800;transition:transform .15s,filter .15s}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.primary-button{background:linear-gradient(100deg,#52dec9,#76d6ee);color:#06252d}.secondary-button{color:#f0e6ff;background:#54418d}.entry-panel .primary-button,.entry-panel .secondary-button{width:100%;margin-top:14px}.join-panel .panel-top{margin-bottom:22px}.code-input{text-align:center;letter-spacing:4px;text-transform:uppercase;font-weight:800;font-family:'Outfit',sans-serif}.footnote,.hint{color:#7e8eac;font-size:11px;text-align:center;margin:17px 0 0}.top-nav{display:flex;align-items:center;justify-content:space-between}.brand-inline{display:flex;align-items:center;gap:9px;direction:ltr;font:800 16px 'Outfit',sans-serif;letter-spacing:1px}.brand-inline span{font-size:24px}.brand-inline i{font-style:normal;color:var(--teal)}.ghost-btn{border:1px solid #465371;color:#dce6fa;background:transparent;border-radius:11px;padding:8px 16px;font-size:12px}.lobby-screen{max-width:1120px;margin:0 auto;padding:24px 25px 40px}.lobby-heading{text-align:center;margin:25px 0 16px}.lobby-heading h2{font-size:32px;margin:3px 0}.lobby-heading p{color:#acbad3;font-size:13px;margin:0}.lobby-details{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.room-code-box{display:flex;align-items:center;gap:12px;padding:9px 15px;border:1px solid #3d4964;background:#1a2134;border-radius:12px}.room-code-box small{color:var(--muted);font-size:10px}.room-code-box strong{font:800 18px 'Outfit',Tahoma,sans-serif;letter-spacing:2px}.room-code-box button{border:0;background:#334661;color:#ddedff;border-radius:7px;font-size:10px;padding:6px}.player-bars{display:flex;gap:12px;margin:16px auto 20px;max-width:660px}.player-pill{flex:1;padding:12px 14px;border:1px solid #46516d;background:#20283e;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.player-pill small{color:var(--muted);font-size:10px}.player-pill strong{font-size:12px}.player-pill.waiting{border-style:dashed;opacity:.7}.lobby-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.hero-pick{position:relative;min-height:151px;border-radius:14px;text-align:center;border:1px solid #3d4765;color:var(--ink);padding:13px 8px 10px;background:linear-gradient(140deg,#232a45,#171f35);transition:transform .15s,background .15s,border .15s;overflow:hidden}.hero-pick:hover{transform:translateY(-2px)}.hero-pick.selected{border-color:var(--teal);box-shadow:inset 0 0 0 1px #6cefd799,0 0 16px #44ffdd18;background:linear-gradient(140deg,#23454c,#19273c)}.hero-pick .checkmark{position:absolute;left:10px;top:8px;background:var(--teal);color:#122932;width:21px;height:21px;line-height:21px;border-radius:7px;font-size:13px;opacity:0}.hero-pick.selected .checkmark{opacity:1}.hero-emoji{display:block;font-size:34px;filter:drop-shadow(0 2px 9px #66d9f344);margin:3px}.hero-pick b{display:block;font-size:12px;margin:5px 0 0}.hero-pick small{display:block;font-size:10px;color:var(--muted);margin-top:3px;min-height:26px}.hero-pick .cost{font:700 12px 'Outfit',Tahoma;background:#28354c;padding:2px 9px;border-radius:12px}.lobby-bottom{margin-top:18px;display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border:1px solid #44506e;border-radius:13px;background:#192137}.deck-selected{font-size:13px}.deck-selected strong{color:var(--teal)}.deck-selected small{display:block;color:var(--muted);font-size:11px}.start-btn{min-width:190px}.game-screen{height:100vh;min-height:660px;padding:12px 18px 16px;display:flex;flex-direction:column}.game-topbar{height:45px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;margin-bottom:10px}.match-info{display:flex;align-items:center;gap:17px}.online-indicator{font-size:10px;color:#9cb5c9}.countdown{font:800 23px 'Outfit',sans-serif;letter-spacing:1px}.room-tag{background:#252d45;border:1px solid #485571;border-radius:8px;padding:4px 10px;font:800 11px 'Outfit',sans-serif;letter-spacing:2px}.icon-button{border:1px solid #3b4864;background:#1c263c;color:var(--ink);border-radius:10px;min-width:38px;height:38px}.game-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(325px,1fr);gap:13px;direction:ltr;flex:1;min-height:0}.typing-panel,.arena-panel{direction:rtl;background:linear-gradient(135deg,#1a2237f7,#111828f7);border:1px solid #36445f;border-radius:17px;overflow:hidden;min-width:0}.typing-panel{display:flex;flex-direction:column;padding:clamp(12px,1.5vw,24px)}.typing-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.typing-head h2{margin:1px 0;font-size:clamp(19px,2vw,26px)}.typing-head h2 span{font-size:21px}.typing-head p{font-size:11px;color:#8798b7;margin:3px 0 0}.typing-count{min-width:79px;background:#25344b;border:1px solid #435772;border-radius:11px;padding:9px;text-align:center}.typing-count strong{display:block;color:var(--teal);font:800 28px 'Outfit',sans-serif}.typing-count small{display:block;color:#a6b6c9;font-size:9px}.resource-line{background:#121c2e;border:1px solid #314761;border-radius:12px;margin-top:13px;padding:10px 13px}.resource-head{display:flex;align-items:center;justify-content:space-between}.resource-label{display:flex;align-items:center;gap:8px;font-size:12px}.resource-label strong{font:800 13px 'Outfit',sans-serif;letter-spacing:.7px}.resource-label>span:last-child{font-size:10px;color:#899ab7}.drop{font-size:18px}.resource-total strong{font:800 22px 'Outfit',sans-serif;color:#83dfff}.resource-total span{font:600 13px 'Outfit',sans-serif;color:#687d9c}.meter{height:9px;background:#293a53;border-radius:30px;margin-top:6px;overflow:hidden}.meter-fill{height:100%;width:19%;border-radius:30px;background:linear-gradient(90deg,#516cf5,#64deff);box-shadow:0 0 13px #4c9ffb99;transition:width .2s}.words-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 10px;font-size:12px;font-weight:800}.words-label strong{background:#2d4058;border-radius:5px;padding:0 6px;font:700 10px 'Outfit',sans-serif;color:var(--teal)}.words-label>span:last-child{font-size:10px;font-weight:400;color:var(--muted)}.words-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:9px;min-height:0;flex:1}.word-card{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:4px;text-align:right;padding:8px 12px;border:1px solid #3a4862;background:#202b41;border-radius:11px;transition:background .15s,border-color .15s}.word-card.match{background:#203e45;border-color:var(--teal)}.word-card .word{font-size:clamp(12px,1.22vw,17px);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.word-card .word.latin{font-family:'Outfit',sans-serif;direction:ltr}.word-card .reward{color:#8fdbff;flex:0 0 auto;background:#273a55;padding:4px 5px;border-radius:6px;font:800 11px 'Outfit',sans-serif}.typing-input-wrap{height:62px;flex-shrink:0;margin-top:12px;border:1px solid #6a88b5;border-radius:13px;display:flex;align-items:center;background:#111c30;box-shadow:0 0 0 3px #48baff0d}.keyboard-icon{width:50px;text-align:center;font-size:24px;color:var(--teal);flex-shrink:0}.typing-input{background:none;border:0;color:#fff;font-size:17px;font-weight:700;width:100%;min-width:0;outline:none;padding:8px}.typing-input::placeholder{color:#536780;font-weight:400;font-size:13px}.enter-badge{font:700 10px 'Outfit',sans-serif;white-space:nowrap;color:#879fbd;background:#263850;border:1px solid #3b536c;border-radius:6px;margin:0 8px;padding:5px}.typing-footer{display:flex;justify-content:space-between;gap:10px;color:#7f94ae;font-size:10px;margin:8px 2px}.typing-footer .success-text{color:var(--teal)}.battle-manual{margin-top:auto;background:#222b41;border-radius:11px;padding:10px 12px;border:1px solid #323f5b}.manual-title{font-size:11px;font-weight:800;margin-bottom:5px}.manual-steps{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;color:#abb8cf}.manual-steps span{white-space:nowrap}.manual-steps b{color:#0b1d28;background:var(--teal);border-radius:50%;padding:0 5px}.manual-steps .arrow{color:#6d86a4}.arena-panel{display:flex;flex-direction:column;padding:10px 11px 9px}.arena-header{display:flex;justify-content:space-between;align-items:center;padding:1px 5px 8px}.side-title{display:flex;align-items:center;gap:7px}.side-title small{display:block;color:#758ba8;font-size:9px}.side-title b{display:block;font-size:11px;max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.enemy-mark,.my-mark{color:#ff7a9e;font-size:18px}.my-mark{color:var(--teal)}.versus{font:800 12px 'Outfit',sans-serif;color:#7587a4}.arena-wrap{position:relative;flex:1;min-height:220px;overflow:hidden;border:1px solid #425a75;border-radius:12px;background:#14233c}.arena-wrap canvas{display:block;width:100%;height:100%}.tower-hud{pointer-events:none;position:absolute;left:50%;transform:translateX(-50%);border-radius:20px;background:#15243fe8;border:1px solid #ffffff35;font:700 10px 'Outfit',sans-serif;padding:3px 10px;white-space:nowrap}.tower-hud-top{top:7px}.tower-hud-bottom{bottom:7px}.deploy-head{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:8px 0 6px}.deploy-head>span{font-size:11px;font-weight:800}.deploy-head small{display:block;font-size:9px;color:var(--muted);font-weight:400}.turret-button{display:flex;gap:5px;align-items:center;font-size:10px;color:#e3e6fb;background:#2d3450;border:1px solid #56617b;border-radius:8px;padding:7px 8px}.turret-button b{color:#80dbff;font-family:'Outfit',sans-serif}.deploy-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.deploy-card{min-width:0;padding:6px 2px;background:linear-gradient(160deg,#24354a,#1b253e);border:1px solid #44546c;border-radius:9px;text-align:center;color:#fff;position:relative;transition:background .15s,transform .15s}.deploy-card:not(:disabled):hover{transform:translateY(-3px);border-color:var(--teal)}.deploy-card:disabled{filter:grayscale(.65);opacity:.48}.deploy-card .hero-icon{display:block;font-size:25px;line-height:30px}.deploy-card .hero-name{display:block;font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.deploy-card .hero-cost{display:block;font:800 11px 'Outfit',sans-serif;color:#8fddff}.arena-hint{font-size:9px;text-align:center;color:#7186a5;margin:6px 0 0}.toast{position:fixed;z-index:50;right:50%;bottom:20px;transform:translate(50%,15px);background:#26405d;border:1px solid #75b9d6;color:white;border-radius:10px;padding:10px 17px;opacity:0;pointer-events:none;transition:.2s;font-size:12px;max-width:85vw;text-align:center}.toast.show{transform:translate(50%,0);opacity:1}.results-overlay{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:22px;background:#030812c9;backdrop-filter:blur(10px)}.result-card{width:min(420px,100%);border:1px solid #556887;border-radius:20px;padding:30px;background:linear-gradient(135deg,#263150,#151e32);box-shadow:0 35px 100px #000a;text-align:center}.result-icon{font-size:54px}.result-card h2{font-size:40px;margin:0}.result-card p{color:var(--muted);font-size:13px}.result-rewards{display:flex;gap:12px;margin:25px 0}.result-rewards>div{flex:1;background:#1c2c44;padding:15px;border-radius:11px}.result-rewards strong{display:block;color:var(--yellow);font:800 26px 'Outfit',sans-serif}.result-rewards span{display:block;font-size:11px}.result-card .primary-button{width:100%}.result-card .ghost-btn{border:0;margin-top:9px}
@media(max-width:1150px){.game-screen{padding:8px;min-height:620px}.game-layout{grid-template-columns:minmax(0,1.8fr) minmax(312px,1fr);gap:8px}.typing-panel{padding:12px}.words-grid{gap:6px}.word-card{padding:7px}.typing-head p{font-size:10px}.battle-manual{padding:7px}.manual-steps{font-size:9px}.deploy-card .hero-icon{font-size:22px}.lobby-cards{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){.game-screen{height:auto;min-height:100vh}.game-layout{display:flex;flex-direction:column-reverse}.arena-panel{height:600px;flex:none}.typing-panel{min-height:640px}.arena-wrap{height:390px}.welcome-screen{padding:30px 15px}.entry-columns{grid-template-columns:1fr}.lobby-cards{grid-template-columns:repeat(3,1fr)}.lobby-screen{padding:15px}.lobby-bottom{flex-direction:column;gap:12px}.start-btn{width:100%}.game-topbar .online-indicator{display:none}}
@media(max-width:420px){.lobby-cards{grid-template-columns:repeat(2,1fr)}.words-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(6,1fr)}.typing-panel{min-height:810px}.game-topbar .brand-inline{font-size:12px}.countdown{font-size:18px}.room-tag{display:none}.typing-head h2{font-size:19px}.game-screen{padding:6px}.arena-panel{padding:8px}}

/* v0.2 — reward value is visible by both color and its explicit number. */
.word-card .reward{border:1px solid transparent;min-width:53px;text-align:center;white-space:nowrap;transition:background .15s,color .15s}
.word-card .reward-low{color:#8cddff;background:#13374c;border-color:#327ea1}
.word-card .reward-medium{color:#77f2ba;background:#174539;border-color:#278765}
.word-card .reward-high{color:#ffc17a;background:#50351f;border-color:#aa6931}
.word-card .reward-max{color:#ff9ba2;background:#58232f;border-color:#bf5264;box-shadow:0 0 12px #ff40551b}
.tier-legend{font-weight:800;font-size:10px;padding:2px 3px;border-radius:4px}
.tier-legend.t1{color:#8cddff}.tier-legend.t2{color:#77f2ba}.tier-legend.t3{color:#ffc17a}.tier-legend.t4{color:#ff9ba2}
kbd{display:inline-block;direction:ltr;font:800 11px 'Outfit',sans-serif;border:1px solid #697a98;border-radius:5px;padding:1px 5px;background:#26344e;color:#e3f6ff;box-shadow:0 2px 0 #0b1728}
.game-actions{display:flex;align-items:center;gap:8px;direction:rtl}
.surrender-button{display:inline-flex;align-items:center;gap:5px;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid #a65a6b;border-radius:9px;background:#4b2436;color:#ffc9d2;font-size:11px;font-weight:800}
.surrender-button:not(:disabled):hover{background:#743047;border-color:#fb8595}
.surrender-button:disabled{display:none}
/* Keep all five deploy cards hoverable for Alt-inspect even when unaffordable. */
.deploy-card.is-unavailable{filter:grayscale(.65);opacity:.53;cursor:not-allowed}
.deploy-card.is-unavailable:hover{filter:grayscale(.25);opacity:.85;border-color:#8091ae}
.hero-inspect{position:fixed;z-index:65;width:min(338px,calc(100vw - 20px));max-height:min(640px,calc(100vh - 20px));overflow:auto;pointer-events:none;border:1px solid #6b85a6;border-radius:15px;background:linear-gradient(145deg,#29354e,#151c30);box-shadow:0 20px 60px #000d,0 0 0 1px #ffffff0c;color:#f6f8ff;padding:14px;font-size:11px;text-align:right}
.inspect-top{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #ffffff1c}
.inspect-emoji{display:grid;place-items:center;width:49px;height:49px;border-radius:11px;font-size:29px;background:#39506a;border:1px solid #7993b330;flex:0 0 auto}
.inspect-title{flex:1;min-width:0}.inspect-title b{display:block;font-size:16px}.inspect-title small{display:block;color:#9db3d2;font:700 11px 'Outfit',sans-serif;direction:ltr;text-align:right}
.inspect-cost{background:#1f425a;color:#b9f0ff;border-radius:8px;padding:6px 8px;font-weight:900;white-space:nowrap}
.inspect-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.inspect-stat{background:#101b30;border:1px solid #37445d;border-radius:9px;padding:8px;min-width:0}
.inspect-stat>span{display:block;color:#a1b2ca;font-size:10px;margin-bottom:4px}
.inspect-stat>strong{font-size:11px;font-weight:800;overflow-wrap:anywhere}
.inspect-ability{background:#202d45;border:1px solid #52607c;border-radius:10px;margin-top:10px;padding:9px}
.inspect-ability b{color:#bdacff;font-size:11px}.inspect-ability p{color:#d2dbed;line-height:1.9;margin:4px 0 0}
.inspect-caption{color:#8597b4;text-align:center;font-size:9px;margin-top:9px}
.confirm-overlay{position:fixed;inset:0;z-index:55;display:grid;place-items:center;background:#030712da;backdrop-filter:blur(8px);padding:16px}
.confirm-card{width:min(440px,100%);background:linear-gradient(135deg,#292941,#161d32);border:1px solid #9a596f;border-radius:20px;padding:28px 24px;box-shadow:0 24px 80px #000b;text-align:center}
.confirm-icon{font-size:46px;color:#ff8a9a}.confirm-card h2{font-size:24px;margin:4px 0 7px}.confirm-card p{font-size:12px;color:#b8c3d9;line-height:2}
.confirm-actions{display:flex;gap:10px;margin-top:24px}.confirm-actions>*{flex:1;min-height:44px;font-size:12px;font-weight:800}
.danger-button{border:1px solid #ff8095;border-radius:10px;background:#b83f5d;color:#fff}.danger-button:not(:disabled):hover{background:#d34e6d}
@media(max-width:820px){.hero-inspect{max-height:72vh}.game-topbar{gap:7px}.match-info{gap:7px}}
@media(max-width:480px){.surrender-button{font-size:0;padding:7px 9px}.surrender-button::before{content:'⚑';font-size:18px}.words-label>span:last-child{font-size:9px}.tier-legend{font-size:9px}.confirm-actions{flex-direction:column}}

/* V0.3: illustrated five-lane battlefield and keyboard-first controls */
.arena-wrap {position:relative;overflow:hidden;border:2px solid #4b7a86;border-radius:14px;box-shadow:inset 0 0 35px #02091d,0 10px 32px #02081790}
.lane-picker {position:absolute;z-index:6;inset:0;pointer-events:auto;background:linear-gradient(180deg,#061a2a66,#061a2a22 55%,#00192770);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}
.lane-picker.hidden{display:none!important}
.lane-prompt{font-size:12px;font-weight:900;color:#eaffff;background:#071f36dd;padding:8px 14px;border:1px solid #75f7e8;border-radius:12px;box-shadow:0 0 20px #23e6cc66;text-align:center}
.lane-columns{display:flex;width:100%;height:60%;direction:ltr}
.lane-columns span{width:20%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#edffff;cursor:pointer;text-shadow:0 2px 8px #003e51;background:#4ef0e222;border:1px solid #80f9e64a;box-shadow:inset 0 0 24px #55fae527;transition:background .15s}
.lane-columns span:nth-child(even){background:#b2ff6830}
.lane-columns span:hover{background:#6beac577;box-shadow:inset 0 0 32px #8efcff80}
.tower-buttons{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.tower-buttons .turret-button{font-size:10px;padding:7px 9px;white-space:nowrap}.tower-buttons kbd{font-size:10px}
.deploy-card{position:relative;overflow:visible;transition:transform .15s,box-shadow .15s}
.deploy-card .hero-hotkey{position:absolute;top:-8px;right:-5px;min-width:21px;height:21px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#493b8d,#bd55f1);border:2px solid #c9a7f7;border-radius:7px;box-shadow:0 2px 9px #0009;font:900 12px sans-serif}
.deploy-card.selected-for-lane{outline:2px solid #6cfff2;transform:translateY(-6px);box-shadow:0 0 20px #51fce766!important}
.arena-panel{background:linear-gradient(160deg,#17253e,#142f36 52%,#1d203a);border-color:#658c90}
.arena-header{background:linear-gradient(90deg,#243d52,#292342,#2c3a52)}
.typing-panel{background:linear-gradient(160deg,#192544,#121e36)}
.hero-pick,.deploy-card{background-image:linear-gradient(145deg,#ffffff08,transparent 52%)}
.game-topbar{background:linear-gradient(90deg,#152a44,#252143,#163547)}

/* v0.4: keyboard-first construction, left-to-right numeric deck, live unit inspect */
.deploy-cards{direction:ltr}
.deploy-card{direction:rtl}
.deploy-card .hero-hotkey{right:auto;left:-6px;background:linear-gradient(135deg,#553393,#d47cff)}
.tower-buttons{direction:ltr}
.tower-buttons .turret-button{direction:rtl}
.tower-buttons .turret-button.selected-for-build{outline:2px solid #78f5da;box-shadow:0 0 14px #56ebd17a}
.arena-wrap.placing-tower{border-color:#83f8da;box-shadow:0 0 0 2px #53eec532,inset 0 0 35px #02091d,0 10px 32px #02081790}
.arena-wrap.placing-tower canvas{cursor:crosshair}
.tower-place-help{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);z-index:8;pointer-events:none;max-width:95%;width:max-content;text-align:center;background:#081d32df;border:1px solid #73e9db;border-radius:11px;color:#edfffc;font-size:11px;font-weight:800;padding:9px 11px;line-height:1.7;box-shadow:0 0 17px #35ddc94d}
.tower-place-help.invalid{color:#ffd7df;border-color:#ff8494}
.unit-inspect{position:absolute;z-index:9;min-width:116px;max-width:170px;pointer-events:none;padding:8px 10px;border:1px solid #ddaaff;border-radius:11px;background:linear-gradient(150deg,#312a51ec,#121b33f0);box-shadow:0 12px 35px #030815d9,0 0 18px #cd9cfe3c;text-align:center;font:800 12px 'Outfit',sans-serif;color:#fff;backdrop-filter:blur(5px);direction:ltr}
.unit-inspect .unit-stat-head{font-size:18px;margin-bottom:5px}
.unit-inspect .unit-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:12px}
.unit-inspect .unit-stat-grid span{background:#16203bcc;border:1px solid #63709369;border-radius:5px;padding:4px 3px;white-space:nowrap}
.unit-inspect .unit-stat-name{font-family:inherit;font-size:11px;color:#dbd6ff;margin-bottom:6px}
.lane-picker[data-purpose="tower"] .lane-columns span{background:#92e1ff2b;border-color:#a7f5ff76;box-shadow:inset 0 0 24px #38baf044}
.lane-picker[data-purpose="tower"] .lane-columns span:hover{background:#93f4e36b}
.lane-picker[data-purpose="tower"] .lane-prompt{border-color:#84b7ff;box-shadow:0 0 20px #5eaeff66}
.tower-buttons .turret-button{transition:.16s}
.tower-buttons .turret-button:hover:not(:disabled){transform:translateY(-2px);border-color:#86e2ff}
.arena-panel{background:linear-gradient(160deg,#14283b,#0e3034 55%,#24223f)}

/* V0.6: damage feedback for both sides of the same shared castle HP pool. */
.tower-hud{z-index:7;min-width:75px;text-align:center;transition:background .14s,border-color .14s;box-shadow:0 3px 12px #071228aa}
.tower-hud strong{font-size:12px;display:inline-block;font-variant-numeric:tabular-nums}
.enemy-base-hit{animation:enemyHPDrop .62s cubic-bezier(.14,.76,.42,1)}
.my-base-hit{animation:ownHPWarning .68s ease-out}
.castle-under-attack{box-shadow:inset 0 0 65px #fa385c77,0 0 0 2px #ff536b88,0 10px 32px #02081790!important}
@keyframes enemyHPDrop{
  0%,35%{background:#aa2346;border-color:#ff8293;color:#fff;box-shadow:0 0 23px #ff3b6280;transform:translateX(-50%) scale(1.24)}
  100%{background:#15243fe8;border-color:#ffffff35;transform:translateX(-50%) scale(1)}
}
@keyframes ownHPWarning{
  0%,45%{background:#b02d44;border-color:#ffd1d9;color:#fff;box-shadow:0 0 22px #ff3a59bb;transform:translateX(-50%) scale(1.23)}
  100%{background:#15243fe8;transform:translateX(-50%) scale(1)}
}
@media(prefers-reduced-motion:reduce){.enemy-base-hit,.my-base-hit{animation:none}}

/* v0.8 — rich match report, built from the server's finished-match snapshot. */
.results-overlay{overflow-y:auto;align-items:safe center;overscroll-behavior:contain}
.result-card{width:min(640px,100%);padding:clamp(17px,2vw,29px);margin:auto;position:relative;overflow:hidden;
  background:linear-gradient(145deg,#25334b,#171f36 58%,#151b2e);border:1px solid #607192;
  box-shadow:0 28px 100px #030716d9, inset 0 1px #ffffff14}
.result-card::before{content:"";pointer-events:none;position:absolute;inset:0 0 auto;height:130px;
  background:radial-gradient(ellipse at 50% 0%,#5bd7ef22,transparent 74%)}
.result-header{position:relative;text-align:center}
.result-header .result-icon{font-size:38px;line-height:1.15;margin:0 0 3px}
.result-header h2{font-size:clamp(25px,3vw,34px);margin:1px 0 3px;font-weight:900}
.result-header p{margin:0;color:#b2c5dc;font-size:12px;line-height:1.7}
.result-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:11px 0 15px;color:#b9cee1;font-size:11px}
.result-meta b{color:#fff;font:800 13px 'Outfit',Tahoma,sans-serif;margin:0 3px}
.result-section-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:right;margin-bottom:9px}
.result-section-heading strong{font-size:13px;color:#e4f5ff}
.result-section-heading>span{font-size:10px;color:#8da9c8}
.result-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.result-stat{min-width:0;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 7px 10px;
  background:linear-gradient(150deg,#263851bb,#1b2a3ebe);border:1px solid #3e5875;border-radius:12px}
.result-stat-icon{font-size:22px;line-height:1.2;filter:drop-shadow(0 2px 5px #030913aa)}
.result-stat .stat-value{font:900 clamp(20px,2vw,28px) 'Outfit',Tahoma,sans-serif;color:#e8faff;line-height:1.2;direction:ltr}
.result-stat .stat-label{font-size:10px;color:#9cb5cf;text-align:center;line-height:1.5}
.result-stat-kills{border-color:#81526f;background:linear-gradient(140deg,#462b47aa,#20263fb3)}
.result-stat-kills .stat-value{color:#ffc2da}
.result-rewards-title{margin-top:18px;margin-bottom:8px}
.result-card .result-rewards{margin:0 0 15px;gap:10px}
.result-card .result-rewards>div{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;
  border:1px solid #3e5674;background:#182b42;border-radius:10px}
.result-card .result-rewards strong{font-size:21px;line-height:1}
.result-card .result-rewards span{font-size:11px;color:#b9c6dd}
.result-actions{display:flex;align-items:center;justify-content:center;gap:9px}
.result-actions .primary-button,.result-actions .ghost-btn{flex:1;min-width:0;margin:0;min-height:41px;display:flex;align-items:center;justify-content:center}
.result-actions .ghost-btn{border:1px solid #4d607b;border-radius:10px;background:#192943;color:#bfcde5}
.result-card .result-footnote{font-size:9px;line-height:1.6;color:#748ba9;text-align:center;margin:12px 2px 0}
.stat-help{cursor:help;color:#86c4dd;margin-inline-start:3px}
@media(max-width:540px){.results-overlay{padding:8px}.result-card{padding:17px 12px;border-radius:14px}.result-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.result-stat{min-height:94px;padding:9px 5px}.result-meta{margin:8px 0 10px}}

/* v0.9.1: return to mode hub from Blitz lobby */
.lobby-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lobby-navigation>.ghost-btn{white-space:nowrap}

/* v1.1: visible back action before creating/joining a Blitz room */
.blitz-mode-back{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px auto 0;padding:12px 16px;width:fit-content;border:1px solid #557b9b;border-radius:12px;color:#cdeaff;text-decoration:none;font-weight:800;background:#12283b;transition:background .15s,border .15s}
.blitz-mode-back:hover,.blitz-mode-back:focus-visible{background:#23425b;border-color:#70d9db;outline:none}

[hidden]{display:none!important;}

.racing-cooldown{display:flex!important;align-items:center;justify-content:center;gap:5px;background:linear-gradient(140deg,#202b3d,#1e2736)!important;border:1px dashed #63738670!important;color:#8ea4b7!important;opacity:.88;min-height:48px}.cooldown-symbol{font-size:16px}.cooldown-counter{font:800 13px Vazirmatn,Tahoma,sans-serif;color:#c3d1d9}.cooldown-caption{font-size:10px;color:#849baa}html[data-entry-flow="join"] .host-panel,html[data-entry-flow="create"] .join-panel{display:none!important}.flow-entry{display:flex!important;justify-content:center!important}.flow-entry>.entry-panel{flex:0 1 420px}.racing-cooldown.match{border-color:#63738670!important}
