/*
 * Crownity / Kingdom 1066 — FIELD COMMAND UI
 * Deliberately editorial, asymmetric and utilitarian. No template-card/glass-dashboard look.
 */

*,*::before,*::after{box-sizing:border-box}
:root{
  --ink:#0b0d0c;
  --ink-2:#101311;
  --ink-3:#171b18;
  --paper:#e9e4d8;
  --paper-2:#c8c2b4;
  --muted:#817f77;
  --line:#2a2e2a;
  --line-soft:#1e221f;
  --signal:#ff5a36;
  --signal-dark:#b72f19;
  --lime:#c7e04a;
  --cyan:#63c7cc;
  --ok:#80cc79;
  --warn:#e6b85c;
  --error:#ef6b61;
  --rail:190px;
  --mono:"IBM Plex Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --narrow:"Arial Narrow","Aptos Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
html{min-height:100%;background:var(--ink);scrollbar-color:#4a4f49 var(--ink)}
body{margin:0;min-height:100vh;color:var(--paper);font:14px/1.5 var(--sans);background:var(--ink);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:
  linear-gradient(90deg,transparent 0 49.8%,rgba(233,228,216,.025) 49.8% 50.2%,transparent 50.2%),
  repeating-linear-gradient(0deg,transparent 0 63px,rgba(233,228,216,.018) 63px 64px),
  #0b0d0c}
body::after{content:"1066";position:fixed;right:-.03em;bottom:-.16em;z-index:-1;font:900 clamp(180px,28vw,520px)/.72 var(--narrow);letter-spacing:-.09em;color:rgba(233,228,216,.018);pointer-events:none}
::selection{background:var(--signal);color:#fff}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--narrow);font-weight:900}
[hidden]{display:none!important}
.mono{font-family:var(--mono);font-size:.91em}.muted{color:var(--muted)}.small{font-size:11px;color:var(--muted)}.center{text-align:center}.nowrap{white-space:nowrap}.strong{font-weight:800}

/* APP CHROME */
.app-frame{min-height:100vh}.command-rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:100;display:flex;flex-direction:column;background:#0e110f;border-right:1px solid var(--line);padding:22px 16px 18px}.viewport{margin-left:var(--rail);min-height:100vh;display:flex;flex-direction:column}.content-stage{width:min(1540px,100%);margin:0 auto;padding:34px 42px 60px;flex:1}.mobile-header,.mobile-dock{display:none}
.rail-brand{display:flex;gap:10px;align-items:center;padding:2px 0 22px}.rail-brand-mark{display:grid;place-items:center;width:56px;height:56px;background:var(--paper);color:var(--ink);font:950 23px/1 var(--narrow);letter-spacing:-.07em;clip-path:polygon(0 0,100% 0,100% 76%,78% 100%,0 100%)}.rail-brand-copy{min-width:0}.rail-brand-copy b{display:block;font:900 15px/1 var(--narrow);letter-spacing:.08em}.rail-brand-copy small{display:block;margin-top:6px;font:600 8px/1.2 var(--mono);letter-spacing:.1em;color:var(--muted)}
.rail-rule{position:relative;height:35px;margin:0 -16px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.rail-rule::after{content:"";position:absolute;top:0;right:18px;width:28px;height:100%;background:var(--signal);clip-path:polygon(60% 0,100% 0,40% 100%,0 100%)}.rail-rule span{position:absolute;left:16px;top:11px;font:700 8px/1 var(--mono);letter-spacing:.14em;color:#626760}
.rail-nav{display:flex;flex-direction:column;margin-top:5px}.rail-nav a{position:relative;display:grid;grid-template-columns:31px 1fr 8px;align-items:center;min-height:52px;border-bottom:1px solid var(--line-soft);color:#858a83;transition:color .16s ease,transform .16s ease}.rail-nav a:first-child{border-top:1px solid var(--line-soft)}.rail-nav a:hover{color:var(--paper);transform:translateX(3px)}.rail-nav a.active{color:var(--paper)}.rail-nav a.active::before{content:"";position:absolute;left:-16px;top:0;bottom:0;width:4px;background:var(--signal)}.rail-no{font:700 9px/1 var(--mono);color:#555b55}.rail-nav a.active .rail-no{color:var(--signal)}.rail-label{font:800 12px/1 var(--narrow);letter-spacing:.12em;text-transform:uppercase}.rail-nav i{width:6px;height:6px;border:1px solid #4d534d;transform:rotate(45deg)}.rail-nav a.active i{background:var(--signal);border-color:var(--signal)}
.rail-foot{margin-top:auto}.rail-health{display:flex;align-items:center;gap:10px;padding:14px 0;border-top:1px solid var(--line)}.pulse-dot{width:7px;height:7px;background:#5f645f;display:block;flex:0 0 auto}.pulse-dot.live{background:var(--lime);box-shadow:0 0 0 4px rgba(199,224,74,.08)}.rail-health small{display:block;font:700 8px/1 var(--mono);color:#646a63;letter-spacing:.13em}.rail-health b{display:block;margin-top:4px;font:700 10px/1 var(--mono);color:#a3a69f}.rail-lang{display:flex;justify-content:space-between;border:1px solid var(--line);padding:8px 9px;font:700 9px/1 var(--mono);letter-spacing:.1em;color:#8d918b}.rail-lang:hover{border-color:#4b514b;color:var(--paper)}
.top-ticker{height:34px;display:flex;align-items:center;justify-content:flex-end;gap:13px;padding:0 28px;border-bottom:1px solid var(--line);color:#585d58;overflow:hidden;white-space:nowrap;font:700 8px/1 var(--mono);letter-spacing:.13em}.top-ticker i{width:3px;height:3px;background:var(--signal);transform:rotate(45deg)}
.footer{width:min(1540px,calc(100% - 84px));margin:0 auto;padding:18px 0 24px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:#666b65;font:700 9px/1.4 var(--mono);letter-spacing:.08em}.footer b{color:#9fa39b}

/* FEEDBACK */
.flash{position:relative;margin:18px 42px 0;padding:12px 14px 12px 42px;border:1px solid #3a3e39;background:#131613;color:#bfc1ba;font-size:12px}.flash::before{content:"!";position:absolute;left:0;top:0;bottom:0;width:30px;display:grid;place-items:center;background:#3b3e39;color:var(--paper);font:900 13px/1 var(--mono)}.flash.ok{border-color:rgba(128,204,121,.4)}.flash.ok::before{content:"✓";background:var(--ok);color:#0b0d0c}.flash.error{border-color:rgba(239,107,97,.5)}.flash.error::before{content:"×";background:var(--error);color:#140807}.flash.warn{border-color:rgba(230,184,92,.42)}.flash.warn::before{background:var(--warn);color:#171005}

/* TYPOGRAPHIC HERO */
.hero{position:relative;min-height:230px;margin:0 0 28px;padding:30px 32px 32px;border-top:1px solid #373b36;border-bottom:1px solid #373b36;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;overflow:hidden;background:#0d100e}.hero::before{content:"";position:absolute;right:21%;top:-95px;width:1px;height:440px;background:#292e29;transform:rotate(23deg);transform-origin:center}.hero::after{content:"";position:absolute;right:8%;top:-110px;width:80px;height:420px;border-left:1px solid #1f241f;border-right:1px solid #1f241f;transform:rotate(23deg);pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:750px}.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:13px;font:700 9px/1 var(--mono);letter-spacing:.17em;color:#727870;text-transform:uppercase}.eyebrow span{color:var(--signal)}.eyebrow i{width:34px;height:1px;background:#474c47}.hero h1{margin:0;max-width:900px;font-size:clamp(42px,5.4vw,86px);line-height:.82;letter-spacing:-.055em;text-transform:uppercase;color:var(--paper)}.hero p{max-width:620px;margin:20px 0 0;color:#8c918a;font-size:13px}.hero-number{position:absolute;right:40px;top:50%;transform:translateY(-53%);font:950 clamp(92px,12vw,205px)/.76 var(--narrow);letter-spacing:-.09em;color:#151a16;white-space:nowrap;-webkit-text-stroke:1px #2b302b}.hero-number span{font-size:.18em;vertical-align:top;margin-right:.08em;color:var(--signal);-webkit-text-stroke:0}.hero-status{position:relative;z-index:3;display:flex;align-items:center;gap:11px;min-width:170px;padding:10px 12px;border-left:2px solid var(--signal);background:#121512}.hero-status small{display:block;font:700 8px/1 var(--mono);letter-spacing:.14em;color:#626861}.hero-status strong{display:block;margin-top:5px;font:800 11px/1 var(--mono);color:#b7bab2}.dot{width:8px;height:8px;background:#555b55}.dot.live{background:var(--lime)}.dot.stale{background:var(--warn)}.hero-signal-line{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;color:#777d75;font:700 8px/1 var(--mono);letter-spacing:.1em}.hero-signal-line span{position:relative;padding-left:12px}.hero-signal-line span::before{content:"";position:absolute;left:0;top:2px;width:5px;height:5px;border:1px solid #656b64}

/* METRICS — deliberately not cards */
.metric-strip,.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:34px;background:#0e110f}.metric-strip article,.cards .card{position:relative;min-height:138px;padding:20px 22px;border-right:1px solid var(--line);background:transparent;border-radius:0}.metric-strip article:last-child,.cards .card:last-child{border-right:0}.metric-strip article::after,.cards .card::after{content:"";position:absolute;right:12px;top:12px;width:7px;height:7px;border-top:1px solid #454b44;border-right:1px solid #454b44}.metric-strip span,.cards .card span{display:block;color:#6e746d;font:700 8px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}.metric-strip strong,.cards .card strong{display:block;margin-top:25px;font:950 clamp(27px,3vw,48px)/.85 var(--narrow);letter-spacing:-.05em;color:var(--paper)}.metric-strip small{display:block;margin-top:12px;color:#50564f;font:700 7px/1 var(--mono);letter-spacing:.12em}.metric-strip .accent,.cards .card.accent{background:var(--signal);color:#120806}.metric-strip .accent span,.metric-strip .accent small,.cards .card.accent span{color:rgba(18,8,6,.62)}.metric-strip .accent strong,.cards .card.accent strong{color:#130806}

/* LEADER STAGE */
.leader-stage{margin:0 0 38px}.section-index{display:flex;align-items:baseline;gap:18px;margin-bottom:14px}.section-index span{font:700 8px/1 var(--mono);letter-spacing:.15em;color:var(--signal)}.section-index b{font:900 18px/1 var(--narrow);letter-spacing:.04em;text-transform:uppercase;color:#bfc1ba}.leader-grid{display:grid;grid-template-columns:1.22fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.leader-card{position:relative;min-height:220px;background:#101311;overflow:hidden}.leader-card::after{content:"";position:absolute;right:-45px;bottom:-85px;width:180px;height:180px;border:1px solid #242924;transform:rotate(45deg)}.leader-1{min-height:265px;background:#151712}.leader-rank{position:absolute;left:18px;top:16px;font:800 10px/1 var(--mono);letter-spacing:.12em;color:#5f655e}.leader-1 .leader-rank{color:var(--signal)}.leader-body{position:absolute;left:18px;right:18px;bottom:20px;z-index:2}.leader-alliance{font:700 9px/1 var(--mono);letter-spacing:.12em;color:#6f756e}.leader-body h2{margin:7px 0 12px;font-size:clamp(25px,3vw,44px);line-height:.9;letter-spacing:-.035em;text-transform:uppercase}.leader-power{font:900 clamp(30px,3vw,50px)/1 var(--narrow);letter-spacing:-.04em;color:var(--paper)}.leader-1 .leader-power{color:var(--signal)}.leader-meta{display:flex;gap:15px;margin-top:10px;color:#646a63;font:700 8px/1 var(--mono);letter-spacing:.08em}

/* WORKBENCH / PANELS */
.ranking-workbench,.panel{position:relative;margin-bottom:24px;border:1px solid var(--line);background:#0e110f}.ranking-workbench::before,.panel::before{content:"";position:absolute;left:-1px;top:-1px;width:34px;height:3px;background:var(--signal)}.workbench-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:20px 20px 14px;border-bottom:1px solid var(--line)}.workbench-head .section-index{margin:0}.table-meta{font:700 10px/1 var(--mono);color:#5f655e}.table-meta b{font-size:20px;color:var(--paper)}.panel{padding:20px}.panel h2{margin:0 0 16px;font-size:20px;letter-spacing:.02em;text-transform:uppercase}.panel>h2:first-child::after{content:"";display:block;width:46px;height:2px;background:var(--signal);margin-top:10px}.narrow{max-width:720px;margin:32px auto}.narrow>h1{font-size:clamp(40px,6vw,72px);line-height:.9;text-transform:uppercase;letter-spacing:-.04em}.lead{color:#92968f}.hint{font-size:11px;color:#777c76}.hint code{font-family:var(--mono);background:#181c18;border:1px solid #2c312c;padding:2px 5px}.field{margin:0 0 15px}.field label,.filters label>span{display:block;margin-bottom:6px;color:#656b64;font:700 8px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}

/* CONTROLS */
.control{width:100%;height:44px;border:1px solid #333832;border-radius:0;background:#0b0e0c;color:var(--paper);padding:0 11px;outline:none;transition:border .15s ease,background .15s ease}.control:hover{border-color:#484e47}.control:focus{border-color:var(--signal);background:#101410}.control::placeholder{color:#4f554f}select.control option{background:#0c0f0d;color:var(--paper)}
.btn{min-height:42px;padding:0 15px;border:1px solid #3b403a;border-radius:0;background:#141815;color:#bfc2ba;cursor:pointer;font:800 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:background .15s,border .15s,color .15s,transform .15s}.btn:hover{background:#1c211d;border-color:#5a6059;color:#fff}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--paper);border-color:var(--paper);color:#0c0e0d}.btn.primary:hover{background:var(--signal);border-color:var(--signal);color:#140906}.btn.ghost{background:transparent}.btn.tiny{min-height:29px;padding:0 9px;font-size:9px}.btn:disabled{opacity:.42;cursor:not-allowed}.filter-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:var(--signal);color:#f7a18d;background:rgba(255,90,54,.06)}.filter-submit b{font-size:15px;color:var(--signal)}
.filters{display:grid;grid-template-columns:minmax(220px,1.45fr) minmax(130px,.8fr) minmax(120px,.62fr) 88px auto;gap:10px;align-items:end;padding:16px 20px;border-bottom:1px solid var(--line);background:#0b0e0c}.filters>.search-field{min-width:0}.filters>button{height:44px}.row-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row-form .grow{flex:1;min-width:180px}.inline-form,.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:15px}.checkline{display:flex;align-items:center;gap:9px;font-size:12px}.checkline input{accent-color:var(--signal)}.inline{display:inline-block}
.lookup-state{padding:10px 12px;margin:7px 0 14px;border-left:3px solid #555b55;background:#121512;font-size:12px}.lookup-state.ok{border-color:var(--ok)}.lookup-state.warn{border-color:var(--warn)}.lookup-state.error{border-color:var(--error)}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.kv>div{min-height:82px;padding:13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0b0e0c}.kv span{display:block;color:#626861;font:700 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.kv strong{display:block;margin-top:9px;font:800 15px/1.2 var(--narrow);color:#d6d3ca}

/* TABS */
.tabs{display:flex;gap:0;overflow-x:auto;margin:0 0 22px;border-bottom:1px solid var(--line)}.tabs a{position:relative;flex:0 0 auto;padding:12px 15px;color:#666c65;border-right:1px solid var(--line);font:800 9px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}.tabs a:first-child{border-left:1px solid var(--line)}.tabs a:hover{color:var(--paper)}.tabs a.active{color:var(--paper);background:#111512}.tabs a.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--signal)}

/* TABLES */
.table-wrap{overflow:auto}.ranking-table-wrap{border:0}.data{width:100%;border-collapse:collapse;min-width:760px}.data th,.data td{padding:12px 13px;text-align:left;border-bottom:1px solid #1d211e}.data th{position:sticky;top:0;z-index:2;background:#101311;color:#626861;font:700 8px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase}.data td{font-size:12px;color:#9fa39c}.data td.num,.data th.num{text-align:right;font-variant-numeric:tabular-nums}.data tbody tr{transition:background .12s ease}.data tbody tr:hover td{background:#131713;color:#c7c9c2}.data tbody tr.own td{background:rgba(255,90,54,.045)}.data tbody tr.own td:first-child{box-shadow:inset 3px 0 0 var(--signal)}.data tbody tr.top-rank td{border-bottom-color:#2c312c}.data td.rank span{display:inline-grid;place-items:center;min-width:37px;height:25px;border:1px solid #2d322d;color:#717770;font:800 9px/1 var(--mono)}.data tr.top-rank td.rank span{border-color:var(--signal);color:var(--signal)}.data .pname{font:800 14px/1 var(--narrow);letter-spacing:.02em;color:#d0cdc4}.data .strong{font:900 14px/1 var(--narrow);color:var(--paper)}.alliance-code{font:800 10px/1 var(--mono);letter-spacing:.08em;color:#9fa39c}.badge{display:inline-block;margin-left:7px;padding:3px 5px;border:1px solid rgba(199,224,74,.35);color:var(--lime);font:700 7px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.data td.empty{text-align:center;padding:35px;color:#656b64}.data tr.muted-row td{opacity:.48}
.tag{display:inline-block;padding:4px 7px;border:1px solid #333833;background:#131713;font:700 8px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.tag.ok{border-color:rgba(128,204,121,.38);color:var(--ok)}.tag.info{border-color:rgba(99,199,204,.38);color:var(--cyan)}.tag.retry{border-color:rgba(230,184,92,.42);color:var(--warn)}.tag.error{border-color:rgba(239,107,97,.4);color:var(--error)}

/* PROGRESS / ADMIN */
.progress{margin-top:18px}.bar{height:5px;background:#1c211d;overflow:hidden}.bar span{display:block;width:0;height:100%;background:var(--signal);transition:width .2s}.progress-meta{margin:8px 0;color:#686e67;font:700 9px/1 var(--mono)}.send-log{max-height:330px;overflow:auto;display:flex;flex-direction:column;gap:2px}.send-row{padding:8px 10px;background:#101410;border-left:2px solid #555b55;font:11px/1.3 var(--mono)}.send-row.ok{border-color:var(--ok)}.send-row.info{border-color:var(--cyan)}.send-row.retry{border-color:var(--warn)}.send-row.error{border-color:var(--error)}
.sync-live{position:relative;margin-top:16px;padding:0;border:1px solid var(--line);background:#0a0d0b}.sync-live-head{display:flex;justify-content:space-between;gap:14px;padding:14px 15px;border-bottom:1px solid var(--line);background:#101310}.sync-live-kicker{font:700 8px/1 var(--mono);letter-spacing:.12em;color:var(--signal)}.sync-live-state{display:flex;align-items:center;gap:8px;font:800 9px/1 var(--mono);letter-spacing:.08em}.sync-live-state>i{width:7px;height:7px;background:#5a6059;display:block}.sync-live-state.running>i{background:var(--signal);animation:blink .85s steps(1) infinite}.sync-live-state.ok>i{background:var(--ok)}.sync-live-state.error>i{background:var(--error)}@keyframes blink{50%{opacity:.18}}.sync-live-track{height:4px;background:#1d221e;overflow:hidden}.sync-live-track>span{display:block;height:100%;background:var(--signal);transition:width .25s}.sync-live-track.indeterminate>span{width:28%!important;animation:scan 1.2s linear infinite}@keyframes scan{from{transform:translateX(-120%)}to{transform:translateX(460%)}}.sync-live-meta{padding:13px 15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;color:#70766f;font:700 8px/1.3 var(--mono)}.sync-live-feed{padding:0 15px 14px;display:grid;gap:2px}.sync-live-event{padding:7px 8px;background:#0f130f;border-left:2px solid #3d433d;color:#858a83;font:10px/1.35 var(--mono)}

/* MAP — command table, not generic glass */
.map-page-hero{min-height:205px}.map-summary.cards{margin-bottom:18px}.map-panel{position:relative;margin-bottom:34px}.map-toolbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:62px;padding:11px 13px 11px 17px;border:1px solid var(--line);border-bottom:0;background:#0f120f}.map-toolbar::before{content:"MAP / 1066";position:absolute;right:190px;top:7px;color:#282d28;font:900 26px/1 var(--narrow);letter-spacing:-.04em;pointer-events:none}.map-toolbar-title{position:relative;z-index:2;display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;min-width:0}.map-toolbar-title .eyebrow{grid-column:1/-1;margin:0 0 4px}.map-toolbar-title strong{font:900 17px/1 var(--narrow);text-transform:uppercase}.map-toolbar-title #mapMeta{color:#666c65;font:700 8px/1 var(--mono);letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-toolbar-actions{position:relative;z-index:2;display:flex;gap:1px;border:1px solid #323732}.map-icon-btn,.map-fullscreen-exit,.map-ally-hud{display:grid;place-items:center;border:0;border-right:1px solid #323732;background:#111512;color:#989c95;cursor:pointer;font:800 17px/1 var(--mono)}.map-icon-btn:last-child{border-right:0}.map-icon-btn{width:42px;height:38px}.map-icon-btn:hover,.map-fullscreen-exit:hover,.map-ally-hud:hover{background:var(--signal);color:#170906}.map-view{position:relative}.map-stage{position:relative;height:clamp(590px,74vh,930px);overflow:hidden;border:1px solid var(--line);background:#08100f;touch-action:none}.map-stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),inset 0 0 80px rgba(0,0,0,.35)}#mapCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}#mapCanvas:active{cursor:grabbing}.map-overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#0b0e0ceb;color:var(--paper)}.map-overlay span{color:#6f756e;font:700 9px/1 var(--mono);letter-spacing:.08em}.map-spinner{width:38px;height:38px;border:1px solid #343934;border-top:3px solid var(--signal);animation:mapSpin .75s linear infinite}.map-spinner.hidden{display:none}.map-progress{width:min(320px,72vw);height:3px;margin-top:8px;overflow:hidden;background:#232823}.map-progress i{display:block;width:34%;height:100%;background:var(--signal);animation:mapSlide 1.15s linear infinite}@keyframes mapSpin{to{transform:rotate(360deg)}}@keyframes mapSlide{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
.map-hover-info{position:absolute;left:12px;bottom:12px;z-index:6;max-width:55%;padding:7px 10px;border-left:2px solid var(--signal);background:#0b0e0ddd;color:#7b8179;font:700 8px/1.25 var(--mono);pointer-events:none}.map-popup{position:absolute;z-index:18;width:min(310px,calc(100% - 24px));padding:15px;border:1px solid #454b45;background:#0d110ef2;box-shadow:12px 12px 0 rgba(0,0,0,.22)}.map-popup::before{content:"";position:absolute;left:-1px;top:-1px;width:48px;height:3px;background:var(--signal)}.map-popup h3{padding-right:26px;margin:0 0 10px;font-size:21px;line-height:1;text-transform:uppercase}.map-popup .close{position:absolute;right:7px;top:7px;border:0;background:none;color:#737971;font-size:20px;cursor:pointer}.map-popup .tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.map-popup .row{display:flex;justify-content:space-between;gap:13px;padding:6px 0;border-top:1px solid #202520;font:700 9px/1.2 var(--mono)}.map-popup .row span{color:#636963}.map-popup a{display:inline-block;margin-top:8px;color:var(--signal);font:800 9px/1 var(--mono);text-transform:uppercase}.map-focus-pill{padding:8px 12px;border:1px solid #363b36;border-bottom:0;background:#101410;color:#a9ada5;font:700 9px/1 var(--mono)}.map-active-filters{padding:7px 10px;border:1px solid #363b36;border-bottom:0;background:#0d100e}#mapFilterChips{display:flex;gap:5px;flex-wrap:wrap}.map-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 8px;border:1px solid #3a403a;background:#141815;font:700 8px/1 var(--mono)}.map-filter-x{width:18px;height:18px;border:0;background:#252a25;color:#8a8f88;cursor:pointer}
.map-search-panel{position:absolute;z-index:15;left:12px;top:12px;width:min(390px,calc(100% - 24px));max-height:calc(100% - 72px);overflow:hidden;padding:0;border:1px solid #454b45;background:#0c100df4;box-shadow:12px 12px 0 rgba(0,0,0,.24)}.map-search-head{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}.map-search-head strong{font:900 15px/1 var(--narrow);text-transform:uppercase}.map-search-head button,.map-legend-head button{border:0;background:none;color:#777d75;cursor:pointer;font-size:20px}.map-search-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.map-search-tab{height:36px;border:0;border-right:1px solid var(--line);background:#101410;color:#676d66;cursor:pointer;font:800 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.map-search-tab:last-child{border-right:0}.map-search-tab.active{background:var(--signal);color:#150806}.map-search-panel>.control{border:0;border-bottom:1px solid var(--line);height:46px}.map-search-results{max-height:360px;overflow:auto}.map-search-row{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:0;border-bottom:1px solid #202420;background:transparent;color:#aeb2aa;text-align:left;cursor:pointer}.map-search-row:hover{background:#151915}.map-search-row .swatch,.legend-item .swatch{width:7px;height:7px}.map-search-row .main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 11px/1 var(--narrow)}.map-search-row .main em{font-style:normal;color:#686e67}.map-search-row .meta,.map-search-empty{color:#60665f;font:700 8px/1 var(--mono)}.map-search-empty{padding:20px;text-align:center}
.map-alliance-legend{position:absolute;z-index:11;right:12px;top:12px;width:220px;max-height:calc(100% - 70px);overflow:hidden;border:1px solid #454b45;background:#0c100dea;transition:transform .18s ease,opacity .18s ease}.map-alliance-legend.collapsed{transform:translateX(calc(100% + 20px));opacity:0;pointer-events:none}.map-legend-head{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-bottom:1px solid var(--line)}.map-legend-head strong{display:block;font:900 12px/1 var(--narrow);text-transform:uppercase}.map-legend-head span{display:block;margin-top:4px;color:#626861;font:700 7px/1 var(--mono)}.map-alliance-list{max-height:560px;overflow:auto;padding:3px}.legend-item{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border:1px solid transparent;background:transparent;color:#a5a9a1;text-align:left;cursor:pointer}.legend-item:hover,.legend-item.active{background:#151915;border-color:#303630}.legend-item.active{border-left-color:var(--signal)}.legend-item .tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;border:0;background:none;font-size:8px}.legend-item .cnt{color:#626861;font:700 8px/1 var(--mono)}.legend-empty{padding:14px;color:#626861;font:700 8px/1 var(--mono)}.map-ally-hud{position:absolute;z-index:10;right:12px;top:12px;width:39px;height:39px;border:1px solid #3a403a}.map-shield-filter{position:absolute;z-index:8;left:12px;top:65px;display:flex;border:1px solid #3b403b;background:#0c100ddd}.shield-chip{height:30px;padding:0 9px;border:0;border-right:1px solid #343934;background:transparent;color:#6a7069;cursor:pointer;font:800 8px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase}.shield-chip:last-child{border-right:0}.shield-chip.active{background:var(--paper);color:#0c0e0d}.map-stage-footer{position:absolute;z-index:7;right:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #383e38;background:#0c100ddd;color:#686e67;font:700 8px/1 var(--mono)}.map-clear-focus{height:25px;padding:0 8px;border:1px solid #4a5049;background:#141814;color:#a8aca4;cursor:pointer;font:800 8px/1 var(--mono);text-transform:uppercase}.map-fullscreen-exit{position:absolute;z-index:30;right:12px;top:12px;width:42px;height:42px;border:1px solid #3b413b;font-size:22px}.map-view.is-fullscreen,.map-view:fullscreen{position:fixed;inset:0;z-index:9999;width:100vw;height:100vh;background:#0b0d0c}.map-view.is-fullscreen .map-stage,.map-view:fullscreen .map-stage{width:100vw;height:100vh;border:0}body.map-is-fullscreen{overflow:hidden}

/* GENERIC CARDS / legacy modules */
.cards{display:grid;grid-template-columns:repeat(4,1fr)}

/* RESPONSIVE */
@media (max-width:1180px){
  :root{--rail:156px}.command-rail{padding-left:13px;padding-right:13px}.rail-brand-copy{display:none}.rail-brand-mark{width:52px}.rail-nav a{grid-template-columns:27px 1fr 7px}.content-stage{padding-left:28px;padding-right:28px}.flash{margin-left:28px;margin-right:28px}.hero-number{right:20px}.filters{grid-template-columns:minmax(210px,1.35fr) minmax(125px,.8fr) 110px 76px auto}
}
@media (max-width:900px){
  :root{--rail:0}.command-rail{display:none}.viewport{margin-left:0}.mobile-header{position:sticky;top:0;z-index:90;height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:#0d100ef2;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-brand{display:flex;align-items:baseline;gap:8px}.mobile-brand b{font:950 18px/1 var(--narrow);letter-spacing:-.04em;color:var(--paper)}.mobile-brand span{font:700 8px/1 var(--mono);letter-spacing:.1em;color:var(--signal)}.mobile-status{display:flex;align-items:center;gap:7px;font:700 8px/1 var(--mono);color:#6b716a}.top-ticker{display:none}.content-stage{padding:22px 14px 88px}.flash{margin:12px 14px 0}.footer{display:none}.mobile-dock{position:fixed;left:0;right:0;bottom:0;z-index:100;display:grid;grid-template-columns:repeat(5,1fr);height:66px;padding-bottom:env(safe-area-inset-bottom);background:#0c0f0df2;border-top:1px solid #313631;backdrop-filter:blur(12px)}.mobile-dock a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#60665f;border-right:1px solid #1e231f}.mobile-dock a:last-child{border-right:0}.mobile-dock b{font:800 7px/1 var(--mono)}.mobile-dock span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 8px/1 var(--narrow);letter-spacing:.05em;text-transform:uppercase}.mobile-dock a.active{color:var(--paper);background:#141814}.mobile-dock a.active::before{content:"";position:absolute;left:21%;right:21%;top:-1px;height:3px;background:var(--signal)}.mobile-dock a.active b{color:var(--signal)}
  .hero{min-height:200px;padding:23px 18px}.hero h1{font-size:clamp(40px,10vw,68px)}.hero-number{right:-8px;opacity:.65}.hero-status{position:absolute;right:14px;top:14px;min-width:auto}.hero-status div{display:none}.hero-signal-line{gap:11px}.metric-strip,.cards{grid-template-columns:1fr 1fr}.metric-strip article,.cards .card{min-height:112px;padding:15px}.metric-strip article:nth-child(2),.cards .card:nth-child(2){border-right:0}.metric-strip article:nth-child(-n+2),.cards .card:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric-strip strong,.cards .card strong{margin-top:17px}.leader-grid{grid-template-columns:1fr}.leader-card,.leader-1{min-height:165px}.leader-body{bottom:15px}.leader-body h2{font-size:30px}.leader-power{font-size:34px}.filters{grid-template-columns:1fr 1fr;padding:14px}.filters .search-field{grid-column:1/-1}.filters .filter-submit{grid-column:1/-1}.workbench-head{padding:16px 14px}.panel{padding:15px}.sync-live-meta{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body::after{font-size:58vw;bottom:.02em}.content-stage{padding-left:10px;padding-right:10px}.flash{margin-left:10px;margin-right:10px}.hero{margin-left:-10px;margin-right:-10px;border-left:0;border-right:0;padding-left:14px;padding-right:14px}.hero::before,.hero::after{right:8%}.hero p{font-size:11px;max-width:72%}.hero h1{max-width:82%}.hero-number{font-size:36vw;right:-16px}.hero-signal-line span:nth-child(3){display:none}.metric-strip,.cards{margin-left:-10px;margin-right:-10px}.leader-stage{margin-left:0;margin-right:0}.section-index{gap:10px}.section-index b{font-size:15px}.ranking-workbench{margin-left:-10px;margin-right:-10px;border-left:0;border-right:0}.filters{grid-template-columns:1fr 1fr;gap:8px}.filters label:first-of-type{grid-column:1/-1}.ranking-table-wrap{overflow:visible}.ranking-table{min-width:0;display:block}.ranking-table thead{display:none}.ranking-table tbody{display:grid;gap:1px;background:var(--line)}.ranking-table tr{position:relative;display:grid;grid-template-columns:48px 1fr 80px;grid-template-areas:"rank player power" "rank alliance power";min-height:78px;background:#0f120f}.ranking-table td{display:block!important;padding:0!important;border:0!important;background:transparent!important}.ranking-table td:nth-child(1){grid-area:rank;display:flex!important;align-items:center;justify-content:center;border-right:1px solid var(--line)!important}.ranking-table td:nth-child(2){grid-area:player;padding:15px 10px 2px!important}.ranking-table td:nth-child(3){grid-area:alliance;padding:3px 10px 13px!important}.ranking-table td:nth-child(4){grid-area:power;display:flex!important;align-items:center;justify-content:flex-end;padding:0 10px!important;font-size:15px}.ranking-table td:nth-child(n+5){display:none!important}.ranking-table .pname{font-size:15px}.ranking-table td.rank span{border:0;min-width:0;color:#666c65}.ranking-table tr.top-rank td.rank span{color:var(--signal)}.ranking-table tr.own td:first-child{box-shadow:inset 3px 0 0 var(--signal)}
  .map-panel{margin-left:-10px;margin-right:-10px}.map-toolbar{border-left:0;border-right:0;padding-left:10px;padding-right:7px}.map-toolbar::before{display:none}.map-toolbar-title #mapMeta{display:none}.map-toolbar-actions{gap:0}.map-icon-btn{width:36px;height:36px}.map-stage{height:calc(100dvh - 185px);min-height:510px;border-left:0;border-right:0}.map-alliance-legend{right:7px;top:7px;width:min(225px,72vw)}.map-ally-hud{right:7px;top:7px}.map-search-panel{left:7px;top:7px;width:calc(100% - 14px)}.map-shield-filter{left:7px;top:55px}.map-hover-info{display:none}.map-stage-footer{left:7px;right:auto;bottom:7px}.map-popup{left:7px!important;right:7px!important;bottom:7px!important;top:auto!important;width:auto!important}.map-summary.cards{grid-template-columns:1fr 1fr}.narrow{margin-top:20px}.narrow>h1{font-size:46px}.row-form>*{width:100%}.row-form .btn{width:auto}.tabs{margin-left:-10px;margin-right:-10px;padding-left:10px}.kv{grid-template-columns:1fr 1fr}
}
@media (max-width:420px){.metric-strip strong,.cards .card strong{font-size:28px}.hero h1{font-size:42px}.hero p{max-width:88%}.hero-number{opacity:.4}.sync-live-meta{grid-template-columns:1fr}.kv{grid-template-columns:1fr}.map-shield-filter .shield-chip{padding:0 7px}.mobile-dock span{font-size:7px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.narrow a{color:#d7d3c9;border-bottom:1px solid #4a5049}.narrow a:hover{color:var(--signal);border-color:var(--signal)}
.sync-live-event.ok{border-left-color:var(--ok)}.sync-live-event.warn{border-left-color:var(--warn)}.sync-live-event.error{border-left-color:var(--error)}

/* ========================================================================== 
   v2.1 — ROYAL NIGHT
   Visual refinement after usability review. Layout remains v2.0; visual system
   rebuilt around high readability, deep navy surfaces and restrained gold.
   ========================================================================== */
:root{
  --ink:#08111f;
  --ink-2:#0d1727;
  --ink-3:#132035;
  --paper:#f4f7fb;
  --paper-2:#d8e0eb;
  --muted:#8d9aab;
  --line:#223149;
  --line-soft:#17253a;
  --signal:#d8b66b;
  --signal-dark:#947538;
  --lime:#70d5a0;
  --cyan:#75b9e8;
  --ok:#70d5a0;
  --warn:#e4bc67;
  --error:#ef8181;
  --rail:196px;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --narrow:"Segoe UI Variable","Aptos","Helvetica Neue",Arial,sans-serif;
  --sans:"Segoe UI Variable","Aptos","Helvetica Neue",Arial,sans-serif;
  --surface:#0e192a;
  --surface-2:#111e31;
  --surface-3:#16243a;
  --surface-hover:#192942;
  --text:#eef3f9;
  --text-2:#b5c0cf;
  --shadow:0 18px 50px rgba(0,0,0,.25);
}
html{background:var(--ink);scrollbar-color:#364963 #0a1321}
body{color:var(--text);font:15px/1.55 var(--sans);background:#08111f}
body::before{background:
  radial-gradient(circle at 78% 12%,rgba(72,114,169,.10),transparent 34%),
  radial-gradient(circle at 18% 88%,rgba(216,182,107,.045),transparent 32%),
  linear-gradient(180deg,#08111f 0%,#091321 48%,#07101c 100%)}
body::after{right:.015em;bottom:-.08em;font-family:var(--sans);font-weight:750;letter-spacing:-.075em;color:rgba(151,174,205,.025)}
::selection{background:rgba(216,182,107,.9);color:#08111f}
h1,h2,h3{font-family:var(--sans);font-weight:730;letter-spacing:-.03em}
.muted{color:var(--muted)}.small{font-size:12px;color:var(--muted)}

/* Chrome */
.command-rail{background:linear-gradient(180deg,#0b1626 0%,#091321 100%);border-right:1px solid #24334b;padding:24px 15px 18px;box-shadow:12px 0 40px rgba(0,0,0,.14)}
.content-stage{padding-top:38px}
.rail-brand{gap:12px;padding:0 3px 24px}
.rail-brand-mark{width:52px;height:52px;border-radius:13px;clip-path:none;background:linear-gradient(145deg,#f1d28c,#bd9850);color:#0b1421;font:780 19px/1 var(--sans);letter-spacing:-.04em;box-shadow:0 8px 24px rgba(216,182,107,.13),inset 0 1px 0 rgba(255,255,255,.35)}
.rail-brand-copy b{font:720 15px/1.15 var(--sans);letter-spacing:.01em;color:#f3f6fa}
.rail-brand-copy small{margin-top:5px;font:600 9px/1.2 var(--sans);letter-spacing:.06em;color:#78879a}
.rail-rule{height:31px;margin:0 0 13px;border:0;border-top:1px solid #223149}
.rail-rule::after{display:none}.rail-rule span{left:3px;top:12px;font:650 9px/1 var(--sans);letter-spacing:.08em;color:#5f7086}
.rail-nav{gap:5px;margin-top:0}
.rail-nav a{grid-template-columns:26px 1fr 8px;min-height:45px;padding:0 10px;border:1px solid transparent;border-radius:10px;color:#8290a4;transition:background .16s,border-color .16s,color .16s,transform .16s}
.rail-nav a:first-child{border-top-color:transparent}.rail-nav a:hover{transform:none;background:#111e31;border-color:#20314a;color:#e9eef5}
.rail-nav a.active{background:linear-gradient(90deg,rgba(216,182,107,.13),rgba(216,182,107,.035));border-color:rgba(216,182,107,.22);color:#f4f7fb}
.rail-nav a.active::before{left:-1px;top:9px;bottom:9px;width:3px;border-radius:3px;background:#d8b66b}
.rail-no{font:650 9px/1 var(--mono);color:#516177}.rail-nav a.active .rail-no{color:#d8b66b}
.rail-label{font:650 13px/1 var(--sans);letter-spacing:0;text-transform:none}.rail-nav i{width:5px;height:5px;border:0;border-radius:50%;background:#33445d;transform:none}.rail-nav a.active i{background:#d8b66b;box-shadow:0 0 0 4px rgba(216,182,107,.08)}
.rail-health{padding:15px 4px;border-top:1px solid #223149}.pulse-dot{border-radius:50%;background:#536279}.pulse-dot.live{background:#70d5a0;box-shadow:0 0 0 4px rgba(112,213,160,.10)}
.rail-health small{font:650 9px/1 var(--sans);letter-spacing:.06em;color:#63738a}.rail-health b{margin-top:5px;font:650 11px/1 var(--sans);color:#aab6c6}
.rail-lang{border:1px solid #283950;border-radius:9px;padding:9px 10px;font:650 10px/1 var(--sans);letter-spacing:.04em;color:#91a0b4;background:#0d1828}.rail-lang:hover{border-color:#496079;color:#f2f5f9;background:#111f33}
.top-ticker{height:36px;padding:0 31px;border-bottom:1px solid #1d2c42;color:#67778e;font:620 9px/1 var(--sans);letter-spacing:.06em;background:rgba(7,16,28,.58)}.top-ticker i{width:4px;height:4px;border-radius:50%;background:#a98b4f;transform:none}
.footer{border-top-color:#1e2d43;color:#65758b;font:600 10px/1.5 var(--sans);letter-spacing:.02em}.footer b{color:#aeb9c8}

/* Feedback */
.flash{margin-top:18px;padding:13px 16px 13px 46px;border:1px solid #2b3c55;border-radius:11px;background:#101c2e;color:#c5ceda;font-size:13px;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.flash::before{width:32px;border-radius:10px 0 0 10px;background:#33435b;color:#eaf0f6;font:720 13px/1 var(--sans)}
.flash.ok{border-color:rgba(112,213,160,.35)}.flash.ok::before{background:#70d5a0;color:#0a1a15}
.flash.error{border-color:rgba(239,129,129,.38)}.flash.error::before{background:#ef8181;color:#241011}
.flash.warn{border-color:rgba(228,188,103,.40)}.flash.warn::before{background:#e4bc67;color:#241c0b}

/* Hero */
.hero{min-height:242px;margin-bottom:24px;padding:34px 36px;border:1px solid #253650;border-radius:18px;align-items:flex-end;background:
  radial-gradient(circle at 78% 20%,rgba(87,129,184,.15),transparent 34%),
  linear-gradient(135deg,#111e31 0%,#0d1828 58%,#0a1524 100%);box-shadow:var(--shadow)}
.hero::before{right:25%;top:-90px;width:220px;height:460px;border:1px solid rgba(129,158,194,.10);border-radius:50%;background:none;transform:rotate(28deg)}
.hero::after{right:13%;top:-115px;width:1px;height:480px;border:0;background:linear-gradient(180deg,transparent,rgba(216,182,107,.22),transparent);transform:rotate(28deg)}
.hero-copy{max-width:780px}.eyebrow{gap:10px;margin-bottom:14px;font:650 10px/1 var(--sans);letter-spacing:.085em;color:#8292a7}.eyebrow span{color:#d8b66b}.eyebrow i{width:28px;background:#465a74}
.hero h1{font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.045em;text-transform:none;color:#f4f7fb}
.hero p{max-width:680px;margin-top:18px;color:#aab6c6;font-size:14px;line-height:1.65}
.hero-number{right:32px;top:46%;font:760 clamp(88px,10vw,175px)/.8 var(--sans);letter-spacing:-.075em;color:rgba(128,155,190,.055);-webkit-text-stroke:1px rgba(159,181,211,.10)}
.hero-number span{font-size:.16em;color:rgba(216,182,107,.75);font-weight:720;-webkit-text-stroke:0}
.hero-status{min-width:168px;padding:10px 13px;border:1px solid #2b3c55;border-left:3px solid #d8b66b;border-radius:10px;background:rgba(10,20,34,.72);box-shadow:0 10px 25px rgba(0,0,0,.14)}
.hero-status small{font:620 9px/1 var(--sans);letter-spacing:.06em;color:#77889e}.hero-status strong{margin-top:5px;font:670 12px/1 var(--sans);color:#dbe3ec}
.dot{border-radius:50%;background:#63748a}.dot.live{background:#70d5a0}.dot.stale{background:#e4bc67}
.hero-signal-line{gap:18px;margin-top:22px;color:#7f8fa4;font:620 10px/1 var(--sans);letter-spacing:.03em}
.hero-signal-line span{padding-left:12px}.hero-signal-line span::before{top:3px;width:5px;height:5px;border:0;border-radius:50%;background:#4e627c}

/* Metrics */
.metric-strip,.cards{gap:10px;border:0;background:transparent}
.metric-strip article,.cards .card{min-height:130px;padding:19px 20px;border:1px solid #22334c;border-radius:13px;background:linear-gradient(180deg,#101d30,#0d1929);box-shadow:0 10px 28px rgba(0,0,0,.10)}
.metric-strip article:last-child,.cards .card:last-child{border-right:1px solid #22334c}
.metric-strip article::after,.cards .card::after{right:15px;top:15px;width:6px;height:6px;border:0;border-radius:50%;background:#354963}
.metric-strip span,.cards .card span{color:#7f8ea3;font:620 10px/1.3 var(--sans);letter-spacing:.055em;text-transform:none}
.metric-strip strong,.cards .card strong{margin-top:24px;font:730 clamp(27px,2.8vw,44px)/.95 var(--sans);letter-spacing:-.04em;color:#f1f5fa}
.metric-strip small{margin-top:10px;color:#5f7086;font:620 9px/1 var(--sans);letter-spacing:.055em}
.metric-strip .accent,.cards .card.accent{border-color:rgba(216,182,107,.34);background:linear-gradient(160deg,rgba(216,182,107,.13),rgba(18,30,48,.98) 58%);color:#f4f7fb}
.metric-strip .accent span,.metric-strip .accent small,.cards .card.accent span{color:#a9956a}.metric-strip .accent strong,.cards .card.accent strong{color:#f0d79e}

/* Top 3 */
.leader-stage{margin-bottom:32px}.section-index{gap:12px;margin-bottom:13px}.section-index span{font:650 10px/1 var(--sans);letter-spacing:.07em;color:#b89a59}.section-index b{font:700 19px/1 var(--sans);letter-spacing:-.015em;text-transform:none;color:#dce4ee}
.leader-grid{gap:10px}
.leader-card{min-height:205px;border:1px solid #243650;border-radius:15px;background:linear-gradient(145deg,#101e31,#0c1727);overflow:hidden;box-shadow:0 14px 32px rgba(0,0,0,.14)}
.leader-card::after{width:150px;height:150px;right:-50px;top:-60px;border-radius:50%;border:1px solid rgba(124,155,194,.10);background:rgba(80,116,162,.03);transform:none}
.leader-1{background:radial-gradient(circle at 88% 15%,rgba(216,182,107,.13),transparent 33%),linear-gradient(145deg,#13233a,#0d192b);border-color:rgba(216,182,107,.30)}
.leader-rank{left:18px;top:17px;font:700 13px/1 var(--sans);letter-spacing:.03em;color:#64758b}.leader-1 .leader-rank{color:#d8b66b}
.leader-body{left:20px;right:20px;bottom:19px}.leader-alliance{font:650 10px/1 var(--sans);letter-spacing:.06em;color:#788aa0}
.leader-body h2{margin:7px 0 18px;font:720 31px/1 var(--sans);letter-spacing:-.035em;text-transform:none;color:#f0f4f8}
.leader-power{font:740 35px/1 var(--sans);letter-spacing:-.04em;color:#c7d4e3}.leader-1 .leader-power{color:#f0d79e}
.leader-meta{margin-top:10px;gap:13px;color:#74859b;font:620 10px/1 var(--sans);letter-spacing:.02em}

/* Panels */
.ranking-workbench,.panel{border:1px solid #23344d;border-radius:15px;background:#0e192a;box-shadow:0 14px 35px rgba(0,0,0,.13);overflow:hidden}
.ranking-workbench::before,.panel::before{display:none}
.workbench-head{padding:19px 20px 15px;border-bottom:1px solid #23344d;background:#101d30}
.table-meta{font:620 10px/1 var(--sans);color:#74859a}.table-meta b{font-size:22px;color:#e9eef5}
.panel{padding:21px}.panel h2{margin-bottom:16px;font-size:21px;letter-spacing:-.02em;text-transform:none;color:#eaf0f7}.panel>h2:first-child::after{width:34px;height:2px;border-radius:2px;background:#d8b66b;margin-top:9px}
.narrow{max-width:760px}.narrow>h1{font-size:clamp(39px,5.5vw,66px);line-height:1;letter-spacing:-.04em;text-transform:none}.lead{color:#a6b2c1}.hint{font-size:12px;color:#8190a3}.hint code{background:#132239;border:1px solid #2a3c56;border-radius:5px;padding:2px 6px}
.field label,.filters label>span{margin-bottom:7px;color:#7d8da2;font:620 10px/1 var(--sans);letter-spacing:.055em;text-transform:none}

/* Controls */
.control{height:44px;border:1px solid #2b3d57;border-radius:9px;background:#0a1524;color:#edf2f8;padding:0 12px;transition:border-color .15s,background .15s,box-shadow .15s}
.control:hover{border-color:#405570;background:#0d192a}.control:focus{border-color:#a98c4e;background:#0d192a;box-shadow:0 0 0 3px rgba(216,182,107,.08)}.control::placeholder{color:#5d6d82}select.control option{background:#0c1727;color:#f1f4f8}
.btn{min-height:42px;padding:0 15px;border:1px solid #31445e;border-radius:9px;background:#142238;color:#c7d2df;font:650 11px/1 var(--sans);letter-spacing:.02em;text-transform:none;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s}
.btn:hover{background:#1a2b45;border-color:#4a607c;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.12)}.btn.primary{background:#d8b66b;border-color:#d8b66b;color:#14180f;font-weight:700}.btn.primary:hover{background:#e5c67e;border-color:#e5c67e;color:#111711}.btn.ghost{background:transparent}.btn.tiny{font-size:10px}.filter-submit{border-color:rgba(216,182,107,.44);color:#ddc38b;background:rgba(216,182,107,.065)}.filter-submit:hover{background:rgba(216,182,107,.12);border-color:#d8b66b}.filter-submit b{font-size:15px;color:#d8b66b}
.filters{gap:10px;padding:16px 20px;border-bottom:1px solid #23344d;background:#0b1626}.checkline{font-size:13px}.checkline input{accent-color:#c6a459}
.lookup-state{border-left-width:3px;border-radius:0 9px 9px 0;background:#111e31;font-size:13px}
.kv{gap:8px;border:0}.kv>div{min-height:82px;padding:13px;border:1px solid #23364f;border-radius:9px;background:#0c1727}.kv span{color:#74859a;font:620 10px/1 var(--sans);letter-spacing:.04em;text-transform:none}.kv strong{margin-top:9px;font:700 15px/1.25 var(--sans);color:#dce4ed}

/* Tabs */
.tabs{gap:6px;padding-bottom:8px;border-bottom:1px solid #213149}.tabs a,.tabs a:first-child{padding:10px 13px;border:1px solid transparent;border-radius:8px;color:#78889d;font:640 11px/1 var(--sans);letter-spacing:0;text-transform:none}.tabs a:hover{background:#111e31;color:#dbe3ed}.tabs a.active{border-color:#2d405a;background:#15243a;color:#f2f5f8}.tabs a.active::after{left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:#d8b66b}

/* Tables */
.data th,.data td{padding:13px 14px;border-bottom:1px solid #192940}.data th{background:#101d2f;color:#7d8da2;font:650 10px/1 var(--sans);letter-spacing:.04em;text-transform:none}.data td{font-size:13px;color:#aeb9c7}.data tbody tr:hover td{background:#132139;color:#e2e8f0}.data tbody tr.own td{background:rgba(216,182,107,.04)}.data tbody tr.own td:first-child{box-shadow:inset 3px 0 0 #d8b66b}.data tbody tr.top-rank td{border-bottom-color:#24364f}.data td.rank span{min-width:38px;height:27px;border:1px solid #30425c;border-radius:7px;color:#8797ab;font:680 10px/1 var(--sans)}.data tr.top-rank td.rank span{border-color:rgba(216,182,107,.45);color:#d8b66b;background:rgba(216,182,107,.055)}.data .pname{font:690 14px/1.1 var(--sans);letter-spacing:0;color:#e1e8f0}.data .strong{font:720 14px/1 var(--sans);color:#f1f4f8}.alliance-code{font:650 11px/1 var(--sans);letter-spacing:.03em;color:#a9b5c4}.badge{margin-left:8px;padding:3px 6px;border:1px solid rgba(112,213,160,.32);border-radius:5px;color:#82d9aa;font:650 9px/1 var(--sans);letter-spacing:.02em;text-transform:none}.data td.empty{color:#718196}.tag{padding:4px 7px;border:1px solid #31435d;border-radius:6px;background:#132139;font:650 10px/1 var(--sans);letter-spacing:.02em;text-transform:none}

/* Progress / admin */
.bar{height:6px;border-radius:99px;background:#1a2a40}.bar span{border-radius:99px;background:#d8b66b}.progress-meta{color:#78889d;font:620 10px/1 var(--sans)}
.send-log{gap:5px}.send-row{padding:9px 11px;border-radius:7px;background:#101d30;font:11px/1.4 var(--mono)}
.sync-live{border:1px solid #253650;border-radius:12px;background:#0a1524;overflow:hidden}.sync-live-head{padding:14px 15px;border-bottom:1px solid #253650;background:#111f33}.sync-live-kicker{font:650 10px/1 var(--sans);letter-spacing:.06em;color:#d8b66b}.sync-live-state{font:650 10px/1 var(--sans);letter-spacing:.03em}.sync-live-state>i{border-radius:50%;background:#607188}.sync-live-state.running>i{background:#d8b66b}.sync-live-track{height:5px;background:#1a2a40}.sync-live-track>span{background:#d8b66b}.sync-live-meta{color:#7c8da2;font:620 10px/1.4 var(--sans)}.sync-live-feed{gap:5px}.sync-live-event{padding:8px 10px;border-radius:6px;background:#101d2f;color:#93a2b4;font:10px/1.4 var(--mono)}

/* Map */
.map-panel{margin-bottom:34px}.map-toolbar{min-height:66px;padding:12px 13px 12px 17px;border:1px solid #263851;border-bottom:0;border-radius:14px 14px 0 0;background:#101d30}.map-toolbar::before{right:195px;top:10px;color:rgba(139,163,193,.06);font:730 25px/1 var(--sans);letter-spacing:-.03em}.map-toolbar-title strong{font:700 17px/1 var(--sans);text-transform:none;color:#eaf0f6}.map-toolbar-title #mapMeta{color:#78899f;font:620 10px/1 var(--sans);letter-spacing:.02em}.map-toolbar-actions{gap:4px;border:0}.map-icon-btn,.map-fullscreen-exit,.map-ally-hud{border:1px solid #2b3e58!important;border-radius:8px;background:#14243a;color:#aab6c5;font:700 16px/1 var(--sans)}.map-icon-btn{width:39px;height:39px}.map-icon-btn:hover,.map-fullscreen-exit:hover,.map-ally-hud:hover{background:#d8b66b;border-color:#d8b66b!important;color:#101621}
.map-stage{border:1px solid #263851;border-radius:0 0 14px 14px;background:#08131f;box-shadow:0 20px 45px rgba(0,0,0,.18)}.map-stage::before{box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),inset 0 0 100px rgba(0,0,0,.28)}#mapCanvas{cursor:grab}#mapCanvas:active{cursor:grabbing}
.map-overlay{background:rgba(8,17,31,.95);color:#edf2f8}.map-overlay span{color:#8292a7;font:620 10px/1 var(--sans);letter-spacing:.03em}.map-spinner{width:38px;height:38px;border:2px solid #263a54;border-top-color:#d8b66b;border-radius:50%}.map-progress{height:4px;border-radius:99px;background:#203149}.map-progress i{border-radius:99px;background:#d8b66b}
.map-hover-info{padding:8px 11px;border:1px solid #2b3e57;border-left:3px solid #d8b66b;border-radius:8px;background:rgba(10,21,36,.90);color:#91a1b4;font:620 10px/1.3 var(--sans)}
.map-popup{padding:16px;border:1px solid #344963;border-radius:12px;background:rgba(14,26,43,.97);box-shadow:0 18px 50px rgba(0,0,0,.30)}.map-popup::before{left:16px;top:-1px;width:42px;height:2px;border-radius:2px;background:#d8b66b}.map-popup h3{margin-bottom:11px;font-size:20px;line-height:1.05;text-transform:none}.map-popup .close{color:#7f8fa3}.map-popup .row{padding:7px 0;border-top:1px solid #24364e;font:620 10px/1.25 var(--sans)}.map-popup .row span{color:#78899d}.map-popup a{color:#d8b66b;font:660 10px/1 var(--sans);text-transform:none}
.map-focus-pill{padding:9px 12px;border:1px solid #2b3e58;border-bottom:0;background:#101d30;color:#b6c1cf;font:630 10px/1 var(--sans)}.map-active-filters{border-color:#2b3e58;background:#0d1929}.map-filter-chip{border:1px solid #30435c;border-radius:6px;background:#142238;font:620 10px/1 var(--sans)}.map-filter-x{border-radius:4px;background:#243650;color:#9aa8ba}
.map-search-panel{border:1px solid #354a65;border-radius:12px;background:rgba(13,25,42,.97);box-shadow:0 22px 55px rgba(0,0,0,.32)}.map-search-head{padding:13px;border-bottom:1px solid #263952}.map-search-head strong{font:700 15px/1 var(--sans);text-transform:none}.map-search-tabs{gap:4px;padding:6px;border-bottom:1px solid #263952}.map-search-tab{height:35px;border:1px solid transparent!important;border-radius:7px;background:transparent;color:#7e8ea3;font:640 10px/1 var(--sans);letter-spacing:0;text-transform:none}.map-search-tab.active{border-color:#3a4f69!important;background:#17273f;color:#e8edf4}.map-search-panel>.control{border:0;border-bottom:1px solid #263952;border-radius:0}.map-search-row{gap:9px;padding:10px 11px;border-bottom:1px solid #1e3048;color:#b8c3d0}.map-search-row:hover{background:#15243a}.map-search-row .swatch,.legend-item .swatch{border-radius:50%}.map-search-row .main{font:650 12px/1.1 var(--sans)}.map-search-row .main em{color:#77889d}.map-search-row .meta,.map-search-empty{color:#75869b;font:620 10px/1 var(--sans)}
.map-alliance-legend{border:1px solid #354a65;border-radius:12px;background:rgba(13,25,42,.95);box-shadow:0 16px 40px rgba(0,0,0,.22)}.map-legend-head{padding:11px 12px;border-bottom:1px solid #263952}.map-legend-head strong{font:700 13px/1 var(--sans);text-transform:none}.map-legend-head span{margin-top:4px;color:#718298;font:620 9px/1 var(--sans)}.map-alliance-list{padding:5px}.legend-item{gap:8px;padding:8px;border-radius:7px;color:#aebac8}.legend-item:hover,.legend-item.active{background:#17263d;border-color:#2e425d}.legend-item.active{border-left-color:#d8b66b}.legend-item .tag{font-size:10px}.legend-item .cnt{color:#74859a;font:620 10px/1 var(--sans)}.legend-empty{color:#74859a;font:620 10px/1 var(--sans)}
.map-ally-hud{border-radius:8px}.map-shield-filter{gap:3px;padding:4px;border:1px solid #31455f;border-radius:9px;background:rgba(13,25,42,.90)}.shield-chip{height:28px;padding:0 9px;border:0!important;border-radius:6px;background:transparent;color:#78899d;font:630 10px/1 var(--sans);letter-spacing:0;text-transform:none}.shield-chip.active{background:#d8b66b;color:#142031}.map-stage-footer{padding:7px 9px;border:1px solid #30435d;border-radius:8px;background:rgba(13,25,42,.90);color:#8090a4;font:620 10px/1 var(--sans)}.map-clear-focus{height:27px;border:1px solid #3a4e69;border-radius:6px;background:#17263d;color:#afbbc9;font:630 10px/1 var(--sans);text-transform:none}.map-fullscreen-exit{border-radius:9px}.map-view.is-fullscreen,.map-view:fullscreen{background:#08111f}

/* Links */
.narrow a{color:#c9d5e3;border-bottom:1px solid #435772}.narrow a:hover{color:#e3c47f;border-color:#d8b66b}

/* Responsive refinements */
@media (max-width:1180px){
  :root{--rail:160px}.rail-brand-mark{width:48px;height:48px}.rail-nav a{grid-template-columns:25px 1fr 7px}.content-stage{padding-left:28px;padding-right:28px}
}
@media (max-width:900px){
  .mobile-header{height:56px;padding:0 15px;background:rgba(9,19,33,.94);border-bottom:1px solid #263750;backdrop-filter:blur(16px)}
  .mobile-brand b{font:730 18px/1 var(--sans);letter-spacing:-.02em;color:#f0f4f8}.mobile-brand span{font:650 9px/1 var(--sans);letter-spacing:.04em;color:#c6a75f}.mobile-status{font:620 9px/1 var(--sans);color:#8191a5}
  .content-stage{padding-top:20px}.mobile-dock{height:69px;background:rgba(8,17,31,.96);border-top:1px solid #263750;backdrop-filter:blur(16px)}.mobile-dock a{gap:5px;color:#718196;border-right:0}.mobile-dock b{font:650 8px/1 var(--mono)}.mobile-dock span{font:630 9px/1 var(--sans);letter-spacing:0;text-transform:none}.mobile-dock a.active{color:#f0f4f8;background:linear-gradient(180deg,rgba(216,182,107,.075),transparent)}.mobile-dock a.active::before{left:27%;right:27%;height:2px;border-radius:2px;background:#d8b66b}.mobile-dock a.active b{color:#d8b66b}
  .hero{min-height:210px;padding:25px 20px;border-radius:14px}.hero h1{font-size:clamp(38px,9.5vw,62px)}.hero-status{right:14px;top:14px}.metric-strip,.cards{gap:8px}.metric-strip article,.cards .card{min-height:112px;padding:15px;border-radius:11px}.leader-card,.leader-1{min-height:170px}.leader-body h2{font-size:27px}.leader-power{font-size:31px}.filters{padding:14px}.panel{padding:16px}
}
@media (max-width:640px){
  body::after{font-size:54vw}.hero{margin-left:0;margin-right:0;padding-left:17px;padding-right:17px}.hero p{font-size:13px;max-width:86%}.hero h1{max-width:86%}.hero-number{right:-10px;opacity:.55}.metric-strip,.cards{margin-left:0;margin-right:0}.ranking-workbench{margin-left:0;margin-right:0;border:1px solid #23344d;border-radius:13px}.ranking-table tbody{gap:6px;background:transparent}.ranking-table tr{min-height:82px;border:1px solid #21334c;border-radius:10px;background:#0e192a;overflow:hidden}.ranking-table td:nth-child(1){border-right:1px solid #21334c!important}.ranking-table .pname{font-size:14px}.ranking-table tr.own td:first-child{box-shadow:inset 3px 0 0 #d8b66b}.ranking-table tr.top-rank td.rank span{color:#d8b66b}.map-panel{margin-left:0;margin-right:0}.map-toolbar{border-left:1px solid #263851;border-right:1px solid #263851;padding-left:11px;border-radius:12px 12px 0 0}.map-stage{border-left:1px solid #263851;border-right:1px solid #263851;border-radius:0 0 12px 12px}.map-summary.cards{grid-template-columns:1fr 1fr}.tabs{margin-left:0;margin-right:0;padding-left:0}.narrow>h1{font-size:42px}.kv{grid-template-columns:1fr 1fr}
}
@media (max-width:420px){
  .metric-strip strong,.cards .card strong{font-size:27px}.hero h1{font-size:39px}.hero p{max-width:93%}.hero-number{opacity:.32}.mobile-dock span{font-size:8px}.kv{grid-template-columns:1fr}
}

/* ==========================================================================
   v2.2 — CINDER / BONE
   Warm graphite, bone-white typography and oxidised copper. Absolutely no navy.
   Layout from v2.1 is intentionally preserved; only the visual language changes.
   ========================================================================== */
:root{
  --ink:#15120f;
  --ink-2:#1b1713;
  --ink-3:#231d18;
  --paper:#f3ede4;
  --paper-2:#d8cec1;
  --muted:#a79b8e;
  --line:#3a3129;
  --line-soft:#2b241f;
  --signal:#b95f49;
  --signal-dark:#79392d;
  --lime:#8fbd78;
  --cyan:#b88762;
  --ok:#8fbd78;
  --warn:#d19a59;
  --error:#d96c64;
  --surface:#1c1814;
  --surface-2:#211b17;
  --surface-3:#2a221c;
  --surface-hover:#302721;
  --text:#f4eee6;
  --text-2:#c8bdb0;
  --shadow:0 18px 50px rgba(0,0,0,.28);
}
html{background:#15120f;scrollbar-color:#55483c #15120f}
body{color:var(--text);background:#15120f}
body::before{background:
  radial-gradient(circle at 79% 12%,rgba(153,84,61,.085),transparent 31%),
  radial-gradient(circle at 17% 86%,rgba(171,128,83,.055),transparent 34%),
  linear-gradient(180deg,#15120f 0%,#181410 49%,#12100e 100%)}
body::after{color:rgba(237,222,205,.025)}
::selection{background:#b95f49;color:#fff7ef}

/* chrome */
.command-rail{background:linear-gradient(180deg,#1b1713 0%,#14110f 100%);border-right-color:#352d27;box-shadow:12px 0 42px rgba(0,0,0,.18)}
.rail-brand-mark{background:linear-gradient(145deg,#e5d6c4,#b99b7a);color:#1a1511;box-shadow:0 8px 24px rgba(137,91,60,.16),inset 0 1px 0 rgba(255,255,255,.42)}
.rail-brand-copy b{color:#f5eee6}.rail-brand-copy small{color:#8f8174}.rail-rule{border-top-color:#352d27}.rail-rule span{color:#786b60}
.rail-nav a{color:#95887b}.rail-nav a:hover{background:#241e19;border-color:#3b312a;color:#f2ebe3}.rail-nav a.active{background:linear-gradient(90deg,rgba(185,95,73,.16),rgba(185,95,73,.035));border-color:rgba(185,95,73,.30);color:#fff7ee}.rail-nav a.active::before{background:#b95f49}.rail-no{color:#6e6258}.rail-nav a.active .rail-no{color:#d3826e}.rail-nav i{background:#4a3e35}.rail-nav a.active i{background:#b95f49;box-shadow:0 0 0 4px rgba(185,95,73,.09)}
.rail-health{border-top-color:#352d27}.pulse-dot{background:#6f6257}.pulse-dot.live{background:#8fbd78;box-shadow:0 0 0 4px rgba(143,189,120,.10)}.rail-health small{color:#7d7065}.rail-health b{color:#bdb0a3}.rail-lang{border-color:#40362e;background:#1c1714;color:#a99b8e}.rail-lang:hover{border-color:#6a5748;background:#241d18;color:#f3ece4}
.top-ticker{border-bottom-color:#2f2822;background:rgba(20,17,14,.64);color:#817468}.top-ticker i{background:#a75a45}.footer{border-top-color:#302822;color:#817368}.footer b{color:#bcb0a4}

/* feedback */
.flash{border-color:#44372f;background:#211b17;color:#d2c6ba}.flash::before{background:#4a3b32;color:#f4ece4}.flash.ok{border-color:rgba(143,189,120,.35)}.flash.ok::before{background:#8fbd78;color:#132010}.flash.error{border-color:rgba(217,108,100,.40)}.flash.error::before{background:#d96c64;color:#26100f}.flash.warn{border-color:rgba(209,154,89,.42)}.flash.warn::before{background:#d19a59;color:#281a0c}

/* hero */
.hero{border-color:#40352d;background:
  radial-gradient(circle at 79% 18%,rgba(168,87,62,.13),transparent 34%),
  linear-gradient(135deg,#241d18 0%,#1b1713 58%,#15110e 100%);box-shadow:0 22px 54px rgba(0,0,0,.26)}
.hero::before{border-color:rgba(201,165,126,.11)}.hero::after{background:linear-gradient(180deg,transparent,rgba(185,95,73,.30),transparent)}
.eyebrow{color:#98897c}.eyebrow span{color:#d37a64}.eyebrow i{background:#655448}.hero h1{color:#f7f0e7}.hero p{color:#beb1a5}.hero-number{color:rgba(209,190,169,.045);-webkit-text-stroke-color:rgba(223,204,182,.09)}.hero-number span{color:rgba(185,95,73,.78)}
.hero-status{border-color:#4a3d34;border-left-color:#b95f49;background:rgba(24,19,16,.77)}.hero-status small{color:#8d7e72}.hero-status strong{color:#ded3c7}.dot{background:#75675b}.dot.live{background:#8fbd78}.dot.stale{background:#d19a59}.hero-signal-line{color:#918276}.hero-signal-line span::before{background:#69584b}

/* metrics */
.metric-strip article,.cards .card{border-color:#3a3029;background:linear-gradient(180deg,#221c17,#1a1612);box-shadow:0 10px 30px rgba(0,0,0,.14)}
.metric-strip article:last-child,.cards .card:last-child{border-right-color:#3a3029}.metric-strip article::after,.cards .card::after{background:#55463b}.metric-strip span,.cards .card span{color:#a39588}.metric-strip strong,.cards .card strong{color:#f4ede5}.metric-strip small{color:#786a60}
.metric-strip .accent,.cards .card.accent{border-color:rgba(185,95,73,.36);background:linear-gradient(160deg,rgba(185,95,73,.14),rgba(33,27,23,.98) 58%)}.metric-strip .accent span,.metric-strip .accent small,.cards .card.accent span{color:#b58a7a}.metric-strip .accent strong,.cards .card.accent strong{color:#efd8cd}

/* top 3 */
.section-index span{color:#b96b55}.section-index b{color:#ddd2c6}.leader-card{border-color:#3c312a;background:linear-gradient(145deg,#241e19,#191512);box-shadow:0 14px 34px rgba(0,0,0,.18)}.leader-card::after{border-color:rgba(194,160,124,.10);background:rgba(157,108,72,.025)}.leader-1{background:radial-gradient(circle at 88% 15%,rgba(185,95,73,.16),transparent 34%),linear-gradient(145deg,#2a211b,#1b1612);border-color:rgba(185,95,73,.36)}.leader-rank{color:#817267}.leader-1 .leader-rank{color:#d37a64}.leader-alliance{color:#938479}.leader-body h2{color:#f3ece4}.leader-power{color:#d9cfc4}.leader-1 .leader-power{color:#efd8cd}.leader-meta{color:#8c7d72}

/* workbench / panels */
.ranking-workbench,.panel{border-color:#3a3029;background:#1c1814;box-shadow:0 16px 38px rgba(0,0,0,.17)}.workbench-head{border-bottom-color:#3a3029;background:#211b17}.table-meta{color:#8e8074}.table-meta b{color:#eee7df}.panel h2{color:#f0e8e0}.panel>h2:first-child::after{background:#b95f49}.lead{color:#b8aca0}.hint{color:#938579}.hint code{background:#251e19;border-color:#47392f}.field label,.filters label>span{color:#9b8d80}
.control{border-color:#493b32;background:#17130f;color:#f2ebe4}.control:hover{border-color:#675344;background:#1e1814}.control:focus{border-color:#a85d49;background:#1f1915;box-shadow:0 0 0 3px rgba(185,95,73,.10)}.control::placeholder{color:#74675d}select.control option{background:#1b1612;color:#f2ebe4}
.btn{border-color:#4b3d33;background:#282019;color:#d6c9bd}.btn:hover{background:#332820;border-color:#6f5849;color:#fff7ef;box-shadow:0 8px 20px rgba(0,0,0,.16)}.btn.primary{background:#b95f49;border-color:#b95f49;color:#fff9f4}.btn.primary:hover{background:#ca7059;border-color:#ca7059;color:#fff}.btn.ghost{background:transparent}.filter-submit{border-color:rgba(185,95,73,.48);color:#dfa18f;background:rgba(185,95,73,.07)}.filter-submit:hover{background:rgba(185,95,73,.13);border-color:#b95f49}.filter-submit b{color:#d37a64}
.filters{border-bottom-color:#3a3029;background:#181410}.checkline input{accent-color:#b95f49}.lookup-state{background:#241d18}.kv>div{border-color:#3d322a;background:#191512}.kv span{color:#8f8175}.kv strong{color:#ddd3c9}
.tabs{border-bottom-color:#332a24}.tabs a{color:#8f8176}.tabs a:hover{background:#241e19;color:#ded4cb}.tabs a.active{border-color:#493c33;background:#2a211b;color:#f5eee7}.tabs a.active::after{background:#b95f49}

/* tables */
.data th,.data td{border-bottom-color:#302720}.data th{background:#211a16;color:#988a7e}.data td{color:#c4b8ad}.data tbody tr:hover td{background:#29211b;color:#efe8e0}.data tbody tr.own td{background:rgba(185,95,73,.055)}.data tbody tr.own td:first-child{box-shadow:inset 3px 0 0 #b95f49}.data tbody tr.top-rank td{border-bottom-color:#3a3029}.data td.rank span{border-color:#4a3d34;color:#998b7f}.data tr.top-rank td.rank span{border-color:rgba(185,95,73,.52);color:#d37a64;background:rgba(185,95,73,.07)}.data .pname{color:#ece4dc}.data .strong{color:#f7f0e9}.alliance-code{color:#b5a89d}.badge{border-color:rgba(143,189,120,.34);color:#9fcd8b}.data td.empty{color:#84766b}.tag{border-color:#4b3d34;background:#282019;color:#c8bbb0}

/* progress / admin */
.bar{background:#352b24}.bar span{background:#b95f49}.progress-meta{color:#8f8175}.send-row{background:#211b17}.sync-live{border-color:#3d322a;background:#17130f}.sync-live-head{border-bottom-color:#3d322a;background:#241d18}.sync-live-kicker{color:#d37a64}.sync-live-state>i{background:#76685d}.sync-live-state.running>i{background:#b95f49}.sync-live-track{background:#352b24}.sync-live-track>span{background:#b95f49}.sync-live-meta{color:#95877b}.sync-live-event{background:#211a16;color:#ad9f93}

/* map shell */
.map-toolbar{border-color:#40352d;background:#211b17}.map-toolbar::before{color:rgba(212,191,168,.055)}.map-toolbar-title strong{color:#efe8e0}.map-toolbar-title #mapMeta{color:#938579}.map-icon-btn,.map-fullscreen-exit,.map-ally-hud{border-color:#4a3c33!important;background:#29211b;color:#c3b6aa}.map-icon-btn:hover,.map-fullscreen-exit:hover,.map-ally-hud:hover{background:#b95f49;border-color:#b95f49!important;color:#fff8f3}
.map-stage{border-color:#40352d;background:#17130f}.map-overlay{background:rgba(22,18,15,.96);color:#f1eae3}.map-overlay span{color:#9c8d81}.map-spinner{border-color:#4b3d34;border-top-color:#b95f49}.map-progress{background:#352b24}.map-progress i{background:#b95f49}.map-hover-info{border-color:#4b3d34;border-left-color:#b95f49;background:rgba(28,22,18,.92);color:#a99b90}.map-popup{border-color:#5a483c;background:rgba(31,25,21,.98)}.map-popup::before{background:#b95f49}.map-popup .close{color:#95877b}.map-popup .row{border-top-color:#3d322a}.map-popup .row span{color:#95877b}.map-popup a{color:#d6826b}
.map-focus-pill{border-color:#4a3c33;background:#211b17;color:#c8bbb0}.map-active-filters{border-color:#4a3c33;background:#1a1512}.map-filter-chip{border-color:#4b3d34;background:#282019}.map-filter-x{background:#403229;color:#b8aa9e}.map-search-panel{border-color:#5a493d;background:rgba(30,24,20,.98)}.map-search-head,.map-search-tabs{border-bottom-color:#40342c}.map-search-tab{color:#97897d}.map-search-tab.active{border-color:#5d4a3e!important;background:#2d241e;color:#f0e8e1}.map-search-panel>.control{border-bottom-color:#40342c}.map-search-row{border-bottom-color:#362c25;color:#c8bbb0}.map-search-row:hover{background:#2a211b}.map-search-row .main em{color:#8e8075}.map-search-row .meta,.map-search-empty{color:#8f8176}.map-alliance-legend{border-color:#59483c;background:rgba(30,24,20,.96)}.map-legend-head{border-bottom-color:#40342c}.map-legend-head span{color:#897b70}.legend-item{color:#bfb2a7}.legend-item:hover,.legend-item.active{background:#2b221c;border-color:#4c3e34}.legend-item.active{border-left-color:#b95f49}.legend-item .cnt,.legend-empty{color:#8e8075}.map-shield-filter{border-color:#4c3e34;background:rgba(30,24,20,.92)}.shield-chip{color:#938579}.shield-chip.active{background:#b95f49;color:#fff8f3}.map-stage-footer{border-color:#4b3d34;background:rgba(30,24,20,.92);color:#95877b}.map-clear-focus{border-color:#554438;background:#2b221c;color:#c2b5aa}.map-view.is-fullscreen,.map-view:fullscreen{background:#15110e}
.narrow a{color:#d5c8bc;border-bottom-color:#665247}.narrow a:hover{color:#e0a28e;border-color:#b95f49}

@media (max-width:900px){
  .mobile-header{background:rgba(23,18,15,.95);border-bottom-color:#3b3029}.mobile-brand b{color:#f3ece5}.mobile-brand span{color:#cb765f}.mobile-status{color:#8e8075}
  .mobile-dock{background:rgba(21,17,14,.97);border-top-color:#3b3029}.mobile-dock a{color:#887a6f}.mobile-dock a.active{color:#f3ece5;background:linear-gradient(180deg,rgba(185,95,73,.10),transparent)}.mobile-dock a.active::before{background:#b95f49}.mobile-dock a.active b{color:#d37a64}
}
@media (max-width:640px){
  .ranking-workbench{border-color:#3a3029}.ranking-table tr{border-color:#362c25;background:#1c1814}.ranking-table td:nth-child(1){border-right-color:#362c25!important}.ranking-table tr.own td:first-child{box-shadow:inset 3px 0 0 #b95f49}.ranking-table tr.top-rank td.rank span{color:#d37a64}.map-toolbar{border-left-color:#40352d;border-right-color:#40352d}.map-stage{border-left-color:#40352d;border-right-color:#40352d}
}

/* v2.2.1 — real map refresh controls */
.map-update-btn{
  min-height:46px;display:flex;align-items:center;gap:10px;padding:7px 13px 7px 11px;
  border:1px solid rgba(214,190,159,.22);background:#211b17;color:#f3ede5;
  border-radius:7px;cursor:pointer;text-align:left;transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.map-update-btn:hover{background:#29211c;border-color:rgba(214,190,159,.4);transform:translateY(-1px)}
.map-update-btn:disabled{cursor:default;transform:none;opacity:.78}
.map-update-btn>span:last-child{display:grid;line-height:1.05;gap:4px}
.map-update-btn b{font-size:12px;font-weight:750;letter-spacing:.015em;color:#f6f0e8}
.map-update-btn small{font-size:10px;color:#aa9c8e;letter-spacing:.04em}
.map-update-pulse{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#b65f49;box-shadow:0 0 0 4px rgba(182,95,73,.12)}
.map-update-btn.is-busy .map-update-pulse,.map-update-btn.is-queued .map-update-pulse{animation:mapPulse 1.15s ease-in-out infinite}
.map-update-btn.is-cooldown .map-update-pulse{background:#8c7968;box-shadow:none}
.map-update-btn.is-disabled .map-update-pulse{background:#756b63;box-shadow:none}
.map-update-btn.is-degraded .map-update-pulse{background:#b89562;box-shadow:0 0 0 4px rgba(184,149,98,.10)}
.map-update-btn.is-degraded small{color:#c3aa82}
@keyframes mapPulse{50%{transform:scale(.72);opacity:.42}}
.map-update-banner{margin:0 0 12px;border:1px solid rgba(182,95,73,.28);background:#1d1815;padding:12px 14px;border-radius:7px}
.map-update-banner-copy{display:flex;align-items:center;gap:11px}
.map-update-banner-copy>div{display:grid;gap:3px;min-width:0;flex:1}
.map-update-banner-copy strong{font-size:12px;color:#efe6dc;font-weight:720}
.map-update-banner-copy small{font-size:11px;color:#9f9185;line-height:1.4}
.map-update-banner-copy>b{font-size:12px;color:#c88773}
.map-update-track{height:3px;margin-top:10px;background:#312821;overflow:hidden;border-radius:3px}
.map-update-track i{display:block;height:100%;width:0;background:#b65f49;transition:width .25s ease}
.map-update-track.is-indeterminate i{width:34%;animation:mapIndeterminate 1.2s ease-in-out infinite}
@keyframes mapIndeterminate{0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@media(max-width:720px){
  .map-toolbar-actions{gap:6px}
  .map-update-btn{order:-1;width:100%;min-height:43px}
  .map-toolbar{align-items:flex-start;gap:10px}
  .map-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}
  .map-update-banner-copy small{display:none}
}


/* v3.2.8 — ranking names: keep long and wide-script names inside the podium cards */
.leader-body h2.leader-name{
  max-width:100%;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.02;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.leader-body h2.leader-name--compact{font-size:27px!important;line-height:1.02!important}
.leader-body h2.leader-name--tight{font-size:22px!important;line-height:1.04!important;letter-spacing:-.02em!important}
.leader-body h2.leader-name--micro{font-size:18px!important;line-height:1.08!important;letter-spacing:-.01em!important}
.ranking-table .pname{max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.18}
@media(max-width:640px){
  .leader-body h2.leader-name--compact{font-size:24px!important}
  .leader-body h2.leader-name--tight{font-size:20px!important}
  .leader-body h2.leader-name--micro{font-size:17px!important}
}

/* v3.2.9 — KVK + weekly off-KVK power tracking */
.kvk-hero .kvk-hero-mark{font-size:clamp(68px,10vw,150px);letter-spacing:-.09em}
.kvk-view-tabs{margin-top:-14px}
.kvk-filters{grid-template-columns:minmax(170px,1fr) minmax(160px,1fr) minmax(220px,1.35fr) minmax(120px,.75fr) minmax(145px,.85fr) 82px auto}
.kvk-filters .search-field{min-width:190px}
.kvk-metrics article strong.growth-negative{color:#c77468}
.kvk-table{min-width:900px}
.kvk-table .kvk-fid{display:block;margin-top:4px;color:#646b66;font-size:8px;letter-spacing:.03em}
.kvk-table .growth-value,.kvk-table .growth-pct{font-weight:850;font-variant-numeric:tabular-nums}
.kvk-table .growth-value.positive,.kvk-table .growth-pct.positive{color:#8fc796}
.kvk-table .growth-value.negative,.kvk-table .growth-pct.negative{color:#d27b6d}
.kvk-table .growth-value.neutral,.kvk-table .growth-pct.neutral{color:#8c938d}
.kvk-empty-state{display:flex;align-items:center;gap:18px;padding:32px 22px;color:#8f9690}
.kvk-empty-state h3{margin:0 0 7px;color:#d8d6d0;font-size:18px}.kvk-empty-state p{margin:0;max-width:760px;font-size:12px;line-height:1.55}
.kvk-empty-icon{width:64px;height:64px;display:grid;place-items:center;border:1px solid #363c37;background:#141815;color:#c6a459;font:900 14px/1 var(--mono);letter-spacing:.08em;flex:0 0 auto}
.kvk-method-note{margin-top:16px}
.kvk-admin-head,.kvk-control-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.kvk-admin-head h2,.kvk-control-title h2{margin:6px 0 8px!important}.kvk-cycle-no{font-size:22px;color:#c6a459}
.kvk-mark-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:18px 0}
.kvk-mark-card{min-height:108px;padding:16px;border:1px solid #2d342f;background:#111512;display:flex;flex-direction:column;justify-content:center;gap:7px}.kvk-mark-card.is-set{border-color:rgba(143,199,150,.35);background:rgba(143,199,150,.035)}.kvk-mark-card span{font:800 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#6e756f}.kvk-mark-card strong{font:900 21px/1.05 var(--narrow);color:#e7e5df}.kvk-mark-card small{color:#747b75;font-size:10px}.kvk-mark-arrow{font-size:24px;color:#6c736d}.kvk-action-row form{margin:0}.kvk-control-panel .btn[disabled]{opacity:.45;cursor:not-allowed}

@media(max-width:1100px){
  .kvk-filters{grid-template-columns:1fr 1fr 1fr}.kvk-filters .search-field{grid-column:1/-1}.kvk-filters .filter-submit{grid-column:1/-1}
}
@media(max-width:700px){
  .kvk-admin-head,.kvk-control-title{display:grid;grid-template-columns:1fr}.kvk-admin-head .btn{width:100%}.kvk-mark-grid{grid-template-columns:1fr}.kvk-mark-arrow{transform:rotate(90deg);justify-self:center}
  .kvk-filters{grid-template-columns:1fr 1fr!important}.kvk-filters .search-field{grid-column:1/-1!important}
  .kvk-table{min-width:0!important;display:block!important}.kvk-table thead{display:none!important}.kvk-table tbody{display:grid!important;gap:1px;background:var(--line)}
  .kvk-table tr{display:grid!important;grid-template-columns:42px minmax(0,1fr) 92px!important;grid-template-areas:"rank player pct" "rank alliance delta" "rank start end"!important;min-height:104px!important;background:#0f120f!important}
  .kvk-table td{display:block!important;padding:0!important;border:0!important;background:transparent!important;min-width:0}
  .kvk-table td:nth-child(1){grid-area:rank!important;display:flex!important;align-items:center;justify-content:center;border-right:1px solid var(--line)!important}
  .kvk-table td:nth-child(2){grid-area:player!important;padding:13px 9px 2px!important;overflow:hidden}
  .kvk-table td:nth-child(3){grid-area:alliance!important;padding:2px 9px 5px!important}
  .kvk-table td:nth-child(4){grid-area:start!important;display:block!important;padding:3px 9px 10px!important;text-align:left!important;font-size:10px;color:#7d847f}
  .kvk-table td:nth-child(5){grid-area:end!important;display:block!important;padding:3px 9px 10px!important;text-align:right!important;font-size:10px}
  .kvk-table td:nth-child(6){grid-area:delta!important;display:flex!important;align-items:flex-end;justify-content:flex-end;padding:0 9px 5px!important;font-size:11px}
  .kvk-table td:nth-child(7){grid-area:pct!important;display:flex!important;align-items:flex-end;justify-content:flex-end;padding:13px 9px 2px!important;font-size:15px}
  .kvk-table .pname{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px!important}.kvk-table .kvk-fid{display:none}
}

/* v3.3.0 — Off-KVK Suender / Watchlist */
.sinner-hero .kvk-hero-mark{color:rgba(197,96,75,.22)}
.kvk-view-tabs .sinner-tab.active{color:#f1c7b8}
.sinner-thresholds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:-8px 0 16px;background:var(--line);border:1px solid var(--line)}
.sinner-threshold{position:relative;min-height:86px;padding:15px 16px;background:#111512;display:flex;flex-direction:column;justify-content:center;gap:7px;overflow:hidden}
.sinner-threshold::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#6d756e}
.sinner-threshold>span{font:850 8px/1 var(--mono);letter-spacing:.12em;color:#747b75}
.sinner-threshold>b{font:900 18px/1.05 var(--narrow);color:#e7e5df;font-variant-numeric:tabular-nums}.sinner-threshold>b i{font:700 9px/1 var(--mono);font-style:normal;color:#6f766f}
.sinner-threshold>small{font-size:10px;color:#717872}
.sinner-threshold.sinner-watch::before{background:#c6a459}.sinner-threshold.sinner-high::before{background:#c68455}.sinner-threshold.sinner-critical::before{background:#c45f50}
.sinner-threshold.sinner-critical{background:rgba(196,95,80,.045)}
.sinner-metrics article.danger strong{color:#dc7869}.sinner-metrics article.warn strong{color:#d59b62}
.sinner-table{min-width:1010px}
.sinner-table .sinner-status-cell{white-space:nowrap}
.sinner-badge{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:6px 8px;border:1px solid #353b36;background:#151916;color:#9ca39d;font:850 8px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.sinner-badge-watch{border-color:rgba(198,164,89,.42);background:rgba(198,164,89,.07);color:#d7bc76}
.sinner-badge-high{border-color:rgba(198,132,85,.5);background:rgba(198,132,85,.08);color:#e1a06f}
.sinner-badge-critical{border-color:rgba(196,95,80,.58);background:rgba(196,95,80,.1);color:#e88c7d}
.sinner-row.sinner-critical td:first-child{box-shadow:inset 3px 0 0 #c45f50}.sinner-row.sinner-high td:first-child{box-shadow:inset 3px 0 0 #c68455}.sinner-row.sinner-watch td:first-child{box-shadow:inset 3px 0 0 #c6a459}

@media(max-width:900px){.sinner-thresholds{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){
  .sinner-thresholds{grid-template-columns:1fr;margin-left:0;margin-right:0}
  .sinner-threshold{min-height:72px;padding:12px 14px}
  .sinner-table{min-width:0!important}
  .sinner-table tr{grid-template-columns:42px minmax(0,1fr) 104px!important;grid-template-areas:"rank player risk" "rank alliance pct" "rank start end" "rank delta delta"!important;min-height:128px!important}
  .sinner-table td:nth-child(1){grid-area:rank!important}
  .sinner-table td:nth-child(2){grid-area:player!important}
  .sinner-table td:nth-child(3){grid-area:alliance!important}
  .sinner-table td:nth-child(4){grid-area:start!important}
  .sinner-table td:nth-child(5){grid-area:end!important}
  .sinner-table td:nth-child(6){grid-area:delta!important;padding:0 9px 9px!important;justify-content:flex-end!important}
  .sinner-table td:nth-child(7){grid-area:pct!important}
  .sinner-table td:nth-child(8){grid-area:risk!important;display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;padding:11px 8px 2px!important}
  .sinner-table .sinner-badge{min-width:0;padding:5px 6px;font-size:7px}
}
.kvk-admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.sinner-admin-link{border-color:rgba(196,95,80,.36)!important;color:#d89a8e!important}
@media(max-width:700px){.kvk-admin-actions{display:grid;grid-template-columns:1fr;width:100%}.kvk-admin-actions .btn{width:100%}}


/* Imported calculator layout rules (adapted from the former ISO toolkit). */
/* ──────────────────────────────────────────────────────────────────────────
   Bear Formation Optimizer
   ────────────────────────────────────────────────────────────────────────── */
.trap-tool-link{ display:flex; justify-content:flex-start; margin:14px 0 2px; }

.bo-hero{
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:24px;
  align-items:end; margin:18px 0 24px;
}
.bo-hero .page-title{ margin:9px 0 8px; }
.bo-hero .page-sub{ max-width:760px; margin:0; }
.bo-model-note{
  min-height:94px; display:flex; align-items:center; gap:15px; padding:18px;
  border:1px solid rgba(110,231,245,.22); background:linear-gradient(135deg,rgba(9,25,31,.92),rgba(8,13,18,.96));
  box-shadow:inset 0 0 34px rgba(70,208,225,.035);
}
.bo-model-note > i{ flex:none; font-size:1.55rem; color:var(--frost); }
.bo-model-note div{ min-width:0; display:grid; gap:4px; }
.bo-model-note b{ font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.09em; font-size:.92rem; }
.bo-model-note span{ color:var(--ink-soft); font-size:.72rem; line-height:1.5; }

.bear-optimizer{ display:grid; gap:18px; }
.bo-settings-panel,.bo-roster-panel,.bo-result-panel,.bo-role-result{ margin:0; }
.bo-section-head{ margin-top:0; }
.bo-settings-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bo-settings-grid .field{ min-width:0; margin:0; }
.bo-settings-grid .field > span{
  display:block; margin:0 0 7px; font-family:'Barlow Condensed',sans-serif; color:var(--ink-soft);
  font-size:.88rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase;
}
.bo-settings-grid input,.bo-settings-grid select{ width:100%; }
.bo-toggle-row{
  display:flex; align-items:flex-start; gap:11px; margin-top:16px; padding:13px 14px;
  border:1px solid var(--glass-line); background:rgba(255,255,255,.018); cursor:pointer;
}
.bo-toggle-row input{ width:18px; height:18px; margin:2px 0 0; accent-color:var(--ember); flex:none; }
.bo-toggle-row span{ display:grid; gap:3px; }
.bo-toggle-row b{ font-size:.78rem; color:var(--ink); }
.bo-toggle-row small{ color:var(--ink-faint); font-size:.66rem; line-height:1.45; }
.bo-intro{ margin:0 0 15px; max-width:900px; }

.bo-filter-row{ display:flex; flex-wrap:wrap; gap:7px; margin:0 0 15px; }
.bo-filter{
  min-height:34px; padding:7px 12px; border:1px solid var(--glass-line); background:#090e13; color:var(--ink-faint);
  font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.05em; cursor:pointer; transition:.18s ease;
}
.bo-filter:hover,.bo-filter.active{ color:var(--ink); border-color:rgba(255,112,58,.55); background:rgba(255,92,41,.09); }

.bo-hero-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.bo-hero-card{
  position:relative; min-width:0; border:1px solid var(--glass-line); background:linear-gradient(150deg,rgba(13,20,27,.98),rgba(7,11,15,.98));
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; overflow:hidden;
}
.bo-hero-card[hidden]{ display:none!important; }
.bo-hero-card:hover{ border-color:rgba(166,190,205,.36); transform:translateY(-1px); }
.bo-hero-card.selected{ border-color:rgba(255,118,58,.62); box-shadow:inset 0 0 0 1px rgba(255,95,45,.09),0 12px 32px rgba(0,0,0,.22); }
.bo-hero-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--bo-troop-color,var(--steel)); opacity:.78; }
.bo-hero-select{
  width:100%; min-height:90px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center;
  padding:13px 12px 12px 15px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer;
}
.bo-hero-emblem{
  width:42px; height:42px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--bo-troop-color) 54%,transparent);
  background:color-mix(in srgb,var(--bo-troop-color) 11%,#080c10); color:var(--bo-troop-color); font-family:'Cinzel',serif; font-size:.77rem; font-weight:800;
}
.bo-hero-main{ min-width:0; display:grid; gap:4px; }
.bo-hero-main b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:'Barlow Condensed',sans-serif; font-size:1.02rem; letter-spacing:.035em; }
.bo-hero-main span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.54rem; text-transform:uppercase; letter-spacing:.06em; }
.bo-hero-check{ width:25px; height:25px; display:grid; place-items:center; border:1px solid var(--glass-line); color:transparent; font-size:.9rem; }
.bo-hero-card.selected .bo-hero-check{ border-color:var(--ember); color:var(--ember-hot); background:rgba(255,89,35,.1); }
.bo-hero-controls{ display:none; grid-template-columns:minmax(0,1fr) 92px; gap:10px; padding:0 12px 13px 15px; border-top:1px solid rgba(166,190,205,.09); }
.bo-hero-card.selected .bo-hero-controls{ display:grid; padding-top:11px; }
.bo-hero-controls.no-skill{ grid-template-columns:1fr; }
.bo-control{ min-width:0; display:grid; gap:6px; }
.bo-control label{ display:flex; justify-content:space-between; gap:8px; color:var(--ink-faint); font-size:.56rem; font-family:'JetBrains Mono',monospace; text-transform:uppercase; }
.bo-control output{ color:var(--ink); }
.bo-control input[type=range]{ width:100%; accent-color:var(--ember); }
.bo-control select{ width:100%; min-height:34px; padding:6px 8px; font-size:.72rem; }
.bo-joiner-mark{ position:absolute; right:8px; top:7px; color:var(--frost); font-size:.72rem; opacity:.8; }

.bo-roster-actions{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; margin-top:16px; }
.bo-save-status{ margin-right:auto; color:var(--ink-faint); font-size:.58rem; }

.bo-results{ min-width:0; }
.bo-empty-result{ display:flex; align-items:center; gap:15px; min-height:108px; }
.bo-empty-result[hidden]{ display:none!important; }
#bo-result-content[hidden]{ display:none!important; }
.bo-empty-result > i{ font-size:2rem; color:var(--steel); }
.bo-empty-result div{ display:grid; gap:5px; }
.bo-empty-result b{ font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; letter-spacing:.04em; text-transform:uppercase; }
.bo-empty-result span{ color:var(--ink-soft); font-size:.74rem; }
.bo-role-result{ display:flex; align-items:center; gap:16px; margin-bottom:14px; border-color:rgba(110,231,245,.22); }
.bo-role-icon{ width:48px; height:48px; display:grid; place-items:center; flex:none; border:1px solid rgba(110,231,245,.25); color:var(--frost); font-size:1.35rem; }
.bo-role-copy{ display:grid; gap:4px; }
.bo-role-copy b{ font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; text-transform:uppercase; letter-spacing:.06em; }
.bo-role-copy span{ color:var(--ink-soft); font-size:.73rem; line-height:1.45; }
.bo-result-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.bo-result-heading{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.bo-result-heading > i{ width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--glass-line); color:var(--ember-hot); font-size:1.1rem; }
.bo-result-heading div{ display:grid; gap:2px; }
.bo-result-heading span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.53rem; letter-spacing:.1em; text-transform:uppercase; }
.bo-result-heading h3{ margin:0; font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; text-transform:uppercase; letter-spacing:.055em; }

.bo-host-result{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.bo-host-card{ min-width:0; padding:12px; border:1px solid var(--glass-line); background:#080d12; }
.bo-host-card .bo-type{ color:var(--bo-troop-color); font-family:'JetBrains Mono',monospace; font-size:.52rem; letter-spacing:.07em; text-transform:uppercase; }
.bo-host-card b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:6px 0 3px; font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; }
.bo-host-card small{ color:var(--ink-faint); font-size:.62rem; }
.bo-host-card.missing{ opacity:.58; border-style:dashed; }
.bo-host-note{ grid-column:1/-1; display:flex; align-items:flex-start; gap:7px; margin:2px 0 0; color:var(--ink-faint); font-size:.66rem; line-height:1.45; }
.bo-host-note i{ flex:none; margin-top:1px; color:var(--frost); }

.bo-joiner-result{ display:grid; gap:8px; }
.bo-join-march{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:11px; padding:11px; border:1px solid var(--glass-line); background:#080d12; }
.bo-join-index{ width:48px; min-height:48px; display:grid; place-items:center; border:1px solid rgba(255,112,58,.32); color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.68rem; }
.bo-join-copy{ min-width:0; display:grid; gap:5px; }
.bo-join-title{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.bo-join-title b{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; }
.bo-tier{ padding:2px 5px; border:1px solid rgba(110,231,245,.28); color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.48rem; }
.bo-join-meta{ color:var(--ink-faint); font-size:.62rem; line-height:1.45; }
.bo-join-meta strong{ color:var(--ink-soft); font-weight:600; }
.bo-join-warning{ color:#e4b477; font-size:.58rem; line-height:1.4; }

.bo-troop-panel{ margin-top:14px; }
.bo-troop-result{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bo-formation-card{ padding:13px; border:1px solid var(--glass-line); background:#080d12; }
.bo-formation-card.recommended{ border-color:rgba(255,112,58,.54); box-shadow:inset 0 0 24px rgba(255,87,35,.035); }
.bo-formation-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.bo-formation-head b{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; text-transform:uppercase; letter-spacing:.055em; }
.bo-formation-head span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.5rem; text-transform:uppercase; }
.bo-formation-bars{ display:flex; height:12px; overflow:hidden; border:1px solid rgba(255,255,255,.05); background:#05080b; }
.bo-formation-bars i{ display:block; height:100%; }
.bo-formation-bars .infantry{ background:#ef7e50; }
.bo-formation-bars .cavalry{ background:#d9af54; }
.bo-formation-bars .archer{ background:#68cdd9; }
.bo-troop-counts{ display:grid; gap:7px; margin-top:12px; }
.bo-troop-line{ display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; align-items:center; font-size:.66rem; }
.bo-troop-line span:first-child{ color:var(--ink-soft); }
.bo-troop-line b{ font-family:'JetBrains Mono',monospace; font-size:.65rem; }
.bo-troop-line small{ min-width:40px; text-align:right; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.bo-preview-note{ display:flex; gap:9px; align-items:flex-start; margin:13px 0 0; color:var(--ink-faint); font-size:.64rem; line-height:1.5; }
.bo-preview-note i{ color:#e4b477; font-size:.95rem; flex:none; margin-top:1px; }
.bo-copy-row{ display:flex; justify-content:flex-end; margin-top:12px; }

@media (max-width:1080px){
  .bo-settings-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bo-hero-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bo-result-grid{ grid-template-columns:1fr; }
}

@media (max-width:759px){
  .trap-tool-link .btn{ width:100%; justify-content:center; }
  .bo-hero{ grid-template-columns:1fr; gap:13px; margin-top:14px; }
  .bo-hero .page-title{ font-size:2.1rem; line-height:.95; }
  .bo-model-note{ min-height:0; padding:14px; }
  .bo-settings-panel,.bo-roster-panel,.bo-result-panel,.bo-role-result{ padding:18px; }
  .bo-settings-grid{ grid-template-columns:1fr; gap:10px; }
  .bo-filter-row{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .bo-filter-row::-webkit-scrollbar{ display:none; }
  .bo-filter{ flex:none; }
  .bo-hero-grid{ grid-template-columns:1fr 1fr; gap:8px; }
  .bo-hero-select{ grid-template-columns:36px minmax(0,1fr) 22px; min-height:82px; padding:11px 9px 10px 12px; gap:8px; }
  .bo-hero-emblem{ width:36px; height:36px; font-size:.68rem; }
  .bo-hero-main b{ font-size:.94rem; }
  .bo-hero-main span{ font-size:.47rem; }
  .bo-hero-controls,.bo-hero-card.selected .bo-hero-controls{ grid-template-columns:1fr; gap:8px; padding-left:12px; padding-right:9px; }
  .bo-roster-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .bo-save-status{ grid-column:1/-1; margin:0; }
  .bo-roster-actions .btn{ width:100%; justify-content:center; }
  .bo-role-result{ align-items:flex-start; }
  .bo-role-icon{ width:42px; height:42px; }
  .bo-host-result{ grid-template-columns:1fr; }
  .bo-join-march{ grid-template-columns:40px minmax(0,1fr); }
  .bo-join-index{ width:40px; min-height:40px; }
  .bo-troop-result{ grid-template-columns:1fr; }
  .bo-copy-row .btn{ width:100%; justify-content:center; }
}

@media (max-width:430px){
  .bo-hero-grid{ grid-template-columns:1fr; }
}

/* Bear Optimizer v2 additions */
.bo-model-note small{ color:var(--ink-faint); font-size:.5rem; letter-spacing:.04em; }
.bo-model-rules{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:14px; }
.bo-model-rules > div{ display:flex; align-items:flex-start; gap:10px; min-width:0; padding:11px 12px; border:1px solid var(--glass-line); background:#080d12; }
.bo-model-rules > div > i{ flex:none; margin-top:1px; color:var(--frost); font-size:1rem; }
.bo-model-rules span{ min-width:0; display:grid; gap:3px; }
.bo-model-rules b{ font-family:'Barlow Condensed',sans-serif; font-size:.86rem; text-transform:uppercase; letter-spacing:.045em; }
.bo-model-rules small{ color:var(--ink-faint); font-size:.61rem; line-height:1.45; }
.bo-skill-control small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-faint); font-size:.54rem; }
.bo-role-result{ flex-wrap:wrap; }
.bo-quality-badge{ margin-left:auto; padding:7px 9px; border:1px solid rgba(110,231,245,.28); color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.54rem; text-transform:uppercase; letter-spacing:.045em; }
.bo-host-card{ display:flex; flex-direction:column; }
.bo-host-score{ display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:10px; padding-top:9px; border-top:1px solid rgba(166,190,205,.12); }
.bo-host-score span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; }
.bo-host-score strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.82rem; }
.bo-host-card p{ margin:8px 0 0; color:var(--ink-faint); font-size:.58rem; line-height:1.4; }
.bo-host-card p span{ color:var(--ink-soft); }
.bo-troop-result{ grid-template-columns:repeat(2,minmax(0,1fr)); }

@media (max-width:1080px){
  .bo-model-rules{ grid-template-columns:1fr; }
}

@media (max-width:759px){
  .bo-model-rules{ grid-template-columns:1fr; }
  .bo-quality-badge{ width:100%; margin-left:0; text-align:center; }
  .bo-host-card b{ white-space:normal; }
  .bo-troop-result{ grid-template-columns:1fr; }
}

/* Bear Optimizer v3: sorted roster, detailed development and trio scoring */
.bo-roster-toolbar{
  display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto; gap:10px; align-items:end; margin:0 0 12px;
}
.bo-search-box,.bo-sort-box{ display:grid; gap:6px; min-width:0; }
.bo-search-box > span,.bo-sort-box > span{
  color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.54rem; letter-spacing:.07em; text-transform:uppercase;
}
.bo-search-box input,.bo-sort-box select{ width:100%; min-height:42px; }
.bo-selected-count{ min-height:42px; display:flex; align-items:center; justify-content:center; white-space:nowrap; }

.bo-hero-controls{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start;
}
.bo-star-field,.bo-skill-field,.bo-widget-field{ display:grid; gap:6px; min-width:0; }
.bo-star-field > span,.bo-skill-field > span,.bo-widget-field > span{
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.53rem; letter-spacing:.025em; text-transform:uppercase;
}
.bo-star-field select,.bo-skill-field select,.bo-widget-field select{ width:100%; min-height:36px; padding:7px 8px; font-size:.69rem; }
.bo-advanced{ grid-column:1/-1; border-top:1px solid rgba(166,190,205,.10); padding-top:7px; }
.bo-advanced summary{
  color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.53rem; cursor:pointer; user-select:none;
}
.bo-advanced-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:9px; }
.bo-widget-field{ grid-column:1/-1; }
.bo-widget-field small{ font-size:.54rem; line-height:1.4; }
.bo-widget-field small.active{ color:#87d9c6; }
.bo-widget-field small.inactive{ color:var(--ink-faint); }
.bo-first-skill-note{
  grid-column:1/-1; color:var(--ink-faint); font-size:.54rem; line-height:1.45; border-top:1px solid rgba(166,190,205,.08); padding-top:8px;
}
.bo-first-skill-note b{ color:var(--ink-soft); }

.bo-role-copy small{ color:var(--ink-faint); font-size:.62rem; line-height:1.45; margin-top:2px; }
.bo-contribution-rank{
  display:block; margin:-2px 0 6px; color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.48rem; letter-spacing:.05em; text-transform:uppercase;
}
.bo-host-card{ position:relative; }
.bo-team-summary,.bo-alternatives{ grid-column:1/-1; border:1px solid var(--glass-line); background:rgba(8,13,18,.72); padding:11px 12px; }
.bo-team-summary{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; }
.bo-team-summary > div{ display:grid; gap:2px; padding-right:14px; border-right:1px solid var(--glass-line); }
.bo-team-summary span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.49rem; text-transform:uppercase; }
.bo-team-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:1.05rem; }
.bo-team-summary p{ margin:0; color:var(--ink-soft); font-size:.62rem; line-height:1.45; }
.bo-alternatives > b{ display:block; margin-bottom:7px; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.bo-alternatives ol{ display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.bo-alternatives li{ display:flex; justify-content:space-between; gap:12px; color:var(--ink-soft); font-size:.61rem; }
.bo-alternatives li b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bo-alternatives li span{ flex:none; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.bo-host-missing{ grid-column:1/-1; padding:18px; border:1px dashed var(--glass-line); color:var(--ink-faint); font-size:.7rem; }
.bo-joiner-reminder{ display:flex; align-items:flex-start; gap:7px; margin:0 0 2px; color:var(--ink-faint); font-size:.59rem; line-height:1.45; }
.bo-joiner-reminder i{ flex:none; color:var(--frost); margin-top:1px; }
.bo-troop-result{ grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (max-width:1080px){
  .bo-roster-toolbar{ grid-template-columns:minmax(0,1fr) minmax(180px,.55fr); }
  .bo-selected-count{ grid-column:1/-1; justify-self:start; min-height:30px; }
  .bo-troop-result{ grid-template-columns:1fr; }
}

@media (max-width:759px){
  .bo-roster-toolbar{ grid-template-columns:1fr; }
  .bo-selected-count{ grid-column:auto; justify-self:stretch; }
  .bo-hero-controls,.bo-hero-card.selected .bo-hero-controls{ grid-template-columns:1fr; }
  .bo-advanced,.bo-first-skill-note{ grid-column:1; }
  .bo-advanced-grid{ grid-template-columns:1fr; }
  .bo-widget-field{ grid-column:1; }
  .bo-team-summary{ grid-template-columns:1fr; }
  .bo-team-summary > div{ border-right:0; border-bottom:1px solid var(--glass-line); padding:0 0 9px; }
  .bo-alternatives li{ align-items:flex-start; }
  .bo-alternatives li b{ white-space:normal; }
}

/* Bear Optimizer V4: explicit role and final deployment plan */
.bo-result-grid.single{ grid-template-columns:1fr; }
.bo-deployment-panel{ margin-top:14px; }
.bo-plan-control{
  display:grid; grid-template-columns:minmax(220px,340px) minmax(0,1fr); gap:16px; align-items:end;
  padding:13px; margin-bottom:12px; border:1px solid var(--glass-line); background:#080d12;
}
.bo-plan-control .field{ margin:0; }
.bo-plan-mode-text{ margin:0 0 4px; color:var(--ink-soft); font-size:.69rem; line-height:1.5; }
.bo-deployment-summary{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px;
}
.bo-deployment-summary > div{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px;
  border:1px solid var(--glass-line); background:#080d12;
}
.bo-deployment-summary span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.52rem; text-transform:uppercase; letter-spacing:.06em; }
.bo-deployment-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.76rem; }
.bo-deployment-summary .is-warning{ border-color:rgba(228,180,119,.42); }
.bo-deployment-summary .is-warning strong{ color:#e4b477; }
.bo-deployment-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; }
.bo-deployment-card{
  min-width:0; display:flex; flex-direction:column; padding:14px; border:1px solid var(--glass-line); background:#080d12;
}
.bo-deployment-card:first-of-type{ border-color:rgba(255,112,58,.48); }
.bo-deployment-card.is-empty{ opacity:.62; border-style:dashed; }
.bo-deployment-card-head{ display:grid; gap:5px; margin-bottom:7px; }
.bo-deployment-card-head span{ color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.54rem; letter-spacing:.1em; }
.bo-deployment-card-head b{ font-family:'Barlow Condensed',sans-serif; font-size:1.08rem; line-height:1.15; text-transform:uppercase; letter-spacing:.04em; }
.bo-deployment-meta{ min-height:34px; margin-bottom:10px; color:var(--ink-faint); font-size:.59rem; line-height:1.45; }
.bo-deployment-total{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:11px; border-top:1px solid var(--glass-line); }
.bo-deployment-total span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.5rem; text-transform:uppercase; }
.bo-deployment-total strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.72rem; }
.bo-deployment-warning{ display:flex; align-items:flex-start; gap:6px; margin:9px 0 0; color:#e4b477; font-size:.58rem; line-height:1.4; }
.bo-deployment-warning i{ flex:none; margin-top:1px; }
.bo-deployment-missing{
  grid-column:1/-1; display:flex; align-items:flex-start; gap:9px; padding:14px; border:1px dashed rgba(228,180,119,.42); color:#e4b477; font-size:.68rem; line-height:1.45;
}
.bo-deployment-missing i{ flex:none; margin-top:1px; }

@media (max-width:759px){
  .bo-plan-control{ grid-template-columns:1fr; gap:10px; }
  .bo-deployment-summary{ grid-template-columns:1fr; }
  .bo-deployment-grid{ grid-template-columns:1fr; }
}

/* ── KVK stockpile & points planner ─────────────────────────────────────── */
.kvkp-hero{ margin:28px 0 20px; }
.kvkp-hero .page-title{ max-width:900px; }
.kvkp-hero .page-sub{ max-width:850px; }
.kvk-stockpile-planner{ display:grid; gap:18px; }
.kvkp-section-head{ margin-bottom:14px; }
.kvkp-settings-panel,.kvkp-stock-panel{ padding:22px; }
.kvkp-settings-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.kvkp-settings-grid .field,.kvkp-current-grid .field{ margin:0; }
.kvkp-settings-grid small,.kvkp-current-grid small{ color:var(--ink-faint); font-size:.58rem; line-height:1.4; }
.kvkp-current-title{
  display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:8px;
  margin:18px 0 10px; padding-top:16px; border-top:1px solid var(--glass-line);
}
.kvkp-current-title i{ color:var(--frost); font-size:1rem; }
.kvkp-current-title b{ font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-current-title span{ color:var(--ink-faint); font-size:.6rem; }
.kvkp-current-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.kvkp-intro{ margin:0 0 15px; }
.kvkp-groups{ display:grid; gap:14px; }
.kvkp-group{ border:1px solid var(--glass-line); background:rgba(7,12,17,.72); padding:16px; }
.kvkp-group > header{ display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.kvkp-group > header i{ color:var(--ember-hot); font-size:1.05rem; }
.kvkp-group > header h3{ margin:0; font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-input-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.kvkp-item-field{
  min-width:0; display:grid; gap:7px; align-content:start; padding:11px;
  border:1px solid rgba(166,190,205,.12); background:#080d12;
}
.kvkp-item-field > span{ display:flex; align-items:center; gap:7px; min-height:30px; color:var(--ink-soft); font-size:.67rem; font-weight:700; line-height:1.25; }
.kvkp-item-field > span i{ flex:none; color:var(--frost); font-size:.92rem; }
.kvkp-input-wrap{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; }
.kvkp-input-wrap input,.kvkp-input-wrap select{ width:100%; min-width:0; border-radius:2px 0 0 2px; }
.kvkp-input-wrap select{ grid-column:1/-1; border-radius:2px; }
.kvkp-input-wrap em{
  display:flex; align-items:center; padding:0 9px; border:1px solid var(--glass-line); border-left:0;
  color:var(--ink-faint); background:rgba(255,255,255,.025); font-family:'JetBrains Mono',monospace;
  font-size:.5rem; font-style:normal; text-transform:uppercase; white-space:nowrap;
}
.kvkp-item-field small{ color:var(--ink-faint); font-size:.52rem; line-height:1.42; }
.kvkp-item-field .kvkp-extra-hint{ color:#d4aa78; }

.kvkp-settings-grid-simple{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.kvkp-advanced{ margin-top:14px; border:1px solid var(--glass-line); background:rgba(255,255,255,.018); }
.kvkp-advanced > summary,.kvkp-reference > summary{
  display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; padding:12px 14px;
  color:var(--ink-soft); font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
}
.kvkp-advanced > summary::-webkit-details-marker,.kvkp-reference > summary::-webkit-details-marker{ display:none; }
.kvkp-advanced > summary i,.kvkp-reference > summary i{ color:var(--frost); }
.kvkp-advanced-body{ padding:0 14px 14px; }
.kvkp-advanced-body > .field{ max-width:420px; }
.kvkp-helper-card{ margin-top:12px; padding:13px; border:1px solid rgba(166,190,205,.14); background:#080d12; }
.kvkp-helper-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:11px; }
.kvkp-helper-head > div{ display:flex; align-items:flex-start; gap:9px; min-width:0; }
.kvkp-helper-head > div > i{ flex:none; margin-top:2px; color:var(--frost); font-size:1rem; }
.kvkp-helper-head h4{ margin:0 0 2px; font-family:'Barlow Condensed',sans-serif; font-size:1rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-helper-head p{ margin:0; max-width:760px; color:var(--ink-faint); font-size:.58rem; line-height:1.45; }
.kvkp-helper-rows{ display:grid; gap:8px; }
.kvkp-helper-row{ display:grid; grid-template-columns:1fr 1fr .72fr auto; gap:8px; align-items:end; }
.kvkp-helper-row label{ display:grid; gap:4px; min-width:0; }
.kvkp-helper-row label > span{ color:var(--ink-faint); font-size:.52rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-helper-row select,.kvkp-helper-row input{ width:100%; min-width:0; }
.kvkp-row-remove{ width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--glass-line); background:transparent; color:var(--ink-faint); cursor:pointer; }
.kvkp-row-remove:hover:not(:disabled){ color:#ff9b82; border-color:rgba(255,107,77,.35); }
.kvkp-row-remove:disabled{ opacity:.25; cursor:default; }
.kvkp-helper-preview{ display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:10px; padding-top:10px; border-top:1px solid var(--glass-line); color:var(--ink-faint); font-size:.58rem; }
.kvkp-helper-preview b,.kvkp-helper-preview strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; }
.kvkp-helper-preview .is-warning{ color:#e4b477; }
.kvkp-source-note{ display:block; margin-top:8px; color:var(--ink-faint); font-size:.51rem; line-height:1.45; }
.kvkp-reference{ margin-top:10px; border:1px solid rgba(166,190,205,.12); background:rgba(255,255,255,.015); }
.kvkp-reference-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:0 12px 10px; }
.kvkp-reference-grid > div{ display:flex; justify-content:space-between; gap:8px; padding:7px 8px; border:1px solid rgba(166,190,205,.08); background:#080d12; }
.kvkp-reference-grid span{ color:var(--ink-soft); font-size:.55rem; }
.kvkp-reference-grid strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.54rem; }
.kvkp-reference p{ margin:0; padding:0 12px 12px; color:var(--ink-faint); font-size:.53rem; line-height:1.45; }
.kvkp-master-card{ border-color:rgba(103,232,249,.18); }
.kvkp-master-speed-field{ margin-bottom:12px; }
.kvkp-master-time-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.kvkp-master-time-grid label{ display:grid; gap:4px; min-width:0; }
.kvkp-master-time-grid label small{ color:var(--ink-faint); font-size:.48rem; text-transform:uppercase; letter-spacing:.06em; }
.kvkp-master-time-grid input{ width:100%; min-width:0; }
.kvkp-master-plan-head{ display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:9px; margin:12px 0; padding-top:12px; border-top:1px solid var(--glass-line); }
.kvkp-master-plan-head .field{ margin:0; }
.kvkp-master-skill-rows{ display:grid; gap:7px; }
.kvkp-master-skill-row{ display:grid; grid-template-columns:minmax(190px,1.4fr) 1fr 1fr; gap:8px; align-items:end; padding:9px; border:1px solid rgba(166,190,205,.1); background:rgba(255,255,255,.014); }
.kvkp-master-skill-row label{ display:grid; gap:4px; min-width:0; }
.kvkp-master-skill-row label > span,.kvkp-master-skill-name > span{ color:var(--ink-faint); font-size:.48rem; text-transform:uppercase; letter-spacing:.06em; }
.kvkp-master-skill-row select{ width:100%; min-width:0; }
.kvkp-master-skill-name{ min-width:0; display:grid; gap:2px; }
.kvkp-master-skill-name b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); font-family:'Barlow Condensed',sans-serif; font-size:.83rem; }
.kvkp-master-skill-name small{ color:#92a5af; font-size:.49rem; }
.kvkp-master-preview{ margin-top:10px; padding-top:10px; border-top:1px solid var(--glass-line); }
.kvkp-master-relationship-summary{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; padding:9px 10px; border:1px solid rgba(103,232,249,.14); background:rgba(103,232,249,.025); }
.kvkp-master-relationship-summary span{ color:var(--ink-faint); font-size:.49rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-master-relationship-summary strong{ display:flex; align-items:center; gap:6px; color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.58rem; font-weight:600; text-align:right; }
.kvkp-master-relationship-summary i{ color:var(--ember-hot); }
.kvkp-master-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.kvkp-master-stats > div{ display:grid; gap:3px; padding:9px; border:1px solid rgba(166,190,205,.1); background:#070c10; }
.kvkp-master-stats span{ color:var(--ink-faint); font-size:.49rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-master-stats strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.75rem; }
.kvkp-master-stats small{ color:#b38d69; font-family:'JetBrains Mono',monospace; font-size:.48rem; }
.kvkp-master-stats > .is-missing{ border-color:rgba(255,112,58,.38); background:rgba(255,112,58,.045); }
.kvkp-master-stats > .is-missing strong{ color:#f0ad77; }
.kvkp-master-stats > .is-covered{ border-color:rgba(110,231,245,.28); background:rgba(110,231,245,.035); }
.kvkp-master-stats > .is-covered strong{ display:flex; align-items:center; gap:5px; color:var(--frost); }
.kvkp-master-empty{ margin:0; color:var(--ink-faint); font-size:.58rem; }
.kvkp-master-warning{ display:flex; align-items:center; gap:6px; margin-bottom:8px; padding:7px 9px; border:1px solid rgba(228,180,119,.18); color:#e4b477; font-size:.55rem; }
.kvkp-master-actions{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:10px; }
.kvkp-master-actions small{ max-width:700px; color:var(--ink-faint); font-size:.51rem; line-height:1.45; }

.kvkp-troop-helper{ margin-top:0; }
.kvkp-troop-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.kvkp-troop-grid .field,.kvkp-gather-grid .field{ margin:0; }
.kvkp-gather-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }

.kvkp-actions{ display:flex; align-items:center; justify-content:flex-end; gap:9px; margin-top:16px; }
.kvkp-save-status{ margin-right:auto; color:var(--ink-faint); font-size:.54rem; transition:color .2s; }
.kvkp-save-status.is-saved{ color:#86d8c5; }
.kvkp-results{ display:grid; gap:14px; }
.kvkp-empty{ display:flex; align-items:center; gap:12px; padding:20px; }
.kvkp-empty[hidden],#kvkp-result-content[hidden]{ display:none!important; }
.kvkp-empty > i{ color:var(--frost); font-size:1.5rem; }
.kvkp-empty div{ display:grid; gap:3px; }
.kvkp-empty b{ font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; text-transform:uppercase; }
.kvkp-empty span{ color:var(--ink-faint); font-size:.65rem; }
#kvkp-result-content{ display:grid; gap:14px; }
.kvkp-summary-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.kvkp-summary-card{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 9px; align-items:center; padding:15px; }
.kvkp-summary-card > i{ grid-row:1/3; color:var(--ember-hot); font-size:1.25rem; }
.kvkp-summary-card span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.49rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-summary-card strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.9rem; }
.kvkp-recommendation{ display:flex; align-items:flex-start; gap:10px; padding:16px; border-color:rgba(79,205,173,.32); }
.kvkp-recommendation.is-warning{ border-color:rgba(228,180,119,.42); }
.kvkp-recommendation > i{ flex:none; color:#75d7bd; font-size:1.25rem; margin-top:1px; }
.kvkp-recommendation.is-warning > i{ color:#e4b477; }
.kvkp-recommendation div{ display:grid; gap:3px; }
.kvkp-recommendation b{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-recommendation span{ color:var(--ink-faint); font-size:.64rem; line-height:1.45; }
.kvkp-day-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; align-items:stretch; }
.kvkp-day-card{ min-width:0; display:flex; flex-direction:column; padding:14px; }
.kvkp-day-card.is-complete{ border-color:rgba(79,205,173,.30); }
.kvkp-day-card.is-incomplete{ border-color:rgba(228,180,119,.26); }
.kvkp-day-card > header{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; }
.kvkp-day-card > header div{ min-width:0; }
.kvkp-day-card > header span{ color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.49rem; text-transform:uppercase; letter-spacing:.09em; }
.kvkp-day-card > header h3{ margin:3px 0 0; font-family:'Barlow Condensed',sans-serif; font-size:1rem; line-height:1.05; text-transform:uppercase; }
.kvkp-day-card > header strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.67rem; white-space:nowrap; }
.kvkp-progress{ height:4px; margin:12px 0 8px; overflow:hidden; background:rgba(255,255,255,.06); }
.kvkp-progress i{ display:block; height:100%; background:linear-gradient(90deg,var(--ember),var(--frost)); }
.kvkp-day-status{ display:flex; align-items:center; gap:5px; min-height:28px; font-size:.54rem; line-height:1.35; }
.kvkp-day-status.ok{ color:#75d7bd; }
.kvkp-day-status.missing{ color:#e4b477; }
.kvkp-current-note{ margin:2px 0 7px; color:var(--ink-faint); font-size:.5rem; }
.kvkp-day-card ul{ display:grid; gap:6px; margin:4px 0 12px; padding:0; list-style:none; }
.kvkp-day-card li{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; padding:7px 0; border-bottom:1px solid rgba(166,190,205,.08); }
.kvkp-day-card li:last-child{ border-bottom:0; }
.kvkp-day-card li > div{ min-width:0; display:grid; gap:2px; }
.kvkp-day-card li b{ overflow:hidden; text-overflow:ellipsis; color:var(--ink-soft); font-size:.56rem; line-height:1.25; }
.kvkp-day-card li small{ color:var(--ink-faint); font-size:.48rem; }
.kvkp-day-card li strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.51rem; }
.kvkp-day-card li.is-empty{ display:block; color:var(--ink-faint); font-size:.55rem; line-height:1.45; border:0; }
.kvkp-day-card > footer{ display:flex; justify-content:space-between; gap:8px; margin-top:auto; padding-top:10px; border-top:1px solid var(--glass-line); }
.kvkp-day-card > footer span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; }
.kvkp-day-card > footer strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.63rem; }
.kvkp-reserve-panel{ padding:18px; }
.kvkp-result-heading{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.kvkp-result-heading > i{ color:var(--ember-hot); font-size:1.25rem; }
.kvkp-result-heading div{ display:grid; gap:1px; }
.kvkp-result-heading span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; letter-spacing:.08em; }
.kvkp-result-heading h3{ margin:0; font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; text-transform:uppercase; }
.kvkp-reserve-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.kvkp-reserve-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; padding:10px; border:1px solid var(--glass-line); background:#080d12; }
.kvkp-reserve-row div{ min-width:0; display:grid; gap:2px; }
.kvkp-reserve-row b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); font-size:.61rem; }
.kvkp-reserve-row small{ color:var(--ink-faint); font-size:.51rem; }
.kvkp-reserve-row strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.58rem; }
.kvkp-reserve-empty{ margin:0; color:var(--ink-faint); font-size:.65rem; }
.kvkp-result-actions{ display:flex; justify-content:flex-end; }

@media (max-width:1180px){
  .kvkp-day-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kvkp-input-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-current-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kvkp-troop-grid,.kvkp-gather-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-reference-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-master-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .kvkp-settings-grid,.kvkp-summary-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-day-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-reserve-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:759px){
  .kvkp-hero{ margin-top:18px; }
  .kvkp-settings-panel,.kvkp-stock-panel{ padding:16px; }
  .kvkp-settings-grid,.kvkp-current-grid,.kvkp-input-grid,.kvkp-summary-grid,.kvkp-day-grid,.kvkp-reserve-grid,.kvkp-troop-grid,.kvkp-gather-grid,.kvkp-reference-grid{ grid-template-columns:1fr; }
  .kvkp-helper-row{ grid-template-columns:1fr 1fr; }
  .kvkp-helper-row .kvkp-row-remove{ width:100%; }
  .kvkp-helper-head{ display:grid; }
  .kvkp-helper-head .btn{ width:100%; justify-content:center; }
  .kvkp-master-time-grid,.kvkp-master-plan-head,.kvkp-master-skill-row,.kvkp-master-stats{ grid-template-columns:1fr; }
  .kvkp-master-relationship-summary{ display:grid; }
  .kvkp-master-relationship-summary strong{ text-align:left; flex-wrap:wrap; }
  .kvkp-master-actions{ display:grid; }
  .kvkp-master-actions .btn{ width:100%; justify-content:center; }
  .kvkp-current-title{ grid-template-columns:auto minmax(0,1fr); }
  .kvkp-current-title span{ grid-column:1/-1; }
  .kvkp-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .kvkp-save-status{ grid-column:1/-1; margin:0; }
  .kvkp-actions .btn{ width:100%; justify-content:center; }
  .kvkp-day-card > header h3{ font-size:1.12rem; }
}

/* ── Alliance Championship Planner ──────────────────────────────────────── */
.ac-hero{ margin:28px 0 20px; }
.ac-hero .page-sub{ max-width:860px; }
.ac-planner{ display:grid; gap:18px; }
.ac-section-head{ margin-bottom:15px; }
.ac-control-panel,.ac-entry-panel{ padding:22px; }
.ac-settings-grid{ display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:12px; align-items:stretch; }
.ac-settings-grid .field{ margin:0; }
.ac-settings-grid small,.ac-import-box small{ color:var(--ink-faint); font-size:.57rem; line-height:1.45; }
.ac-import-box{ display:grid; grid-template-columns:1fr; align-content:start; gap:8px; padding:12px; border:1px solid var(--glass-line); background:#080d12; }
.ac-import-box > span{ color:var(--ink-soft); font-size:.65rem; font-weight:700; }
.ac-import-box .btn{ justify-self:start; }
.ac-roster-summary{ display:grid; grid-template-columns:1fr; gap:6px; padding:12px; border:1px solid var(--glass-line); background:#080d12; }
.ac-roster-summary > div{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:5px 0; border-bottom:1px solid rgba(166,190,205,.08); }
.ac-roster-summary > div:last-child{ border-bottom:0; }
.ac-roster-summary span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.5rem; text-transform:uppercase; letter-spacing:.05em; }
.ac-roster-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.66rem; }
.ac-entry-tabs{ display:inline-flex; gap:3px; margin-bottom:14px; padding:3px; border:1px solid var(--glass-line); background:#080d12; }
.ac-entry-tabs button{ border:0; padding:8px 13px; background:transparent; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.52rem; text-transform:uppercase; cursor:pointer; }
.ac-entry-tabs button.active{ background:rgba(255,106,48,.13); color:var(--ember-hot); }
.ac-entry-view[hidden]{ display:none!important; }
.ac-add-grid{ display:grid; grid-template-columns:minmax(220px,1.35fr) minmax(170px,.8fr) auto; gap:10px; align-items:end; }
.ac-add-grid .field{ margin:0; }
.ac-add-grid .btn{ min-height:43px; }
.ac-entry-view textarea{ width:100%; resize:vertical; min-height:145px; font-family:'JetBrains Mono',monospace; font-size:.68rem; line-height:1.55; }
.ac-entry-view[data-ac-view="bulk"] .btn{ margin-top:10px; }
.ac-feedback{ min-height:24px; padding:8px 0 0; color:var(--ink-faint); font-size:.62rem; }
.ac-feedback.error{ color:#ff9b83; }
.ac-feedback.success{ color:#79d6bd; }
.ac-roster-list{ display:grid; gap:7px; margin-top:8px; }
.ac-roster-empty{ display:flex; align-items:center; gap:10px; padding:18px; border:1px dashed rgba(166,190,205,.18); color:var(--ink-faint); font-size:.64rem; }
.ac-roster-empty i{ color:var(--frost); font-size:1.25rem; }
.ac-roster-row{ display:grid; grid-template-columns:34px minmax(190px,1.4fr) minmax(145px,.8fr) minmax(120px,.65fr) minmax(125px,.65fr) 36px; gap:8px; align-items:end; padding:9px; border:1px solid rgba(166,190,205,.13); background:#080d12; }
.ac-roster-index{ align-self:center; color:var(--ink-faint); font-size:.55rem; text-align:center; }
.ac-roster-row label{ min-width:0; display:grid; gap:5px; }
.ac-roster-row label > span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.45rem; text-transform:uppercase; letter-spacing:.05em; }
.ac-roster-row input,.ac-roster-row select{ min-width:0; width:100%; height:38px; }
.ac-row-remove{ display:grid; place-items:center; width:36px; height:38px; border:1px solid rgba(255,111,78,.23); background:rgba(255,74,44,.05); color:#ff8b73; cursor:pointer; }
.ac-row-remove:hover{ background:rgba(255,74,44,.12); }
.ac-actions{ display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }
.ac-results{ display:grid; gap:14px; }
.ac-empty{ display:flex; align-items:center; gap:12px; padding:20px; }
.ac-empty[hidden],#ac-result-content[hidden]{ display:none!important; }
.ac-empty > i{ color:var(--frost); font-size:1.55rem; }
.ac-empty div{ display:grid; gap:3px; }
.ac-empty b{ font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; text-transform:uppercase; }
.ac-empty span{ color:var(--ink-faint); font-size:.65rem; }
#ac-result-content{ display:grid; gap:13px; }
.ac-result-summary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ac-summary-card{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:3px 10px; padding:15px; }
.ac-summary-card > i{ grid-row:1/3; color:var(--ember-hot); font-size:1.25rem; }
.ac-summary-card span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; letter-spacing:.06em; }
.ac-summary-card strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.8rem; }
.ac-lanes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; align-items:start; }
.ac-lane-card{ min-width:0; padding:15px; }
.ac-lane-card.is-sacrifice{ border-color:rgba(228,180,119,.25); }
.ac-lane-card > header{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; padding-bottom:10px; border-bottom:1px solid var(--glass-line); }
.ac-lane-card > header span{ color:var(--ember-hot); font-size:.48rem; letter-spacing:.08em; text-transform:uppercase; }
.ac-lane-card > header h2{ margin:3px 0 0; font-family:'Barlow Condensed',sans-serif; font-size:1.35rem; text-transform:uppercase; }
.ac-lane-card > header strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.72rem; }
.ac-lane-stats{ display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:10px 0; }
.ac-lane-stats span{ display:grid; gap:3px; color:var(--ink-faint); font-size:.5rem; text-transform:uppercase; }
.ac-lane-stats b{ color:var(--ink-soft); font-family:'JetBrains Mono',monospace; font-size:.6rem; }
.ac-lane-warning{ display:flex; gap:7px; align-items:flex-start; margin-bottom:8px; padding:8px; border:1px solid rgba(255,137,87,.3); color:#e9aa82; font-size:.56rem; line-height:1.4; }
.ac-lane-players{ display:grid; gap:5px; min-height:76px; padding:4px; border:1px dashed transparent; transition:border-color .18s,background .18s; }
.ac-lane-players:empty{ border-color:rgba(166,190,205,.14); }
.ac-lane-player{ display:grid; grid-template-columns:25px minmax(0,1fr) auto 18px; gap:7px; align-items:center; padding:8px; border:1px solid rgba(166,190,205,.11); background:#080d12; cursor:grab; }
.ac-lane-player:active{ cursor:grabbing; }
.ac-lane-player.is-dragging{ opacity:.4; }
.ac-lane-player > span{ color:var(--ink-faint); font-size:.47rem; }
.ac-lane-player > div{ min-width:0; display:grid; gap:2px; }
.ac-lane-player b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); font-size:.62rem; }
.ac-lane-player small{ display:flex; align-items:center; gap:3px; color:#d4aa78; font-size:.46rem; }
.ac-lane-player > strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.52rem; white-space:nowrap; }
.ac-drag-handle{ color:var(--ink-faint); font-size:.9rem; }
.ac-lane-empty{ display:grid; place-items:center; min-height:70px; color:var(--ink-faint); }
.ac-result-actions{ display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.ac-result-actions #ac-save-status{ margin-right:auto; color:var(--ink-faint); font-size:.52rem; transition:color .2s; }
.ac-result-actions #ac-save-status.is-saved{ color:#75d7bd; }

@media (max-width:1100px){
  .ac-settings-grid{ grid-template-columns:1fr 1fr; }
  .ac-roster-summary{ grid-column:1/-1; grid-template-columns:repeat(3,1fr); }
  .ac-roster-row{ grid-template-columns:32px minmax(180px,1.4fr) minmax(140px,.8fr) minmax(120px,.7fr) minmax(120px,.7fr) 36px; overflow-x:auto; }
  .ac-lanes{ grid-template-columns:1fr; }
}
@media (max-width:759px){
  .ac-hero{ margin-top:18px; }
  .ac-control-panel,.ac-entry-panel{ padding:16px; }
  .ac-settings-grid,.ac-roster-summary,.ac-result-summary{ grid-template-columns:1fr; }
  .ac-add-grid{ grid-template-columns:1fr; }
  .ac-add-grid .btn{ width:100%; justify-content:center; }
  .ac-roster-row{ grid-template-columns:28px minmax(0,1fr) 36px; gap:7px; }
  .ac-roster-index{ grid-row:1/3; }
  .ac-roster-row label:nth-of-type(1){ grid-column:2; }
  .ac-roster-row label:nth-of-type(2){ grid-column:2; }
  .ac-roster-row label:nth-of-type(3){ grid-column:1/3; }
  .ac-roster-row label:nth-of-type(4){ grid-column:1/3; }
  .ac-row-remove{ grid-column:3; grid-row:1; }
  .ac-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .ac-actions .btn{ width:100%; justify-content:center; }
  .ac-lane-stats{ grid-template-columns:1fr; }
  .ac-result-actions{ display:grid; grid-template-columns:1fr; }
  .ac-result-actions #ac-save-status{ margin:0; }
  .ac-result-actions .btn{ width:100%; justify-content:center; }
}
.ac-lane-move{ grid-column:2/5; display:flex; justify-content:flex-end; gap:4px; padding-top:3px; }
.ac-lane-move button{ min-width:29px; height:24px; border:1px solid var(--glass-line); background:transparent; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.45rem; cursor:pointer; }
.ac-lane-move button:hover{ border-color:rgba(255,126,65,.38); color:var(--ember-hot); }
.ac-lane-move button:disabled{ border-color:rgba(79,205,173,.25); background:rgba(79,205,173,.07); color:#75d7bd; cursor:default; }


/* KVK Charm planner clarity: make the quantity meaning and material totals unmistakable. */
.kvkp-charm-count-hint{ display:flex; gap:8px; align-items:flex-start; margin:8px 0 2px; padding:10px 12px; border:1px solid rgba(110,231,245,.14); background:rgba(110,231,245,.035); color:var(--ink-soft); font-size:.72rem; line-height:1.45; }
.kvkp-charm-count-hint i{ color:var(--frost); font-size:1rem; flex:none; margin-top:1px; }
.kvkp-charm-materials{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
.kvkp-charm-materials span{ display:flex; justify-content:space-between; gap:10px; align-items:center; padding:8px 10px; border:1px solid var(--glass-line); background:rgba(255,255,255,.018); }
.kvkp-charm-materials small{ color:var(--ink-soft); font-size:.62rem; }
.kvkp-charm-materials b{ color:var(--frost); font-family:'JetBrains Mono',monospace; }
.kvkp-charm-score{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:8px; }
@media (max-width:759px){ .kvkp-charm-materials{ grid-template-columns:1fr; } .kvkp-charm-score{ align-items:flex-start; flex-direction:column; gap:4px; } }

/* V8.3.5 — Master Academy automatic upgrade recommendation */
.kvkp-master-recommend{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:12px 0; padding:12px 14px; border:1px solid rgba(103,232,249,.24);
  background:linear-gradient(135deg,rgba(103,232,249,.055),rgba(255,126,65,.025));
}
.kvkp-master-recommend > div{ min-width:0; display:grid; gap:4px; }
.kvkp-master-recommend span{ color:var(--frost); font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; }
.kvkp-master-recommend p{ margin:0; max-width:760px; color:#9fb0b9; font-size:.57rem; line-height:1.5; }
.kvkp-master-recommend .btn{ flex:none; }
.kvkp-master-auto-summary{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 18px; align-items:center;
  margin-bottom:8px; padding:10px 12px; border:1px solid rgba(110,231,245,.26); background:rgba(110,231,245,.045);
}
.kvkp-master-auto-summary > div{ display:grid; gap:3px; }
.kvkp-master-auto-summary span{ color:var(--ink-faint); font-size:.49rem; text-transform:uppercase; letter-spacing:.06em; }
.kvkp-master-auto-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.7rem; }
.kvkp-master-auto-summary small{ color:#9eb3bd; font-size:.51rem; line-height:1.45; text-align:right; }
.kvkp-master-auto-note{ display:flex; gap:7px; align-items:flex-start; margin-top:8px; padding:8px 10px; border:1px solid rgba(228,180,119,.16); color:#b9a081; font-size:.52rem; line-height:1.45; }
.kvkp-master-auto-note i{ flex:none; margin-top:1px; color:#e4b477; }
@media (max-width:759px){
  .kvkp-master-recommend{ display:grid; gap:10px; }
  .kvkp-master-recommend .btn{ width:100%; justify-content:center; }
  .kvkp-master-auto-summary{ grid-template-columns:1fr; }
  .kvkp-master-auto-summary small{ text-align:left; }
}

/* V8.3.6 Master planner: current-state first, automatic reachable targets. */
.kvkp-master-simple-intro{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:11px 12px;border:1px solid rgba(103,232,249,.2);background:rgba(103,232,249,.035)}
.kvkp-master-simple-intro>i{flex:none;margin-top:2px;color:var(--frost);font-size:1.05rem}
.kvkp-master-simple-intro b{display:block;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.kvkp-master-simple-intro p{margin:3px 0 0;color:#aebdc5;font-size:.58rem;line-height:1.5}
.kvkp-master-plan-head-simple{grid-template-columns:1fr 1fr}
.kvkp-master-future{margin:0 0 10px;border:1px solid rgba(166,190,205,.1);background:rgba(255,255,255,.012)}
.kvkp-master-future summary{display:flex;align-items:center;gap:7px;padding:9px 10px;color:#aebdc5;cursor:pointer;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.kvkp-master-future summary i{color:var(--ember-hot)}
.kvkp-master-future-body{padding:0 10px 10px}.kvkp-master-future-body .field{margin:0}
.kvkp-master-skill-row-auto{grid-template-columns:minmax(180px,1.25fr) minmax(135px,.7fr) minmax(185px,1fr);align-items:stretch}
.kvkp-master-skill-row-auto .kvkp-master-next-step{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid rgba(166,190,205,.08)}
.kvkp-master-next-step>span,.kvkp-master-skill-result>span{color:var(--ink-faint);font-size:.48rem;text-transform:uppercase;letter-spacing:.06em}
.kvkp-master-next-step small{color:#9fb0b9;font-size:.52rem;text-align:right}.kvkp-master-next-step.is-affinity small,.kvkp-master-next-step.is-power small{color:#d7b07d}.kvkp-master-next-step.is-manuscripts small{color:#e69a78}.kvkp-master-next-step.is-max small{color:#86c8cf}
.kvkp-master-skill-result{display:grid;align-content:center;gap:3px;padding:8px 10px;border:1px solid rgba(103,232,249,.16);background:rgba(103,232,249,.025)}
.kvkp-master-skill-result strong{color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.72rem}.kvkp-master-skill-result small{color:#aebdc5;font-size:.5rem;line-height:1.35}
.kvkp-master-resource-title{margin:10px 0 6px;color:var(--ink-faint);font-size:.52rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.kvkp-master-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}
.kvkp-master-resource-card{display:grid;gap:7px;padding:10px;border:1px solid rgba(166,190,205,.12);background:#070c10}.kvkp-master-resource-card>span{color:var(--ink-soft);font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.kvkp-master-resource-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.kvkp-master-resource-card b{display:grid;gap:2px;color:var(--ink-faint);font-size:.46rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.kvkp-master-resource-card b strong{color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.68rem}.kvkp-master-resource-card.is-missing{border-color:rgba(255,112,58,.35);background:rgba(255,112,58,.035)}.kvkp-master-resource-card.is-missing b:last-child strong{color:#f0ad77}.kvkp-master-resource-card.is-ok b:last-child strong{color:#86d5dd}
.kvkp-master-next-relationship{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:8px;padding:10px;border:1px solid rgba(228,180,119,.16);background:rgba(228,180,119,.025)}.kvkp-master-next-relationship>div{display:grid;gap:2px}.kvkp-master-next-relationship span{color:var(--ink-faint);font-size:.48rem;text-transform:uppercase;letter-spacing:.05em}.kvkp-master-next-relationship strong{color:#d9c2a2;font-size:.62rem}.kvkp-master-next-relationship>div:nth-child(2){text-align:right}.kvkp-master-next-relationship>div:nth-child(2)>b{color:#e4b477;font-family:'JetBrains Mono',monospace;font-size:.62rem}.kvkp-master-next-relationship>div:nth-child(2)>small{color:#a7957b;font-size:.49rem}.kvkp-master-next-relationship p{grid-column:1/-1;margin:2px 0 0;color:#908a80;font-size:.49rem;line-height:1.4}
@media(max-width:759px){.kvkp-master-plan-head-simple,.kvkp-master-skill-row-auto,.kvkp-master-resource-grid{grid-template-columns:1fr}.kvkp-master-skill-row-auto .kvkp-master-next-step{display:grid}.kvkp-master-next-step small{text-align:left}.kvkp-master-resource-card>div{grid-template-columns:repeat(3,minmax(0,1fr))}.kvkp-master-next-relationship{grid-template-columns:1fr}.kvkp-master-next-relationship>div:nth-child(2){text-align:left}.kvkp-master-next-relationship p{grid-column:auto}}


/* KVK Pet planner: inventory + exact Pet resource requirements */
.kvkp-pet-planner{ display:grid; gap:12px; }
.kvkp-pet-inventory{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.kvkp-pet-inventory label{ display:grid; gap:5px; min-width:0; }
.kvkp-pet-inventory label>span{ color:var(--ink-soft); font-size:.6rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-pet-inventory input{ width:100%; min-width:0; }
.kvkp-pet-note{ display:block; color:var(--ink-faint); font-size:.6rem; line-height:1.5; }
.kvkp-pet-actions{ display:flex; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--glass-line); border-bottom:1px solid var(--glass-line); }
.kvkp-pet-actions small{ color:var(--ink-faint); font-size:.6rem; line-height:1.45; }
.kvkp-pet-row{ grid-template-columns:1.1fr .72fr 1fr 1.2fr auto; padding:10px; border:1px solid rgba(166,190,205,.12); background:rgba(255,255,255,.012); }
.kvkp-pet-row-detail{ grid-column:1/-1; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; padding-top:8px; border-top:1px solid rgba(166,190,205,.09); }
.kvkp-pet-reachable{ display:grid; align-content:center; gap:5px; min-width:0; padding:8px 10px; border:1px solid rgba(107,225,244,.16); background:rgba(107,225,244,.035); }
.kvkp-pet-reachable small{ color:var(--ink-faint); font-size:.52rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-pet-reachable strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.65rem; line-height:1.35; }
.kvkp-pet-gate-spacer{ min-height:1px; }
.kvkp-pet-row-detail>span{ display:grid; gap:2px; min-width:0; padding:6px 7px; background:rgba(255,255,255,.018); border:1px solid rgba(166,190,205,.08); }
.kvkp-pet-row-detail small{ color:var(--ink-faint); font-size:.5rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-pet-row-detail b{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.66rem; overflow:hidden; text-overflow:ellipsis; }
.kvkp-pet-milestones{ grid-column:span 1; }
.kvkp-pet-preview{ display:grid; gap:8px; align-items:stretch; }
.kvkp-pet-resource-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; width:100%; }
.kvkp-pet-resource{ padding:9px; border:1px solid var(--glass-line); background:rgba(255,255,255,.014); }
.kvkp-pet-resource>span{ display:block; margin-bottom:7px; color:var(--ink-soft); font-size:.62rem; font-weight:700; }
.kvkp-pet-resource dl{ display:grid; gap:4px; margin:0; }
.kvkp-pet-resource dl>div{ display:flex; justify-content:space-between; gap:8px; }
.kvkp-pet-resource dt{ color:var(--ink-faint); font-size:.54rem; font-weight:400; }
.kvkp-pet-resource dd{ margin:0; color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.58rem; }
.kvkp-pet-resource.is-missing{ border-color:rgba(255,155,91,.35); }
.kvkp-pet-resource.is-missing dl>div:last-child dd{ color:#ffb071; }
.kvkp-pet-resource.is-covered dl>div:last-child dd{ color:#79e1d8; }
.kvkp-pet-score{ width:100%; }

@media (max-width:980px){
  .kvkp-pet-inventory,.kvkp-pet-resource-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-pet-row-detail{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:759px){
  .kvkp-pet-inventory,.kvkp-pet-resource-grid{ grid-template-columns:1fr 1fr; }
  .kvkp-pet-actions{ display:grid; }
  .kvkp-pet-actions .btn{ width:100%; justify-content:center; }
  .kvkp-pet-row{ grid-template-columns:1fr 1fr; }
  .kvkp-pet-select,.kvkp-pet-reachable{ grid-column:1/-1; }
  .kvkp-pet-gate-spacer{ display:none; }
  .kvkp-pet-row .kvkp-row-remove{ grid-column:1/-1; }
  .kvkp-pet-row-detail{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* V8.3.8 — clearer Governor and Hero Gear stockpile planning */
.kvkp-subsection-title{display:flex;align-items:center;gap:10px;margin:8px 0 10px;padding:9px 10px;border-left:2px solid var(--ember-hot);background:rgba(255,255,255,.015)}
.kvkp-subsection-title>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(110,231,245,.2);color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.58rem}
.kvkp-subsection-title>div{display:grid;gap:2px}.kvkp-subsection-title b{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.kvkp-subsection-title small{color:var(--ink-soft);font-size:.6rem;line-height:1.4}
.kvkp-governor-gear-score{margin-bottom:10px}
.kvkp-gear-usage-intro{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;padding:10px 11px;border:1px solid rgba(110,231,245,.14);background:rgba(110,231,245,.025);color:var(--ink-soft);font-size:.62rem;line-height:1.5}.kvkp-gear-usage-intro i{flex:none;color:var(--frost);margin-top:1px}
.kvkp-gear-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kvkp-gear-usage-card{display:grid;gap:10px;padding:12px;border:1px solid var(--glass-line);background:#070c10}
.kvkp-gear-usage-card>header{display:flex;gap:8px;align-items:flex-start}.kvkp-gear-usage-card>header>i{color:var(--frost);font-size:1.05rem;margin-top:1px}.kvkp-gear-usage-card>header>div{display:grid;gap:2px}.kvkp-gear-usage-card>header b{color:var(--ink);font-size:.7rem}.kvkp-gear-usage-card>header small{color:var(--ink-faint);font-size:.52rem;line-height:1.35}
.kvkp-gear-usage-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.kvkp-gear-usage-fields label,.kvkp-mithril-eligibility{display:grid;gap:4px}.kvkp-gear-usage-fields span,.kvkp-mithril-eligibility>span{color:var(--ink-soft);font-size:.54rem;text-transform:uppercase;letter-spacing:.05em}
.kvkp-gear-estimate-hint,.kvkp-mithril-eligibility small{color:var(--ink-faint);font-size:.55rem;line-height:1.45}
.kvkp-gear-usage-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding-top:8px;border-top:1px solid rgba(166,190,205,.08)}.kvkp-gear-usage-preview>span{display:grid;gap:2px;min-width:0}.kvkp-gear-usage-preview small{color:var(--ink-faint);font-size:.46rem;text-transform:uppercase;letter-spacing:.04em}.kvkp-gear-usage-preview b{color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.62rem}.kvkp-gear-usage-preview>em,.kvkp-gear-usage-preview>.is-warning{grid-column:1/-1;display:flex;gap:6px;align-items:flex-start;color:#d8a878;font-size:.51rem;font-style:normal;line-height:1.4}.kvkp-gear-usage-preview>em i,.kvkp-gear-usage-preview>.is-warning i{flex:none;margin-top:1px}
.kvkp-gear-usage-card input:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1050px){.kvkp-gear-usage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:759px){.kvkp-gear-usage-grid{grid-template-columns:1fr}.kvkp-gear-usage-fields{grid-template-columns:1fr 1fr}.kvkp-gear-usage-preview{grid-template-columns:1fr 1fr}.kvkp-gear-usage-preview>span:last-of-type{grid-column:1/-1}}

/* V8.3.9 · Governor Gear planner: identify tiers from the in-game Power number. */
.kvkp-govgear-row{ align-items:start; }
.kvkp-govgear-row-detail{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding-top:2px;
}
.kvkp-govgear-row-detail > span,
.kvkp-govgear-totals > span{
  display:grid;
  gap:3px;
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--glass-line);
  background:rgba(255,255,255,.018);
}
.kvkp-govgear-row-detail small,
.kvkp-govgear-totals small{
  color:var(--ink-soft);
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.kvkp-govgear-row-detail b,
.kvkp-govgear-totals b{
  color:var(--frost);
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.kvkp-govgear-row-detail .is-warning b{ color:var(--ember-hot); }
.kvkp-govgear-row-detail .is-ok b{ color:var(--frost); }
.kvkp-govgear-totals{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
}
@media (max-width:759px){
  .kvkp-govgear-row-detail,
  .kvkp-govgear-totals{ grid-template-columns:1fr 1fr; }
}
@media (max-width:460px){
  .kvkp-govgear-row-detail,
  .kvkp-govgear-totals{ grid-template-columns:1fr; }
}


/* v3.3.1 — Registered player profiles + Crownity calculators */

/* Tool app shell. The imported calculator styles use the old variable names;
   map them locally to Crownity's current desktop palette. */
.tools-shell{
  --ember:#b95f49;--ember-hot:#d37a64;--frost:#d6b97f;
  --glass-line:rgba(222,204,184,.14);--ink:#f3ece5;--ink-faint:#8f8176;
  --ink-soft:#b9aca0;--steel:#251e19;
  min-width:0;padding:2px 0 28px;color:#e8dfd6;
}
.tools-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 16px;padding:22px 24px;border:1px solid #40342c;background:linear-gradient(135deg,#241d18,#17130f 68%);box-shadow:0 18px 38px rgba(0,0,0,.18)}
.tools-kicker,.members-kicker{display:block;margin-bottom:8px;color:#bd6d57;font:800 9px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.tools-header h1,.members-hero h1{margin:0;color:#f5eee7;font:900 clamp(30px,4vw,52px)/.92 var(--narrow);letter-spacing:-.035em;text-transform:uppercase}
.tools-header p,.members-hero p{max-width:760px;margin:12px 0 0;color:#a99b90;font-size:12px;line-height:1.55}
.tools-count{min-width:118px;padding:12px 14px;border-left:2px solid #b95f49;background:#1b1612;text-align:right}.tools-count strong{display:block;color:#f0d8cd;font:900 32px/1 var(--narrow)}.tools-count span{display:block;margin-top:5px;color:#8f8176;font:700 8px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.tools-tabs{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 18px;border:1px solid #3d322a;background:#3d322a}
.tools-tabs button{appearance:none;min-width:0;min-height:64px;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 14px;border:0;background:#1b1713;color:#a99d92;text-align:left;cursor:pointer;transition:.15s ease}.tools-tabs button:hover{background:#251e19;color:#efe6dd}.tools-tabs button.active{background:#2a211b;color:#fff4eb;box-shadow:inset 0 -3px 0 #b95f49}.tools-tabs button i{grid-row:1/3;font-size:21px;color:#d37a64}.tools-tabs button span{align-self:end;font-weight:780;font-size:12px}.tools-tabs button small{align-self:start;color:#796d64;font-size:9px}.tools-pane{min-width:0}.tools-pane[hidden]{display:none!important}
.tools-shell .page-title{margin:0;color:#f6efe8;font:900 clamp(32px,4.5vw,58px)/.9 var(--narrow);letter-spacing:-.045em;text-transform:uppercase}.tools-shell .page-sub{margin:10px 0 0;color:#aa9d92;font-size:12px;line-height:1.55}.tools-shell .system-kicker{display:flex;align-items:center;gap:8px;color:#bd6d57;font:800 8px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.tools-shell .system-kicker i{display:block;width:24px;height:1px;background:#755247}.tools-shell .section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}.tools-shell .section-head h2{margin:0!important;font-size:18px!important;letter-spacing:0!important;text-transform:none!important}.tools-shell .field{display:grid;gap:6px}.tools-shell .field>span{display:block;color:#a99b90;font-size:10px;font-weight:700;line-height:1.3}.tools-shell input:not([type=range]):not([type=checkbox]):not([type=radio]),.tools-shell select,.tools-shell textarea{min-width:0;width:100%;height:42px;padding:0 11px;border:1px solid #493b32;border-radius:7px;outline:0;background:#17130f;color:#f2ebe4}.tools-shell textarea{height:auto;min-height:90px;padding-top:10px}.tools-shell input:focus,.tools-shell select:focus,.tools-shell textarea:focus{border-color:#b95f49;box-shadow:0 0 0 3px rgba(185,95,73,.10)}.tools-shell select option{background:#1b1612;color:#f2ebe4}.tools-shell .panel{border-color:#3b3029!important;background:#1b1713!important}.tools-shell .panel::before{background:#b95f49!important}.tools-shell .prose{color:#a99b90}.tools-shell .tag{border-color:#4d3e34;background:#282019;color:#c9bcb0}.tools-shell .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}

/* Keep the calculators visually inside Crownity instead of the old blue ISO skin. */
.tools-shell .bo-model-note,.tools-shell .kvkp-recommendation,.tools-shell .kvkp-source-note{border-color:rgba(211,122,100,.22)!important;background:linear-gradient(135deg,rgba(185,95,73,.055),rgba(24,19,16,.96))!important}
.tools-shell .bo-hero-card,.tools-shell .kvkp-group,.tools-shell .kvkp-day-card,.tools-shell .kvkp-helper-card,.tools-shell .kvkp-master-card,.tools-shell .kvkp-govgear-card,.tools-shell .ac-lane{background:#17130f!important;border-color:#40342c!important}
.tools-shell .bo-filter,.tools-shell .ac-entry-tabs button{background:#17130f!important;border-color:#493b32!important;color:#9d8f83!important}.tools-shell .bo-filter:hover,.tools-shell .bo-filter.active,.tools-shell .ac-entry-tabs button.active{border-color:#b95f49!important;background:rgba(185,95,73,.09)!important;color:#f3e9e1!important}

/* Registered members */
.members-shell,.member-profile-shell{min-width:0;padding:2px 0 28px}
.members-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px;padding:22px 24px;border:1px solid #40342c;background:linear-gradient(135deg,#241d18,#17130f 68%)}
.members-hero-stats{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:1px;background:#3b3029;border:1px solid #3b3029}.members-hero-stats>div{min-width:90px;padding:11px 13px;background:#1b1713}.members-hero-stats span{display:block;color:#8d8075;font:700 7px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}.members-hero-stats strong{display:block;margin-top:7px;color:#eee6de;font:900 23px/1 var(--narrow)}.members-hero-stats .warn strong{color:#de8a72}
.member-self-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid rgba(185,95,73,.28);background:rgba(185,95,73,.055);color:#b8aa9f;font-size:11px}
.member-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(150px,.7fr) auto auto;align-items:end;gap:9px;margin-bottom:16px;padding:14px;border:1px solid #3a3029;background:#1b1713}.member-filters label{display:grid;gap:6px;min-width:0}.member-filters label>span{color:#97897e;font-size:9px;font-weight:700}.member-filters .btn{height:44px}
.member-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.member-card{position:relative;min-width:0;display:grid;grid-template-columns:66px minmax(0,1fr);gap:13px;padding:14px;border:1px solid #3a3029;background:linear-gradient(145deg,#211b17,#17130f);transition:transform .14s,border-color .14s,background .14s}.member-card:hover{transform:translateY(-2px);border-color:#665247;background:#251e19}.member-card.severity-2{border-left:3px solid #c68455}.member-card.severity-3{border-left:3px solid #c45f50}.member-avatar-wrap{position:relative;width:66px;height:66px;display:grid;place-items:center;overflow:hidden;border:1px solid #4a3d34;background:#2b221c;color:#d9c9ba;font:900 25px/1 var(--narrow)}.member-avatar-wrap img{width:100%;height:100%;object-fit:cover}.member-alert{position:absolute;right:3px;top:3px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#c45f50;color:#fff;font:900 10px/1 var(--mono);font-style:normal;box-shadow:0 2px 7px rgba(0,0,0,.4)}.member-card-copy{min-width:0}.member-card-top{min-width:0}.member-card-top small{display:block;margin-bottom:4px;color:#bd6d57;font:800 8px/1 var(--mono);letter-spacing:.07em}.member-card-top b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#efe7df;font-size:14px}.member-card-copy>em{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#756a61;font-size:9px;font-style:normal}.member-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:10px}.member-card-stats span{min-width:0}.member-card-stats small{display:block;color:#756a61;font-size:7px;text-transform:uppercase}.member-card-stats strong{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;color:#cfc3b8;font:750 10px/1 var(--mono);white-space:nowrap}.member-card-stats strong.up{color:#94c78b}.member-offkvk{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #332a24;color:#8f8176;font-size:8px}.member-offkvk b{font:800 9px/1 var(--mono)}.member-offkvk.severity-1 b{color:#d7bc76}.member-offkvk.severity-2 b{color:#e1a06f}.member-offkvk.severity-3 b{color:#e88c7d}.member-pagination{display:flex;justify-content:center;align-items:center;gap:5px;margin-top:17px}.member-pagination a,.member-pagination span{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid #40342c;background:#1b1713;color:#9f9185;font:700 9px/1 var(--mono)}.member-pagination a:hover,.member-pagination .active{border-color:#b95f49;color:#f4ece4;background:#2a211b}

/* Public / own member profile */
.member-profile-back{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:#918378;font-size:10px}.member-profile-back a{color:#caa090}.member-profile-hero{position:relative;display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:center;gap:22px;margin-bottom:12px;padding:20px;border:1px solid #40342c;background:radial-gradient(circle at 88% 15%,rgba(185,95,73,.12),transparent 31%),linear-gradient(145deg,#241d18,#17130f)}.member-profile-hero.severity-2{border-right:3px solid #c68455}.member-profile-hero.severity-3{border-right:3px solid #c45f50}.member-profile-avatar{width:116px;height:116px;display:grid;place-items:center;overflow:hidden;border:1px solid #564438;background:#2b221c;color:#e2d5c9;font:900 43px/1 var(--narrow)}.member-profile-avatar img{width:100%;height:100%;object-fit:cover}.member-profile-ident{min-width:0}.member-profile-kicker{display:block;color:#bd6d57;font:800 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.member-profile-ident h1{margin:5px 0 0;overflow-wrap:anywhere;color:#f5eee7;font:900 clamp(34px,5vw,64px)/.88 var(--narrow);letter-spacing:-.04em}.member-account-name,.member-aliases{margin:6px 0 0;color:#897c71;font-size:10px}.member-profile-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.member-profile-chips span{padding:5px 7px;border:1px solid #46382f;background:#251e19;color:#b9aca0;font:700 8px/1 var(--mono)}.profile-offkvk-badge{min-width:112px;padding:12px;border:1px solid #493b32;background:#1b1612;text-align:right}.profile-offkvk-badge small,.profile-offkvk-badge span{display:block;color:#887a6f;font:700 7px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.profile-offkvk-badge strong{display:block;margin:6px 0;color:#d9cfc5;font:900 24px/1 var(--narrow)}.profile-offkvk-badge.severity-2 strong{color:#e1a06f}.profile-offkvk-badge.severity-3 strong{color:#e88c7d}
.member-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:12px;border:1px solid #3a3029;background:#3a3029}.member-profile-metrics article{min-width:0;padding:13px 15px;background:#1b1713}.member-profile-metrics span{display:block;color:#85786e;font-size:8px;text-transform:uppercase}.member-profile-metrics strong{display:block;margin-top:8px;color:#eee6de;font:900 20px/1 var(--narrow);overflow-wrap:anywhere}.member-profile-metrics strong.positive{color:#94c78b}.member-profile-metrics small{display:block;margin-top:5px;color:#6f655d;font-size:8px}
.member-profile-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:12px}.member-section-title{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.member-section-title>span{color:#bd6d57;font:800 8px/1 var(--mono)}.member-section-title h2{margin:0!important;font-size:18px!important;text-transform:none!important}.member-bio{color:#c9bdb2;line-height:1.6}.member-profile-list{display:grid;gap:0;margin:0}.member-profile-list>div{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid #332a24}.member-profile-list dt{color:#81746a;font-size:9px}.member-profile-list dd{margin:0;color:#cfc2b6;font-size:11px;overflow-wrap:anywhere}.profile-growth-block{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:13px 0;border-top:1px solid #332a24}.profile-growth-block>span{color:#8b7d72;font-size:9px;text-transform:uppercase}.profile-growth-block>strong{color:#94c78b;font:900 24px/1 var(--narrow)}.profile-growth-block>b{align-self:center;color:#d3c7bc;font:750 10px/1 var(--mono)}.profile-growth-block>small{grid-column:1/-1;color:#6f655d;font-size:8px}.profile-growth-block.off.severity-2 strong{color:#e1a06f}.profile-growth-block.off.severity-3 strong{color:#e88c7d}.profile-growth-block em{grid-column:1/-1;color:#71665e;font-style:normal}
.member-history-panel{margin-top:12px}.member-history-list{display:grid;gap:1px;background:#332a24}.member-history-list>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(90px,.6fr) minmax(100px,.7fr) auto;align-items:center;gap:10px;padding:10px 12px;background:#1a1612}.member-history-list strong{color:#ddd2c7}.member-history-list span,.member-history-list small{color:#887a70}.member-history-list form{margin:0}.member-history-list button{width:26px;height:26px;border:1px solid #4b3d33;background:#241d18;color:#9d8f83;cursor:pointer}
.member-profile-edit{margin-top:12px}.profile-edit-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:18px}.profile-fields-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-fields-form label,.profile-avatar-form-new label{display:grid;gap:6px}.profile-fields-form label>span,.profile-avatar-form-new label>span{color:#94867a;font-size:9px}.profile-fields-form .wide{grid-column:1/-1}.profile-fields-form>.btn{justify-self:start}.profile-side-edit{display:grid;align-content:start;gap:10px}.profile-avatar-form-new,.profile-history-add{display:grid;gap:8px;padding:12px;border:1px solid #3b3029;background:#181410}.profile-avatar-form-new input[type=file]{max-width:100%;color:#9e9185;font-size:9px}.profile-avatar-form-new small{color:#71675f;font-size:8px}.profile-history-add h3{margin:0 0 3px;color:#d5c9bd;font-size:13px}.profile-history-add .control{height:39px}

@media(max-width:1050px){.member-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-profile-grid{grid-template-columns:1fr}.members-hero{align-items:stretch;flex-direction:column}.members-hero-stats{width:100%}}
@media(max-width:760px){
  .tools-header{padding:16px;align-items:stretch;flex-direction:column}.tools-header h1,.members-hero h1{font-size:34px}.tools-count{display:flex;align-items:center;justify-content:space-between;text-align:left}.tools-count strong{font-size:26px}.tools-tabs{position:static}.tools-tabs button{min-height:56px;grid-template-columns:24px minmax(0,1fr);padding:8px}.tools-tabs button i{font-size:18px}.tools-tabs button span{font-size:10px}.tools-tabs button small{display:none}.tools-shell .bo-hero,.tools-shell .kvkp-hero,.tools-shell .ac-hero{margin-top:8px}
  .members-hero{padding:16px}.members-hero-stats{grid-template-columns:repeat(3,1fr)}.members-hero-stats>div{min-width:0;padding:9px}.members-hero-stats span{font-size:6px}.members-hero-stats strong{font-size:19px}.member-self-strip{align-items:stretch;flex-direction:column}.member-filters{grid-template-columns:1fr 1fr}.member-filters label:first-of-type{grid-column:1/-1}.member-filters .btn{width:100%}.member-card-grid{grid-template-columns:1fr}.member-card{grid-template-columns:58px minmax(0,1fr);padding:11px}.member-avatar-wrap{width:58px;height:58px}.member-profile-back{align-items:flex-start;flex-direction:column}.member-profile-hero{grid-template-columns:82px minmax(0,1fr);gap:13px;padding:14px}.member-profile-avatar{width:82px;height:82px;font-size:32px}.profile-offkvk-badge{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;text-align:left}.profile-offkvk-badge strong{margin:0}.member-profile-metrics{grid-template-columns:1fr 1fr}.member-profile-metrics article{padding:11px}.member-profile-list>div{grid-template-columns:1fr}.member-history-list>div{grid-template-columns:1fr auto}.member-history-list span,.member-history-list small{grid-column:1}.member-history-list form{grid-column:2;grid-row:1/4}.profile-edit-columns,.profile-fields-form{grid-template-columns:1fr}.profile-fields-form .wide{grid-column:auto}.profile-fields-form>.btn{width:100%}
}
@media(max-width:430px){.tools-tabs button{grid-template-columns:1fr;text-align:center}.tools-tabs button i{grid-row:auto}.members-hero-stats{grid-template-columns:1fr}.member-filters{grid-template-columns:1fr}.member-filters label:first-of-type{grid-column:auto}.member-profile-metrics{grid-template-columns:1fr 1fr}.member-card-stats{grid-template-columns:1fr 1fr 1fr}.member-toolbar-back{width:100%;justify-content:center!important}}

/* Lightweight in-app icon glyphs for the imported calculators; no external icon/font CDN. */
.tools-shell .ph{display:inline-grid;place-items:center;font-style:normal;line-height:1}.tools-shell .ph::before{content:"•"}
.tools-shell .ph-paw-print::before{content:"◆"}.tools-shell .ph-chart-line-up::before{content:"↗"}.tools-shell .ph-trophy::before{content:"★"}.tools-shell .ph-copy::before{content:"⧉"}.tools-shell .ph-download-simple::before{content:"↓"}.tools-shell .ph-plus::before,.tools-shell .ph-list-plus::before,.tools-shell .ph-user-plus::before{content:"+"}.tools-shell .ph-warning-circle::before{content:"!"}.tools-shell .ph-info::before{content:"i"}.tools-shell .ph-arrow-counter-clockwise::before,.tools-shell .ph-arrows-clockwise::before{content:"↻"}.tools-shell .ph-arrow-up-right::before{content:"↗"}.tools-shell .ph-arrows-split::before{content:"↔"}.tools-shell .ph-calculator::before{content:"="}.tools-shell .ph-chart-donut::before{content:"◉"}.tools-shell .ph-list-checks::before{content:"✓"}.tools-shell .ph-magic-wand::before,.tools-shell .ph-sparkle::before{content:"✦"}.tools-shell .ph-lightning::before{content:"ϟ"}.tools-shell .ph-package::before,.tools-shell .ph-archive-box::before{content:"□"}.tools-shell .ph-shield-star::before,.tools-shell .ph-armor::before{content:"◇"}.tools-shell .ph-sword::before{content:"†"}.tools-shell .ph-flag-banner-fold::before{content:"⚑"}.tools-shell .ph-graduation-cap::before{content:"△"}.tools-shell .ph-sliders-horizontal::before{content:"≡"}.tools-shell .ph-user-focus::before{content:"◎"}.tools-shell .ph-users-three::before{content:"●"}.tools-shell .ph-wheat::before{content:"⌁"}
.member-profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;color:#918378;font-size:10px}
.member-toolbar-back{max-width:100%;padding-inline:14px!important;justify-content:flex-start!important;gap:9px!important;flex:0 1 auto}
.member-toolbar-back span:last-child{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-toolbar-back-arrow{flex:0 0 auto;font-size:13px;line-height:1}
.ranking-table .player-profile-link:hover{color:#e0a28e}.ranking-table .profile-badge-link{margin-left:6px}.ranking-table .profile-badge-link:hover{border-color:#b95f49;color:#efd8cd}
.tools-shell .ph-trash::before{content:"×"}.tools-shell .ph-arrow-right::before{content:"→"}.tools-shell .ph-crown::before{content:"♛"}.tools-shell .ph-buildings::before{content:"▥"}
.tools-shell .ph-check::before,.tools-shell .ph-check-circle::before{content:"✓"}.tools-shell .ph-dots-six-vertical::before{content:"⋮"}.tools-shell .ph-flag::before{content:"⚑"}.tools-shell .ph-lock::before{content:"▣"}.tools-shell .ph-scales::before{content:"≋"}.tools-shell .ph-target::before{content:"◎"}.tools-shell .ph-vault::before{content:"▤"}.tools-shell .ph-warning::before{content:"!"}


/* v3.3.5 — button alignment audit
   Keep text/icons vertically centered across anchors and native buttons. */
.btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  line-height:1.15!important;
  text-align:center!important;
  vertical-align:middle!important;
  text-decoration:none!important;
}
.btn > span,.btn > b,.btn > i{line-height:1!important}
.filter-submit{justify-content:space-between!important}

/* Fixed-height / custom button families that do not use .btn. */
.legacy-map-root .primary-btn,
.legacy-map-root .tab,
.legacy-map-root .chip,
.bo-filter,
.ac-entry-tabs button,
.ac-lane-move button,
.member-history-list button,
.map-search-tab,
.shield-chip,
.map-clear-focus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  line-height:1.1;
}
.legacy-map-root .zoom-stack button,
.legacy-map-root .icon-btn,
.map-search-head button,
.map-legend-head button{
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
}
.legacy-map-root .zoom-stack button{display:grid;place-items:center}
.member-history-list button{padding:0;line-height:1}
.ac-lane-move button{padding-block:0}
