@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Oswald:wght@500;600;700&display=swap');
:root{--bg:#080a11;--panel:#11141d;--panel2:#171a24;--line:#2b2e38;--muted:#9698a2;--text:#f1eee7;--ember:#e56a37;--gold:#f0b65d;--violet:#8875d6;--green:#55aa83;--danger:#cf5b5b;--radius:10px;--sidebar:244px}
*{box-sizing:border-box}html{color-scheme:dark;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 72% -12%,#392018 0,transparent 33%),radial-gradient(circle at 10% 78%,#17122b 0,transparent 30%),var(--bg);color:var(--text);font:16px/1.45 Inter,system-ui,sans-serif}.ember-field{position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(circle,#f39b50 0 1px,transparent 1.5px),radial-gradient(circle,#9a4b2c 0 1px,transparent 1.5px);background-size:113px 89px,173px 131px;mask-image:linear-gradient(to bottom,#000,transparent 75%)}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hidden{display:none!important}.eyebrow{margin:0 0 5px;color:var(--gold);font:600 .72rem/1 Oswald,sans-serif;letter-spacing:.17em;text-transform:uppercase}.auth-screen{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:7vw;padding:8vw}.brand-lockup h1,.mini-brand strong,.group-picker,h2{font-family:Oswald,sans-serif}.brand-lockup h1{margin:10px 0 14px;font-size:clamp(3.5rem,8vw,8rem);letter-spacing:.075em;line-height:.9;text-shadow:0 0 36px #e05d3644}.brand-sigil{width:70px;height:70px;display:grid;place-items:center;border:2px solid var(--ember);transform:rotate(45deg);font:700 2rem Oswald;color:var(--gold);box-shadow:0 0 40px #e56a3733}.brand-sigil::first-letter{transform:rotate(-45deg)}.lede{max-width:560px;color:#b7b4af;font-size:1.12rem}.auth-card{max-width:430px;width:100%;justify-self:end;padding:34px;background:#11141de6;border:1px solid var(--line);border-top-color:#7a4731;box-shadow:0 30px 90px #0008;backdrop-filter:blur(16px)}label{display:grid;gap:7px;color:#c8c6c1;font-size:.88rem;font-weight:600;margin:14px 0}input,select,textarea{width:100%;border:1px solid #363945;background:#0b0e15;color:var(--text);border-radius:6px;padding:12px 13px;min-height:44px}textarea{resize:vertical}.segmented{display:flex;padding:4px;background:#090b11;border:1px solid var(--line);border-radius:7px;margin-bottom:22px}.seg{flex:1;border:0;background:transparent;color:var(--muted);padding:9px 14px;border-radius:5px;cursor:pointer}.seg.active{color:var(--text);background:#242630;box-shadow:0 1px 8px #0008}.primary,.ghost,.small-btn,.text-btn,.icon-btn,.avatar,.group-picker,.nav-item,.close-btn{border:0;cursor:pointer}.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 17px;border-radius:6px;background:linear-gradient(135deg,#b8462b,#e16d38);font-weight:700;box-shadow:0 6px 22px #b8462b33}.primary:hover{filter:brightness(1.12)}.wide{width:100%}.ghost{min-height:42px;padding:9px 14px;background:#181b24;border:1px solid var(--line);border-radius:6px}.text-btn{padding:5px;background:transparent;color:var(--gold)}.prototype-note{color:#757781;font-size:.75rem;text-align:center}.app{position:relative;z-index:1;display:grid;grid-template:76px 1fr/var(--sidebar) 1fr;min-height:100vh}.topbar{grid-column:1/-1;display:grid;grid-template-columns:var(--sidebar) 1fr auto;align-items:center;border-bottom:1px solid var(--line);background:#0b0d13e6;backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.mini-brand{height:100%;display:flex;align-items:center;gap:12px;padding:0 24px;border-right:1px solid var(--line);letter-spacing:.12em}.mini-sigil{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ember);color:var(--gold);font:700 1.2rem Oswald;transform:rotate(45deg)}.mini-sigil::first-letter{transform:rotate(-45deg)}.group-title-wrap{padding-left:30px}.group-picker{padding:0;background:transparent;font-size:1.15rem;letter-spacing:.025em}.top-actions{display:flex;align-items:center;gap:10px;padding-right:25px}.icon-btn{position:relative;width:42px;height:42px;border-radius:7px;background:#181b24;border:1px solid var(--line)}.icon-btn i{position:absolute;width:7px;height:7px;background:var(--ember);border-radius:50%;right:7px;top:7px}.avatar{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;background:linear-gradient(135deg,#5b3527,#c25c34);font:700 .82rem/1 Oswald,sans-serif;text-align:center;letter-spacing:0}.sidebar{grid-row:2;padding:24px 16px 20px;border-right:1px solid var(--line);background:#0b0d13aa;display:flex;flex-direction:column;gap:24px;position:sticky;top:76px;height:calc(100vh - 76px)}nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:12px 13px;border-radius:6px;background:transparent;color:#a7a7ad;text-align:left}.nav-item span{font-size:1.15rem}.nav-item.active,.nav-item:hover{color:var(--text);background:linear-gradient(90deg,#4f2c24aa,transparent);box-shadow:inset 2px 0 var(--ember)}.recommend-card{margin-top:auto;padding:17px;background:linear-gradient(145deg,#241b1b,#13151d);border:1px solid #51372d;border-radius:var(--radius)}.recommend-card strong{display:block;margin:9px 0 4px;font-family:Oswald;font-size:1.05rem}.recommend-card p{color:var(--muted);font-size:.78rem}.small-btn{padding:8px 10px;border-radius:5px;background:#e56a3720;color:#f1b078;border:1px solid #8f4d33}.member-strip{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.stacked-avatars{display:flex}.stacked-avatars span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;margin-left:-7px;border:2px solid #0c0e14;background:#37313b;font:600 .62rem/1 Oswald,sans-serif;text-align:center;letter-spacing:0}.stacked-avatars span:first-child{margin-left:0}.content{padding:34px clamp(20px,3.2vw,52px);min-width:0}.view{display:none}.view.active{display:block}.view-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}.view-head h2{font-size:clamp(1.8rem,3vw,2.55rem);margin:0;letter-spacing:.035em}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.compact{margin:0}.compact .seg{padding:7px 11px}.legend{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:11px 14px;border:1px solid var(--line);border-bottom:0;background:#10131a;color:var(--muted);font-size:.78rem}.legend span{display:flex;align-items:center;gap:7px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot.amber{background:var(--ember)}.dot.violet{background:var(--violet)}.availability-demo{display:inline-flex;width:32px;height:11px;border-bottom:2px dotted #7f8290}.availability-toggle{display:flex;align-items:center;gap:8px;margin:0 0 0 auto}.availability-toggle input{width:16px;min-height:auto}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);background:#0c0f16}.weekday{padding:11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#777a84;font:600 .7rem Oswald;letter-spacing:.12em;text-transform:uppercase}.day{position:relative;min-height:128px;padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.18s;background:#0e1118}.day:hover{background:#141720}.day.muted{opacity:.36}.day.today{box-shadow:inset 0 0 0 1px var(--ember)}.day.recommended::after{content:'EMPFOHLEN';position:absolute;right:7px;top:9px;color:var(--gold);font:600 .56rem Oswald;letter-spacing:.1em}.day-num{font:600 .83rem Oswald;color:#a9a9ad}.day-events{display:grid;gap:5px;margin-top:8px}.event-chip{display:grid;gap:2px;border:0;border-left:3px solid var(--ember);border-radius:4px;background:#39231f;color:var(--text);padding:6px 7px;text-align:left;font-size:.72rem;cursor:pointer}.event-chip.open{border-color:var(--violet);background:#27223a}.event-chip small{color:#b8aaa6;font-size:.62rem}.availability{position:absolute;left:9px;right:9px;bottom:8px;display:flex;gap:4px}.availability span{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#323541;border:1px solid #666a76;font-size:.42rem;color:#ddd}.match-list{display:grid;gap:12px}.match-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;background:linear-gradient(100deg,#151821,#11131a);border:1px solid var(--line);border-left:3px solid var(--ember);border-radius:var(--radius)}.date-badge{display:grid;place-items:center;padding:9px;border-right:1px solid var(--line)}.date-badge strong{font:700 1.75rem Oswald}.date-badge span{font-size:.7rem;color:var(--muted);text-transform:uppercase}.match-info h3{margin:0 0 5px;font-family:Oswald;letter-spacing:.03em}.match-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}.tag{display:inline-flex;padding:4px 8px;border:1px solid #574235;border-radius:20px;color:#eab17c;background:#4d2b1f55;font-size:.7rem}.rsvp-count{display:grid;justify-items:end;gap:6px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.kpi-grid article,.panel{background:#11141d;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.kpi-grid small{color:var(--muted)}.kpi-grid strong{display:block;font:600 1.8rem Oswald;margin:8px 0 3px}.kpi-grid em{color:var(--green);font-size:.72rem;font-style:normal}.stats-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.panel h3{font-family:Oswald;margin:0 0 18px}.panel.full{grid-column:1/-1}.panel-head{display:flex;justify-content:space-between}.rank-row,.member-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.rank-row:last-child,.member-row:last-child{border:0}.rank-row .mini-avatar,.member-row .mini-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#302d38;font:600 .64rem/1 Oswald,sans-serif;text-align:center;letter-spacing:0}.rank-row small,.member-row small{display:block;color:var(--muted)}.bar-list{display:grid;gap:15px}.bar-row label{display:flex;justify-content:space-between;margin:0 0 5px}.bar-track{height:8px;background:#252832;border-radius:10px;overflow:hidden}.bar-track i{display:block;width:var(--w);height:100%;background:linear-gradient(90deg,var(--ember),var(--gold))}.activity-chart{height:210px;display:flex;align-items:end;gap:clamp(16px,5vw,70px);padding:20px 10px 0;border-bottom:1px solid var(--line)}.activity-chart span{height:var(--h);flex:1;max-width:66px;min-width:24px;background:linear-gradient(to top,#a8452c,#e8894f);display:flex;align-items:end;justify-content:center;padding-bottom:7px;font-size:.68rem;box-shadow:0 0 24px #e56a3722}.location-card{position:relative;display:grid;gap:4px;padding:14px 0;border-bottom:1px solid var(--line)}.location-card span{color:var(--muted);font-size:.8rem}.location-card .text-btn{position:absolute;right:0;top:8px}.dialog{width:min(720px,calc(100% - 26px));max-height:92vh;overflow:auto;border:1px solid #484a54;border-top-color:var(--ember);border-radius:12px;padding:0;background:#11141d;color:var(--text);box-shadow:0 40px 110px #000}.dialog::backdrop{background:#03040ad9;backdrop-filter:blur(5px)}.dialog form,#detailContent{padding:25px}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.dialog-head h2{margin:0}.close-btn{width:36px;height:36px;border-radius:50%;background:#20232c;font-size:1.4rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.span-2{grid-column:1/-1}fieldset{border:1px solid var(--line);border-radius:7px;margin:14px 0;padding:10px 13px}legend{font-size:.82rem;color:var(--muted)}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice-row label{display:flex;align-items:center;gap:7px;margin:0;padding:7px 11px;background:#191c25;border-radius:6px}.choice-row input{width:auto;min-height:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.profile-hero{display:flex;align-items:center;gap:16px;padding:16px;background:#171a23;border:1px solid var(--line);border-radius:8px}.avatar.huge{width:66px;height:66px;font-size:1.1rem}.profile-hero div{display:grid}.profile-hero span{color:var(--muted);font-size:.8rem}.army-card{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}.army-card small{display:block;color:var(--muted)}.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday-picker button{padding:9px 4px;background:#181b24;border:1px solid var(--line);color:var(--muted);border-radius:5px}.weekday-picker button.selected{background:#4f2c24;color:#f0c198;border-color:#985033}.toast{position:fixed;right:24px;bottom:24px;z-index:99;max-width:360px;padding:13px 17px;border-radius:8px;background:#20242d;border:1px solid #51545e;box-shadow:0 14px 40px #0009;transform:translateY(25px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:translateY(0);opacity:1}.mobile-only{display:none}
.approval-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;margin-bottom:8px;background:#211b1c;border:1px solid #61402f;border-radius:7px}.approval-card div{display:grid;gap:4px}.approval-card small{color:var(--muted)}.calendar.week .day{min-height:350px}
.battle-view{--red:#df6438;--blue:#7d77db}.battle-top{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:14px;margin-bottom:18px}.battle-top h2{margin:0}.round-control{display:flex;align-items:center;gap:8px}.round-control>div{display:flex;align-items:baseline;gap:4px;padding:4px 13px;border:1px solid var(--line);background:#11141d;border-radius:7px}.round-control small{color:var(--muted);margin-right:6px}.round-control strong{font:700 1.8rem Oswald;color:var(--gold)}.round-control span{color:var(--muted)}.phase-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:5px;background:#0b0e14;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.phase-bar button{border:0;border-radius:5px;background:transparent;color:var(--muted);padding:10px 6px;cursor:pointer;font:600 .76rem Oswald;letter-spacing:.05em}.phase-bar button.active{color:#fff;background:linear-gradient(90deg,#753923,#a54d2d);box-shadow:0 0 20px #e56a3722}.battle-board{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);gap:12px}.commander{position:relative;padding:20px;background:#11141d;border:1px solid var(--line);border-radius:10px;overflow:hidden}.commander::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--red)}.commander.blue-side::before{background:var(--blue)}.commander-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px}.commander-head h3{font:600 2rem Oswald;margin:0}.clock{display:grid;justify-items:end;border:1px solid var(--line);border-radius:7px;background:#0b0e14;padding:8px 11px;cursor:pointer}.clock strong{font:600 1.2rem Oswald}.clock small,.clock span{font-size:.62rem;color:var(--muted)}.clock.active{border-color:#9b5837;box-shadow:0 0 18px #e56a3722}.clock.active span{color:var(--green)}.score-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:10px}.score-box{display:grid;place-items:center;gap:8px;padding:16px 10px;background:#0c0f16;border:1px solid var(--line);border-radius:8px}.score-box small{font:600 .68rem Oswald;letter-spacing:.1em;color:var(--muted)}.score-box strong{font:700 clamp(2.8rem,5vw,4.5rem)/1 Oswald}.score-box.vp strong{color:var(--gold)}.score-box>div{display:grid;grid-template-columns:repeat(2,52px);gap:7px}.score-box button,.resource-counter button{min-height:42px;border:1px solid #3b3e49;background:#1b1e27;color:#fff;border-radius:6px;font-size:1.25rem;cursor:pointer}.resource-head{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.resource-head h4{font-family:Oswald;margin:0}.resource-list{display:grid;gap:7px;margin-top:8px}.resource-counter{display:grid;grid-template-columns:1fr 42px 48px 42px;align-items:center;gap:6px;padding:8px;background:#171a23;border:1px solid var(--line);border-radius:7px}.resource-counter input{padding:8px;min-height:38px;background:transparent;border-color:transparent}.resource-counter strong{text-align:center;font:600 1.35rem Oswald}.battle-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.battle-center>span{font:700 1.6rem Oswald;color:#777}.turn-switch{width:86px;min-height:160px;padding:8px;border:1px solid #744630;border-radius:8px;background:linear-gradient(180deg,#3a211b,#15151b);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.turn-switch small{font:600 .55rem Oswald;letter-spacing:.08em;color:var(--gold)}.turn-switch strong{font:600 1.1rem Oswald}.turn-switch em{font-size:.56rem;color:var(--muted);font-style:normal}.battle-center .ghost{font-size:.7rem;padding:6px}.battle-lower{display:grid;grid-template-columns:.7fr 1.3fr;gap:12px;margin-top:12px}.quick-score{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.quick-score button{min-height:42px;border:1px solid var(--line);background:#191c25;border-radius:6px;color:var(--text);cursor:pointer}.battle-log{display:grid;gap:6px;max-height:154px;overflow:auto}.log-row{display:grid;grid-template-columns:64px 1fr;gap:9px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.78rem}.log-row time{color:var(--muted)}.wake-active{color:var(--green)!important;border-color:#477b64!important}
@media(max-width:980px){:root{--sidebar:210px}.calendar .day{min-height:112px}.calendar.week .day{min-height:260px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:1fr}.panel.full{grid-column:auto}.toolbar .segmented{display:none}}
@media(max-width:840px){.auth-screen{grid-template-columns:1fr;padding:32px 20px}.brand-lockup{text-align:center}.brand-sigil{margin:auto}.brand-lockup h1{font-size:3.7rem}.auth-card{justify-self:center}.app{display:block;padding-top:68px}.topbar{position:fixed;left:0;right:0;height:68px;display:grid;grid-template-columns:48px 1fr auto;padding:0 12px}.mobile-only{display:block}.mini-brand{display:none}.group-title-wrap{padding-left:8px}.top-actions{padding:0}.sidebar{position:fixed;z-index:30;left:0;top:68px;width:min(290px,86vw);height:calc(100vh - 68px);transform:translateX(-102%);transition:.25s;background:#0d0f16}.sidebar.open{transform:translateX(0)}.content{padding:22px 14px}.view-head{align-items:start;flex-direction:column}.toolbar{justify-content:flex-start}.toolbar .ghost,.toolbar .icon-btn{display:none}.calendar{overflow:hidden}.weekday{font-size:.55rem;padding:7px 3px;text-align:center}.day{min-height:86px;padding:5px}.day-num{font-size:.7rem}.event-chip{padding:4px;font-size:0;min-height:26px}.event-chip::before{content:attr(data-short);font-size:.58rem}.event-chip small,.availability{display:none}.day.recommended::after{display:none}.legend{gap:9px}.legend span:nth-child(3){display:none}.match-card{grid-template-columns:54px 1fr}.rsvp-count{grid-column:2;justify-items:start}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-grid article{padding:14px}.kpi-grid strong{font-size:1.35rem}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.weekday-picker{grid-template-columns:repeat(4,1fr)}}
@media(max-width:420px){.kpi-grid{grid-template-columns:1fr}.top-actions .icon-btn{display:none}.brand-lockup h1{font-size:3rem}.primary{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1100px){.battle-top{grid-template-columns:1fr auto}.battle-top #wakeLockBtn,.battle-top #endBattleBtn{grid-row:2}.battle-board{grid-template-columns:1fr}.battle-center{flex-direction:row;order:2}.turn-switch{width:180px;min-height:70px}.commander.blue-side{order:3}.battle-lower{grid-template-columns:1fr}}
@media(max-width:840px){.phase-bar{overflow:auto;grid-template-columns:repeat(5,minmax(110px,1fr))}.battle-top{display:flex;align-items:flex-start;flex-wrap:wrap}.battle-top>div:first-child{width:100%}.score-grid{grid-template-columns:1fr 1fr}.score-box strong{font-size:3rem}.commander{padding:14px}.commander-head h3{font-size:1.55rem}.resource-counter{grid-template-columns:1fr 40px 42px 40px}.quick-score{grid-template-columns:1fr 1fr}}
.victory-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:#05060b;color:#fff;overflow:hidden}.victory-dialog::backdrop{background:#05060b}.victory-stage{position:relative;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;isolation:isolate;background:radial-gradient(circle at 50% 55%,#7c321d 0,transparent 30%),radial-gradient(circle at 50% 40%,#24142f 0,transparent 50%),#05060b}.victory-stage::before,.victory-stage::after{content:'';position:absolute;inset:-30%;z-index:-1;background:conic-gradient(from 0deg,transparent 0 8%,#f39b5030 9%,transparent 11% 22%,#8d72d330 23%,transparent 26% 100%);opacity:0}.victory-dialog[open] .victory-stage::before,.victory-dialog[open] .victory-stage::after{animation:victory-spin 7s linear infinite,victory-rays 1.4s .25s ease-out forwards}.victory-stage::after{animation-direction:reverse!important;animation-duration:11s,1.4s!important}.victory-burst{position:absolute;width:min(68vw,650px);aspect-ratio:1;border:1px solid #e9a05755;border-radius:50%;box-shadow:0 0 0 35px #e56a3708,0 0 0 90px #e56a3705,0 0 100px #d55f2c55;transform:scale(.15);opacity:0}.victory-dialog[open] .victory-burst{animation:burst 1.8s .2s cubic-bezier(.12,.75,.18,1) forwards}.victory-embers{position:absolute;inset:0;background-image:radial-gradient(circle,#ffc277 0 2px,transparent 2.5px),radial-gradient(circle,#db6538 0 1px,transparent 1.5px);background-size:89px 97px,137px 113px;opacity:0}.victory-dialog[open] .victory-embers{animation:embers 2.8s .3s ease-out forwards}.victory-kicker{color:var(--gold);font:600 .8rem Oswald;letter-spacing:.3em;opacity:0;transform:translateY(15px)}.victory-dialog[open] .victory-kicker{animation:rise .65s .65s ease-out forwards}.victory-mark{width:76px;height:76px;display:grid;place-items:center;margin:26px;border:2px solid var(--gold);font:700 2.4rem Oswald;color:#ffe2a9;transform:rotate(45deg) scale(0);box-shadow:0 0 45px #e56a3755}.victory-dialog[open] .victory-mark{animation:mark-in .75s .8s cubic-bezier(.17,.8,.3,1.35) forwards}.victory-stage h2{margin:0;font:700 clamp(3.3rem,9vw,8.5rem)/.9 Oswald;letter-spacing:.16em;color:#f7e8cf;text-shadow:0 0 40px #ef7a4255;opacity:0;transform:scale(1.2)}.victory-dialog[open] .victory-stage h2{animation:title-in .75s 1.15s ease-out forwards}.victory-stage>strong{margin-top:18px;font:600 clamp(2rem,5vw,4rem) Oswald;color:var(--gold);opacity:0}.victory-stage>p#victoryArmy{color:#c9c2ba;opacity:0}.victory-dialog[open] .victory-stage>strong,.victory-dialog[open] .victory-stage>p#victoryArmy{animation:rise .6s 1.7s ease-out forwards}.victory-score{display:flex;align-items:center;gap:20px;margin:16px 0 26px;font:700 clamp(2.4rem,6vw,5rem) Oswald;opacity:0}.victory-score i{color:#777;font-style:normal}.victory-dialog[open] .victory-score{animation:rise .55s 2.05s ease-out forwards}.victory-stats-btn{opacity:0;transform:translateY(15px);pointer-events:none}.victory-stats-btn.ready{animation:rise .5s ease-out forwards;pointer-events:auto}.summary-hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:20px 0;padding:20px;background:#0b0e15;border:1px solid var(--line);border-radius:9px}.summary-side{display:grid;justify-items:center;gap:4px}.summary-side strong{font:700 clamp(2.4rem,5vw,4rem) Oswald;color:var(--gold)}.summary-side.winner{background:#e56a3710;border-radius:8px;padding:12px}.summary-divider{font:700 1.2rem Oswald;color:#666}.round-performance{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.round-stat{display:grid;gap:7px;padding:12px;background:#171a23;border:1px solid var(--line);border-radius:7px}.round-stat.best{border-color:#a55c38;background:#302019}.round-stat small{color:var(--muted)}.round-stat div{display:flex;justify-content:space-between}.summary-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.summary-facts div{padding:12px;background:#171a23;border-radius:7px}.summary-facts small{display:block;color:var(--muted)}.summary-facts strong{font-family:Oswald;font-size:1.2rem}@keyframes victory-spin{to{transform:rotate(360deg)}}@keyframes victory-rays{0%{opacity:0}50%,100%{opacity:1}}@keyframes burst{0%{opacity:0;transform:scale(.15)}55%{opacity:1}100%{opacity:.45;transform:scale(1)}}@keyframes embers{0%{opacity:0;transform:translateY(20%)}45%{opacity:.7}100%{opacity:.3;transform:translateY(-8%)}}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes mark-in{to{opacity:1;transform:rotate(45deg) scale(1)}}@keyframes title-in{to{opacity:1;transform:scale(1)}}
@media(max-width:840px){.round-performance{grid-template-columns:repeat(2,1fr)}.summary-facts{grid-template-columns:1fr}.summary-hero{gap:8px;padding:12px}.victory-stage{padding:22px}.victory-stage h2{letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.victory-dialog[open] *{animation-duration:.01ms!important;animation-delay:0s!important}}
.owner-admin-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:17px;background:linear-gradient(120deg,#2a1b1a,#161722);border:1px solid #6f4533;border-radius:9px;box-shadow:inset 3px 0 #d76a38}.owner-admin-card h3{margin:9px 0 2px;font-family:Oswald}.owner-admin-card p{margin:0;color:var(--muted);font-size:.82rem}.admin-board-dialog{width:min(1120px,calc(100% - 26px));border-top-color:var(--gold)}.admin-board-shell{padding:26px}.admin-subtitle{margin:4px 0 0;color:var(--muted)}.admin-security-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px 16px;background:linear-gradient(100deg,#251c18,#151921);border:1px solid #654a35;border-radius:8px}.admin-security-banner>span:first-child{color:var(--gold);font-size:1.2rem}.admin-security-banner div{display:grid;gap:2px}.admin-security-banner small,.admin-section small{display:block;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid #67503b;border-radius:20px;color:#eac08d;background:#39291e;font-size:.7rem;white-space:nowrap}.status-pill.secure{border-color:#386650;color:#8bd3ac;background:#173025}.status-pill.planned{border-color:#55576b;color:#b2b4c9;background:#262734}.admin-tabs{display:flex;gap:4px;margin:18px 0;padding:4px;background:#0b0e14;border:1px solid var(--line);border-radius:8px;overflow:auto}.admin-tabs button{flex:1;min-width:110px;padding:10px;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.admin-tabs button.active{color:#fff;background:#30231f;box-shadow:inset 0 -2px var(--ember)}.admin-panel{display:none}.admin-panel.active{display:block}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.admin-metrics article,.admin-section{padding:18px;background:#10131a;border:1px solid var(--line);border-radius:9px}.admin-metrics article{display:grid;gap:5px}.admin-metrics small{color:var(--muted)}.admin-metrics strong{font:600 1.3rem Oswald}.admin-metrics span{color:var(--gold);font-size:.72rem}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-section h3{font-family:Oswald;margin:0 0 14px}.role-line,.access-row,.security-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.role-line:last-child,.access-row:last-child,.security-line:last-child{border-bottom:0}.role-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#32231d;color:var(--gold);font:700 .85rem Oswald}.role-icon.group{background:#24243b;color:#aaa5ec}.role-icon.member{background:#252832;color:#aeb1bb}.admin-section .mini-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#302d38;font-size:.68rem}.next-steps{list-style:none;padding:0;margin:0;display:grid;gap:8px}.next-steps li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}.next-steps li>span{width:27px;height:27px;display:grid;place-items:center;border:1px solid #79513c;border-radius:50%;color:var(--gold);font-size:.72rem}.section-title{display:flex;align-items:start;justify-content:space-between;gap:12px}.section-title h3{margin-bottom:14px}.admin-note,.prototype-warning{margin:14px 0 0;padding:11px 13px;border-left:2px solid #775039;background:#19171a;color:var(--muted);font-size:.78rem}.prototype-warning{border-color:#9c613b;color:#c6b9ad}.roadmap-list{display:grid;gap:8px}.roadmap-list>div{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:9px;background:#171a22;border-radius:7px}.roadmap-list i{width:27px;height:27px;display:grid;place-items:center;border:1px solid #4b4e59;border-radius:50%;font-style:normal;font-size:.7rem}.roadmap-list i.done{color:#8bd3ac;border-color:#386650}.roadmap-list i.current{color:var(--gold);border-color:#875237;box-shadow:0 0 14px #e56a3733}.version-line{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.version-line>b{font-family:Oswald;color:var(--gold)}.version-line>span{font-size:.68rem;color:var(--muted)}.version-line.current{background:#e56a3708}.audit-row{display:grid;grid-template-columns:130px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.82rem}.audit-row time{color:var(--muted)}.audit-row>b{color:var(--gold);font-size:.7rem}.admin-footer{align-items:center}.admin-footer small{margin-right:auto;color:var(--muted)}
@media(max-width:840px){.owner-admin-card{align-items:flex-start;flex-direction:column}.admin-board-shell{padding:17px}.admin-security-banner{grid-template-columns:auto 1fr}.admin-security-banner .status-pill{grid-column:2;justify-self:start}.admin-metrics{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr auto}.audit-row time{grid-column:1/-1}.admin-footer{flex-direction:column;align-items:stretch}.admin-footer small{margin:0}.admin-footer .primary{width:100%}}
.intro-screen{position:fixed;inset:0;z-index:200;overflow:hidden;background:#020306;color:#fff;transition:opacity .65s ease,transform .65s ease}.intro-screen.leaving{opacity:0;transform:scale(1.025);pointer-events:none}.intro-space,.intro-scorched,.intro-vignette{position:absolute;inset:0}.intro-space{background:url('assets/weltenbrand-siege.webp') center/cover no-repeat;animation:intro-push 8s ease-out both}.intro-space::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 75%,transparent 15%,#03040a44 55%,#020306cc 100%)}.intro-scorched{background:linear-gradient(#18060266,#02020499),url('assets/weltenbrand-siege.webp') center/cover no-repeat;filter:grayscale(.82) sepia(.65) contrast(1.4) brightness(.43) saturate(1.7);clip-path:inset(0 100% 0 0);animation:scorch-reveal 2.3s 2.1s cubic-bezier(.55,.02,.35,1) forwards}.planet-fire-wave{position:absolute;z-index:2;left:-22vw;top:-15%;width:16vw;height:130%;transform:rotate(7deg);opacity:0;background:linear-gradient(90deg,transparent,#6e17078c 20%,#ff5b15dd 45%,#ffe5a6 54%,#ff7b21e8 60%,#79190599 78%,transparent);filter:blur(12px);box-shadow:0 0 45px #ff6a16,0 0 120px #ff3200aa;mix-blend-mode:screen;animation:fire-cross 2.35s 2s cubic-bezier(.55,.02,.35,1) forwards}.planet-fire-wave::before,.planet-fire-wave::after{content:'';position:absolute;inset:0;background:radial-gradient(circle,#fff5c7 0 2px,transparent 3px),radial-gradient(circle,#ff6a19 0 1px,transparent 2px);background-size:43px 61px,71px 47px;animation:fire-flicker .18s infinite alternate}.planet-fire-wave::after{transform:translateX(-90px);filter:blur(2px)}.intro-vignette{z-index:3;background:linear-gradient(to bottom,#0008 0,transparent 32%,transparent 62%,#000d 100%),radial-gradient(ellipse at center,transparent 35%,#000a 100%)}.intro-lockup{position:absolute;z-index:4;left:50%;top:50%;width:min(94vw,1200px);transform:translate(-50%,-42%);text-align:center;pointer-events:none}.intro-lockup p{margin:0 0 14px;color:#d69a6f;font:600 clamp(.68rem,1.2vw,.92rem) Oswald;letter-spacing:.32em;text-transform:uppercase;opacity:0;animation:title-rise .8s 4.35s ease-out forwards}.intro-lockup h1{position:relative;margin:0;font:800 clamp(3.2rem,10vw,9.5rem)/.9 Oswald;letter-spacing:.09em;color:transparent;background:linear-gradient(180deg,#fff5dc 0,#928778 25%,#302d2c 48%,#d6a36b 61%,#4a2218 70%,#cfc4ae 83%,#5c5048 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-stroke:1px #e6c49466;text-shadow:0 2px 0 #141414,0 7px 3px #000,0 0 22px #ff5d2055,18px 2px 28px #ff6c2133;filter:drop-shadow(0 18px 15px #000b);opacity:0;transform:scale(1.16);animation:metal-impact 1.05s 4.65s cubic-bezier(.14,.72,.18,1) forwards}.intro-lockup h1::after{content:attr(data-title);position:absolute;inset:0;color:transparent;background:linear-gradient(105deg,transparent 0 22%,#ffb55c 29%,#641506 35%,transparent 43% 62%,#ff7a26 69%,#29110c 75%,transparent 84%);background-clip:text;-webkit-background-clip:text;mix-blend-mode:screen;opacity:.85;filter:blur(.5px);animation:molten-pulse 1.1s 5.2s ease-in-out infinite alternate}.intro-lockup>span{display:block;margin-top:23px;color:#aaa39d;font:500 clamp(.58rem,1vw,.78rem) Oswald;letter-spacing:.28em;opacity:0;animation:title-rise .7s 5.35s ease-out forwards}.intro-join{position:absolute;z-index:5;left:50%;bottom:max(7vh,36px);transform:translate(-50%,18px);display:flex;align-items:center;gap:18px;min-width:220px;justify-content:center;padding:14px 22px;border:1px solid #c36a37;background:linear-gradient(135deg,#6e2516,#d65c2d);color:#fff;border-radius:4px;font:700 .9rem Oswald;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 0 1px #ffad6655 inset,0 10px 36px #e34f223d;cursor:pointer;opacity:0;pointer-events:none;transition:.45s ease}.intro-join.ready{opacity:1;transform:translate(-50%,0);pointer-events:auto}.intro-join:hover{filter:brightness(1.2);box-shadow:0 0 0 1px #ffd2a055 inset,0 10px 44px #f05a2c66}.intro-join span{font-size:1.25rem}@keyframes intro-push{from{transform:scale(1)}to{transform:scale(1.07)}}@keyframes scorch-reveal{to{clip-path:inset(0 0 0 0)}}@keyframes fire-cross{0%{left:-22vw;opacity:0}8%,88%{opacity:1}100%{left:108vw;opacity:0}}@keyframes fire-flicker{from{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:translateY(5px)}}@keyframes title-rise{to{opacity:1;transform:translateY(0)}}@keyframes metal-impact{55%{opacity:1;transform:scale(.97);filter:drop-shadow(0 18px 15px #000b) brightness(1.5)}100%{opacity:1;transform:scale(1);filter:drop-shadow(0 18px 15px #000b) brightness(1)}}@keyframes molten-pulse{from{opacity:.45;filter:blur(.8px)}to{opacity:1;filter:blur(0) drop-shadow(0 0 8px #ff5a18)}}
@media(max-width:840px){.intro-space,.intro-scorched{background-position:56% center}.intro-lockup{top:48%}.intro-lockup h1{letter-spacing:.035em}.intro-lockup p{letter-spacing:.2em}.intro-lockup>span{max-width:82vw;margin:17px auto 0;line-height:1.7;letter-spacing:.19em}.planet-fire-wave{width:28vw}.intro-join{bottom:max(6vh,28px)}}
@media(prefers-reduced-motion:reduce){.intro-space,.intro-scorched,.planet-fire-wave,.intro-lockup p,.intro-lockup h1,.intro-lockup h1::after,.intro-lockup>span{animation-duration:.01ms!important;animation-delay:0s!important}.intro-scorched{clip-path:inset(0 0 0 0)}.planet-fire-wave{display:none}.intro-lockup p,.intro-lockup h1,.intro-lockup>span{opacity:1;transform:none}.intro-lockup h1::after{opacity:.65}}
.intro-aftermath,.planet-bombardment{position:absolute;inset:0}.intro-aftermath{background:linear-gradient(#12020066,#020204aa),url('assets/weltenbrand-siege.webp') center/cover no-repeat;filter:grayscale(.7) sepia(.55) contrast(1.35) brightness(.58) saturate(1.45);opacity:0;animation:aftermath-in 1.1s 3.75s ease-out forwards}.planet-bombardment{z-index:2;pointer-events:none}.impact{position:absolute;width:clamp(58px,8vw,135px);aspect-ratio:1;border-radius:50%;opacity:0;background:radial-gradient(circle,#fffbd6 0 4%,#ffd45c 8%,#ff6a18 19%,#c51e06aa 31%,transparent 67%);filter:blur(1px);mix-blend-mode:screen;box-shadow:0 0 30px #ff7b18,0 0 80px #e83408aa;transform:translate(-50%,-50%) scale(.08);animation:surface-impact 1.05s ease-out forwards}.impact::before{content:'';position:absolute;inset:-18%;border:3px solid #ff9a3caa;border-radius:50%;filter:blur(3px);animation:shock-ring .9s ease-out forwards}.impact::after{content:'';position:absolute;left:26%;top:-30%;width:48%;height:125%;background:linear-gradient(to top,#e13208cc,#ff9a24aa 38%,transparent 80%);filter:blur(9px);transform-origin:bottom;animation:blast-plume .75s ease-out forwards}.impact-one{left:48%;top:56%;animation-delay:1.05s}.impact-one::before,.impact-one::after{animation-delay:1.05s}.impact-two{left:61%;top:64%;width:clamp(45px,6vw,100px);animation-delay:1.42s}.impact-two::before,.impact-two::after{animation-delay:1.42s}.impact-three{left:39%;top:69%;width:clamp(42px,5vw,86px);animation-delay:1.82s}.impact-three::before,.impact-three::after{animation-delay:1.82s}.impact-four{left:70%;top:73%;width:clamp(50px,7vw,118px);animation-delay:2.18s}.impact-four::before,.impact-four::after{animation-delay:2.18s}.impact-five{left:54%;top:78%;width:clamp(38px,4.8vw,82px);animation-delay:2.55s}.impact-five::before,.impact-five::after{animation-delay:2.55s}.impact-six{left:32%;top:59%;width:clamp(34px,4vw,72px);animation-delay:2.92s}.impact-six::before,.impact-six::after{animation-delay:2.92s}.forged-title{position:relative;display:inline-block}.intro-lockup h1{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:800;transform:scale(1.2) rotate(-.4deg);background:linear-gradient(176deg,#e8ded0 0,#6f6a66 17%,#242323 31%,#b6a38e 45%,#37120a 57%,#ff9a35 64%,#61180a 70%,#161515 81%,#8b8177 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-stroke:clamp(1px,.12vw,2px) #1a1310;text-shadow:-3px 4px 0 #090909,2px -1px 0 #a28c76,0 8px 5px #000,0 0 18px #ff4b16aa;clip-path:polygon(0 4%,8% 0,14% 5%,25% 1%,34% 4%,46% 0,57% 5%,68% 1%,77% 4%,88% 0,100% 5%,99% 91%,92% 100%,82% 94%,71% 99%,61% 93%,49% 100%,38% 94%,27% 99%,17% 93%,7% 100%,1% 92%)}.intro-lockup h1::before{content:attr(data-title);position:absolute;inset:0;color:transparent;background:radial-gradient(ellipse at 16% 48%,#070707 0 8%,transparent 16%),radial-gradient(ellipse at 48% 28%,#171515 0 9%,transparent 18%),radial-gradient(ellipse at 82% 66%,#050505 0 10%,transparent 19%);background-clip:text;-webkit-background-clip:text;opacity:.9;filter:blur(.4px)}.intro-lockup h1::after{background:linear-gradient(100deg,transparent 0 10%,#ffb34e 17%,#3c0b05 24%,transparent 31% 44%,#ff631d 51%,#ffcf73 55%,#3a0c06 61%,transparent 70% 84%,#ff8b31 90%,#250806 96%);background-clip:text;-webkit-background-clip:text;mix-blend-mode:screen}.title-flames{position:absolute;z-index:-1;left:5%;right:5%;bottom:45%;height:72%;opacity:0;animation:flames-arrive .55s 5.05s ease-out forwards}.title-flames i{position:absolute;bottom:0;width:12%;height:75%;border-radius:50% 50% 20% 20%;background:linear-gradient(to top,#ffdc75,#ff671b 40%,#a91606 72%,transparent);filter:blur(5px);transform-origin:bottom;animation:title-flame .5s 5.25s ease-in-out infinite alternate}.title-flames i:nth-child(1){left:5%;height:54%;animation-duration:.42s}.title-flames i:nth-child(2){left:24%;height:88%;animation-duration:.61s;animation-delay:5.12s}.title-flames i:nth-child(3){left:46%;height:67%;animation-duration:.48s}.title-flames i:nth-child(4){left:67%;height:96%;animation-duration:.66s;animation-delay:5.18s}.title-flames i:nth-child(5){left:86%;height:58%;animation-duration:.44s}.title-cinders{position:absolute;inset:-15% -5%;pointer-events:none;background-image:radial-gradient(circle,#ffd077 0 1px,transparent 2px),radial-gradient(circle,#e64a1c 0 1px,transparent 1.7px);background-size:49px 37px,73px 61px;opacity:0;animation:cinders-rise 2.3s 5.1s ease-out infinite}.planet-fire-wave{display:none}@keyframes surface-impact{0%{opacity:0;transform:translate(-50%,-50%) scale(.05)}18%{opacity:1}46%{opacity:.96;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.7)}}@keyframes shock-ring{from{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2.2)}}@keyframes blast-plume{0%{opacity:0;transform:scaleY(.1)}35%{opacity:1}100%{opacity:0;transform:scaleY(1.4) translateY(-25%)}}@keyframes aftermath-in{to{opacity:.5}}@keyframes flames-arrive{to{opacity:.9}}@keyframes title-flame{from{transform:scale(.9,.75) skewX(-5deg);opacity:.65}to{transform:scale(1.1,1.18) skewX(7deg);opacity:1}}@keyframes cinders-rise{0%{opacity:0;transform:translateY(12px)}30%{opacity:.8}100%{opacity:0;transform:translateY(-38px)}}
@media(max-width:840px){.intro-aftermath{background-position:56% center}.impact-one{left:46%;top:58%}.impact-two{left:65%;top:65%}.impact-three{left:34%;top:70%}.impact-four{left:74%;top:75%}.impact-five{left:53%;top:81%}.impact-six{left:28%;top:61%}.title-flames{height:60%}}
@media(prefers-reduced-motion:reduce){.intro-aftermath{animation:none;opacity:.45}.planet-bombardment{display:none}.title-flames,.title-cinders{display:none}.intro-lockup h1::before{opacity:.85}}
.intro-screen{background:#000}.intro-space{background-size:contain;background-repeat:no-repeat;background-color:#000;animation:none}.intro-space::after{background:radial-gradient(circle at 50% 62%,transparent 35%,#00000055 100%)}.intro-aftermath{background-size:contain;background-repeat:no-repeat;background-color:#000}.planet-bombardment{inset:auto;left:50%;top:50%;width:min(100vw,177.777vh);height:min(56.25vw,100vh);transform:translate(-50%,-50%)}.forged-title .title-flames,.forged-title .title-cinders{display:none}.intro-lockup h1{font-family:Copperplate,'Palatino Linotype','Book Antiqua',Georgia,serif;font-weight:700;color:#d7d2ca;background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:#d7d2ca;-webkit-text-stroke:0;text-shadow:none;filter:none;clip-path:none;letter-spacing:.055em;transform:scale(1.08);animation:plain-gothic-title .85s 4.45s ease-out forwards}.intro-lockup h1::before,.intro-lockup h1::after{display:none}.intro-lite .planet-bombardment,.intro-lite .intro-aftermath{display:none}.intro-lite .intro-lockup p,.intro-lite .intro-lockup>span{animation:none;opacity:1}.intro-lite .intro-lockup h1{animation:none;opacity:1;transform:none}.intro-lite .intro-join{transition:.2s}.intro-lite .intro-space{animation:none}@keyframes plain-gothic-title{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
.forged-title{max-width:96vw}.intro-lockup h1{font-size:clamp(1.85rem,9vw,9rem);max-width:96vw;white-space:nowrap;line-height:.92;letter-spacing:clamp(.015em,.4vw,.055em)}@media(max-width:420px){.intro-lockup{width:100%;padding:0 8px}.intro-lockup h1{font-size:8.6vw;letter-spacing:.02em}}
@media(prefers-reduced-motion:reduce){.intro-force .planet-bombardment{display:block}.intro-force .intro-aftermath{display:block;opacity:0;animation:aftermath-in 1.1s 3.75s ease-out forwards!important}.intro-force .impact{animation-name:surface-impact!important;animation-duration:1.05s!important}.intro-force .impact::before{animation-name:shock-ring!important;animation-duration:.9s!important}.intro-force .impact::after{animation-name:blast-plume!important;animation-duration:.75s!important}.intro-force .intro-lockup p{opacity:0;animation:title-rise .8s 4.35s ease-out forwards!important}.intro-force .intro-lockup h1{opacity:0;animation:plain-gothic-title .85s 4.45s ease-out forwards!important}.intro-force .intro-lockup>span{opacity:0;animation:title-rise .7s 5.35s ease-out forwards!important}}
.intro-aftermath,.intro-lockup{display:none}.intro-title-frame,.intro-damaged-frame{position:absolute;inset:0;z-index:3;background-position:center;background-size:contain;background-repeat:no-repeat;opacity:0;pointer-events:none}.intro-title-frame{background-image:url('assets/weltenbrand-title.webp');animation:frame-title-in .8s 4.15s ease-out forwards}.intro-damaged-frame{z-index:4;background-image:url('assets/weltenbrand-damaged.webp');animation:frame-damage-pulse 1.35s 5.45s ease-in-out infinite alternate}.impact-one{animation-delay:.72s}.impact-one::before,.impact-one::after{animation-delay:.72s}.impact-two{animation-delay:1.38s}.impact-two::before,.impact-two::after{animation-delay:1.38s}.impact-three{animation-delay:2.16s}.impact-three::before,.impact-three::after{animation-delay:2.16s}.impact-four{animation-delay:2.57s}.impact-four::before,.impact-four::after{animation-delay:2.57s}.impact-five{animation-delay:3.43s}.impact-five::before,.impact-five::after{animation-delay:3.43s}.impact-six{animation-delay:4.12s}.impact-six::before,.impact-six::after{animation-delay:4.12s}.intro-join{top:calc(50% + min(56.25vw,100vh)*.115);bottom:auto;min-width:clamp(230px,32vw,470px);padding:clamp(11px,1.2vw,17px) clamp(18px,2vw,30px);border:2px solid #8d725b;background:linear-gradient(180deg,#27221f,#090909 45%,#17120f);font-family:Copperplate,'Palatino Linotype','Book Antiqua',Georgia,serif;font-size:clamp(.82rem,1.6vw,1.35rem);letter-spacing:.035em;text-transform:none;box-shadow:0 0 0 2px #17110e,0 0 0 3px #9b4c28,0 9px 30px #000c,0 0 20px #f15d2233}.intro-join::before,.intro-join::after{content:'';position:absolute;top:50%;width:18px;height:18px;background:#17110e;border:2px solid #9b6547;transform:translateY(-50%) rotate(45deg)}.intro-join::before{left:-10px}.intro-join::after{right:-10px}.button-ornament{color:#b99371;font-size:.65em}.intro-join.ready{transform:translate(-50%,0)}@keyframes frame-title-in{from{opacity:0;filter:brightness(1.5)}to{opacity:1;filter:brightness(1)}}@keyframes frame-damage-pulse{0%{opacity:.38;filter:brightness(.92) saturate(.9)}100%{opacity:1;filter:brightness(1.15) saturate(1.28) drop-shadow(0 0 8px #ff4b1744)}}
@media(max-width:840px){.intro-join{top:calc(50% + min(56.25vw,100vh)*.15);min-width:min(78vw,390px)}}
@media(prefers-reduced-motion:reduce){.intro-force .intro-title-frame{animation:frame-title-in .8s 4.15s ease-out forwards!important}.intro-force .intro-damaged-frame{animation:frame-damage-pulse 1.35s 5.45s ease-in-out infinite alternate!important}}
.intro-title-frame{z-index:4}.intro-damaged-frame{z-index:5}.intro-join{z-index:6}

/* Cinematic reference-frame finish */
.intro-screen{width:100vw;height:100vh;height:100dvh;min-height:100svh;isolation:isolate;background:#000}
.intro-screen::before{content:'';position:absolute;inset:-3%;z-index:-1;background:url('assets/weltenbrand-siege.webp') center/cover no-repeat;filter:blur(22px) brightness(.28) saturate(.8);transform:scale(1.04)}
.intro-space,.intro-title-frame,.intro-damaged-frame,.intro-menu-frame{background-size:contain;background-position:center;background-repeat:no-repeat}
.intro-menu-frame{position:absolute;inset:0;z-index:6;background-image:url('assets/weltenbrand-menu.webp');opacity:0;pointer-events:none;animation:frame-menu-in 1.45s 6.65s cubic-bezier(.22,.61,.36,1) forwards}
.intro-title-frame{animation:frame-title-soft 1.35s 4.35s cubic-bezier(.22,.61,.36,1) forwards}
.intro-damaged-frame{animation:frame-damage-soft 2.8s 5.55s ease-in-out infinite alternate}
.impact{animation-duration:1.55s;filter:blur(1.8px);box-shadow:0 0 24px #ff7b18,0 0 65px #e8340888}
.impact::before{animation-duration:1.35s;border-width:2px}
.impact::after{animation-duration:1.15s;filter:blur(12px)}
.intro-join{z-index:7;top:calc(50% + min(56.25vw,100dvh)*.037);bottom:auto;width:calc(min(100vw,177.777dvh)*.35);min-width:0;max-width:none;height:calc(min(56.25vw,100dvh)*.15);min-height:44px;padding:0;border:0;background:transparent;color:transparent;border-radius:0;box-shadow:none;text-shadow:none;opacity:0;transform:translate(-50%,0);cursor:pointer}
.intro-join::before,.intro-join::after{display:none}.intro-join.ready{opacity:1;transform:translate(-50%,0);pointer-events:auto}.intro-join:hover{filter:none;box-shadow:none}.intro-join:focus-visible{outline:3px solid #ef9a5d;outline-offset:5px;box-shadow:0 0 24px #ef632b88}
.app-wordmark{display:block;background:url('assets/weltenbrand-wordmark.webp') center/contain no-repeat}
.auth-wordmark{width:min(100%,720px);aspect-ratio:1040/300;margin:10px 0 14px;filter:drop-shadow(0 12px 24px #000b)}
.mini-wordmark{width:142px;height:46px}
@keyframes frame-title-soft{from{opacity:0;filter:brightness(1.12) blur(1.5px)}to{opacity:1;filter:brightness(1) blur(0)}}
@keyframes frame-damage-soft{from{opacity:.58;filter:brightness(.97) saturate(.96)}to{opacity:.92;filter:brightness(1.07) saturate(1.1) drop-shadow(0 0 6px #ff4b1733)}}
@keyframes frame-menu-in{from{opacity:0;filter:brightness(.94)}to{opacity:1;filter:brightness(1)}}
@media(max-width:840px){.intro-join{top:calc(50% + min(56.25vw,100dvh)*.037);width:calc(min(100vw,177.777dvh)*.35);min-width:0}.auth-wordmark{margin-inline:auto}.brand-lockup .eyebrow{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.intro-force .intro-title-frame{animation:frame-title-soft 1.35s 4.35s cubic-bezier(.22,.61,.36,1) forwards!important}.intro-force .intro-damaged-frame{animation:frame-damage-soft 2.8s 5.55s ease-in-out infinite alternate!important}.intro-force .intro-menu-frame{animation:frame-menu-in 1.45s 6.65s cubic-bezier(.22,.61,.36,1) forwards!important}.intro-force .impact{animation-duration:1.55s!important}.intro-force .impact::before{animation-duration:1.35s!important}.intro-force .impact::after{animation-duration:1.15s!important}}

.portrait-title-frame,.portrait-damaged-frame,.portrait-button-frame{display:none}
@media(orientation:portrait){
  .intro-screen::before{inset:-7%;filter:blur(28px) brightness(.3) saturate(.88)}
  .intro-space{background-size:cover;background-position:50% center;animation:portrait-camera-drift 10s ease-out both}
  .intro-space::after{background:linear-gradient(to bottom,#02030644 0,#02030600 44%,#02030666 100%),radial-gradient(ellipse at 50% 65%,transparent 30%,#02030688 100%)}
  .intro-title-frame,.intro-damaged-frame,.intro-menu-frame{display:none}
  .portrait-title-frame,.portrait-damaged-frame,.portrait-button-frame{display:block;position:absolute;left:50%;background-position:center;background-size:contain;background-repeat:no-repeat;pointer-events:none;transform:translateX(-50%);opacity:0}
  .portrait-title-frame{z-index:4;top:max(7dvh,calc(env(safe-area-inset-top) + 22px));width:min(96vw,720px);aspect-ratio:2170/725;background-image:url('assets/weltenbrand-wordmark-damaged-transparent.webp');animation:portrait-metal-in 1.4s 4.35s cubic-bezier(.22,.61,.36,1) forwards}
  .portrait-damaged-frame{z-index:5;top:max(7dvh,calc(env(safe-area-inset-top) + 22px));width:min(96vw,720px);aspect-ratio:2170/725;background-image:url('assets/weltenbrand-wordmark-damaged-transparent.webp');animation:portrait-damage-pulse 2.8s 5.55s ease-in-out infinite alternate}
  .portrait-button-frame{z-index:6;top:34dvh;width:min(86vw,570px);aspect-ratio:2170/725;background-image:url('assets/weltenbrand-join-cutout.webp');animation:frame-menu-in 1.45s 6.65s cubic-bezier(.22,.61,.36,1) forwards;filter:drop-shadow(0 12px 24px #000b)}
  .planet-bombardment{inset:0;width:100vw;height:100dvh;transform:none;left:0;top:0}
  .impact-one{left:35%;top:56%}.impact-two{left:63%;top:62%}.impact-three{left:26%;top:70%}.impact-four{left:72%;top:73%}.impact-five{left:52%;top:81%}.impact-six{left:48%;top:49%}
  .intro-vignette{background:linear-gradient(to bottom,#0008 0,transparent 28%,transparent 72%,#000c 100%),radial-gradient(ellipse at center,transparent 42%,#0008 100%)}
  .intro-join{top:34dvh;width:min(86vw,570px);height:min(28.75vw,190px);min-height:54px}
}
@keyframes portrait-camera-drift{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes portrait-title-in{from{opacity:0;transform:translateX(-50%) scale(1.035);filter:brightness(1.12) blur(1.5px)}to{opacity:1;transform:translateX(-50%) scale(1);filter:brightness(1) blur(0)}}
@keyframes portrait-metal-in{from{opacity:0;transform:translateX(-50%) scale(1.035);filter:grayscale(1) saturate(0) brightness(.75) blur(1.2px)}to{opacity:1;transform:translateX(-50%) scale(1);filter:grayscale(1) saturate(0) brightness(.92) blur(0)}}
@keyframes portrait-damage-pulse{0%{opacity:0;filter:brightness(.92) saturate(.65)}35%{opacity:.46}100%{opacity:.94;filter:brightness(1.13) saturate(1.22) drop-shadow(0 0 7px #ff4b1744)}}
@media(orientation:portrait) and (prefers-reduced-motion:reduce){.intro-force .portrait-title-frame{animation:portrait-metal-in 1.4s 4.35s cubic-bezier(.22,.61,.36,1) forwards!important}.intro-force .portrait-damaged-frame{animation:portrait-damage-pulse 2.8s 5.55s ease-in-out infinite alternate!important}.intro-force .portrait-button-frame{animation:frame-menu-in 1.45s 6.65s cubic-bezier(.22,.61,.36,1) forwards!important}.intro-force .intro-space{animation:portrait-camera-drift 10s ease-out both!important}}

@media(max-width:840px){.auth-screen{min-height:100vh;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:auto auto;align-items:start;align-content:start;gap:clamp(18px,4dvh,34px);padding:max(24px,env(safe-area-inset-top)) 20px max(28px,env(safe-area-inset-bottom))}.brand-lockup{width:min(100%,620px);margin:0 auto}.brand-lockup .eyebrow{margin:0 0 6px}.auth-wordmark{width:min(100%,600px);margin:0 auto 6px}.lede{margin:8px auto 0;max-width:34rem;line-height:1.45}.auth-card{margin:0 auto;justify-self:center}}

/* Modular application shell */
.route-outlet{outline:none}.route-section{animation:route-in .28s ease both}.route-link,.nav-item,.small-btn{text-decoration:none}.nav-item{box-sizing:border-box}.architecture-badge{margin-top:auto;padding:16px;border:1px solid #332b2a;background:linear-gradient(145deg,#15141a,#0d0f16);display:grid;gap:4px}.architecture-badge small{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.architecture-badge strong{color:var(--gold)}.architecture-badge span{font-size:.75rem;color:var(--muted)}.component-page-header .toolbar{align-items:center}.config-pill,.config-chip-row span{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #453329;background:#1b1515;color:var(--gold);font-size:.78rem}.layer-notice{padding:14px 16px;border-left:3px solid var(--ember);background:#18151a;color:#c9c6c0}.component-calendar .event-chip{text-decoration:none}.config-layer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.config-layer{position:relative;min-height:180px;padding:22px;border:1px solid var(--line);background:linear-gradient(145deg,#171a24,#0e1017);overflow:hidden}.config-layer .layer-number{position:absolute;right:12px;top:-8px;font:700 4.5rem/1 Georgia;color:#ffffff0a}.config-layer small{color:var(--gold);letter-spacing:.1em;text-transform:uppercase}.config-layer h3{font-size:1.25rem;margin:12px 0 8px}.config-layer p{color:var(--muted);line-height:1.55}.config-layer b{font-size:.8rem}.system-layer{border-top:2px solid var(--ember)}.group-layer{border-top:2px solid var(--gold)}.match-layer{border-top:2px solid var(--violet)}.config-list{display:grid;gap:0}.config-list div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.config-list dt{color:var(--muted)}.config-list dd{margin:0}.config-chip-row{display:flex;flex-wrap:wrap;gap:8px}.profile-page{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* Setup wizard */
.setup-shell{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}.setup-steps{position:sticky;top:88px;display:grid;border:1px solid var(--line);background:#0d1017}.setup-steps button{display:flex;gap:12px;align-items:center;padding:13px 14px;color:var(--muted);border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.setup-steps button span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #454955;border-radius:50%;font-size:.75rem}.setup-steps button.active{color:var(--text);background:#1d1a1c}.setup-steps button.active span{border-color:var(--ember);background:var(--ember);color:white}.setup-steps button.done span{border-color:var(--green);color:var(--green)}.setup-workspace{min-height:570px;padding:26px;border:1px solid var(--line);background:linear-gradient(145deg,#141720,#0d0f15)}.wizard-head{margin-bottom:24px}.wizard-head h2{margin:4px 0 8px}.wizard-head p:last-child{color:var(--muted);max-width:700px}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.wizard-actions span{color:var(--muted);font-size:.85rem}.choice-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice-cards label{display:grid;gap:6px;padding:18px;border:1px solid var(--line);background:#10131b;cursor:pointer}.choice-cards label:has(input:checked){border-color:var(--ember);box-shadow:inset 0 0 0 1px var(--ember)}.choice-cards input{width:auto}.choice-cards span,.field-hint{color:var(--muted);font-size:.85rem}.switch-line{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin:18px 0}.switch-line input{width:auto}.review-box{display:grid;gap:6px;margin-top:20px;padding:18px;border:1px solid #465b50;background:#111b18}.review-box strong{color:var(--green)}.review-box span{color:var(--muted)}

/* Configuration-driven battle */
.battle-route{display:grid;gap:16px}.battle-round{justify-self:center}.dynamic-battle-board{align-items:stretch}.dynamic-score-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.resource-counter>span{font-weight:700}.objective-panel{margin-top:0}.objective-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.objective-grid>div{display:grid;gap:8px;padding:14px;border:1px solid var(--line);background:#0e1118}.objective-grid label{display:flex;gap:8px;align-items:center;color:var(--muted)}.objective-grid input{width:auto}.component-phase-bar{overflow:auto}.component-phase-bar button{white-space:nowrap}
@keyframes route-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:980px){.config-layer-grid{grid-template-columns:1fr}.setup-shell{grid-template-columns:1fr}.setup-steps{position:static;grid-template-columns:repeat(5,1fr)}.setup-steps button{justify-content:center;padding:9px}.setup-steps button:not(.active){font-size:0}.setup-steps button span{font-size:.75rem}.profile-page{grid-template-columns:1fr}}
@media(max-width:840px){.choice-cards{grid-template-columns:1fr}.setup-workspace{padding:18px}.setup-steps{grid-template-columns:repeat(5,1fr)}.config-list div{grid-template-columns:1fr;gap:4px}.component-page-header .toolbar{width:100%}.component-page-header .toolbar>*{flex:1;text-align:center;justify-content:center}.dynamic-battle-board{display:grid;grid-template-columns:1fr}.dynamic-battle-board .battle-center{order:2}.dynamic-battle-board .commander:last-child{order:3}}
#dialogContent{padding:25px}.battle-turn-control{display:flex;align-items:center;justify-content:center;gap:12px}.battle-turn-control .turn-switch{min-width:min(360px,70vw)}.dynamic-battle-board{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}.summary-many{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.summary-many .summary-side{border:1px solid var(--line);padding:14px}

/* Calendar availability */
.calendar-day.today{background:radial-gradient(circle at 18% 12%,#a84b2e66 0,#321d1a 42%,#13151c 100%);box-shadow:inset 0 0 0 2px #d7683e,0 0 18px #d7683e26}.calendar-day.today:hover{background:radial-gradient(circle at 18% 12%,#c65a356e 0,#3a211c 44%,#171922 100%)}.calendar-day.today .day-num{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:50%;background:linear-gradient(135deg,#b8462b,#e16d38);color:#fff;box-shadow:0 0 14px #e16d3866}
.calendar-day{cursor:pointer}.calendar-day:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.availability-dots{position:absolute;left:9px;right:9px;bottom:9px;display:flex;align-items:center;gap:5px;min-height:12px}.availability-dots i,.availability-member-row>i{display:block;width:9px;height:9px;border-radius:50%;background:var(--member-color);box-shadow:0 0 0 2px #0d1017}.calendar-hint{margin:10px 2px 0;color:var(--muted);font-size:.82rem}.availability-summary{display:grid;gap:4px;padding:14px 16px;margin-bottom:12px;border:1px solid #4b382e;background:#191518}.availability-summary strong{color:var(--gold);font-size:1.05rem}.availability-summary span{color:var(--muted);font-size:.82rem}.availability-member-list{display:grid}.availability-member-row{display:grid;grid-template-columns:10px 34px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}.availability-member-row .mini-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#302d38;font-size:.68rem}.availability-member-row small{display:block;color:var(--muted)}.availability-origin{padding:4px 7px;border:1px solid var(--line);color:var(--muted);font-size:.7rem}.empty-availability{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--line)}.own-availability-editor{margin-top:20px;padding-top:18px!important;border-top:1px solid var(--line)}.own-availability-editor h3{margin:3px 0}.availability-check{display:flex;align-items:center;gap:9px}.availability-check input{width:auto}.availability-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.availability-source,.availability-profile-note{color:var(--muted);font-size:.82rem}.availability-profile-note{padding:12px 14px;border-left:3px solid var(--gold);background:#17171d}
@media(max-width:840px){.availability-dots{display:flex!important;left:5px;right:5px;bottom:5px;gap:3px}.availability-dots i{width:6px;height:6px;box-shadow:none}.calendar-hint{font-size:.76rem}.availability-member-row{grid-template-columns:8px 32px minmax(0,1fr)}.availability-origin{grid-column:3;justify-self:start}.availability-time-fields{grid-template-columns:1fr}}
.availability-more{display:grid;place-items:center;min-width:18px;height:15px;padding:0 3px;border-radius:8px;background:#292d37;color:#d9d7d2;font-size:.6rem;line-height:1}
@media(max-width:840px){.availability-more{min-width:13px;height:11px;padding:0 2px;font-size:.48rem}}
/* Personal army editor */
.day-match-button{width:100%;margin-top:16px}.availability-member-list .availability-member-row{grid-template-columns:minmax(0,1fr) auto}.availability-member-row>span{color:var(--muted);font-variant-numeric:tabular-nums}
.army-counter-config{grid-column:1/-1;padding:12px 14px;background:#0d1017;border:1px solid var(--line);border-radius:6px}.army-counter-config .switch-line{margin:0}.army-counter-list{display:grid;gap:8px;margin:12px 0}.army-counter-list>div{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.army-counter-list .icon-btn{width:42px}.army-counter-config .small-btn:disabled{opacity:.4;cursor:not-allowed}
.round-team-option{margin:0 0 22px;padding:15px 16px;border:1px solid #6d493b;background:linear-gradient(135deg,#1a1516,#10131a);border-radius:7px}.round-team-option .switch-line{margin:0}.round-team-option .switch-line span{font-weight:700}.round-team-option p{margin:8px 0 0 30px;color:var(--muted);font-size:.86rem;line-height:1.55}.round-team-option.is-disabled{opacity:.5}.round-team-choice .start-team-options{margin-top:18px}
.profile-overview-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:14px}.profile-identity-panel .profile-hero{border:0;background:transparent;padding:6px 0}.profile-identity-panel .profile-hero small{color:var(--gold);margin-top:3px}.army-overview-panel .panel-head h3,.profile-availability-panel .panel-head h3{margin:3px 0}.army-overview-list{display:grid;gap:8px;margin-top:18px}.army-overview-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:12px 15px;border:1px solid var(--line);border-left:3px solid #87503a;border-radius:6px;background:#0d1017;color:var(--text);text-align:left;cursor:pointer}.army-overview-item:hover{border-left-color:var(--ember);background:#151821}.army-overview-item span{color:var(--gold);font-size:1.6rem}.profile-availability-panel{grid-column:1/-1}.availability-profile-times{max-width:620px}.army-menu-counters{margin-top:20px;padding:16px;border:1px solid var(--line);background:#0d1017;border-radius:7px}.army-menu-counters .switch-line{margin:0}.army-menu-counter-list{display:grid;gap:8px;margin:14px 0}.army-menu-counter-list>div{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:end}.army-menu-counter-list label{margin:0}.army-menu-actions .army-delete{margin-right:auto;color:#dc866e}
@media(max-width:840px){.profile-overview-grid{grid-template-columns:1fr}.profile-availability-panel{grid-column:auto}.army-overview-panel .panel-head{align-items:flex-start}.army-menu-actions{align-items:stretch}.army-menu-actions>*{width:100%}.army-menu-actions .army-delete{order:4}}
.calendar-month-nav{display:flex;align-items:end;gap:6px}.calendar-month-nav label{display:grid;gap:3px;margin:0}.calendar-month-nav label span{color:var(--muted);font-size:.7rem}.calendar-month-nav select{min-height:42px;padding:8px 30px 8px 10px}.month-arrow{width:42px;padding:0;font-size:1.5rem}.month-arrow:disabled{opacity:.3;cursor:not-allowed}
.army-heading{align-items:flex-start;margin-top:22px}.army-heading h3{margin-bottom:3px}.army-heading p{margin:0;color:var(--muted);font-size:.82rem}.army-editor{display:grid;gap:10px}.army-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.army-edit-row label{margin:0}.army-remove{margin-bottom:1px}.empty-armies{padding:18px;border:1px dashed var(--line);color:var(--muted);text-align:center}.match-response{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:640px){.calendar-month-nav{width:100%;order:2}.calendar-month-nav label{flex:1}.calendar-month-nav select{width:100%}.army-edit-row{grid-template-columns:minmax(0,1fr) 42px}.army-edit-row label:nth-child(2){grid-column:1/2}.army-edit-row .army-remove{grid-column:2;grid-row:1/3;align-self:center}.match-response .dialog-actions{align-items:stretch}.match-response .dialog-actions>*{width:100%}}
/* Group-scoped game systems and match flow */
.selection-summary{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:0 0 18px;border:1px solid #4b382e;background:#191518}.selection-summary span{color:var(--muted)}.selection-summary strong{color:var(--gold)}.selection-summary .text-btn{margin-left:auto}.group-system-list{display:grid;gap:9px;margin-top:18px}.group-system-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--line);background:#0d1017}.group-system-list article div{display:grid}.group-system-list small,.empty-systems span{color:var(--muted)}.empty-systems{display:grid;gap:5px;padding:22px;margin-top:16px;border:1px dashed var(--line);text-align:center}.group-only-setup{grid-template-columns:220px minmax(0,1fr)}
@media(max-width:840px){.selection-summary{align-items:flex-start;flex-wrap:wrap}.selection-summary .text-btn{width:100%;margin-left:0;text-align:left}.group-system-list article{align-items:flex-start}.group-only-setup{grid-template-columns:1fr}}

/* Match-specific team assignment */
.battle-setup-route{display:grid;gap:18px}.battle-setup-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.battle-setup-intro h2{margin:4px 0 7px}.battle-setup-intro p:last-child{margin:0;color:var(--muted)}.army-pool,.team-drop{border:1px dashed #4a4e59;background:linear-gradient(145deg,#141720,#0d0f15);transition:border-color .18s,background .18s}.army-pool{min-height:164px;padding:18px}.pool-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.pool-head h3{margin:3px 0}.pool-head>span{color:var(--gold);font-size:.78rem}.army-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.setup-army-card{position:relative;display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:72px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#171a23;cursor:grab;box-shadow:0 8px 22px #0003}.setup-army-card.dragging{opacity:.4}.setup-army-card .army-color{align-self:stretch;border-radius:4px;background:var(--army-color)}.setup-army-card div:nth-child(2){display:grid;gap:3px}.setup-army-card small{color:var(--muted)}.army-assign-controls{display:flex;gap:4px}.army-assign-controls button{width:31px;height:31px;padding:0;border:1px solid #3c404a;border-radius:5px;background:#0d1017;color:var(--muted);cursor:pointer}.army-assign-controls button.active{border-color:var(--ember);color:#fff;background:#6f3324}.versus-setup{display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);gap:12px;align-items:stretch;margin-top:16px}.team-drop{min-height:300px;padding:16px;border-top:3px solid var(--ember)}.team-drop.team-right{border-top-color:var(--violet)}.team-drop label{margin-bottom:15px;color:var(--muted)}.team-drop input{font:600 1.25rem Oswald;color:#fff;background:#0c0f16}.team-card-list{display:grid;align-content:start;gap:9px;min-height:195px}.versus-mark{display:grid;place-items:center;font:700 1.5rem Oswald;color:var(--gold)}.drop-hint{align-self:stretch;display:grid;place-items:center;min-height:90px;margin:0;border:1px dashed #343843;color:var(--muted);text-align:center;padding:14px}.drop-zone.drag-over{border-color:var(--gold);background:#1b1818}.battle-setup-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding-top:16px;border-top:1px solid var(--line)}.battle-setup-actions span{margin-right:auto;color:var(--muted)}.battle-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:12px 18px;border:1px solid #493329;background:#171419;text-align:center}.battle-matchup strong{font:600 1.1rem Oswald}.battle-matchup strong:first-child{text-align:right;color:#e77c57}.battle-matchup strong:last-child{text-align:left;color:#aaa2f5}.battle-matchup span{color:var(--gold);font:700 1rem Oswald}
.setup-army-card{grid-template-columns:5px minmax(0,1fr)}.army-assign-controls{grid-column:2;justify-content:flex-end;gap:5px}.army-assign-controls button{width:auto;min-width:58px;padding:0 8px;font:600 .68rem/1 Oswald,sans-serif;letter-spacing:.04em}.army-assign-controls button.active{color:#fff}.army-assign-controls .assign-left.active{border-color:var(--ember);background:#6f3324}.army-assign-controls .assign-right.active{border-color:var(--violet);background:#433b78}.army-assign-controls .assign-pool{min-width:48px}.army-assign-controls .assign-pool.active{border-color:#747987;background:#30343e}
.battle-clock-setup{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;padding:13px 16px;border-top:1px solid #6d5133}.clock-settings-copy{display:flex;align-items:center;min-width:0;gap:18px;flex:1 1 320px}.clock-settings-copy h3{margin:2px 0 0;white-space:nowrap}.clock-settings-copy>p{max-width:470px;margin:0;color:var(--muted);font-size:.82rem}.clock-setup-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:1 1 400px}.clock-mode-options{width:230px;margin:0}.clock-mode-options label{position:relative;display:block;flex:1;margin:0;cursor:pointer}.clock-mode-options input{position:absolute;opacity:0;pointer-events:none}.clock-mode-options .seg{display:block;padding:7px 9px;text-align:center}.clock-mode-options input:checked+.seg{color:var(--text);background:#242630;border-radius:5px;box-shadow:0 1px 8px #0008}.clock-mode-options label:focus-within .seg{outline:2px solid var(--gold);outline-offset:1px}.battle-clock-duration{display:grid;grid-template-columns:auto 76px;align-items:center;gap:8px;margin:0;white-space:nowrap}.battle-clock-duration span{font:600 .76rem Oswald;color:var(--gold)}.battle-clock-duration input{min-height:36px;padding:7px 8px;font:600 1rem Oswald;color:#fff;text-align:center}
@media(max-width:840px){.battle-setup-intro{display:grid}.versus-setup{grid-template-columns:1fr}.versus-mark{min-height:42px}.team-drop{min-height:220px}.team-card-list{min-height:110px}.battle-clock-setup{display:grid;gap:10px;padding:12px}.clock-settings-copy{align-items:flex-start;gap:12px}.clock-settings-copy>p{font-size:.76rem}.clock-setup-controls{justify-content:space-between;gap:10px}.clock-mode-options{width:auto;min-width:0;flex:1}.battle-clock-duration{grid-template-columns:auto 64px}.battle-setup-actions{align-items:stretch;flex-direction:column}.battle-setup-actions .primary{width:100%}.army-card-grid{grid-template-columns:1fr}.setup-army-card{grid-template-columns:5px minmax(0,1fr)}.army-assign-controls{grid-column:2;justify-content:flex-end}.battle-matchup{gap:8px;padding:10px}.battle-matchup strong{font-size:.9rem}}

/* Guided team battle */
.guided-battle{padding-top:0;gap:12px}.sticky-team-score{position:sticky;z-index:18;top:72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.55fr) minmax(0,1fr);align-items:stretch;border:1px solid #4b3a32;background:#090b11ee;box-shadow:0 14px 30px #0009;backdrop-filter:blur(12px)}.team-score{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 12px;padding:12px 18px;border-top:3px solid #a5492c}.team-score.blue-team{border-top-color:#7771cf;text-align:right;grid-template-columns:1fr auto}.team-score.blue-team small,.team-score.blue-team span{grid-column:1}.team-score.blue-team strong{grid-column:2;grid-row:1/3}.team-score small{color:var(--muted);font:.66rem Oswald;letter-spacing:.1em}.team-score strong{grid-row:1/3;font:700 clamp(2.2rem,5vw,4rem)/1 Oswald;color:var(--gold)}.team-score span{font:600 1rem Oswald}.team-score.active{background:linear-gradient(120deg,#6d281d55,transparent)}.team-score.blue-team.active{background:linear-gradient(240deg,#403a8455,transparent)}.battle-position{display:grid;place-items:center;align-content:center;gap:3px;padding:8px;text-align:center;border-inline:1px solid var(--line)}.battle-position small,.battle-position span{font-size:.7rem;color:var(--muted)}.battle-position strong{font:700 1.25rem Oswald;color:var(--gold)}.guided-phase-bar{display:flex;justify-content:center;gap:4px;margin-bottom:0}.guided-phase-bar span{flex:1;min-width:110px;padding:10px;text-align:center;color:var(--muted);font:600 .76rem Oswald;letter-spacing:.04em}.guided-phase-bar span.active{color:#fff;background:linear-gradient(90deg,#753923,#a54d2d);box-shadow:0 0 20px #e56a3722}.active-team-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:10px 4px 2px}.active-team-heading h2{margin:3px 0 0}.active-team-heading>span{color:var(--gold);font-size:.82rem}.active-team-board{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));margin-bottom:4px}.battle-awaiting{min-height:280px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center}.battle-awaiting h3,.battle-awaiting p{margin:0}.battle-awaiting p:not(.eyebrow){max-width:580px;color:var(--muted)}.battle-awaiting .primary{margin-top:12px}.battle-step-navigation{position:sticky;z-index:17;bottom:12px;display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1.4fr) minmax(130px,1fr);align-items:center;gap:12px;padding:12px;border:1px solid #49372e;background:#0b0e14ee;box-shadow:0 -12px 30px #0008;backdrop-filter:blur(12px)}.battle-step-navigation>div{display:grid;place-items:center;gap:2px;text-align:center}.battle-step-navigation small{color:var(--muted);font-size:.7rem}.battle-step-navigation strong{font:600 1rem Oswald;color:var(--gold)}.battle-step-navigation .text-btn{font-size:.72rem}.battle-step-navigation>button:last-child{justify-self:stretch}.battle-step-navigation button:disabled{opacity:.35;cursor:not-allowed}.battle-transition{margin:-25px;padding:30px;min-width:min(620px,calc(100vw - 48px));background:linear-gradient(145deg,#171b25,#0c0f15);border-top:5px solid #5d6576;text-align:center}.battle-transition h2{margin:6px 0 8px;font:600 clamp(1.8rem,5vw,3.2rem) Oswald}.battle-transition>p:not(.eyebrow){margin:0 auto 20px;max-width:520px;color:#d1d0cc}.transition-team{border-color:#6177c9;background:radial-gradient(circle at 50% 0,#27376a,#101521 60%)}.transition-phase{border-color:#e16b35;background:radial-gradient(circle at 50% 0,#6a321d,#1b1210 60%)}.transition-round{border-color:#d7a647;background:radial-gradient(circle at 50% 0,#684d1f,#19140e 62%)}.transition-start{border-color:#9d6850;background:radial-gradient(circle at 50% 0,#493027,#111117 62%)}.start-team-options{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:24px 0 4px}.start-team-options>span{font:700 1.2rem Oswald;color:var(--gold)}.team-choice{display:grid;gap:6px;min-height:108px;padding:18px;border:1px solid var(--line);color:#fff;cursor:pointer}.team-choice small{font:600 .7rem Oswald;letter-spacing:.12em}.team-choice strong{font:600 1.15rem Oswald}.red-choice{background:#5a271d;border-color:#aa5034}.blue-choice{background:#302d62;border-color:#7771cf}.transition-scoreline{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:20px 0;padding:12px;border:1px solid #ffffff22;background:#080a0e66}.transition-scoreline span:first-child{text-align:right}.transition-scoreline span:last-child{text-align:left}.transition-scoreline strong{font:700 1.6rem Oswald;color:var(--gold)}.transition-scoreline i{font-style:normal;color:var(--muted)}.round-transition-summary{display:grid;gap:8px;margin:18px auto;max-width:480px;padding:14px;border:1px solid #d7a64766;background:#0a0b0f66;text-align:left}.round-transition-summary>small{color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.round-transition-summary>div{display:flex;justify-content:space-between;gap:14px}.round-transition-summary strong{color:#fff}
.team-turn-summary{border-color:#ffffff2b}.team-turn-summary .team-turn-total{margin-top:4px;padding-top:9px;border-top:1px solid #ffffff2b}.team-turn-summary .team-turn-total strong{color:var(--gold)}
@media(max-width:840px){.sticky-team-score{top:68px;grid-template-columns:1fr 76px 1fr}.team-score{grid-template-columns:1fr;padding:8px 9px;text-align:left}.team-score strong{grid-row:2;font-size:2.3rem}.team-score span{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-score.blue-team{grid-template-columns:1fr;text-align:right}.team-score.blue-team small,.team-score.blue-team span,.team-score.blue-team strong{grid-column:1;grid-row:auto}.battle-position{padding:6px 3px}.battle-position small,.battle-position span{font-size:.58rem}.battle-step-navigation{bottom:6px;grid-template-columns:1fr 1fr}.battle-step-navigation>div{grid-column:1/-1;grid-row:1}.battle-step-navigation>button:first-child{grid-column:1}.battle-step-navigation>button:last-child{grid-column:2}.battle-transition{margin:-25px;padding:24px 18px;min-width:calc(100vw - 28px)}.start-team-options{grid-template-columns:1fr}.start-team-options>span{min-height:24px}.team-choice{min-height:88px}.guided-phase-bar{justify-content:flex-start;overflow:auto}}

/* Team clocks stay with the persistent team score instead of individual players. */
.team-score>small,.team-score>span,.team-score>time{grid-column:2}.team-score>strong{grid-column:1;grid-row:1/4}.team-score time{font:500 .72rem Oswald;color:var(--muted);white-space:nowrap}.team-score time b{margin-left:5px;color:#fff;font:600 .88rem Oswald}.team-score.active time b{color:var(--green)}.team-score.blue-team>small,.team-score.blue-team>span,.team-score.blue-team>time{grid-column:1}.team-score.blue-team>strong{grid-column:2;grid-row:1/4}
.shared-battle-clock{display:grid;place-items:center;margin-top:3px}.shared-battle-clock small{font-size:.57rem;text-transform:uppercase;letter-spacing:.08em}.shared-battle-clock b{color:var(--green);font:600 clamp(.72rem,1.25vw,1rem) Oswald;white-space:nowrap}
@media(max-width:840px){.team-score>small,.team-score>span,.team-score>time,.team-score>strong,.team-score.blue-team>small,.team-score.blue-team>span,.team-score.blue-team>time,.team-score.blue-team>strong{grid-column:1;grid-row:auto}.team-score time{font-size:.61rem}.team-score time b{display:block;margin-left:0;font-size:.72rem}}

/* ULTRAR entry experience */
.intro-screen.ultrar-intro{display:grid;grid-template-rows:auto auto;place-items:center;align-content:center;gap:clamp(12px,2.2dvh,24px);width:100vw;height:100dvh;min-height:100svh;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden;background:#020202;isolation:isolate}
.intro-screen.ultrar-intro::before{display:none}
.ultrar-intro-logo{display:block;width:min(88vw,72dvh,880px);height:auto;max-width:100%;max-height:calc(100dvh - 104px);object-fit:contain;filter:drop-shadow(0 18px 50px #000);animation:ultrarLogoIn .85s cubic-bezier(.2,.75,.2,1) both}
.intro-screen.ultrar-intro .intro-join.ultrar-start-button{position:static;inset:auto;z-index:5;display:inline-grid;place-items:center;transform:translateY(8px);width:auto;height:auto;min-width:172px;min-height:46px;padding:12px 28px;border:1px solid #71402f;border-radius:7px;background:#171a22;color:#f4f1ed;font:600 .86rem/1 Oswald,sans-serif;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 9px 28px #000a,inset 0 1px #ffffff0c;opacity:0;pointer-events:none;cursor:pointer;transition:opacity .4s ease,transform .4s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.intro-screen.ultrar-intro .intro-join.ultrar-start-button::before,.intro-screen.ultrar-intro .intro-join.ultrar-start-button::after{display:none}
.intro-screen.ultrar-intro .intro-join.ultrar-start-button.ready{transform:translateY(0);opacity:1;pointer-events:auto}
.intro-screen.ultrar-intro .intro-join.ultrar-start-button:hover{transform:translateY(-1px);border-color:#c75f3d;background:#222631;box-shadow:0 11px 30px #000b,0 0 18px #dd542326;filter:none}
.intro-screen.ultrar-intro .intro-join.ultrar-start-button:focus-visible{outline:2px solid #e46d43;outline-offset:4px}
.intro-screen.ultrar-intro.leaving{animation:ultrarIntroOut .48s ease both}
@keyframes ultrarLogoIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes ultrarIntroOut{to{opacity:0;transform:scale(1.012)}}
.ultrar-auth-brand{display:grid;justify-items:start;gap:7px;width:min(100%,610px);margin:10px 0 22px;text-transform:uppercase}
.ultrar-wordmark-type{font-family:Georgia,'Times New Roman',serif;background:linear-gradient(180deg,#f0e4d8 4%,#9b8072 34%,#e3d4c8 52%,#654d43 78%,#dbb29a 100%);background-size:100% 100%;color:#d5b9a9;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 0 #24110d) drop-shadow(0 0 16px #c543241f);text-shadow:none}
.ultrar-auth-brand strong,.ultrar-auth-brand h1{margin:0;font-size:clamp(3.3rem,8vw,6.5rem);font-weight:500;line-height:.82;letter-spacing:.035em}
.ultrar-auth-brand span{width:100%;padding-top:9px;border-top:1px solid #713421;color:#d8d4d1;font:500 clamp(.62rem,1.5vw,.84rem)/1.2 Oswald,sans-serif;letter-spacing:.34em;text-align:center}
@media(orientation:portrait){.ultrar-intro-logo{width:min(92vw,66dvh,720px);max-height:calc(100dvh - 112px)}}
@media(max-width:640px){.ultrar-auth-brand{justify-items:center;margin-inline:auto}.ultrar-auth-brand strong,.ultrar-auth-brand h1{font-size:clamp(3rem,17vw,5rem)}.ultrar-auth-brand span{letter-spacing:.22em}.brand-lockup{text-align:center}}
@media(prefers-reduced-motion:reduce){.ultrar-intro-logo,.intro-screen.ultrar-intro.leaving{animation:none}.intro-screen.ultrar-intro .intro-join.ultrar-start-button{transition:opacity .15s ease}}

/* Installable app prompt */
.install-prompt{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:13px 14px;border:1px solid #68412f;border-radius:8px;background:linear-gradient(135deg,#1a1719,#11141d);box-shadow:inset 0 1px #ffffff0b}.install-prompt>div{display:grid;gap:3px;min-width:0}.install-prompt strong{font:600 .86rem/1.2 Oswald,sans-serif;letter-spacing:.06em}.install-prompt span{color:var(--muted);font-size:.75rem;line-height:1.35}.install-prompt .ghost{flex:0 0 auto;white-space:nowrap;border-color:#71402f;color:#f2c299}
@media(max-width:480px){.install-prompt{align-items:stretch;flex-direction:column}.install-prompt .ghost{width:100%}}

/* ULTRAR battle completion */
.victory-dialog{background:#030405}.victory-dialog::backdrop{background:#030405}.victory-stage.ultrar-victory-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;gap:clamp(10px,2dvh,20px);width:100%;height:100dvh;min-height:100svh;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:hidden;background:#030405;isolation:isolate}
.victory-stage.ultrar-victory-stage::before,.victory-stage.ultrar-victory-stage::after{display:none}
.ultrar-victory-scene{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(180deg,#02030570 0,#02030518 34%,#0203051f 58%,#020305c9 100%),url('assets/ultrar-victory.webp');background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.012);filter:saturate(.88) contrast(1.05) brightness(.9)}
.ultrar-victory-scene::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,transparent 22%,#02030522 62%,#020305c7 100%);pointer-events:none}
.victory-heading{align-self:center;display:grid;justify-items:center;gap:clamp(5px,1dvh,10px);width:min(94vw,980px);padding:clamp(14px,2.2vw,24px) clamp(16px,3vw,34px);border-top:1px solid #ff5a3d35;border-bottom:1px solid #ffffff12;background:linear-gradient(90deg,transparent,#030405bd 14%,#030405bd 86%,transparent);text-align:center;text-transform:uppercase;text-shadow:0 2px 18px #000,0 1px 3px #000}.victory-heading .victory-kicker{margin:0;color:#d4d0ce;font-size:clamp(.7rem,1.2vw,.9rem);letter-spacing:.48em}.victory-heading h2{margin:4px 0 0!important;font-size:clamp(2.2rem,5.4vw,5.4rem)!important;line-height:.92!important;letter-spacing:.1em!important}.victory-heading>strong{max-width:92vw;margin:5px 0 3px;font-size:clamp(2.1rem,6.2vw,6rem);font-weight:500;line-height:.88;letter-spacing:.035em;opacity:0;text-transform:uppercase}.victory-lineup{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;width:min(92vw,760px);margin-top:5px;opacity:0}.victory-member{display:grid;grid-template-columns:auto auto;align-items:center;gap:7px 13px;min-width:min(280px,86vw);padding:10px 16px;border:1px solid #71402f;border-radius:7px;background:#171a22e8;box-shadow:0 9px 28px #0009,inset 0 1px #ffffff0c;text-align:left;text-transform:none}.victory-member b{color:#f4f1ed;font:600 clamp(.82rem,1.5vw,.98rem)/1.2 Oswald,sans-serif;letter-spacing:.08em}.victory-member span{padding-left:13px;border-left:1px solid #71402f;color:#c8c4c0;font:500 clamp(.74rem,1.3vw,.88rem)/1.2 Oswald,sans-serif;letter-spacing:.04em}.victory-dialog[open] .victory-heading>strong,.victory-dialog[open] .victory-lineup{animation:rise .6s 1.7s ease-out forwards}
.victory-results{align-self:end;display:grid;justify-items:center;gap:5px;width:min(94vw,760px);padding:12px clamp(18px,3vw,32px) 6px;background:linear-gradient(90deg,transparent,#030405b8 12%,#030405b8 88%,transparent);text-align:center;text-shadow:0 2px 12px #000}.victory-results>small{color:#d6d1cf;font:500 .72rem Oswald;letter-spacing:.34em;opacity:0}.victory-results .victory-score{margin:0 0 9px;gap:clamp(12px,2vw,24px);font-size:clamp(2.8rem,6vw,5.5rem);line-height:.9;text-shadow:0 0 20px #f2261757,0 3px 8px #000}.victory-results .victory-score span:first-child{color:#ff5b49}.victory-results .victory-score i{color:#f1edeb}.victory-dialog[open] .victory-results>small{animation:rise .5s 1.95s ease-out forwards}.victory-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(92vw,700px)}.victory-action-btn{min-width:0;border:1px solid #ff5b4f;background:#65110fe8;box-shadow:inset 0 0 24px #f426182b,0 0 24px #f4261845;color:#fff;letter-spacing:.1em;text-shadow:0 1px 3px #000;text-transform:uppercase;opacity:0;transform:translateY(15px);pointer-events:none}.victory-action-btn.ready{animation:rise .5s ease-out forwards;pointer-events:auto}.victory-action-btn:hover{background:#8b1a16;border-color:#ff8a80}.victory-action-btn>span{margin-right:5px;font-size:1.05em}.victory-share-btn{border-color:#d49455;background:#33231de8;box-shadow:inset 0 0 22px #e9853622,0 0 20px #e9853625}.victory-share-btn:hover{background:#4b2d22;border-color:#efb77d}.victory-action-btn:disabled{opacity:.45;cursor:wait;pointer-events:none}.share-result-fallback{display:grid;gap:16px;padding:clamp(18px,4vw,28px)}.share-result-preview{display:block;width:min(100%,420px);max-height:52vh;margin:0 auto;border:1px solid #71402f;border-radius:8px;box-shadow:0 18px 45px #000b;object-fit:contain;background:#050608}.share-result-fallback .dialog-actions{margin-top:0}
@media(max-width:840px){.victory-stage.ultrar-victory-stage{grid-template-rows:minmax(0,1fr) auto;gap:8px;padding:12px 14px max(14px,env(safe-area-inset-bottom))}.ultrar-victory-scene{background-position:center}.victory-heading{width:96vw;padding:11px 12px}.victory-heading .victory-kicker{font-size:.62rem;letter-spacing:.34em}.victory-heading h2{font-size:clamp(2rem,10vw,3.8rem)!important}.victory-heading>strong{font-size:clamp(1.7rem,9vw,3.2rem);line-height:.92}.victory-lineup{gap:6px;margin-top:2px}.victory-member{min-width:min(300px,90vw);padding:8px 12px}.victory-results{width:96vw;padding:8px 12px 4px}.victory-results .victory-score{font-size:clamp(2.2rem,12vw,4rem)}.victory-actions{grid-template-columns:1fr;width:min(88vw,390px);gap:7px}.victory-action-btn{min-height:42px;padding-block:8px;font-size:.78rem}}

/* Two-line group title in the application header */
.group-title-wrap{display:grid;align-content:center;gap:5px;min-width:0;padding-left:30px}.group-title-wrap>.eyebrow{margin:0;line-height:1}.group-picker{display:block;min-width:0;max-width:100%;overflow:hidden;padding:0;background:transparent;font-size:1.15rem;line-height:1.18;letter-spacing:.025em;text-align:left;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:840px){.topbar{grid-template-columns:48px minmax(0,1fr) auto}.group-title-wrap{gap:4px;min-width:0;padding-left:8px}.group-title-wrap>.eyebrow{font-size:.62rem}.group-picker{font-size:.95rem;line-height:1.1}}

/* Authentication security and persistence */
.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-field button{position:absolute;right:5px;top:50%;display:grid;place-items:center;width:36px;height:36px;transform:translateY(-50%);border:0;border-radius:5px;background:transparent;color:var(--gold);cursor:pointer}.password-tools{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:-3px 0 4px}.password-tools .ghost{min-height:36px;padding:7px 10px;color:#f2c299;white-space:nowrap}.password-tools small{color:var(--muted);font-size:.7rem;line-height:1.35}.remember-login{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.remember-login>input,.battle-wake-control>input{appearance:none;flex:0 0 auto;width:38px;height:22px;min-height:22px;margin:1px 0 0;padding:0;border:1px solid #4b4e59;border-radius:20px;background:#22252e;cursor:pointer;transition:.2s}.remember-login>input::before,.battle-wake-control>input::before{content:'';display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:#8b8e97;transition:.2s}.remember-login>input:checked,.battle-wake-control>input:checked{border-color:#b65a37;background:#74351f}.remember-login>input:checked::before,.battle-wake-control>input:checked::before{transform:translateX(16px);background:#f4c095}.remember-login span{display:grid;gap:2px}.remember-login strong{color:#ddd;font-size:.82rem}.remember-login small{color:var(--muted);font-size:.7rem;font-weight:400}

/* Screen wake lock for a running battle */
.battle-wake-control{display:flex;align-items:center;gap:10px;align-self:flex-end;margin:0;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:#11141dcf}.battle-wake-control>span{display:grid;gap:1px}.battle-wake-control strong{font:600 .74rem/1.2 Oswald,sans-serif;letter-spacing:.04em}.battle-wake-control small{color:var(--muted);font-size:.65rem;font-weight:400}.battle-wake-control>input:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:560px){.password-tools{grid-template-columns:1fr}.password-tools .ghost{width:100%}.battle-wake-control{align-self:stretch}}

/* Stable responsive frame and clear sign-out action */
html{width:100%;max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}img,svg,video,canvas{max-width:100%}.app,.content,.route-outlet,.route-section,.panel,.view-head,.toolbar,.dialog,#dialogContent{min-width:0;max-width:100%}.route-section,.panel,.dialog,.toolbar,.view-head{overflow-wrap:anywhere}.content{width:100%;overflow-x:clip}.topbar{width:100%;max-width:100%}.group-title-wrap{overflow:hidden}.top-actions{min-width:max-content}.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #4a3a35;border-radius:7px;background:#181b24;color:#ddd;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.logout-button:hover{border-color:#a45238;background:#251a1a;color:#fff}.logout-button svg,.logout-confirm-mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.logout-button span{font:600 .74rem/1 Oswald,sans-serif;letter-spacing:.05em}.logout-confirm{display:grid;justify-items:center;gap:8px;padding:clamp(22px,5vw,34px);text-align:center}.logout-confirm-mark{display:grid;place-items:center;width:52px;height:52px;margin-bottom:5px;border:1px solid #8b4936;border-radius:50%;background:#2c1918;color:#f09372}.logout-confirm h2{margin:3px 0 4px}.logout-confirm>p:not(.eyebrow){max-width:510px;margin:0;color:#b9b7b3;line-height:1.6}.logout-confirm .dialog-actions{width:100%;justify-content:center;flex-wrap:wrap}.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid #b65642;border-radius:6px;background:#76291f;color:#fff;font-weight:700;cursor:pointer}.danger-button:hover{background:#963629}.danger-button:disabled{opacity:.55;cursor:wait}
.dialog{max-height:calc(100dvh - 26px);overscroll-behavior:contain}.dialog-actions{flex-wrap:wrap}.form-grid>*{min-width:0}input,select,textarea{max-width:100%}.calendar,.match-card,.stats-grid,.kpi-grid,.profile-overview-grid,.setup-shell,.battle-board,.sticky-team-score{max-width:100%}.battle-transition{width:min(620px,100%);max-width:100%;min-width:0;margin:0 auto}.toast{max-width:min(360px,calc(100vw - 28px));right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}.victory-stage.ultrar-victory-stage{overflow-x:hidden;overflow-y:auto}
@media(max-width:840px){.app{padding-top:calc(68px + env(safe-area-inset-top))}.topbar{height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.sidebar{top:calc(68px + env(safe-area-inset-top));height:calc(100dvh - 68px - env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));overflow-y:auto}.content{padding:22px max(14px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.top-actions{gap:7px}.logout-button{width:42px;padding:0}.logout-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.top-actions #notifyBtn{display:none}.auth-screen{min-height:100dvh;align-content:center;padding:max(26px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow-y:auto}.auth-card{max-width:520px;padding:clamp(20px,5vw,32px)}input,select,textarea{font-size:16px}.view-head{gap:14px}.component-page-header .toolbar{display:flex;align-items:stretch;flex-wrap:wrap}.component-page-header .toolbar>*{min-width:min(100%,150px)}.dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.dialog form,#detailContent{padding:20px}.dialog-actions>*{flex:1 1 150px}.battle-transition{width:100%;padding:22px 16px}.calendar{width:100%}.weekday{overflow:hidden;text-overflow:ellipsis}.day{min-width:0}.match-card{min-width:0}.match-info{min-width:0}.match-info h3,.match-meta{overflow-wrap:anywhere}.setup-steps{overflow-x:auto;overscroll-behavior-x:contain}.guided-phase-bar{overscroll-behavior-x:contain}.victory-dialog{height:100dvh}.victory-stage.ultrar-victory-stage{height:100dvh;min-height:100dvh}}
@media(max-width:390px){.topbar{grid-template-columns:44px minmax(0,1fr) auto;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.group-title-wrap{padding-left:4px}.group-title-wrap>.eyebrow{font-size:.58rem;letter-spacing:.12em}.group-picker{font-size:.88rem}.top-actions{gap:5px}.avatar,.logout-button{width:39px;height:39px;min-height:39px}.content{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.auth-screen{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.auth-card{padding:19px 16px}.calendar .day{min-height:82px}.weekday{font-size:.5rem;letter-spacing:.06em}.dialog form,#detailContent{padding:16px}.logout-confirm{padding:24px 17px}}
@media(max-height:600px) and (orientation:landscape){.intro-screen.ultrar-intro{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr;gap:18px}.ultrar-intro-logo{width:auto;height:min(82dvh,480px);max-height:82dvh}.victory-stage.ultrar-victory-stage{grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);grid-template-rows:1fr;align-items:center}.victory-heading{align-self:center}.victory-results{align-self:center}.victory-lineup{max-height:24dvh;overflow-y:auto}}

/* Individual system-configuration fields */
.config-name-fields{display:grid;gap:10px}.config-name-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:8px}.config-name-row label{margin:0}.config-name-row label>span{color:#c8c6c1;font-size:.86rem}.remove-config-field{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #4b3c39;border-radius:6px;background:#21191b;color:#d88b77;font-size:1.25rem;cursor:pointer}.remove-config-field:hover{border-color:#a6543d;background:#321c1b;color:#fff}.remove-config-field:disabled{opacity:.28;cursor:not-allowed}.add-config-field{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin-top:4px;padding:10px 15px;border:1px dashed #79503c;border-radius:7px;background:#17151a;color:#efb183;font-weight:700;cursor:pointer}.add-config-field:hover{border-style:solid;background:#241a1a}.add-config-field span{font-size:1.15rem;line-height:1}.config-name-fields+.field-hint{margin-top:12px}
@media(max-width:480px){.config-name-row{grid-template-columns:minmax(0,1fr) 42px}.remove-config-field{width:42px}.add-config-field{width:100%}}

/* Clear group setup and responsive system-step navigation */
.group-setup-card{max-width:920px;margin:0 auto}.group-setup-card .setup-workspace{min-height:0}.setup-steps button b{font:600 .82rem/1.2 Oswald,sans-serif;letter-spacing:.025em;white-space:nowrap}.group-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:#56332f;background:linear-gradient(110deg,#17141b,#241514)}.group-danger-zone h3{margin:3px 0 8px}.group-danger-zone p:not(.eyebrow){max-width:760px;margin:0;color:var(--muted)}.group-danger-zone .danger-button{flex:0 0 auto}.group-delete-confirm{display:grid;gap:10px;padding:clamp(22px,5vw,34px)}.group-delete-confirm h2{margin:2px 0}.group-delete-confirm>p{margin:0;color:var(--muted);line-height:1.6}.group-delete-confirm label{margin-bottom:0}
@media(max-width:980px){.setup-shell{display:block}.setup-steps{position:static;display:flex;gap:8px;margin:0 0 14px;padding:8px;overflow-x:auto;overscroll-behavior-x:contain;border-radius:7px;scroll-snap-type:x proximity}.setup-steps button,.setup-steps button:not(.active){flex:0 0 auto;min-width:118px;justify-content:flex-start;padding:9px 11px;border:1px solid transparent;border-radius:6px;font-size:.82rem;white-space:nowrap;scroll-snap-align:center}.setup-steps button:last-child{border-bottom:1px solid transparent}.setup-steps button.active{border-color:#7a4333}.setup-steps button span{flex:0 0 27px}.setup-steps button b{display:block;font-size:.8rem}.group-danger-zone{align-items:flex-start;flex-direction:column}.group-danger-zone .danger-button{width:100%}}
@media(max-width:480px){.setup-steps button,.setup-steps button:not(.active){min-width:105px}.setup-steps button b{font-size:.76rem}.setup-workspace{min-height:0}.group-setup-card .form-grid{grid-template-columns:1fr}.group-setup-card .span-2{grid-column:auto}}

/* Single-line selection rails */
.setup-steps button,.setup-steps button b,.component-phase-bar button,.guided-phase-bar span,.admin-tabs button,.segmented .seg,.config-chip-row span,.choice-row label{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important}.setup-steps button b{display:inline-block;min-width:max-content}.component-phase-bar,.guided-phase-bar,.admin-tabs{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.config-chip-row{align-items:center}.config-chip-row span{max-width:100%;overflow-x:auto}
@media(max-width:980px){.setup-steps{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important}.setup-steps button,.setup-steps button:not(.active){width:max-content!important;min-width:max-content!important;max-width:none!important;flex:0 0 auto!important;font-size:.82rem!important}.setup-steps button b{font-size:.82rem!important}.setup-steps button span{flex:0 0 27px}}
@media(max-width:480px){.setup-steps button,.setup-steps button:not(.active){width:max-content!important;min-width:max-content!important;padding-inline:10px 14px}.setup-steps button b{font-size:.78rem!important}.segmented{max-width:100%;overflow-x:auto}.segmented .seg{min-width:max-content}}

/* Dedicated application menu */
.app.modular-app{grid-template:76px minmax(0,1fr)/minmax(0,1fr)}
.app.modular-app .topbar{grid-column:1;grid-template-columns:auto minmax(0,1fr) auto}
.app.modular-app .content{grid-column:1;grid-row:2;width:100%;max-width:1440px;margin:0 auto}
.top-menu-button,.page-menu-return{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #704330;border-radius:7px;background:linear-gradient(145deg,#21191a,#12151d);color:#f3cfb0;text-decoration:none;box-shadow:inset 0 1px #ffffff0c;transition:border-color .2s,background .2s,transform .2s}
.top-menu-button{min-height:42px;padding:0 14px}
.top-menu-button b{font:600 .78rem/1 Oswald,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.top-menu-button:hover,.top-menu-button.active,.page-menu-return:hover{border-color:#d46c45;background:linear-gradient(145deg,#35201c,#171922);color:#fff}
.top-menu-button:active,.page-menu-return:active{transform:translateY(1px)}
.page-menu-return{width:max-content;margin:0 0 13px;padding:7px 11px;font:600 .7rem/1 Oswald,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.menu-page{display:grid;gap:clamp(20px,3vw,34px);width:min(1180px,100%);margin:0 auto;padding:clamp(8px,2vw,22px) 0 24px}
.menu-hero{display:grid;justify-items:center;padding:clamp(22px,5vw,52px) clamp(16px,4vw,40px) clamp(18px,3vw,32px);border:1px solid #38323a;border-radius:12px;background:radial-gradient(circle at 50% 12%,#5525195c,transparent 48%),linear-gradient(145deg,#171922e8,#0d0f16f2);box-shadow:0 22px 60px #0007,inset 0 1px #ffffff0c;text-align:center;overflow:hidden}
.menu-metal-title{margin:5px 0 2px;color:#d8d6d3;font:500 clamp(3.5rem,10vw,7.8rem)/.84 Oswald,sans-serif;letter-spacing:.12em;text-indent:.12em;text-transform:uppercase;background:linear-gradient(180deg,#fff 0,#a8a6a3 22%,#efede9 43%,#656462 58%,#c5c2bd 78%,#575653 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 1px #000) drop-shadow(0 0 20px #da59362b)}
.menu-group-name{margin:17px 0 0;color:#f1b486;font:600 clamp(1.05rem,2vw,1.35rem)/1.2 Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.menu-intro{margin:9px 0 0;color:#aaa7a3;font-size:.9rem}
.menu-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #302f38;border-radius:9px;background:#302f38}
.menu-status span{display:grid;gap:4px;min-width:0;padding:13px 18px;background:#11141c;color:#92949d;font-size:.72rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-status b{color:#ece9e4;font:600 .9rem/1.1 Oswald,sans-serif;letter-spacing:.04em}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.menu-tile{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:108px;padding:18px 20px;border:1px solid #49404a;border-radius:9px;background:linear-gradient(145deg,#1a1c25,#10121a);color:var(--text);text-decoration:none;box-shadow:0 12px 30px #0004,inset 0 1px #ffffff0a;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.menu-tile:hover,.menu-tile:focus-visible{transform:translateY(-2px);border-color:#ca6644;background:linear-gradient(145deg,#251b1c,#141720);box-shadow:0 16px 34px #0007,0 0 24px #d5583022,inset 0 1px #ffffff10}
.menu-tile-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #7b4834;border-radius:8px;background:#261817;color:#f09b72;font-size:1.3rem}
.menu-tile-copy{display:grid;gap:6px;min-width:0}
.menu-tile-copy strong{font:600 1.08rem/1.1 Oswald,sans-serif;letter-spacing:.055em;text-transform:uppercase}
.menu-tile-copy small{color:#9fa0a7;font-size:.76rem;line-height:1.45}
.menu-tile>i{color:#d87551;font-style:normal;font-size:1.15rem}
@media(max-width:840px){.app.modular-app{display:grid;grid-template:calc(68px + env(safe-area-inset-top)) minmax(0,1fr)/minmax(0,1fr);padding-top:0}.app.modular-app .topbar{position:sticky;grid-row:1;height:calc(68px + env(safe-area-inset-top));grid-template-columns:auto minmax(0,1fr) auto}.app.modular-app .content{grid-row:2}.top-menu-button{width:43px;padding:0}.top-menu-button b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.menu-grid{grid-template-columns:1fr}.menu-tile{min-height:98px}.menu-status{grid-template-columns:1fr}.menu-status span{padding:10px 14px}.component-page-header>div:first-child{width:100%}}
@media(max-width:480px){.menu-page{gap:16px}.menu-hero{padding:25px 12px 20px}.menu-metal-title{font-size:clamp(2.75rem,17vw,4.2rem)}.menu-tile{grid-template-columns:42px minmax(0,1fr) auto;gap:12px;min-height:92px;padding:15px 13px}.menu-tile-icon{width:42px;height:42px}.menu-tile-copy strong{font-size:.98rem}.menu-tile-copy small{font-size:.7rem}.page-menu-return{margin-bottom:10px}}
@media(max-height:600px) and (orientation:landscape){.menu-page{gap:14px}.menu-hero{padding:17px 24px}.menu-metal-title{font-size:3.4rem}.menu-group-name{margin-top:10px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-tile{min-height:84px;padding:12px 15px}}

/* Group-owned locations inside match planning */
[hidden]{display:none!important}
.match-location-field{display:grid;gap:7px;margin:14px 0}.match-location-field>label{margin:0}.location-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}.location-select-row select{min-width:0}.location-delete-button{min-height:44px;padding:9px 14px;border:1px solid #704330;border-radius:6px;background:#1a171c;color:#e6a281;font-weight:700;cursor:pointer}.location-delete-button:hover{border-color:#d46c45;color:#fff}.location-delete-button.confirming{border-color:#b74239;background:#361817;color:#fff}.new-location-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.new-location-fields label{margin:0}
.match-details-summary{grid-column:span 2}.match-details-summary strong{font:600 1rem/1.45 Inter,system-ui,sans-serif;overflow-wrap:anywhere}
.match-overview{padding:clamp(18px,4vw,30px);display:grid;gap:18px}.match-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}.match-overview-head h2{margin:4px 0 5px;font-size:clamp(1.75rem,4.5vw,2.65rem);line-height:1.05}.match-creator{margin:0;color:var(--muted);font-size:.8rem}.match-head-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.match-facts{display:grid;grid-template-columns:1.15fr .85fr 1.25fr;gap:10px}.match-facts>div,.match-description{display:grid;align-content:start;gap:5px;min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,#171a23,#10131a)}.match-facts span,.match-description>span{color:var(--gold);font:600 .65rem Oswald,sans-serif;letter-spacing:.13em;text-transform:uppercase}.match-facts strong{font-size:.94rem;overflow-wrap:anywhere}.match-facts small{color:var(--muted);font-size:.73rem}.match-description p{margin:2px 0 0;color:#ddd9d4;line-height:1.55;white-space:pre-wrap}.match-attendees{padding:18px;border:1px solid var(--line);border-radius:9px;background:#0d1017}.match-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.match-section-title h3,.my-match-entry h3{margin:2px 0;font-family:Oswald,sans-serif;font-size:1.35rem}.participant-count{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid #784631;border-radius:50%;background:#312019;color:var(--gold);font:700 .9rem Oswald}.participant-list{display:grid;gap:9px}.participant-entry{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:13px;border:1px solid #292d38;border-radius:8px;background:#141720}.participant-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#523025,#a64c30);font:700 .66rem/1 Oswald,sans-serif}.participant-main{display:grid;min-width:0}.participant-main>strong{font-size:.94rem}.participant-main>span{color:#d8b28f;font-size:.82rem}.participant-main>small{color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.participant-points{display:grid;justify-items:end;min-width:62px}.participant-points strong{font:700 1.15rem Oswald}.participant-points span{color:var(--muted);font-size:.62rem;text-transform:uppercase}.participant-info{grid-column:2/5;margin:0;padding-top:9px;border-top:1px solid #272a33;color:#c9c5bf;font-size:.78rem;line-height:1.45;white-space:pre-wrap}.participant-info>span{margin-right:8px;color:var(--gold);font:600 .62rem Oswald;letter-spacing:.1em;text-transform:uppercase}.participant-info.muted{color:#777a84}.participant-remove{align-self:start;border:0;background:transparent;color:#d98b75;font-size:.72rem;cursor:pointer}.my-match-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #6b4433;border-radius:9px;background:linear-gradient(110deg,#271b19,#151821)}.my-match-entry p{margin:4px 0 0;color:var(--muted);font-size:.8rem}.my-match-entry p span{color:#c8c4be}.match-overview-actions{display:flex;justify-content:flex-end;gap:10px}.match-editor{padding:clamp(20px,4vw,28px)!important}.participant-removal{display:grid;gap:10px;padding:clamp(22px,5vw,34px)}.participant-removal h2{margin:2px 0}.participant-removal>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.6}
.match-delete-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:18px;border:1px solid #592f2c;border-radius:8px;background:linear-gradient(135deg,#211517,#15151b)}.match-delete-zone>div{display:grid;gap:4px}.match-delete-zone strong{color:#e7d8d2;font-size:.9rem}.match-delete-zone small{color:#9d8580;font-size:.72rem;line-height:1.45}.match-delete-zone .danger-button{flex:0 0 auto}.match-removal>p strong{color:#f0d5c7}
@media(max-width:680px){.match-overview{padding:17px}.match-overview-head{display:grid;grid-template-columns:minmax(0,1fr) auto}.match-head-actions{grid-column:1/-1;justify-content:space-between}.match-head-actions .small-btn{flex:1}.match-facts{grid-template-columns:1fr 1fr}.match-facts>div:last-child{grid-column:1/-1}.participant-entry{grid-template-columns:38px minmax(0,1fr) auto}.participant-remove{grid-column:1/-1;width:100%;padding:8px;border:1px solid #5c342d;border-radius:6px;background:#281816}.participant-info{grid-column:1/-1}.my-match-entry{align-items:flex-start;flex-direction:column}.my-match-entry .small-btn,.match-overview-actions>*{width:100%}.match-overview-actions{flex-direction:column-reverse}.match-delete-zone{align-items:stretch;flex-direction:column}.match-delete-zone .danger-button{width:100%}}
@media(max-width:600px){.location-select-row,.new-location-fields{grid-template-columns:1fr}.location-delete-button{width:100%}}

/* Participant-focused statistics */
.stats-page{width:min(980px,100%);margin:0 auto}.ranking-panel{padding:clamp(16px,3vw,26px)}.ranking-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:8px}.ranking-head h3{margin:2px 0 0;font-size:1.55rem}.ranking-head>small{max-width:330px;color:var(--muted);font-size:.75rem;text-align:right}.ranking-list{display:grid}.rank-row.player-stat-trigger{display:grid;width:100%;grid-template-columns:34px 38px minmax(0,1fr) minmax(88px,auto) 16px;align-items:center;gap:13px;min-height:76px;padding:13px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .18s,border-color .18s}.rank-row.player-stat-trigger:last-child{border-bottom:0}.rank-row.player-stat-trigger:hover,.rank-row.player-stat-trigger:focus-visible{background:linear-gradient(90deg,#4b2b2255,transparent);border-bottom-color:#724230}.rank-position{color:#e5e0da;font:600 1rem Oswald,sans-serif;text-align:center}.rank-player{display:grid;min-width:0;gap:3px}.rank-player strong{overflow:hidden;color:#f0ede8;font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.rank-player small{overflow:hidden;color:var(--muted);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.rank-result{display:grid;justify-items:end;gap:2px}.rank-result strong{color:#f1b486;font:600 1rem Oswald,sans-serif}.rank-result small{color:#777a84;font-size:.66rem;white-space:nowrap}.rank-row.player-stat-trigger>i{color:#d87955;font-style:normal;font-size:1.2rem}.player-stat-dialog{display:grid;gap:16px;padding:clamp(19px,4vw,28px)}.player-stat-dialog .dialog-head{margin-bottom:0}.player-stat-hero{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid #45372f;border-radius:9px;background:linear-gradient(120deg,#281a18,#141720)}.player-stat-hero .mini-avatar{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:linear-gradient(135deg,#613321,#b75534);font:600 .72rem/1 Oswald,sans-serif}.player-stat-hero>div{display:grid;min-width:0}.player-stat-hero strong{font-size:1.05rem}.player-stat-hero small{color:var(--muted);font-size:.73rem}.player-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.player-stat-grid article{display:grid;align-content:start;gap:5px;min-height:105px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#0d1017}.player-stat-grid small{color:var(--muted);font-size:.68rem}.player-stat-grid strong{color:#f0ede8;font:600 1.55rem Oswald,sans-serif}.player-stat-grid span{color:#8d8f98;font-size:.65rem;line-height:1.35}.player-stat-section{display:grid;gap:10px;padding-top:5px}.player-stat-heading{display:flex;align-items:end;justify-content:space-between;gap:14px}.player-stat-heading h3{margin:2px 0 0;font-family:Oswald,sans-serif}.player-stat-heading>small{color:var(--muted);font-size:.66rem}.player-army-stats,.player-match-history{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#10131a}.player-army-stats>div,.player-match-history>div{display:grid;align-items:center;gap:12px;padding:11px 13px;border-bottom:1px solid var(--line)}.player-army-stats>div:last-child,.player-match-history>div:last-child{border-bottom:0}.player-army-stats>div{grid-template-columns:minmax(0,1fr) auto}.player-army-stats span,.player-match-history span{display:grid;min-width:0}.player-army-stats small,.player-match-history small{color:var(--muted);font-size:.7rem}.player-army-stats b{color:#eab17c;font:600 .8rem Oswald,sans-serif}.player-match-history>div{grid-template-columns:82px minmax(0,1fr) auto}.player-match-history time{color:#aaa;font-size:.7rem}.player-match-history strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-match-history b{padding:4px 7px;border:1px solid #564234;border-radius:20px;color:#dba37c;font-size:.62rem;font-weight:600}.player-match-history b.completed{border-color:#396653;color:#67c898}.player-stat-empty{margin:0;padding:15px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:.78rem;line-height:1.55}
@media(max-width:680px){.ranking-head{align-items:start;flex-direction:column}.ranking-head>small{text-align:left}.rank-row.player-stat-trigger{grid-template-columns:26px 36px minmax(0,1fr) 13px;gap:10px;padding-inline:3px}.rank-result{grid-column:3;justify-items:start}.rank-row.player-stat-trigger>i{grid-column:4;grid-row:1/3}.player-stat-grid{grid-template-columns:1fr 1fr}.player-match-history>div{grid-template-columns:1fr auto}.player-match-history time{grid-column:1/-1}.player-match-history b{grid-column:2;grid-row:2;align-self:center}.player-stat-heading{align-items:start;flex-direction:column}}
@media(max-width:390px){.rank-player strong{font-size:.9rem}.rank-player small{font-size:.68rem}.player-stat-grid{grid-template-columns:1fr}.player-stat-grid article{min-height:0}.player-stat-hero small{line-height:1.4}}

/* Multi-group selection and group-scoped roles */
.group-selection-page{display:grid;gap:16px;width:min(850px,100%);margin:0 auto}.group-selection-meta{display:grid;grid-template-columns:1fr auto;gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--line)}.group-selection-meta>span{display:grid;gap:4px;padding:13px 16px;background:#11141d}.group-selection-meta small{color:var(--muted);font-size:.7rem}.group-selection-meta strong{font:600 .92rem Oswald,sans-serif;letter-spacing:.035em}.group-selection-meta>span:last-child{min-width:110px;text-align:right}.group-selection-list{display:grid;gap:10px}.group-selection-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto 18px;align-items:center;gap:14px;width:100%;min-height:84px;padding:15px 17px;border:1px solid #373a45;border-radius:9px;background:linear-gradient(145deg,#171a23,#10131a);color:inherit;text-align:left;cursor:pointer;transition:.18s}.group-selection-card:hover,.group-selection-card:focus-visible{border-color:#b75b3d;background:linear-gradient(145deg,#241918,#131720);transform:translateY(-1px)}.group-selection-card.active{border-color:#7c4b38;box-shadow:inset 3px 0 #df673d}.group-selection-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #7b4834;border-radius:8px;background:#251817;color:#ef9f77;font-size:1.15rem}.group-selection-copy{display:grid;min-width:0;gap:4px}.group-selection-copy strong{overflow:hidden;font:600 1.05rem Oswald,sans-serif;text-overflow:ellipsis;white-space:nowrap}.group-selection-copy small{color:var(--muted);font-size:.75rem}.group-role-badge{padding:5px 9px;border:1px solid #4e4f58;border-radius:20px;color:#bfc0c5;font:600 .66rem Oswald,sans-serif;letter-spacing:.06em;text-transform:uppercase}.group-role-badge.owner{border-color:#9b573d;color:#f3b28d;background:#4a251c55}.group-role-badge.admin{border-color:#6f5c96;color:#c8b7ed;background:#2e274355}.group-selection-card>i{color:#da7855;font-style:normal;font-size:1.15rem}.group-create-link{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:13px;padding:15px 17px;border:1px dashed #704632;border-radius:9px;background:#17151a;color:inherit;text-decoration:none}.group-create-link>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#2b1c18;color:#ef9d73;font-size:1.35rem}.group-create-link strong{align-self:end;font:600 .92rem Oswald,sans-serif}.group-create-link small{color:var(--muted);font-size:.72rem}.member-access-dialog{display:grid;gap:16px;padding:clamp(20px,4vw,28px)}.member-access-dialog .dialog-head{margin:0}.member-access-profile{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:8px;background:#151821}.member-access-profile .mini-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#302d38;font:600 .68rem Oswald,sans-serif}.member-access-profile>div{display:grid}.member-access-profile small,.member-access-note,.member-access-danger small{color:var(--muted);font-size:.74rem;line-height:1.5}.member-access-note{margin:0}.member-access-danger{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #59312d;border-radius:8px;background:#211517}.member-access-danger>div{display:grid;gap:3px}.member-access-danger .danger-button{flex:0 0 auto}
@media(max-width:560px){.group-selection-meta{grid-template-columns:1fr}.group-selection-meta>span:last-child{text-align:left}.group-selection-card{grid-template-columns:40px minmax(0,1fr) 14px;gap:11px;padding:13px}.group-role-badge{grid-column:2;justify-self:start}.group-selection-card>i{grid-column:3;grid-row:1/3}.member-access-danger{align-items:stretch;flex-direction:column}.member-access-danger .danger-button{width:100%}}

/* Permanent language control in the command bar */
.language-trigger{display:inline-grid;grid-template-columns:auto auto auto;align-items:center;gap:6px;min-height:42px;padding:0 10px;border:1px solid #4a3a35;border-radius:7px;background:linear-gradient(145deg,#1a1c25,#11131a);color:#eee;cursor:pointer}.language-trigger:hover,.language-trigger:focus-visible{border-color:#a75a3d;background:#251a1a}.language-trigger>span{font-size:1.15rem;line-height:1}.language-trigger small{font:600 .65rem/1 Oswald,sans-serif;letter-spacing:.08em}.language-trigger>i{color:var(--gold);font-style:normal;font-size:.72rem}.language-picker{display:grid;gap:16px;padding:clamp(20px,4vw,28px)}.language-picker .dialog-head{margin:0}.language-picker-note{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}.language-option-list{display:grid;gap:8px}.language-option{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:#151821;color:inherit;text-align:left;cursor:pointer}.language-option:hover,.language-option.selected{border-color:#8f4d37;background:linear-gradient(100deg,#2a1c1a,#151821)}.language-option-flag{display:grid;place-items:center;width:42px;height:42px;border:1px solid #494b55;border-radius:7px;background:#0d1017;font-size:1.45rem}.language-option>span:nth-child(2){display:grid;gap:2px}.language-option strong{font:600 .92rem Oswald,sans-serif;letter-spacing:.025em}.language-option small{color:var(--muted);font-size:.7rem}.language-option>i{color:#69c89d;font-style:normal;font-weight:700;text-align:center}
@media(max-width:520px){.language-trigger{grid-template-columns:auto auto;gap:4px;padding:0 8px}.language-trigger>i{display:none}.language-trigger small{font-size:.58rem}.language-option{min-height:58px}}
@media(max-width:360px){.language-trigger small{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.language-trigger{grid-template-columns:auto;width:38px;padding:0}.language-trigger>span{font-size:1rem}}

/* Compact navigation: page-level return links remain available. */
.app.modular-app .topbar{grid-template-columns:minmax(0,1fr) auto}
.menu-hero{padding:clamp(18px,4vw,36px) 12px;border:0;background:none;box-shadow:none}
.menu-auth-brand{justify-items:center;width:min(610px,92vw);margin:0 auto}
@media(max-width:480px){.menu-auth-brand{width:min(94vw,610px)}}

/* Invite approval gate and live membership notices */
.approval-screen{position:fixed;inset:0;z-index:90;display:grid;place-items:center;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow-y:auto;background:radial-gradient(circle at 50% 32%,#5a251a45,transparent 38%),linear-gradient(145deg,#080a10,#10111a 58%,#090a0f)}
.approval-card{display:grid;justify-items:center;gap:14px;width:min(620px,100%);padding:clamp(28px,6vw,54px);border:1px solid #574038;border-radius:12px;background:linear-gradient(145deg,#181922f5,#0e1017f7);box-shadow:0 30px 80px #000b,inset 0 1px #fff1;text-align:center}
.approval-card h1{max-width:520px;margin:0;color:#eee9e3;font:600 clamp(2rem,6vw,3.8rem)/1.02 Oswald,sans-serif;letter-spacing:.025em;text-transform:uppercase}.approval-card>p:not(.eyebrow){max-width:510px;margin:0;color:#aaa7a3;line-height:1.65}.approval-sigil{position:relative;display:grid;place-items:center;width:92px;height:92px;margin-bottom:5px;border:1px solid #b25c3e;border-radius:50%;box-shadow:0 0 36px #df5b3030}.approval-sigil::before,.approval-sigil::after{content:'';position:absolute;border:1px solid #8b4b38;border-radius:50%;animation:approvalScan 2.8s ease-out infinite}.approval-sigil::before{inset:12px}.approval-sigil::after{inset:-1px;animation-delay:1.4s}.approval-sigil span{width:30px;height:38px;border:2px solid #efb184;border-top-width:6px;clip-path:polygon(50% 0,100% 22%,86% 100%,14% 100%,0 22%)}.approval-sigil i{position:absolute;width:9px;height:9px;border-radius:50%;background:#ed603d;box-shadow:0 0 18px 7px #e33f26}.approval-status{display:grid;gap:5px;width:min(390px,100%);margin:7px 0;padding:15px;border:1px solid #3c363b;border-radius:8px;background:#0d1017}.approval-status b{color:#e6a47d;font:600 .92rem/1.2 Oswald,sans-serif;letter-spacing:.09em;text-transform:uppercase}.approval-status small{color:#898b94}.approval-card[data-state=approved]{border-color:#3c755f}.approval-card[data-state=approved] .approval-sigil{border-color:#4caa80;box-shadow:0 0 38px #45b47f35}.approval-card[data-state=approved] .approval-sigil i{background:#52cf91;box-shadow:0 0 18px 7px #3dbb7b}.approval-card[data-state=approved] .approval-status b{color:#70dba5}.approval-card[data-state=rejected] .approval-sigil{filter:grayscale(.7)}
@keyframes approvalScan{0%{transform:scale(.72);opacity:0}35%{opacity:.8}100%{transform:scale(1.35);opacity:0}}
#notifyBtn{position:relative}#notifyBtn.has-pending{display:inline-grid!important;border-color:#d46240;color:#ffd0b4;box-shadow:0 0 18px #dc552a45}#notifyBtn.has-pending::after{content:attr(data-count);position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid #0d0f16;border-radius:20px;background:#e15834;color:#fff;font:700 .62rem/1 Inter,sans-serif}.pending-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 0;border-bottom:1px solid var(--line)}.pending-request-row:last-child{border-bottom:0}.pending-request-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-actions{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}.pending-actions .small-btn{min-width:96px}.pending-reject{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #4c3534;border-radius:5px;background:#211719;color:#b98778;font-size:1.2rem;cursor:pointer}.pending-reject:hover{border-color:#965342;color:#f1ad92}
@media(max-width:840px){.top-actions #notifyBtn.has-pending{display:inline-grid!important}.approval-card{padding:30px 20px}.approval-sigil{width:78px;height:78px}}
