:root{--bg:#f4f5f0;--paper:#fff;--ink:#23372f;--muted:#738077;--line:#e1e6dd;--green:#356449;--dark:#192e26;--gold:#dbb66e;--pale:#eef3e9;--red:#a74c3c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid #b1c691;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:38px;letter-spacing:-1.5px;line-height:1.25;font-weight:650}h1 span{color:var(--green)}h2{font-size:21px;letter-spacing:-.5px;font-weight:630}h3{font-size:18px;letter-spacing:-.3px}.sidebar{position:fixed;inset:0 auto 0 0;width:222px;background:var(--dark);color:#cbd7c9;padding:35px 23px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;color:#f2f3de;font-size:24px;font-weight:650;letter-spacing:-.7px}.brand-mark{background:#304437;color:var(--gold);display:grid;place-items:center;border:1px solid #556149;border-radius:12px;width:44px;height:48px;font-size:31px}.brand small{display:block;font-size:8px;letter-spacing:2.6px;color:#a8b99e;line-height:1.8}.nav-label{font-size:9px;letter-spacing:1.8px;color:#839983;margin:57px 12px 14px}nav{display:grid;gap:7px}nav a{padding:12px 15px;border-radius:7px;color:#a9bbac;font-size:13px;display:flex;align-items:center;gap:13px}nav a:hover{background:#2c4034}nav a.selected{background:#384b39;color:#f2f2df;border-left:2px solid var(--gold);padding-left:13px}nav a span{font-size:19px;width:19px}nav b{margin-left:auto;font-size:10px;border-radius:5px;background:#4b5f45;padding:1px 7px}.sidebar-bottom{margin-top:auto;padding:20px 8px 0;border-top:1px solid #35473a;font-size:12px;color:#bfceba}.tiny-dot{display:inline-block;width:6px;height:6px;background:#adc68e;border-radius:50%;margin-right:7px}.sidebar-bottom p{margin:9px 0 3px;font-size:11px;color:#9aab9a}.sidebar-bottom small{font-size:9px;color:#7f937f}main{margin-left:222px}.topbar{height:68px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;justify-content:space-between;align-items:center;color:#768276;font-size:10px;letter-spacing:1px;background:#f9faf6}.slash{padding:0 13px;color:#b7bcb1}.local-label{font-size:9px;display:flex;align-items:center;gap:8px}.local-label i{height:6px;width:6px;border-radius:50%;background:#6d8c61}.content{max-width:1440px;margin:auto;padding:36px 42px 22px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px;gap:15px}.eyebrow,.section-kicker{font-size:9px;font-weight:650;letter-spacing:1.8px;color:#8d987e;margin-bottom:8px}.page-heading p{color:var(--muted);margin-top:8px;font-size:13px}.refresh-note{font-size:10px;color:#8b9588;white-space:nowrap;padding-bottom:4px}.account-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.account-main{display:flex;gap:17px;align-items:center}.account-icon{width:57px;height:62px;border-radius:10px;display:grid;place-items:center;font-size:34px;background:#eff1e4;color:#798858;border:1px solid #dfe5d0}.account-main .eyebrow{margin:0 0 4px}.account-main h2{font-size:20px}.status-line{display:flex;align-items:center;gap:10px;margin-top:7px;color:#8d9589;font-size:10px}.badge{font-size:10px;padding:4px 9px;border-radius:5px;font-weight:600;display:inline-flex;align-items:center;gap:5px}.badge.muted{color:#7a8472;background:#f0f2e9}.badge.green{color:#427143;background:#e9f2e2}.badge.amber{color:#977834;background:#faf0d9}.badge.red{color:var(--red);background:#fcece6}.badge:before{content:"";height:5px;width:5px;background:currentColor;border-radius:50%}.connection-action{text-align:right}.connection-action p{font-size:10px;margin-top:8px;color:var(--muted);max-width:300px}.button{border:1px solid #d8ded2;border-radius:7px;padding:10px 17px;background:#fff;color:var(--ink);font-size:12px;font-weight:580;display:inline-flex;align-items:center;justify-content:center;gap:14px;transition:background .15s}.button:hover{background:#f4f6ef}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover{background:#294e39}.button.danger{background:#fff;border-color:#ddbeb0;color:var(--red)}.button.small{font-size:11px;padding:8px 12px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 23px}.reward-lines{display:flex;gap:14px;flex-wrap:wrap}.reward-lines strong{font-size:inherit}.stat-card{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:18px 22px}.stat-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.4px;color:#828f7c;font-weight:600}.stat-label b{font-size:20px;line-height:20px;color:#8b9b72;font-weight:500}.stat-card strong{font-size:33px;line-height:1.7;font-weight:600;letter-spacing:-1px}.stat-unit{font-size:10px;color:#919b8d;margin-left:8px}.stat-card small{display:block;font-size:10px;color:#929b8d}.muted-text{font-size:10px;color:#7f8b77}.switch-label{display:flex;align-items:center;gap:9px;font-size:10px;color:#697d5e;position:relative;cursor:pointer}.switch-label input{position:absolute;opacity:0;right:0;width:34px;height:20px;cursor:pointer}.switch-track{width:31px;height:18px;background:#cbd4bf;border-radius:12px;position:relative;pointer-events:none}.switch-track:after{content:"";height:12px;width:12px;background:white;position:absolute;top:3px;left:3px;border-radius:50%;transition:left .15s}.switch-label input:checked+.switch-track{background:#688758}.switch-label input:checked+.switch-track:after{left:16px}.switch-label input:focus-visible+.switch-track{outline:2px solid #819c64;outline-offset:4px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-heading .section-kicker{margin-bottom:4px;font-size:8px}.section-heading p{font-size:11px;color:var(--muted);margin-top:5px}.heading-buttons{display:flex;gap:8px}.squad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.squad-card{background:white;border:1px solid var(--line);border-radius:10px;padding:21px;min-width:0}.card-heading{display:flex;gap:10px;align-items:center;margin-bottom:18px}.squad-avatar{height:37px;width:37px;display:grid;place-items:center;background:#eef2e4;border-radius:8px;color:#879864;font-size:21px}.card-heading .card-title{min-width:0;flex:1}.card-title h3{overflow-wrap:anywhere;font-size:15px}.card-title small{color:#9aA28f;font-size:9px}.card-assignment{display:flex;justify-content:space-between;gap:9px;border-top:1px solid #eff1e9;padding-top:15px;font-size:12px;font-weight:600}.squad-detail{display:flex;gap:20px;margin:13px 0;color:#75816d;font-size:10px}.squad-detail strong{color:#4f6147;font-weight:600}.squad-status{background:#f7f8f3;padding:10px 11px;border-radius:6px;color:#829173;font-size:10px;min-height:35px;overflow-wrap:anywhere}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.card-actions .button{padding:6px 11px;font-size:10px}.pending-note{font-size:10px;margin-top:8px;color:#987c3c}.capability-note{display:flex;gap:10px;margin:15px 0 35px;font-size:10px;color:#919a88;align-items:flex-start}.capability-note>span{font-size:18px;line-height:18px;color:#8d9b7b}.activity-list{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.activity-item{display:grid;grid-template-columns:13px 1fr 76px;gap:14px;padding:14px 20px;align-items:start;border-bottom:1px solid #eff1ea;font-size:11px}.activity-item:last-child{border-bottom:0}.event-dot{width:6px;height:6px;background:#97ad7d;border-radius:50%;margin-top:5px}.activity-item small{display:block;color:#929b88;font-size:9px;margin-top:3px}.activity-item time{font-size:9px;color:#939b8b;text-align:right}.activity-item p{overflow-wrap:anywhere}.empty-state{padding:30px;text-align:center;font-size:12px;color:#919b85;width:100%}.squad-grid>.empty-state{grid-column:1/-1;background:#fafbf6;border:1px dashed #dce2d1;border-radius:10px}footer{display:flex;justify-content:space-between;font-size:9px;color:#a0a694;margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.banner{padding:12px 17px;background:#fff0d6;border:1px solid #e6d3a7;border-radius:8px;color:#8c6e39;font-size:12px;margin-bottom:17px}.hidden{display:none!important}.inline-error{color:var(--red);font-size:12px;margin-top:8px;width:100%;overflow-wrap:anywhere}dialog{border:1px solid #dce3d1;border-radius:14px;padding:27px;width:min(550px,calc(100vw - 28px));max-height:90vh;color:var(--ink);box-shadow:0 20px 80px #142d2729}dialog::backdrop{background:#13271e77;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.icon-button{border:0;background:transparent;color:#819276;font-size:25px;padding:0 3px;line-height:1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}dialog label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;margin:13px 0}dialog input,dialog select,dialog textarea{border:1px solid #d8dfcf;border-radius:6px;padding:9px 10px;background:#fafbf7;color:var(--ink);width:100%;font-size:12px}dialog textarea{resize:vertical}dialog small,.field-help{font-size:10px;color:#8a977d;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checkbox-label{flex-direction:row!important;align-items:center;gap:8px!important;font-size:11px!important}.checkbox-label input{width:auto;accent-color:var(--green)}dialog p{font-size:12px;color:var(--muted)}.toast{position:fixed;bottom:24px;right:24px;z-index:100;background:var(--dark);color:#f2f4e7;box-shadow:0 8px 30px #26352c22;border-radius:8px;padding:13px 18px;max-width:min(420px,90vw);font-size:12px}.toast.error{background:#814a3d}
@media(min-width:1500px){.squad-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:185px;padding:28px 17px}main{margin-left:185px}.content{padding:28px 26px}.topbar{padding:0 26px}.page-heading{align-items:flex-start}.refresh-note{max-width:120px;white-space:normal;text-align:right}h1{font-size:32px}.account-panel{padding:20px}.stat-card{padding:17px}.stat-card small{min-height:30px}.heading-buttons{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:760px){.sidebar{position:static;width:100%;height:auto;padding:16px 20px;flex-direction:row;align-items:center;justify-content:space-between}.brand{font-size:21px;gap:10px}.brand-mark{height:38px;width:34px;font-size:25px}.brand small{font-size:7px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;gap:0}nav a{padding:8px 10px;font-size:0;gap:0}nav a span{font-size:23px}nav a.selected{border:0;padding:8px 10px}nav b{display:none}main{margin-left:0}.topbar{height:44px;padding:0 20px;font-size:8px}.content{padding:25px 20px}.page-heading{margin-bottom:22px}h1{font-size:30px}.page-heading p{font-size:11px}.eyebrow{font-size:8px}.refresh-note{font-size:8px;max-width:78px}.account-panel{padding:18px;gap:18px}.account-main{gap:12px}.account-icon{width:44px;height:50px;font-size:29px}.account-main h2{font-size:18px}.connection-action{width:100%;text-align:left;display:flex;align-items:center;gap:13px}.connection-action p{font-size:9px;margin:0;max-width:155px}.connection-action .button{white-space:nowrap;padding:9px 12px;font-size:11px}.stat-grid{gap:9px;margin:12px 0 17px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:11px 10px}.stat-label{font-size:7px;letter-spacing:.6px}.stat-label b{display:none}.stat-card strong{font-size:27px}.stat-unit{font-size:8px;margin-left:3px;display:block;margin-top:-5px}.stat-card small{font-size:8px;margin-top:8px}.section-heading{align-items:flex-start}.section-heading h2{font-size:20px}.heading-buttons{max-width:145px;gap:6px}.heading-buttons .button{font-size:9px;padding:7px 9px}.squad-grid{grid-template-columns:1fr}.squad-card{padding:18px}.capability-note{font-size:9px}.activity-item{padding:13px 15px;gap:9px;font-size:10px;grid-template-columns:9px 1fr 57px}footer{gap:10px;font-size:8px}footer span{max-width:160px;text-align:right}.form-grid{grid-template-columns:1fr;gap:0}dialog{padding:22px}.toast{bottom:15px;right:15px}}

.housekeeping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.collection-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px}.collection-card h3{margin:0;font-size:16px}.collection-card .card-heading{justify-content:space-between;gap:10px}.collection-card p{color:var(--muted);font-size:13px}.collection-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px}.collection-footer small{color:var(--muted);font-size:11px}.collection-footer form{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.collection-footer input{width:48px;padding:5px;border:1px solid var(--line);border-radius:4px;background:var(--bg)}.collection-card .switch-label{font-size:11px}.collection-card .squad-status{overflow-wrap:anywhere}input:disabled,textarea:disabled{opacity:.75;background:var(--pale)}@media(max-width:760px){.housekeeping-grid{grid-template-columns:1fr}.collection-card{padding:18px}.collection-card h3{font-size:15px}}
.bear-card p{margin:8px 0}.bear-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;font-size:12px;color:var(--muted)}.bear-form label{display:flex;flex-direction:column;gap:4px}.bear-form label.inline{flex-direction:row;align-items:center}.bear-form input{padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--bg)}.bear-form small,.bear-form button{grid-column:1/-1;justify-self:start}@media(max-width:760px){.bear-form{grid-template-columns:1fr}}
.hero-fieldset{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0;min-width:0}.hero-fieldset legend{font-size:12px;color:var(--muted);padding:0 4px}.hero-fieldset.wide{grid-column:1/-1}.hero-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-slot{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.hero-slot select{padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:inherit;min-width:0}.hero-checks{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px}@media(max-width:520px){.hero-slots{grid-template-columns:1fr}}

#terror-options[hidden]{display:none}

#squad-form label[hidden]{display:none}

.auto-join-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px}.auto-join-row small{margin:0}

.intel-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.intel-list li{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;font-size:.9em}
.grid-contents{display:contents}.subsection-heading{margin:26px 0 12px}.subsection-heading h3{font-size:16px}.subsection-heading p{font-size:11px;color:var(--muted);margin-top:5px}
.merchant-totals{margin-bottom:20px;padding:16px;background:#f7f8f3;border:1px solid var(--line);border-radius:8px}.merchant-totals h3{font-size:15px}.merchant-totals h4{margin:16px 0 6px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.merchant-totals .kv{margin:0 0 12px}.merchant-totals .kv li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:7px 0}.merchant-totals .kv li span{min-width:0;overflow-wrap:anywhere}.merchant-totals strong{white-space:nowrap;font-variant-numeric:tabular-nums}.merchant-totals .negative{color:var(--red)}.merchant-totals .positive{color:var(--green)}.merchant-totals .neutral{color:var(--muted)}.merchant-totals .merchant-empty{color:var(--muted);margin:0 0 12px;font-size:11px}
.merchant-totals .merchant-resource-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.merchant-totals .merchant-equivalent{flex-shrink:0;white-space:nowrap;font-size:12px;letter-spacing:0;text-transform:none;font-weight:400;font-variant-numeric:tabular-nums}
.merchant-purchases{margin:0 0 20px;padding:0;border:0;min-width:0}.merchant-purchases legend{font-size:12px;font-weight:600;margin-bottom:8px}.merchant-purchases label{display:flex;align-items:center;gap:9px;min-height:36px;font-size:12px;cursor:pointer}.merchant-purchases input{accent-color:var(--green);flex-shrink:0}.merchant-purchases span{overflow-wrap:anywhere}.merchant-purchases small{display:block;margin-top:8px}
.shop-purchases{margin:16px 0 0;padding:0;border:0;min-width:0}.shop-purchases legend{font-size:12px;font-weight:600;margin-bottom:8px}.shop-purchases label{display:flex;align-items:baseline;gap:9px;min-height:36px;padding:6px 0;font-size:12px;cursor:pointer}.shop-purchases input{accent-color:var(--green);flex-shrink:0}.shop-purchases span{min-width:0;overflow-wrap:anywhere}.shop-purchases small{display:block;margin-top:8px}
.shop-price-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.shop-price-table .shop-item-column{width:34%}.shop-price-table .shop-owned-column{width:14%}.shop-price-table .shop-owned{font-variant-numeric:tabular-nums;white-space:nowrap}.shop-price-table caption{text-align:left;color:var(--muted);font-size:11px;padding-bottom:8px}.shop-price-table th,.shop-price-table td{padding:8px 3px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:center}.shop-price-table th{font-weight:500}.shop-price-table th:first-child{text-align:left}.shop-purchases .shop-price-table label{align-items:center;justify-content:center;gap:6px;padding:0}.shop-price-table input{margin:0}.shop-price-table label span{white-space:nowrap;font-variant-numeric:tabular-nums}.shop-unavailable{color:var(--muted)}
.mystery-price-table .shop-item-column{width:27%}.mystery-price-table .shop-owned-column{width:11%}.shop-purchases .mystery-price-table label{flex-direction:column;gap:3px}.mystery-price-table label span{white-space:normal}
@media(max-width:420px){.shop-purchases .shop-price-table label{flex-direction:column;gap:4px;font-size:11px}.shop-price-table th,.shop-price-table td{padding:8px 2px}}
.squad-card .card-heading{margin-bottom:12px;align-items:flex-start}.card-title h3{font-size:16px}.card-title .lineup{display:block;color:#6f7d68;font-size:11px;margin-top:3px}.card-title .lineup b{color:#3f5238;font-weight:600}.level-tag{font-size:11px;font-weight:600;color:#4f6147;background:#eef2e4;border-radius:5px;padding:3px 8px;white-space:nowrap}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px;flex-wrap:wrap}.card-foot small{font-size:10px;color:#8a9580}.card-foot .card-actions{margin:0;justify-content:flex-end}
.resource-panel{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:16px 22px;margin:-7px 0 23px}.resource-panel .stat-label small{letter-spacing:0;font-weight:400;font-size:10px;color:#929b8d}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:8px}.resource-item span{display:block;font-size:11px;color:#6f7d68}.resource-item strong{display:block;font-size:26px;font-weight:600;letter-spacing:-.8px;line-height:1.4}.resource-item small{font-size:10px;color:#929b8d}@media(max-width:760px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-panel{padding:12px}}
.res-icon{width:22px;height:22px;object-fit:contain;display:block}.squad-avatar .res-icon{width:26px;height:26px}.resource-item span{display:flex!important;align-items:center;gap:6px}.resource-item .res-icon{width:18px;height:18px}
.daily-list li{grid-template-columns:1fr auto}.daily-list li.done span:last-child{color:var(--muted,#8a8f98)}.daily-toggles{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:.85em}
.governor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.gov-tile{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fafbf7;display:flex;flex-direction:column;gap:6px;min-width:0}.gov-tile.active{border-color:#b9cf9f;background:#f1f6ea}.gov-tile.cooldown{background:#fbf5f3}.gov-tile h4{margin:0;font-size:13px}.gov-state{font-size:12px;font-weight:600}.gov-tile.active .gov-state{color:var(--green)}.gov-tile.cooldown .gov-state{color:var(--red)}.gov-tile.available .gov-state{color:#6f8a4f}.gov-tile small{font-size:10px;color:var(--muted)}.gov-tile label{font-size:11px;color:var(--muted);display:flex;gap:6px;align-items:center}@media(max-width:760px){.governor-grid{grid-template-columns:1fr}}
.auto-join-row .switch-label span{white-space:nowrap}
.intel-rows li{grid-template-columns:.8fr .8fr 1.1fr 1.3fr;align-items:center}.intel-rows .intel-state.left{color:var(--red)}.intel-reason{grid-column:1/-1;color:var(--muted);font-size:10px;margin-top:-2px}

/* ---------- Module layout (26 Sep 2026): one view per game module, compact rows ---------- */
[hidden]{display:none!important}
nav{gap:3px}
nav .nav-label{margin:22px 12px 8px}
.nav-label:first-child{margin-top:0}
nav a{padding:10px 13px}
nav a em{font-style:normal}
nav b.alert{background:#a74c3c;color:#fff}
nav b.chat-nav-dot{width:9px;height:9px;min-width:9px;margin-left:auto;padding:0;border-radius:50%;background:#d76052;box-shadow:0 0 0 3px #d7605226}
nav b.alliance-nav-dot{width:9px;height:9px;min-width:9px;margin-left:auto;padding:0;border-radius:50%;background:#d76052;box-shadow:0 0 0 3px #d7605226}
.alliance-applications-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:5px 0 8px}
.ranking-refresh{border:0;background:transparent;color:var(--green);font-size:24px;line-height:1;display:grid;place-items:center;padding:5px;min-height:34px;min-width:34px}
.ranking-refresh:disabled{opacity:.45}
.mrow-head .pet-use{padding:4px 10px;font-size:11px}
.pet-skill-row .mrow-head{grid-template-columns:1fr auto 28px}
.pet-ctl{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:44px}
.alliance-power-table{width:100%;border-collapse:collapse;table-layout:fixed;color:var(--ink);font-size:12px}
.alliance-power-table th{font-weight:500;color:var(--muted)}
.alliance-power-table th,.alliance-power-table td{padding:10px 5px;border-bottom:1px solid var(--line);text-align:left;overflow-wrap:anywhere;vertical-align:middle}
.alliance-power-table .rank-number{width:38px}.alliance-power-table .rank-power{width:84px}.alliance-power-table .rank-online{width:108px}
.alliance-power-table th:nth-child(3),.alliance-power-table td:nth-child(3),.alliance-power-table th:last-child,.alliance-power-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.alliance-rank-member{display:flex;align-items:center;gap:10px;min-width:0}.alliance-rank-member span{min-width:0;overflow-wrap:anywhere}
.alliance-rank-member img{height:36px;width:36px;object-fit:contain;flex-shrink:0}
.combined-section{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.combined-section:first-child{border-top:0}
.combined-section h4{margin:0;font-size:12px;font-weight:600;color:var(--ink)}
.combined-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.squad-card .squad-status{display:flex;align-items:center;gap:8px}.squad-card .squad-status .game-icon{height:24px;width:24px;object-fit:contain;flex-shrink:0}
.training-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.training-totals span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.training-totals strong{display:block;font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.training-capacity{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:12px}.training-capacity strong{font-weight:500;color:var(--ink)}
@media(max-width:500px){.alliance-power-table .rank-number{width:25px}.alliance-power-table .rank-power{width:58px}.alliance-power-table .rank-online{width:84px}.alliance-rank-member{gap:6px}.alliance-rank-member img{height:28px;width:28px}.training-totals{grid-template-columns:1fr;gap:5px}.training-totals>div{display:flex;justify-content:space-between;gap:0 12px;align-items:center;flex-wrap:wrap}.training-totals strong{font-size:18px}.training-totals .tt-levels{flex-basis:100%}}
@media(max-width:360px){.alliance-rank-member{flex-direction:column;align-items:flex-start}.alliance-power-table .rank-number{width:20px}.alliance-power-table .rank-power{width:46px}.alliance-power-table .rank-online{width:70px}}
@media(pointer:coarse){.ranking-refresh{min-height:44px;min-width:44px}}
.alliance-applicant-list{list-style:none;margin:0;padding:0}
.alliance-applicant{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.alliance-applicant:last-child{border-bottom:0}
.alliance-applicant-info{min-width:0;overflow-wrap:anywhere;color:var(--ink)}
.alliance-applicant-info>small{color:var(--muted);margin-left:6px;font-size:11px}
.alliance-applicant-details{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;margin-top:6px;color:var(--muted)}
.alliance-applicant-details b{color:var(--ink);font-weight:400}
.alliance-applicant-message{margin:8px 0 0;white-space:pre-wrap}
.alliance-applicant-actions{display:flex;gap:7px}
.alliance-join-search{display:flex;gap:7px;margin-bottom:8px}.alliance-join-search input{flex:1;min-width:0}
.alliance-join-terms{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;margin-top:6px;color:var(--muted)}
.alliance-join-recruit.open,.alliance-join-term.met{color:var(--green)}.alliance-join-term.unmet{color:var(--red)}
.alliance-join .inline-error{display:block;margin:6px 0 0}.mrow-detail .alliance-join-locked{color:var(--red);margin:0 0 8px}
.alliance-join-heading{margin:10px 0 0;font-size:12px;font-weight:600;color:var(--muted)}
.alliance-join-more{display:flex;justify-content:center;padding-top:8px}
@media(max-width:600px){.alliance-join-search .button{min-height:44px}}
@media(max-width:600px){.alliance-applicant{grid-template-columns:1fr;gap:12px}.alliance-applicant-actions{justify-content:flex-end}.alliance-applicant-actions .button{min-height:44px}}
.sidebar{overflow-y:auto}
.brand{margin-bottom:34px}
.topbar-right{display:flex;align-items:center;gap:22px}
.topbar .refresh-note{padding:0;letter-spacing:0}
.view{animation:fade .12s ease-out}
@keyframes fade{from{opacity:.4}to{opacity:1}}
.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.chicken-line{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.chicken-line strong{font-size:inherit}
.resource-grid.mini{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:10px 0 8px}
.resource-grid.mini .resource-item strong{font-size:17px;line-height:1.3;letter-spacing:-.3px}
.resource-grid.mini .resource-item span{font-size:10px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.grid2-equal{align-items:stretch}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}
.panel+.panel{margin-top:0}
.view>.panel,.view>.grid2+.panel,.squad-grid+.capability-note+.panel{margin-top:0}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #eff1ea;background:#fcfdfa}
.panel-head h3{font-size:15px}
.panel-head small{font-size:10px;color:var(--muted);text-align:right}
.panel-body{padding:14px 18px;display:grid;gap:12px}
.rows{display:block}
.mrow{border-bottom:1px solid #eff1ea}
.mrow:last-child{border-bottom:0}
.mrow.open{background:#f7f9f3}
.mrow-head{display:grid;grid-template-columns:1fr 44px 28px;align-items:center;padding-right:8px}
.mrow-btn{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:26px 200px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 10px 11px 16px;min-width:0;font-size:12.5px}
.mrow-btn:focus-visible{outline:3px solid #b1c691;outline-offset:-3px}
.mrow-btn:hover .nm{text-decoration:underline;text-decoration-color:#c7d0bc}
.mrow .ic{font-size:15px;text-align:center;color:#879864;display:grid;place-items:center}
.mrow .ic .res-icon{width:18px;height:18px}
.mrow .nm{font-weight:600}
#rows-events .nm.event-active{color:var(--green)}
#rows-events .nm.event-inactive{color:#808080}
.mrow .st{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow .st.ok{color:#4d7a45}
.mrow .st.err{color:var(--red)}
.mrow .st.lock-st{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;white-space:normal}.lock-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:5px;background:#f0f2e9;color:#6c7765;font-size:10.5px;font-weight:600;white-space:nowrap}.lock-needs{color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.mrow.locked .ic{filter:grayscale(1);opacity:.6}.mrow.locked .nm{color:#6c7765}
.lock-block{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;line-height:1.5}.lock-block .lock-needs{font-size:12px}
.mrow .nx{font-size:11px;color:#6d7d64;text-align:right;white-space:nowrap}
.mrow .chev{border:0;background:none;color:#9aa58f;font-size:12px;padding:6px;cursor:pointer}
.mrow .switch-label{justify-self:center}
.mrow-detail{padding:2px 20px 14px 52px;font-size:12px;color:var(--muted);display:grid;gap:8px}
.mrow-detail p{font-size:12px;color:var(--muted)}
.detail-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.detail-foot small{font-size:11px}
.rc-bar{display:grid;gap:8px;margin:10px 0 6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--pale)}
.rc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.rc-head b{font-weight:600}
.rc-held{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-variant-numeric:tabular-nums}.rc-held .game-icon,.rc-cost .game-icon{width:20px;height:20px;margin:0}
.rc-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.rc-controls input{width:80px;text-align:center;font-variant-numeric:tabular-nums}
.rc-quick{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto}.rc-go{margin-left:auto;gap:8px;white-space:nowrap}
.rc-cost{display:inline-flex;align-items:center;gap:3px;font-weight:600;opacity:.95}
@media(max-width:480px){.rc-go{margin-left:0;width:100%;justify-content:center}}
.inline-form{display:flex;gap:8px;align-items:center;font-size:11px}
.inline-form input{width:56px;padding:5px;border:1px solid var(--line);border-radius:4px;background:var(--bg)}
.kv{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.kv li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #e6eadf;padding:3px 0;color:var(--ink)}
.kv li:last-child{border-bottom:0}
.arena-list li{grid-template-columns:1fr 1fr auto}
.arena-list .lost{color:var(--red)}
/* half-width panels: status goes under the name */
.grid2 .mrow-btn{grid-template-columns:26px minmax(0,1fr) auto;row-gap:2px}
.grid2 .mrow-btn .ic{grid-row:1/3}.grid2 .mrow-btn .nx{grid-row:1/3;grid-column:3}
.grid2 .mrow-btn .nm{grid-column:2;grid-row:1}.grid2 .mrow-btn .st{grid-column:2;grid-row:2;white-space:normal}
/* squads: 3 per row */
.squad-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.squad-card{padding:16px}
.squad-card .card-heading{margin-bottom:10px}
/* governor */
#governor-card .governor-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.gov-tile{padding:10px 12px;gap:3px}
/* overview */
.timeline,.attention{display:grid}
.tl-row{display:grid;grid-template-columns:78px 130px minmax(0,1fr);gap:10px;padding:9px 18px;border-bottom:1px solid #eff1ea;font-size:12px;align-items:baseline}
.tl-row time{font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
.tl-what{color:#51634a}.tl-detail{color:var(--muted)}
.att-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid #eff1ea;font-size:12px}
.tl-row:hover,.att-row:hover{background:#f7f9f3}
.tl-row:last-child,.att-row:last-child{border-bottom:0}
.att-text{user-select:text;-webkit-user-select:text;cursor:text;overflow-wrap:anywhere}
.att-tag{font-size:10px;font-weight:600;border-radius:5px;padding:3px 8px;white-space:nowrap;background:#f0f2e9;color:#6c7a62;text-decoration:none;flex-shrink:0}
.att-tag:hover{filter:brightness(.95)}
.att-tag.left-for-you,.att-tag.review,.att-tag.connection{background:#fcece6;color:var(--red)}
.att-tag.tell-me{background:#faf0d9;color:#977834}
.att-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.att-dismiss{border:0;background:none;color:var(--muted);font-size:16px;line-height:1;width:24px;height:24px;border-radius:5px;cursor:pointer;padding:0}
.att-dismiss:hover{background:#eff1ea;color:var(--ink)}
/* bear */
.bear-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:16px 18px;border-bottom:1px solid #eff1ea}
.bear-summary .eyebrow{display:block;margin-bottom:3px}
.bear-summary strong{display:block;font-size:14px}
.bear-summary small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.bear-settings{display:grid;gap:8px;font-size:12px;color:var(--muted)}
.bear-card .button{justify-self:start}
/* activity */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.chip{border:1px solid var(--line);background:#fff;border-radius:14px;padding:4px 11px;font-size:11px;color:var(--ink)}
.chip.on{background:var(--green);border-color:var(--green);color:#fff}
.activity-item{grid-template-columns:86px 110px minmax(0,1fr)}
.activity-item time{text-align:left;font-size:11px;color:#6f7d68;font-variant-numeric:tabular-nums}
.activity-item>b{font-size:11px;font-weight:600}
.activity-item.problem p{color:var(--red)}
@media(max-width:1300px){.squad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.grid2{grid-template-columns:1fr}.mrow-btn{grid-template-columns:26px 150px minmax(0,1fr) auto}.bear-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#governor-card .governor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .sidebar{position:sticky;top:0;z-index:20;flex-direction:column;align-items:stretch;padding:10px 12px 6px;gap:6px}
 .brand{margin:0}
 nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
 nav::-webkit-scrollbar{display:none}
 nav .nav-label{display:none}
 nav a{font-size:11px;padding:6px 9px;gap:5px;white-space:nowrap;flex:none}
 nav a span{font-size:14px;width:auto}
 nav a.selected{border:0;padding:6px 9px}
 nav b{display:inline}
 .topbar-right .refresh-note{display:none}
 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .squad-grid{grid-template-columns:1fr}
 .mrow-btn{grid-template-columns:22px minmax(0,1fr) auto;row-gap:2px;padding-left:10px}
 .mrow-btn .ic{grid-row:1/3}.mrow-btn .nx{grid-row:1/3;grid-column:3}
 .mrow-btn .nm{grid-column:2;grid-row:1}.mrow-btn .st{grid-column:2;grid-row:2;white-space:normal}
 .mrow-detail{padding:2px 14px 12px 14px}
 .tl-row{grid-template-columns:62px minmax(0,1fr);padding:8px 12px}.tl-detail{grid-column:2}
 .att-row{padding:9px 12px}
 .bear-summary{grid-template-columns:1fr}
 #governor-card .governor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .activity-item{grid-template-columns:62px minmax(0,1fr)}.activity-item>b{display:none}
 .panel-head small{display:none}
}
.view{display:grid;gap:18px}
.view>.section-heading,.view>.page-heading{margin-bottom:0}
.view .capability-note{margin:0}
.view .account-panel+.stat-grid{margin:0}
.stat-card .reward-lines strong{font-size:28px}
.stat-card .reward-lines{gap:4px 16px}
.arena-list{max-width:520px}
.tl-row{grid-template-columns:108px 130px minmax(0,1fr)}.activity-item{grid-template-columns:108px 110px minmax(0,1fr)}@media(max-width:760px){.tl-row{grid-template-columns:84px minmax(0,1fr)}.activity-item{grid-template-columns:84px minmax(0,1fr)}}
.tile-line{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #eff1ea;padding-top:9px;margin-top:9px;font-size:12px;color:var(--muted)}
.tile-line b{font-size:17px;font-weight:600;color:var(--ink);margin-right:3px}
.tile-line small{display:inline!important;font-size:11px;color:#929b8d;margin-left:4px}
.tile-line.control-line small{display:block!important;margin:2px 0 0}
.tile-line .button.small{padding:5px 14px}
.stat-card .reward-lines{margin-bottom:0}
.stat-card{display:flex;flex-direction:column}
.stat-card>.push{margin-top:auto}
.account-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
.account-metrics>div{min-width:0}
.account-metrics .stat-label{justify-content:flex-start;gap:5px;min-height:20px}
.account-metrics .stat-label b{display:inline;flex:none}
.account-metrics .stat-label .diamond-icon{font-size:14px;color:#527e89}
.account-metrics .stat-value{display:flex;align-items:baseline;gap:5px}
.account-metrics .stat-unit{display:inline;margin:0;white-space:nowrap}
.account-metrics strong{font-variant-numeric:tabular-nums}
@media(max-width:760px){.account-metrics .stat-label{gap:3px;letter-spacing:.4px}.account-metrics .stat-label b{font-size:14px}.account-metrics .stat-label .diamond-icon{font-size:10px}.account-metrics strong{font-size:20px}}
.reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:4px 10px;margin:6px 0 10px}
.reward-grid strong{display:block;font-size:24px!important;line-height:1.3!important;letter-spacing:-.6px}
.reward-grid span{display:block;font-size:10px;color:#919b8d}
#squad-mix{color:var(--ink)}
.tile-line>span{min-width:0}
.resource-grid.mini{gap:6px 16px;margin:8px 0 0}
.resource-grid.mini .resource-item strong{font-size:22px;line-height:1.25;letter-spacing:-.5px}
.resource-grid.mini .resource-item strong.red{color:#b23b2a}
.resource-grid.mini .resource-item strong.orange{color:#c77a12}
.resource-grid.mini .gap{display:block;font-size:10.5px;color:var(--ink);margin:0}
@media(max-width:760px){.resource-grid.mini .resource-item strong{font-size:17px}.resource-grid.mini{gap:6px 8px}}
.inline-form input.wide{width:104px}
.meter-line{display:flex;align-items:center;gap:12px}.meter-line strong{font-size:22px;min-width:52px}
.meter-line strong.red{color:#b23b2a}.meter-line strong.orange{color:#c77a12}
.meter{flex:1;height:10px;background:#eef1e8;border-radius:6px;position:relative}
.meter i{display:block;height:100%;border-radius:6px;background:var(--green)}
.meter.warn i{background:#c77a12}.meter.full i{background:#b23b2a}
.meter b{position:absolute;top:-3px;bottom:-3px;width:2px;background:#23372f}
.meter i.w0{width:0%}.meter i.w5{width:5%}.meter i.w10{width:10%}.meter i.w15{width:15%}.meter i.w20{width:20%}.meter i.w25{width:25%}.meter i.w30{width:30%}.meter i.w35{width:35%}.meter i.w40{width:40%}.meter i.w45{width:45%}.meter i.w50{width:50%}.meter i.w55{width:55%}.meter i.w60{width:60%}.meter i.w65{width:65%}.meter i.w70{width:70%}.meter i.w75{width:75%}.meter i.w80{width:80%}.meter i.w85{width:85%}.meter i.w90{width:90%}.meter i.w95{width:95%}.meter i.w100{width:100%}
.meter b.at0{left:0%}.meter b.at5{left:5%}.meter b.at10{left:10%}.meter b.at15{left:15%}.meter b.at20{left:20%}.meter b.at25{left:25%}.meter b.at30{left:30%}.meter b.at35{left:35%}.meter b.at40{left:40%}.meter b.at45{left:45%}.meter b.at50{left:50%}.meter b.at55{left:55%}.meter b.at60{left:60%}.meter b.at65{left:65%}.meter b.at70{left:70%}.meter b.at75{left:75%}.meter b.at80{left:80%}.meter b.at85{left:85%}.meter b.at90{left:90%}.meter b.at95{left:95%}.meter b.at100{left:100%}
.kv.sites li span:last-child{color:var(--muted)}
.rally{padding:12px 18px;border-bottom:1px solid #eff1ea;display:grid;gap:6px}.rally:last-child{border-bottom:0}
.rally.mine{background:#f4f8ee}
.rally-head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}.rally-head span{font-size:12px;color:var(--muted)}
.rally-head .rally-time{margin-left:auto;color:var(--ink);font-weight:600}
.rally .kv{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:4px 16px}
.rally .kv li{border:0;display:grid;grid-template-columns:auto;gap:0}.rally .kv li span:first-child{font-size:10px;color:var(--muted)}
.rally .members{font-size:12px;color:var(--muted);margin:0}
@media(max-width:760px){.rally .kv{grid-template-columns:repeat(2,minmax(0,1fr))}.rally-head .rally-time{margin-left:0}}
.rally .members b{color:var(--ink);font-weight:600}.rally .members small{font-size:10px}
#bear-rallies .kv{grid-template-columns:repeat(2,minmax(0,1fr))}
.bear-members{display:grid;gap:5px;font-size:12px}.bear-members>b{font-weight:600}
.bear-joiners{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px 12px}
.bear-joiners li{display:grid;gap:2px;padding:6px 8px;border-radius:5px;background:#f4f6f0;overflow-wrap:anywhere}
.bear-joiners small{color:var(--muted);font-size:11px}
.bear-score{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:14px}.bear-score small{width:100%;color:var(--muted)}
.bear-rank-wrap{overflow-x:auto}.bear-rank{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
.bear-rank th,.bear-rank td{padding:9px 12px;border-bottom:1px solid #eff1ea}.bear-rank th{color:var(--muted);font-weight:600}
.bear-rank th:last-child,.bear-rank td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bear-rank .mine{background:#f4f8ee}


.merchant-form{flex-wrap:wrap;margin:8px 0;padding:8px;border:1px dashed var(--line);border-radius:6px}.merchant-form select{padding:4px;border:1px solid var(--line);border-radius:4px;background:var(--bg);font-size:11px}

.wide-panel{grid-column:1/-1}.reward-list{list-style:none;margin:0;padding:0 20px 12px;max-height:520px;overflow:auto}.reward-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 0;border-bottom:1px solid #eff1ea;font-size:12px}.reward-list li:last-child{border-bottom:0}.rl-time{color:var(--muted);font-size:10px;min-width:86px}.rl-what{flex:1;min-width:160px}
.login-body{min-height:100vh;display:grid;place-items:center;background:var(--dark);padding:20px}.login-card{background:var(--paper);border-radius:14px;padding:32px;width:min(360px,100%);box-shadow:0 20px 80px #0004}.login-brand{color:var(--ink);margin-bottom:26px}.login-brand small{color:var(--muted)}#login-form{display:flex;flex-direction:column;gap:10px}#login-form label{font-size:11px;font-weight:600}#login-form input{border:1px solid #d8dfcf;border-radius:6px;padding:10px;background:#fafbf7;color:var(--ink);font-size:14px}#login-form .button{margin-top:6px}.sign-out{background:transparent;border:1px solid var(--line);color:#6f7c6c;letter-spacing:0;border-radius:6px;padding:6px 10px;font-size:11px}.sign-out:hover{background:#eef1e8}@media(max-width:760px){.sign-out{font-size:9px;padding:4px 8px}}
.module-log{margin-top:16px}.module-log .activity-list{border:0;border-radius:0}.activity-item.no-module{grid-template-columns:86px minmax(0,1fr)}@media(max-width:760px){.activity-item.no-module{grid-template-columns:62px minmax(0,1fr)}}
.module-log .panel-head small a{text-decoration:underline;color:var(--green)}

/* Chat */
.view[data-view="chat"]{grid-template-columns:minmax(0,1fr)}
.chat-layout{display:grid;grid-template-columns:minmax(275px,360px) minmax(0,1fr);gap:16px;width:100%;min-width:0;height:clamp(620px,calc(100dvh - 240px),1050px);min-height:620px}
.chat-layout .panel{min-height:0;box-shadow:0 8px 30px #23372f0a}
.chat-rail,.chat-main{display:flex;flex-direction:column}
.chat-layout .panel-head{padding:17px 20px;background:#fff;min-height:69px}
.chat-layout .panel-head h3{font-size:16px}
.chat-layout .panel-head small{display:block;text-align:left;margin-top:2px}
.chat-main .panel-head>div{min-width:0}
.chat-main .panel-head h3,.chat-main .panel-head small{overflow-wrap:anywhere}
.chat-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:13px 14px;border-bottom:1px solid var(--line);background:#fbfcf8}
.chat-tab{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 13px;font-size:12px;color:#53675a;font-weight:600}
.chat-tab:hover{background:#f4f7f0}
.chat-tab.selected{background:var(--green);border-color:var(--green);color:#fff}
.chat-tab-unread{display:inline-block;width:8px;height:8px;margin-left:5px;border-radius:50%;background:#c95647;vertical-align:middle}
.chat-tab.selected .chat-tab-unread{background:#f2b2a2}
.chat-list{min-height:0;overflow:auto;flex:1;background:#fff}
.chat-item{width:100%;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:0;border-bottom:1px solid #edf0e9;background:#fff;text-align:left;color:var(--ink)}
.chat-item:hover{background:#f7f9f4}
.chat-item.selected{background:#edf4eb;box-shadow:inset 3px 0 var(--green)}
.chat-avatar{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:11px;background:#eaf1e8;color:var(--green);font-size:15px;font-weight:700}
.chat-item.selected .chat-avatar{background:#d6e7d6}
.chat-item-body{flex:1;min-width:0}
.chat-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.chat-item-name{min-width:0;font-size:13px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-item-meta{display:flex;align-items:center;gap:7px;flex:none}
.chat-item-time{flex:none;font-size:10px;color:#859186;font-weight:400}
.chat-item-unread{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:#c95647;box-shadow:0 0 0 3px #c956471c}
.chat-preview{display:block;margin-top:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#829084;font-size:11px}
.chat-status{font-size:11px;color:#68806d;background:#eef4e9;border-radius:20px;padding:5px 10px;white-space:nowrap}
.chat-status.offline{color:#986a42;background:#fff1e1}
.chat-thread{width:100%;min-width:0;min-height:0;flex:1;overflow:auto;padding:25px clamp(16px,3vw,42px);display:flex;flex-direction:column;gap:18px;background:#f7f8f4;scrollbar-gutter:stable}
.chat-thread .empty-state{margin:auto}
.chat-msg{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:9px;justify-items:start;align-items:start;width:min(78%,680px);min-width:0;max-width:100%;font-size:13px}
.chat-msg.mine{align-self:flex-end;grid-template-columns:minmax(0,1fr) 36px;justify-items:end}
.chat-msg>.chat-nick,.chat-msg>.chat-bubble,.chat-msg>.chat-time{grid-column:2;min-width:0}
.chat-msg.mine>.chat-nick,.chat-msg.mine>.chat-bubble,.chat-msg.mine>.chat-time{grid-column:1}
.chat-sender-avatar{position:relative;grid-column:1;grid-row:1/span 3;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;overflow:hidden;background:#e3ece1;color:var(--green);font-size:15px;font-weight:650}
.chat-msg.mine>.chat-sender-avatar{grid-column:2}
.chat-sender-avatar .player-avatar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;border-radius:inherit}
.chat-nick{max-width:100%;font-size:11px;font-weight:650;color:#54715a;margin:0 0 5px 4px;overflow-wrap:anywhere;word-break:break-word}
.chat-nick small{color:var(--muted);font-weight:400}
.chat-msg.mine .chat-nick{margin-right:4px}
.chat-bubble{width:max-content;min-width:0;max-width:100%;padding:11px 14px;background:#fff;border:1px solid #e5ebe1;border-radius:4px 14px 14px 14px;box-shadow:0 2px 7px #20392b08;overflow-wrap:anywhere;word-break:break-word}
.chat-msg.mine .chat-bubble{background:#e5f0e3;border-color:#d4e5d0;border-radius:14px 4px 14px 14px}
.chat-bubble p{min-width:0;max-width:100%;margin:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.55}
.chat-bubble p.chat-tr{color:#667b69;border-top:1px solid #dce6da;padding-top:8px;margin-top:8px}
.chat-special{display:flex;align-items:flex-start;gap:10px;min-width:0;max-width:100%;padding:3px 2px;color:#334d3e}
.chat-special-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:#e6f1e5;color:#37654b;font-size:18px}
.chat-special-body{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.chat-special-body strong{font-size:12px;line-height:1.3}
.chat-special-body small{font-size:11px;color:#718474;line-height:1.4}
.chat-special-text .chat-special-body small{font-size:13px;color:var(--ink);line-height:1.55;white-space:pre-wrap}
.chat-special-icon img{width:30px;height:30px;object-fit:contain}
.chat-msg.chat-msg-system{display:flex;flex-direction:column;align-self:center;align-items:center;width:min(100%,780px);max-width:100%}
.chat-msg-system .chat-bubble{width:100%;max-width:100%;background:#edf0e8;border-color:#e1e6da;border-radius:10px;box-shadow:none}
.chat-msg-system .chat-special{justify-content:center}.chat-msg-system .chat-special-body{align-items:center;text-align:center}
.chat-msg-system .chat-time{text-align:center}
.chat-special-rally .chat-special-icon{background:#f8ebd2;color:#9b6a25}
.chat-special-withdrawn{color:#869389;font-style:italic}
.chat-special-withdrawn .chat-special-icon{background:#f1f2ed;color:#88948b}
.chat-special+p{border-top:1px solid #e4eae1;margin-top:10px;padding-top:9px}
.chat-expressions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;min-width:0;max-width:100%}
.chat-expression{display:flex;flex-direction:column;align-items:center;flex:none;min-width:0;max-width:100%;margin:0}
.chat-expression img{display:block;width:56px;height:56px;max-width:100%;object-fit:contain}
.chat-expression-preview{width:112px}
.chat-expression-preview img{width:112px;height:112px}
.chat-expression figcaption{max-width:100%;margin-top:4px;color:#718474;font-size:10px;text-align:center;overflow-wrap:anywhere}
.chat-time{font-size:10px;color:#98a398;margin-top:5px;margin-left:4px}
.chat-load-more{align-self:center;background:none;border:1px solid #d8e2d5;color:#54715a;border-radius:14px;padding:6px 16px;font-size:12px;cursor:pointer}
.chat-load-more:hover{background:#eef5ec}
.chat-load-more:disabled{opacity:.55;cursor:default}
.chat-compose{display:flex;gap:10px;align-items:flex-end;padding:14px 18px 4px;border-top:1px solid var(--line);background:#fff}
.chat-compose-input{position:relative;flex:1;min-width:0}
.chat-compose-input textarea.wide{display:block;width:100%;box-sizing:border-box}
.chat-mention-picker{position:absolute;bottom:calc(100% + 8px);left:0;right:0;max-height:240px;overflow:auto;overscroll-behavior:contain;z-index:10;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 8px 28px #20392c26}
.chat-mention-picker[hidden]{display:none}
.chat-mention-picker button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;width:100%;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.chat-mention-picker button[aria-selected="true"],.chat-mention-picker button:hover{background:#edf4e9}
.chat-mention-picker small,.chat-mention-note{font-size:11px;color:var(--muted)}
.chat-mention-note{padding:7px 10px}
.chat-compose textarea.wide{flex:1;min-width:0;max-height:140px;resize:vertical;border:1px solid #d8e2d5;border-radius:9px;padding:10px 12px;background:#fbfcf9;color:var(--ink);outline:none}
.chat-compose textarea.wide:focus{border-color:#8daa8b;box-shadow:0 0 0 3px #dcebdc}
.chat-compose .button{height:42px}
.chat-compose-hint{padding:0 18px 13px;color:#9ba69b;background:#fff;font-size:10px}
@media(max-width:850px){.chat-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:650px){.chat-layout{display:flex;flex-direction:column;height:auto;min-height:0}.chat-rail{height:270px;flex:none}.chat-main{width:100%;height:70dvh;min-width:0;min-height:490px}.chat-msg{width:90%;max-width:90%}.chat-thread{padding:18px}.chat-compose-hint{display:none}}
.fish-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fish-tab{background:#f7f8f3;border:1px solid var(--line);border-radius:8px;padding:9px 11px;display:grid;gap:2px;min-width:0}.fish-tab b{font-size:11px;color:var(--ink);font-weight:600}.fish-tab span{font-size:16px;font-weight:600;color:var(--ink)}.fish-tab small{font-size:10px;color:#7f8b77;overflow-wrap:anywhere}.fish-skips{font-size:11px;color:#7f8b77}.fish-skips summary{cursor:pointer}.fish-skips ul{margin:4px 0 0;padding-left:16px;font-size:10px}.fish-detail{display:grid;gap:10px}.fish-detail .cf-stats{margin:0}.fish-line{margin:0;display:grid;gap:2px;font-size:12px}.fish-line b{font-weight:600;color:var(--ink);white-space:pre-wrap}.fish-section{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#f7f8f3;display:grid;gap:4px;min-width:0}.fish-section .ao-progress-label{margin:6px 0 3px}.fish-detail .fish-section progress.ao-progress{margin:0;width:100%;display:block}.fish-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.fish-head h4{margin:0;font-size:12px;font-weight:600;color:var(--ink)}.fish-play{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--line)}.fish-head+.fish-play{border-top:0}.fish-play>div{display:grid;gap:2px;min-width:0;flex:1 1 200px}.fish-play b{font-size:12px;font-weight:600;color:var(--ink)}.fish-play .inline-form{flex-wrap:wrap;justify-content:flex-end}.fish-detail .err-text{color:var(--red)}.fish-settings{flex-wrap:wrap}@media(max-width:480px){.fish-detail .cf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fish-play .inline-form{justify-content:flex-start}}@media(max-width:760px){.fish-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ocean-box{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#f7f8f3}.ocean-box>div{display:grid;gap:3px;min-width:0;flex:1 1 260px}.ocean-box b{font-size:12px;color:var(--ink);font-weight:600}.checkbox-inline{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.checkbox-inline input{accent-color:var(--green)}
.inline-form .checkbox-inline input{width:auto;min-width:0;height:auto;padding:0;margin:0;flex:none}.inline-form .checkbox-inline{white-space:nowrap}

.mobilization-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:12px 0}.mobilization-choice{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;border:0}.mobilization-choice legend{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0}.mobilization-choice .mobilization-cap{gap:6px;font-size:.9em;cursor:default}.mobilization-cap input{width:4.5em;padding:2px 6px}.mobilization-choice label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.mobilization-amounts{display:flex;flex-wrap:wrap;gap:4px 12px;padding-left:24px}.mobilization-choice .mobilization-amount{gap:5px;font-size:.9em}.mobilization-choice input[type="checkbox"]{width:16px;height:16px;min-width:16px;padding:0;margin:0;flex:none;accent-color:var(--green);cursor:pointer}.mobilization-missions li{gap:16px;align-items:flex-start}

.mobilization-group{margin-top:16px}.mobilization-group h3{font-size:13px;margin:0 0 6px}.mobilization-missions li>span:last-child{text-align:right;flex-shrink:0;max-width:45%;overflow-wrap:anywhere}

.mobilization-mission-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.mobilization-mission-actions .button{flex-shrink:0}

/* Reviewed Sanctuary/Fortress rewards. */
.sanctuary-detail{grid-template-columns:minmax(0,1fr);min-width:0;gap:12px}
.sanctuary-buildings{display:grid;min-width:0}
.sanctuary-building{min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}
.sanctuary-building:first-child{padding-top:0}.sanctuary-building:last-child{border-bottom:0;padding-bottom:0}
.sanctuary-building-head,.sanctuary-building-state,.sanctuary-squad-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}
.sanctuary-building h3{font-size:14px;letter-spacing:0;color:var(--ink);margin:0}
.sanctuary-building-head small,.sanctuary-building-state strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.sanctuary-building-state{margin-top:2px}.sanctuary-building-state span{min-width:0}.sanctuary-building-state strong{font-size:12px;color:var(--ink)}
.sanctuary-settings{border-top:1px solid var(--line);padding-top:12px;min-width:0}
.sanctuary-fields,.sanctuary-ratio{display:grid;gap:10px}
.sanctuary-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.sanctuary-fields label{justify-content:flex-end}
.sanctuary-ratio{grid-template-columns:repeat(3,minmax(0,1fr))}
.sanctuary-settings label{display:flex;flex-direction:column;gap:5px;min-width:0}
.sanctuary-settings input,.sanctuary-settings select{width:100%;min-width:0;max-width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}
.sanctuary-balance{display:flex;height:4px;margin-top:8px;border-radius:2px;overflow:hidden;background:var(--line)}
.sanctuary-balance span:nth-child(1){background:var(--green)}.sanctuary-balance span:nth-child(2){background:var(--gold)}.sanctuary-balance span:nth-child(3){background:var(--muted)}
.sanctuary-save{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}
.sanctuary-invalid{color:var(--red)}
.sanctuary-squads{border-top:1px solid var(--line);padding-top:10px;min-width:0}
.sanctuary-squads summary{cursor:pointer;color:var(--ink)}
.sanctuary-squads ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.sanctuary-heroes{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:4px;color:var(--ink)}
.sanctuary-heroes .game-icon{width:24px;height:24px}.sanctuary-hint{color:var(--muted)}
@media(max-width:600px){.sanctuary-ratio{gap:6px}.sanctuary-settings input,.sanctuary-settings select{font-size:16px}.sanctuary-building-state{flex-wrap:wrap}.sanctuary-hint{font-size:11px}}

/* Unallocated rewards stay visible in both collapsed and expanded cards. */
#rows-events .mrow.rewards-pending{background:#fff3f0;border-left:4px solid var(--red)}
#rows-events .mrow.rewards-pending .nm,#rows-events .mrow.rewards-pending .ic{color:var(--red)}
#rows-events .mrow.rewards-pending .st{color:var(--red)}
/* Development (3 Oct) */
#growth-offices{margin-bottom:16px}.growth-grid{margin-bottom:16px}#growth-tree{margin-bottom:16px}
.office-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.warn-text{color:#977834}
.growth-list{list-style:none;margin:0;padding:0}.growth-list li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #eff1ea;font-size:12px}.growth-list strong{font-weight:600;font-variant-numeric:tabular-nums}
.research-head{font-size:12px;margin-top:4px}.research-queue{margin:0;padding-left:20px;display:grid;gap:4px;font-size:12px}.research-queue li{padding:3px 0;border-bottom:1px solid #eff1ea}.research-queue li>span:first-child{overflow-wrap:anywhere}.research-queue li{display:list-item}.research-queue .rq-actions{float:right;display:inline-flex;gap:4px}.research-queue .icon-button{font-size:15px;color:var(--muted)}
.tech-tree{display:grid;gap:8px;max-height:640px;overflow:auto;padding:2px}.tech-rank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.tech-card{flex:1 1 180px;max-width:260px;text-align:left;border:1px solid var(--line);border-radius:8px;background:#fafbf7;padding:8px 10px;display:flex;flex-direction:column;gap:2px;color:var(--ink)}.tech-card:hover:not(:disabled){border-color:#b9cf9f;background:#f1f6ea}.tech-card b{font-size:12px}.tech-card small{font-size:10px;color:var(--muted)}.tech-card.done{opacity:.55}.tech-card.queued{border-color:#dbb66e}.tech-card:disabled{cursor:default}
@media(max-width:760px){.office-grid{grid-template-columns:1fr}.tech-card{flex-basis:100%;max-width:none}}
.tech-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.tech-top small{white-space:nowrap}.tech-desc{color:#6f7d68!important}.tech-effect{font-size:13px;font-weight:650;color:var(--green);font-variant-numeric:tabular-nums}.tech-card.done .tech-effect{color:var(--muted)}

/* Research card v2 */
.rs-body{gap:14px}.rs-note{font-size:12px;color:var(--muted);background:#f7f8f3;border-radius:6px;padding:8px 11px}.rs-note.warn{color:#977834;background:#faf0d9}
.rs-now{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#fafbf7}.rs-now.idle{color:var(--muted);font-size:12px;text-align:center}
.rs-now-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.rs-now-top b{font-size:15px}.rs-lv{font-size:11px;color:var(--muted);white-space:nowrap}
.rs-bar{display:block;width:100%;height:6px;border:0;border-radius:4px;background:#e6ebe0;margin:10px 0 7px;overflow:hidden;-webkit-appearance:none;appearance:none}.rs-bar::-webkit-progress-bar{background:#e6ebe0;border-radius:4px}.rs-bar::-webkit-progress-value{background:var(--green);border-radius:4px}.rs-bar::-moz-progress-bar{background:var(--green);border-radius:4px}
.rs-now-foot{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.rs-now-foot span:first-child{color:var(--ink);font-weight:600}
.rs-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rs-facts div{border:1px solid var(--line);border-radius:8px;padding:9px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.rs-facts span{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#8d987e}.rs-facts b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.rs-qhead{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;margin-top:2px}.rs-qhead span{color:var(--muted);font-size:11px}
.rs-queue{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.rs-queue li{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #eff1ea;font-size:12px}.rs-queue li:last-child{border-bottom:0}
.rs-n{width:20px;height:20px;border-radius:50%;background:#eef2e4;color:#5d7350;font-size:10px;display:grid;place-items:center;font-weight:600}.rs-name small{display:block;color:#977834;font-size:10px}.rs-queue li.blocked .rs-n{background:#faf0d9;color:#977834}
.rs-t{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.rs-queue .rq-actions{display:inline-flex;gap:2px}.rs-queue .icon-button{font-size:14px;color:var(--muted);padding:2px 4px}
.rs-empty{font-size:12px;color:var(--muted);border:1px dashed #dce2d1;border-radius:8px;padding:12px;text-align:center;margin:0}
.rs-queue li.rs-autopick{grid-template-columns:32px minmax(0,1fr) auto;background:var(--bg)}.rs-autopick .rs-n{width:auto;min-width:28px;padding:0 3px;border:1px dashed var(--line);border-radius:5px;background:transparent;color:var(--muted)}
#growth-research .rs-body>*{min-width:0}#growth-research .rs-name{min-width:0;overflow-wrap:anywhere}#growth-research .rs-queue li{border-color:var(--line)}
@media(max-width:520px){#growth-research .rs-queue li:not(.rs-autopick){grid-template-columns:20px minmax(0,1fr) auto;row-gap:2px}#growth-research .rs-queue li:not(.rs-autopick)>.rs-n,#growth-research .rs-queue li:not(.rs-autopick)>.rs-name{grid-row:1/3}#growth-research .rs-queue li:not(.rs-autopick)>.rs-t{grid-column:3;grid-row:1;justify-self:end}#growth-research .rq-actions{grid-column:3;grid-row:2;justify-self:end}}
.rs-facts>div:only-child{grid-column:1/-1}
@media(max-width:520px){.rs-facts{grid-template-columns:1fr}}
/* Construction (#city-building): compact — one stats line, builder rows, a single build order list (targets then auto picks). */
#city-building .rs-body>*{min-width:0}.bq-body{gap:8px}
.bq-stats{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:11px;color:var(--muted)}.bq-stats b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.bq-builders{display:grid;gap:4px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fafbf7}
.bq-row{display:grid;grid-template-columns:minmax(84px,max-content) minmax(40px,1fr) auto auto;align-items:center;gap:10px;font-size:12px;min-height:26px}.bq-name{color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bq-idle{color:var(--muted)}.bq-row.idle{grid-template-columns:minmax(84px,max-content) minmax(0,1fr)}.bq-row.idle .bq-name{color:var(--muted);font-weight:400}.bq-speed.button.small{padding:3px 9px}
#city-building .rs-qhead{margin-top:4px}
.bq-queue li{padding:4px 8px;gap:6px;min-height:30px}.bq-queue .rs-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0}.bq-queue .rs-name b{font-size:12px;font-weight:650}.bq-queue .rs-name small{display:inline;font-size:10.5px;color:var(--muted)}.bq-queue .rs-name small.rs-why{color:#977834}
#city-building .rs-t{font-size:11px!important;font-weight:600}.bq-queue .rs-n{width:18px;height:18px}.bq-queue .rq-actions .icon-button{font-size:13px;padding:2px 3px}
.bq-queue li.bq-autopick{grid-template-columns:22px minmax(0,1fr) auto;background:#fafbf7}.bq-autopick .rs-n{background:transparent;border:1px dashed #c9d2bd;color:var(--muted)}.bq-autopick .rs-name b{font-weight:600}
.bq-opts{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:12px}.bq-auto{display:flex;align-items:center;gap:6px;cursor:pointer}.bq-auto input{accent-color:var(--green);margin:0}.bq-auto small{color:var(--muted);font-size:10.5px}
.bq-more>summary{cursor:pointer;font-size:11px;color:var(--muted);width:fit-content}.bq-more>summary small{font-size:10.5px}.bq-more[open]>summary{color:var(--ink)}.bq-opts .bq-more{margin-left:auto}.bq-opts .bq-more[open]{flex-basis:100%;margin-left:0}.bq-more p{font-size:11px;color:var(--muted);margin-top:4px}
.bq-add>summary{font-weight:600;color:var(--green)}.bq-picks{margin:6px 0 0}.bq-picks .chip{padding:2px 9px}
@media(max-width:520px){.bq-row{grid-template-columns:minmax(0,1fr) auto auto;row-gap:3px}.bq-row .tt-bar{grid-column:1/-1;grid-row:2}.bq-row.idle{grid-template-columns:auto minmax(0,1fr)}.bq-queue li:not(.bq-autopick){grid-template-columns:20px minmax(0,1fr) auto;row-gap:0}.bq-queue li:not(.bq-autopick)>.rs-n,.bq-queue li:not(.bq-autopick)>.rs-name{grid-row:1/3}.bq-queue li:not(.bq-autopick)>.rs-t{grid-column:3;grid-row:1;justify-self:end}.bq-queue .rq-actions{grid-column:3;grid-row:2;justify-self:end}.bq-opts .bq-more{margin-left:0}}

/* v3: effect-first queue rows and tree cards, training card */
.rs-eff{display:block;line-height:1.35}.rs-eff b{font-size:13px;font-weight:650}.rs-num{font-size:13px;font-weight:700;color:var(--green);white-space:nowrap;font-variant-numeric:tabular-nums}
.rs-sub{display:block;font-size:10.5px;color:var(--muted)}.rs-name small.rs-why{display:block;color:#977834;font-size:10px}
.tech-top b{font-size:13px;font-weight:650;line-height:1.3}.tech-name{font-size:10.5px!important;color:var(--muted)!important}
.tech-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px}.tech-line .tech-effect{font-size:15px}.tech-line small{white-space:nowrap}
.tt-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.tt-types span{display:flex;flex-direction:column}.tt-types small{font-size:10px;color:var(--muted)}.tt-types b{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}
.tt-settings{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.tt-settings label{display:flex;align-items:center;gap:8px}.tt-settings input{width:72px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}.tt-plus{font-size:11px}
.rs-name small.rs-sub{display:block;font-size:10.5px;color:var(--muted)}

/* v4: per-troop rows; tree name on top, larger time */
.tt-rows{display:grid;gap:9px;margin-top:10px}.tt-row{display:grid;grid-template-columns:116px 52px minmax(0,1fr) auto auto;align-items:center;gap:10px;font-size:12px}
.tt-name{color:var(--muted)}.tt-num{font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}.tt-bar{margin:0}
.tt-left{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.tt-left small{font-weight:400;color:var(--muted);font-size:11px}
.tt-row.idle .tt-num,.tt-row.idle .tt-left{color:var(--muted);font-weight:400}
#growth-training .rs-body{gap:12px}
#growth-training .rs-facts{grid-template-columns:1fr 1fr}
.tt-name{display:flex;align-items:center;gap:4px;white-space:nowrap}
.training-totals .tt-levels{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:2px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.training-totals .tt-levels span{display:inline;font-size:11px}.training-totals .tt-levels b{font-weight:600;color:var(--ink)}
.tt-promo-row{display:grid;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.tt-promo-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.tt-promo-head>span{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tt-troop{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.tt-promo-head small{color:var(--muted);font-size:11px;white-space:nowrap}
.tt-promo-body{display:flex;justify-content:space-between;align-items:center;gap:8px}.tt-costs{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;font-variant-numeric:tabular-nums}.tt-cost{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.tt-cost img{width:18px;height:18px;object-fit:contain}
.tt-promo-ctl{display:flex;align-items:center;gap:6px}.tt-promo-ctl input{width:84px;min-height:34px}
.tt-baseline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted)}.tt-baseline b{font-weight:500;color:var(--ink)}
.tt-scheduling,.tt-promotion{border-top:1px solid var(--line)}:is(.tt-scheduling,.tt-promotion) summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;list-style:none;font-size:13px;font-weight:500;padding:11px 0 0;min-height:40px;cursor:pointer}:is(.tt-scheduling,.tt-promotion) summary::-webkit-details-marker{display:none}:is(.tt-scheduling,.tt-promotion) summary small{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}.tt-chevron{font-size:16px}:is(.tt-scheduling,.tt-promotion)[open] .tt-chevron{transform:rotate(180deg)}
.tt-planner{display:grid;gap:12px;padding-top:12px}.tt-plan-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;padding-bottom:6px;border-bottom:1px solid var(--line)}.tt-plan-row>span{display:flex;align-items:center;gap:5px}.tt-stepper{display:flex;align-items:center;gap:8px}.tt-stepper button{min-height:34px;min-width:34px;padding:6px;font-size:18px}.tt-stepper output{min-width:24px;text-align:center;font-variant-numeric:tabular-nums}
.tt-speedups{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.tt-speedups th,.tt-speedups td{padding:10px 4px;border-bottom:1px solid var(--line);text-align:right;font-weight:400;font-variant-numeric:tabular-nums}.tt-speedups th{color:var(--muted);font-weight:500}.tt-speedups th:first-child,.tt-speedups td:first-child{text-align:left}.tt-speedups td:first-child>span{display:flex;align-items:center;gap:3px}.tt-speedups td:not(:first-child){white-space:nowrap}.tt-speedups .game-icon{width:20px;height:20px;margin:0}
.tt-plan-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.tt-plan-totals{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted)}.tt-plan-totals span{white-space:nowrap;font-variant-numeric:tabular-nums}.tt-plan-warning{font-size:12px;color:#977834}
@media(pointer:coarse){.tt-scheduling summary,.tt-promotion summary,.tt-stepper button{min-height:44px}.tt-stepper button{min-width:44px}}
.tech-top{align-items:center}.tech-label{display:block;font-size:13px;font-weight:650;line-height:1.3;color:var(--ink);margin-top:2px}
.tech-time{font-size:14px;font-weight:650;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:520px){.tt-row{grid-template-columns:36px minmax(0,1fr) auto auto;gap:2px 8px}.tt-name{grid-column:1/-1}.tt-promo-body{flex-direction:column;align-items:stretch}.tt-promo-ctl{justify-content:flex-end}.tt-left small{display:none}}

/* v5: current research like Up next rows; larger times */
.rs-kicker{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#8d987e}.rs-cur{margin-top:4px}.rs-cur .rs-eff b,.rs-cur .rs-num{font-size:15px}
.rs-left{font-size:14px;font-weight:650}
.rs-t{font-size:14px!important;font-weight:650;color:var(--muted)}
/* ---------- Tri-Alliance Clash (#tri) ---------- */
.tw-map .road{stroke:#cfd6c8;stroke-width:2}
.tw-map .sky{stroke:#a993c9;stroke-width:1.5;stroke-dasharray:6 5}
.tw-map .b{stroke:#fff;stroke-width:1.5}
.tw-map .own{fill:#356449}.tw-map .neu{fill:#9aa294}
.tw-map .c1{fill:#5c6fb5}.tw-map .c2{fill:#c0574a}.tw-map .c3{fill:#d69a2d}
.tw-map .locked{opacity:.45}
.tw-map .fight{stroke:#a74c3c;stroke-width:2.5}
.tw-map .lane{stroke:#1d6fd1;stroke-width:3}
.tw-map .lbl{font-size:11px;fill:#5d6b57}
.tw-map .cap{font-size:11px;fill:#b8892c}
.tw-map line.enemy{stroke:#c0574a;stroke-width:3}.tw-map .ah-enemy{fill:#c0574a}
.tw-map line.mine{stroke:#1d6fd1;stroke-width:3}.tw-map .ah-mine{fill:#1d6fd1}
.tw-map .sq circle{fill:#1d6fd1;stroke:#fff;stroke-width:2}
.tw-map .sq.dead circle{fill:#9aa294}
.tw-map .sq text{fill:#fff;font-size:11px;font-weight:700;text-anchor:middle}
.tw-map .flag{font-size:12px;fill:#7b3fb1;font-weight:600}

/* Ministers: six positions with appointment lists (4 Oct) */
#growth-offices .office-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.office-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.office-auto{font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:var(--green);border:1px solid #c9d9b9;border-radius:4px;padding:1px 5px}
.office-slots{margin-top:6px;border-top:1px solid #eef1e8;padding-top:6px}.office-slots summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center}.office-slots summary::-webkit-details-marker{display:none}.office-slots summary:before{content:"▸";margin-right:6px;color:var(--muted)}.office-slots[open] summary:before{content:"▾"}.office-slots summary small{margin-left:auto;font-weight:400}
.ap-list{list-style:none;margin:8px 0 0;padding:0;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
.ap-day{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#8d987e;padding:7px 10px 3px;background:#fafbf7;position:sticky;top:0}
.ap-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 10px;border-top:1px solid #f0f2ec;font-size:12px;min-height:34px}
.ap-row.now{background:#f4f7ef}.ap-row.mine{background:#eef5e6}.ap-time{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.ap-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-empty{color:#a9b2a0}.ap-you{color:var(--green)}
.ap-apps{margin-left:6px;font-size:10px;color:#977834;background:#faf0d9;border-radius:8px;padding:0 6px}.ap-now{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--green)}.ap-clash{font-size:10px;color:var(--muted)}
.ap-act .button.small{padding:3px 10px;font-size:11px}
@media(max-width:1100px){#growth-offices .office-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){#growth-offices .office-grid{grid-template-columns:1fr}}
.ap-act .button.small{padding:2px 10px;font-size:11px;border-color:transparent;background:transparent;color:var(--green);font-weight:600}.ap-act .button.small:hover{background:#eef3e8}.ap-act .button.small.primary{background:var(--green);color:#fff}.ap-act .button.small.danger{border-color:#ddbeb0;color:var(--red);background:#fff}
.ap-row .ap-act [data-office-ask]{min-width:58px}
.er-summary{display:grid;gap:5px;margin-bottom:10px}.er-marches{max-height:220px;overflow:auto}
.er-squad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}
.er-squad{min-width:0;padding:7px;border:1px solid var(--line);border-radius:8px}.er-squad small{display:block;color:var(--muted)}.er-heroes{display:flex;gap:4px;align-items:center;min-height:30px;margin:4px 0}.er-heroes .hero-icon{width:28px;height:28px}
.er-review{padding:10px;border:1px solid #ddbeb0;border-radius:8px;margin:10px 0}.er-review .button{margin-right:8px}
@media(max-width:900px){.er-squad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.er-compact{font-size:12px}.er-compact p{margin:8px 0}.er-compact .er-summary{margin:8px 0}.er-compact h4{margin:10px 0 6px}.er-squad small{font-size:10px}.er-squad-grid{gap:6px;margin:8px 0}@media(max-width:360px){.er-squad-grid{grid-template-columns:1fr}}

/* Equal-height minister tiles when collapsed: fixed rows for bonuses (2 lines) and the booking (1 line). */
#growth-offices .office-tile{display:flex;flex-direction:column}.office-tile .office-buffs{min-height:2.9em;line-height:1.45}
.office-tile .office-booking{min-height:1.5em;line-height:1.5}.office-tile .office-slots{margin-top:auto}

/* The position you hold right now: the whole tile turns green. */
#growth-offices .office-tile.held{background:#e4f0d6;border-color:#9fbf7f}#growth-offices .office-tile.held .office-booking{color:var(--green)}
#growth-offices .office-tile.held .office-slots{border-top-color:#cfe0bc}

/* Compact, display-only game TODO list. */
.todo-panel{margin-bottom:20px}.todo-panel .panel-head{padding:13px 18px;min-height:0;gap:12px}.todo-panel h3{font-size:15px}.todo-panel #todo-timezone{font-size:11px;padding:5px 10px;white-space:nowrap}.todo-panel #todo-list{padding:0 12px 10px}.todo-day h4{margin:12px 6px 5px;font-size:10px;font-weight:650;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.todo-day ul{margin:0;padding:0;list-style:none}.todo-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;padding:7px 10px;border-radius:5px;font-size:12px}.todo-row+.todo-row{border-top:1px solid var(--line)}.todo-row.active{background:#fff4d9;color:#71501e;border:1px solid #ecd59c}.todo-row.active+.todo-row{border-top-color:transparent}.todo-row.ended{color:var(--muted)}.todo-name{min-width:0;overflow-wrap:anywhere}.todo-target{font-weight:400;color:var(--muted)}.todo-row.active .todo-target{color:#896c38}.todo-when{flex-shrink:0;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.todo-row.active .todo-when{font-size:10px;border-radius:4px;background:#f4e0ad;padding:2px 7px}.todo-row.ended .todo-when{font-weight:400}.todo-new{display:inline-block;margin-left:7px;vertical-align:middle;font-size:8px;letter-spacing:.4px;line-height:1.5;font-weight:700;color:var(--green);background:var(--pale);padding:1px 4px;border-radius:3px}.todo-note{font-size:10px;color:var(--muted);padding:8px 18px 0;margin:0}.todo-empty{font-size:12px;color:var(--muted);padding:17px 6px 10px}@media(max-width:480px){.todo-panel .panel-head{padding:12px}.todo-panel #todo-list{padding:0 7px 8px}.todo-row{gap:10px;padding:7px}.todo-target{display:block;font-size:11px}.todo-separator{display:none}.todo-note{padding-left:12px}}

/* Cassia free training camp (user, 5 Oct) */
.troop-pick{display:flex;flex-wrap:wrap;gap:6px 18px;border:0;margin:8px 0 10px;padding:0}
.troop-pick legend{width:100%;font-size:12px;color:var(--muted);margin-bottom:4px;padding:0}
.troop-pick label{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
.troop-pick input{accent-color:var(--green)}
/* Swordland (#sword): same building blocks as the Tri-Alliance view */
/* Tri-Alliance Clash card (Events, 9 Oct); strip, table, alerts and settings reuse the .vk styles */
.vk-strip i.me{font-style:normal;font-weight:700}.vk-strip b i{font-style:normal;margin-right:8px}
.tr-lanes{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.tr-seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}
.tr-seg button{border:0;border-right:1px solid var(--line);background:none;padding:6px 12px;font:inherit;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.2}
.tr-seg button:last-child{border-right:0}.tr-seg button small{font-weight:400;font-size:10px;color:var(--muted)}
.tr-seg button.on{background:#e9f2e2;color:#3f6d3f}
.tr-chips{display:flex;flex-wrap:wrap;gap:6px}
.tr-lane{font-size:11.5px;padding:4px 9px;border:1px solid #cfe0c4;border-radius:12px;background:#f3f8ef;color:var(--ink);font-variant-numeric:tabular-nums}
.tr-lane.warn{border-color:#ecc7bb;background:#fdf4f1}.tr-lane.sel{box-shadow:inset 0 0 0 1px #3f6d3f}.tr-lane em{font-style:normal;color:var(--red);font-weight:600}
.tr-sq td.mode select{border:1px solid #d8dfcf;border-radius:6px;padding:3px 6px;background:#fafbf7;font-size:11.5px;color:var(--ink);max-width:170px}
.tr-sq td.mode select+select{margin-left:4px}
.tr-sq td.n.low{color:var(--red);font-weight:600}
.tr-line{display:block;font-size:11px}
@media(max-width:720px){.tr-seg{width:100%}.tr-seg button{flex:1;padding:6px 4px}
 .tr-sq tr{grid-template-areas:"idx hero st" "idx where where" "idx n mode"}.tr-sq td.mode{grid-area:mode;justify-self:end}}
/* Swordland Showdown card (Events); strip, table, alerts and settings reuse the .vk styles */
.sl-blds{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.sl-b{display:grid;grid-template-columns:24px minmax(0,1fr) auto;grid-template-areas:"i n c" "i t t";align-items:center;gap:0 6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:11.5px;color:var(--ink)}
.sl-b .game-icon{grid-area:i;width:24px;height:24px}
.sl-b .nm{grid-area:n;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.sl-b small{grid-area:c;color:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums}
.sl-b em{grid-area:t;font-style:normal;font-size:10.5px;font-weight:600;color:var(--red)}
.sl-b em:before{content:"⚠ "}
.sl-b.own{border-color:#cfe0c4;background:#f3f8ef}.sl-b.enemy{border-color:#ecc7bb;background:#fdf4f1}.sl-b.closed{opacity:.6}
.vk-strip b.red{color:var(--red)}
.sl-h{margin:12px 0 0;font-size:10.5px;letter-spacing:.4px;color:var(--muted);font-weight:600;text-transform:uppercase}
.sl-h+.toggles{margin-top:6px}
.sl-note{margin:10px 0 0;font-size:11px}
.sl-b i,.sl-legend i{font-style:normal;font-weight:650}.sl-b i.o,.sl-legend i.o{color:#3f6d3f}.sl-b i.t,.sl-legend i.t{color:var(--red)}
.sl-legend{font-size:10.5px;color:var(--muted);letter-spacing:.3px;margin-bottom:-6px}
.sl-latest{display:block;font-size:11px;overflow-wrap:anywhere}
@media(max-width:720px){.sl-blds{grid-template-columns:1fr 1fr}}

/* Alliance poll stays above the independently scrolling message history. */
#chat-vote{flex:none;min-width:0;max-height:65%;overflow:auto;container-type:inline-size}
#chat-vote[hidden]{display:none}
.alliance-vote{border-bottom:1px solid var(--line);box-shadow:inset 3px 0 #8eb68b;padding:15px 18px;background:#fff;color:var(--ink)}
.alliance-vote.collapsed{padding:5px 12px;background:#edf4e8}
.alliance-vote-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.alliance-vote.collapsed .alliance-vote-heading{grid-template-columns:minmax(0,1fr) auto auto;gap:6px}
.alliance-vote-title{display:flex;align-items:center;gap:7px;min-width:0;min-height:30px;padding:0;border:0;background:transparent;color:var(--green);text-align:left;font-size:12px;font-weight:600;cursor:pointer}
.alliance-vote-title span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.alliance-vote-title span:first-child{flex:none;font-size:16px}
.alliance-vote-tools,.alliance-vote-summary{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px}
.alliance-vote-total{color:var(--muted)}
.alliance-vote-state{font-size:10px;color:#986a42}
.alliance-vote-icon{display:inline-grid;place-items:center;flex:none;width:30px;min-height:30px;padding:4px;border:0;border-radius:6px;background:transparent;color:#68806d;font-size:16px;cursor:pointer}
.alliance-vote-icon[data-vote-translate]{font-size:12px;letter-spacing:-1px}
.alliance-vote-icon:hover,.alliance-vote-icon[aria-pressed="true"]{background:#edf4e8;color:var(--green)}
.alliance-vote-icon:disabled{opacity:.5;cursor:default}
.alliance-vote-question{margin:9px 0 4px;font-size:15px;line-height:1.4;font-weight:650;overflow-wrap:anywhere;white-space:pre-wrap}
.alliance-vote-participation{font-size:12px;margin:6px 0 9px;font-weight:600}
.alliance-vote .voted{color:var(--green)}
.alliance-vote .not-voted{color:#986a42}
.alliance-vote-meta{font-size:11px;color:var(--muted);margin:0 0 12px}
.alliance-vote-options{display:grid;gap:9px}
.alliance-vote-option-line{display:flex;align-items:center;gap:7px;justify-content:space-between;font-size:12px}
.alliance-vote-option-line label{display:flex;align-items:flex-start;gap:8px;min-width:0;min-height:30px;padding:4px 0;cursor:pointer}
.alliance-vote-option-line label span{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}
.alliance-vote-option-line input{flex:none;accent-color:var(--green);margin:3px 0 0}
.alliance-vote-option-line em{font-size:10px;white-space:nowrap;font-style:normal;color:var(--green);margin-left:5px}
.alliance-vote-result{display:flex;align-items:center;gap:4px;flex:none;white-space:nowrap}
.alliance-vote-result small{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.alliance-vote-track{margin-left:21px;height:5px;background:#edf4e8;border-radius:3px;overflow:hidden}
.alliance-vote-track span{display:block;height:100%;background:#8fb38d}
.alliance-vote-submit-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:13px;border-top:1px solid var(--line);padding-top:10px}
.alliance-vote-submit-row small{flex:1;min-width:120px;color:var(--muted);font-size:11px}
.alliance-vote-submit-row .button{flex:none}
.alliance-vote-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;font-size:11px;color:var(--muted);margin-top:13px}
.alliance-vote-note{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.alliance-vote-notice{font-size:12px;margin:8px 0 0;overflow-wrap:anywhere}
.alliance-vote-placeholder{padding:12px 18px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}
.alliance-vote-dialog{width:min(400px,calc(100vw - 30px));max-height:min(560px,80dvh);padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 15px 55px #20392c40}
.alliance-vote-dialog::backdrop{background:#11201755}
.alliance-vote-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}
.alliance-vote-dialog h3{margin:0;font-size:16px}
.alliance-vote-dialog-head p{margin:5px 0 0;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.alliance-vote-members{list-style:none;padding:0 18px;margin:0;max-height:330px;overflow:auto}
.alliance-vote-members li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}
.alliance-vote-members li span{overflow-wrap:anywhere;min-width:0}
.alliance-vote-members small{color:var(--muted);flex:none}
.alliance-vote-members-note{padding:12px 18px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);overflow-wrap:anywhere}
@container(max-width:390px){.alliance-vote-count-label{display:none}.alliance-vote.expanded{padding:12px}.alliance-vote-state{font-size:11px}}
@media(pointer:coarse){.alliance-vote-icon{width:44px;min-height:44px}.alliance-vote-title,.alliance-vote-option-line label{min-height:44px}.alliance-vote-submit-row .button{min-height:44px}}

.arena-chances{display:grid;gap:8px;max-width:420px;margin:8px 0}.arena-chances>label{font-weight:600;color:var(--ink)}.arena-chances-control{display:flex;align-items:center;gap:12px}.arena-chances-control input{flex:1;min-width:0;accent-color:var(--green)}.arena-chances-control output{min-width:20px;text-align:center;font-variant-numeric:tabular-nums}.arena-chances>strong{color:var(--ink);font-size:12px}

/* Current Alliance Notice appears above the pinned vote. */
#chat-pinned{display:flex;flex-direction:column;flex:none;min-width:0;max-height:65%;overflow:auto}
#chat-pinned[hidden],#chat-notice[hidden]{display:none}
#chat-notice{flex:none;min-width:0}
#chat-pinned #chat-vote{max-height:none;overflow:visible}
.alliance-notice{padding:12px 16px;background:#f8f8ee;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 #7a8750;color:var(--ink)}
.alliance-notice.collapsed{padding:5px 12px}
.alliance-notice-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}
.alliance-notice-title{display:flex;align-items:center;gap:7px;min-width:0;min-height:30px;padding:0;border:0;background:transparent;text-align:left;color:#68733f;font-size:12px;cursor:pointer}
.alliance-notice-symbol{display:inline-flex;align-items:center;flex:none;font-size:16px}
.alliance-notice-label{white-space:nowrap;flex:none;font-weight:600}
.alliance-notice-excerpt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}
.alliance-notice-tools{display:flex;align-items:center;gap:3px;white-space:nowrap}
.alliance-notice-offline{font-size:11px;color:#986a42}
.alliance-notice-icon{display:inline-grid;place-items:center;flex:none;width:30px;min-height:30px;padding:5px;border:0;background:transparent;border-radius:6px;color:#68806d;font-size:16px;cursor:pointer}
.alliance-notice-icon[data-notice-translate]{font-size:12px;letter-spacing:-1px}
.alliance-notice-icon:hover,.alliance-notice-icon[aria-pressed="true"]{background:#edf4e8;color:var(--green)}
.alliance-notice-icon:disabled{opacity:.5;cursor:default}
.alliance-notice-body{font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0}
.alliance-notice-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-top:12px;padding-top:9px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.alliance-notice-empty{font-size:12px;color:var(--muted);margin:8px 0 0}
.alliance-notice-error{font-size:12px;margin:8px 0 0;overflow-wrap:anywhere}
@media(max-width:650px){.alliance-notice{padding:12px}.alliance-notice-meta{display:block}.alliance-notice-meta span{display:block;margin-top:3px}}
@media(pointer:coarse){.alliance-notice-icon{width:44px;min-height:44px}.alliance-notice-title{min-height:44px}}
/* APK TODO artwork stays small and decorative beside the event name. */
.todo-item{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.todo-icon{display:block;flex-shrink:0;width:28px;height:28px;object-fit:contain}.todo-row.ended .todo-icon{opacity:.55}

/* Recovered APK artwork: compact decoration beside existing readable labels. */
.game-icon{display:inline-block;width:24px;height:24px;object-fit:contain;vertical-align:middle;flex-shrink:0;margin-right:6px}.game-icon-pale{padding:3px;background:#688758;border-radius:4px}.hero-icon{width:24px;height:24px}.hero-label,.game-label{display:inline-flex;align-items:center;gap:5px;max-width:100%;vertical-align:middle}.hero-label .game-icon,.game-label .game-icon{margin:0}.hero-label{white-space:nowrap}.hero-line{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:100%;vertical-align:middle}.hero-separator{color:var(--muted);margin:0 2px}.mrow .ic .game-icon{margin:0;width:24px;height:24px}.sidebar [data-nav]>span:first-child{display:grid;place-items:center;width:22px;flex-shrink:0}.sidebar .game-icon{width:22px;height:22px;margin:0}.brand-mark .game-icon{width:34px;height:34px;margin:0}.account-icon .game-icon{width:42px;height:42px;margin:0}.section-heading h2>.game-icon{width:28px;height:28px;margin-right:9px}.stat-label .game-icon{width:20px;height:20px;margin:0}.account-metrics .stat-label b{display:inline-flex}.squad-avatar .game-icon{width:30px;height:30px;margin:0}.gov-tile h4 .game-icon{margin-right:7px}.troop-pick .game-icon{width:20px;height:20px}.hero-slot-caption{display:flex;align-items:center;gap:5px}.hero-slot-caption .game-icon{margin:0;width:28px;height:28px}.chat-avatar .game-icon{width:24px;height:24px;margin:0}.alliance-notice-symbol .game-icon{width:18px;height:18px;margin:0}.alliance-vote-title .game-icon{width:18px;height:18px;margin:0}.tl-what,.att-row>span:first-child{display:flex;align-items:center;gap:6px;min-width:0}.tl-what .game-icon,.att-row .game-icon{width:20px;height:20px;margin:0}.activity-item>b .game-icon{width:18px;height:18px;margin-right:5px}.chip .game-icon{width:16px;height:16px;margin-right:4px}.shop-price-table th .game-icon{width:22px;height:22px}.rl-what>.game-icon{width:22px;height:22px}.tw td>.game-icon{width:22px;height:22px}.res-icon{object-fit:contain}.lineup .hero-line{font-size:inherit}.bear-who .game-icon{width:20px;height:20px}
@media(max-width:700px){.mrow .ic .game-icon{width:22px;height:22px}.hero-line .game-icon{width:20px;height:20px}.hero-label{white-space:normal}.game-label{flex-wrap:wrap}}

/* Overview and gathering artwork matches the 28px TODO images. */
.account-metrics .stat-label .game-icon{width:28px;height:28px}.resource-grid .res-icon{width:28px;height:28px}.squad-card .squad-avatar{width:56px;height:56px;flex:none}.squad-card .squad-avatar .res-icon,.squad-card .squad-avatar .game-icon{width:52px;height:52px}

/* Full Master badges and actual player portraits. */
.master-portrait{display:grid;place-items:center;width:28px;height:32px}.mrow .ic .master-portrait .game-icon{width:28px;height:32px;margin:0}.chat-avatar .player-avatar{width:32px;height:32px;object-fit:cover;margin:0;border-radius:8px}
/* Governor Orders use readable icons on plain cards. */
.gov-tile.gov-order{min-height:156px;padding:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);justify-content:space-between;gap:9px}.gov-heading{display:flex;align-items:flex-start;gap:7px;min-width:0}.gov-heading .governor-icon{width:28px;height:28px;margin:0;padding:4px;flex:none;border-radius:6px}.gov-order h4{flex:1;min-width:0;min-height:2.7em;font-size:13px;line-height:1.35;color:var(--ink);text-shadow:none;overflow-wrap:anywhere}.gov-order .gov-meta,.gov-order .gov-action{font-size:11px;line-height:1.5;color:#536359}.gov-order .gov-action{width:100%;padding-top:7px;border-top:1px solid #23372f18}.gov-order .gov-action{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px}.gov-order .gov-action label{font-size:12px;white-space:nowrap}.gov-order .gov-use{padding:4px 12px;font-size:11px}.gov-order .gov-state{font-size:13px;line-height:1.4;color:var(--ink);text-shadow:none;overflow-wrap:anywhere}.gov-tile.gov-order.active .gov-state,.gov-tile.gov-order.available .gov-state{color:var(--green)}.gov-tile.gov-order.cooldown .gov-state{color:var(--red)}
@media(max-width:400px){.gov-heading{flex-direction:column}.gov-order h4{width:100%}}

/* The calendar sprite has wide transparent margins; show its full-height centre. */
.game-icon.events-category-icon{object-fit:cover;object-position:center}
.squad-summary{display:flex;flex-wrap:wrap;gap:6px;width:100%;min-height:28px}.squad-summary-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px}.squad-summary-icon .game-icon,.squad-summary-icon .res-icon{width:28px;height:28px;margin:0}

/* The combined Overview card retains its original height, with a taller rewards row. */
[data-view=overview]>.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat-card.combat-card{height:224px;padding:20px 21px;min-width:0;container-type:inline-size}
.combat-card .reward-grid{grid-template-columns:repeat(var(--reward-columns,2),minmax(0,1fr));gap:0 8px;height:94px;flex:0 1 94px;min-height:56px;margin:0}
.combat-card .reward-grid>div{display:flex;flex-direction:column;justify-content:center;min-width:0}
.combat-card .reward-grid strong{font-size:clamp(26px,11cqi,32px)!important;line-height:1.15!important;letter-spacing:-1px;font-weight:650}
.combat-card .reward-grid span{font-size:11px;color:var(--muted);margin-top:2px}
.combat-card .reward-grid.many-rewards{min-height:94px}
.combat-card .reward-grid.many-rewards strong{font-size:24px!important}




.combat-card>.tile-line{flex:none;border-color:var(--line)}
@media(max-width:1300px){[data-view=overview]>.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.combat-card{grid-column:1/-1}}
@media(max-width:400px){.stat-card.combat-card{padding:20px 12px}.combat-card .reward-grid{gap:0 6px}.combat-card .reward-grid strong{font-size:26px!important}}
.account-icon{overflow:hidden;flex-shrink:0}.account-icon .player-avatar{width:100%;height:100%;object-fit:cover;border-radius:inherit;margin:0}
#account-avatar{width:56px;height:56px;aspect-ratio:1}
@media(max-width:760px){#account-avatar{width:44px;height:44px}}

/* Group Info composer: manual private sends, with a review step. */
.group-info-dialog{width:min(780px,calc(100vw - 24px));max-width:none;padding:0;max-height:calc(100dvh - 32px);overflow:auto}
.chat-heading-buttons{flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.private-chat-dialog{width:min(500px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:22px;overflow:auto}
.private-chat-dialog h2{font-size:22px;margin:4px 0 8px}.private-chat-dialog p{line-height:1.5}
.private-chat-dialog [data-pm-status]{color:#986b3c;margin:12px 0;overflow-wrap:anywhere}
.private-chat-members{max-height:50dvh;overflow:auto;margin-top:14px;min-width:0}
.private-chat-member{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;width:100%;text-align:left;padding:12px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px}
.private-chat-member:hover,.private-chat-member:focus-visible{background:#edf4eb}.private-chat-member:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.private-chat-member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}
.private-chat-member small{white-space:nowrap}.private-chat-member-id{font-size:10px;color:var(--muted);grid-column:1/-1}
.private-chat-member:disabled{opacity:.45;cursor:default}.private-chat-dialog [hidden]{display:none!important}
@media(max-width:580px){.view[data-view="chat"]>.section-heading{flex-wrap:wrap}.chat-heading-buttons{max-width:none;justify-content:flex-start}.chat-heading-buttons .button{font-size:11px;padding:9px 12px}.private-chat-dialog [data-pm-search]{font-size:16px}.private-chat-dialog{padding:18px}}
.group-info-head{padding:22px 24px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.group-info-head h2{font-size:24px;margin:5px 0}.group-info-head p{font-size:12px;color:var(--muted);margin:0}
.group-info-steps{display:flex;gap:20px;padding:0 24px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.group-info-steps .selected{color:var(--green);font-weight:650}
.group-info-status{margin:14px 20px;color:#986b3c;font-size:12px;overflow-wrap:anywhere}
.group-info-compose{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.group-info-people{padding:20px;background:#f7f9f4;border-right:1px solid var(--line);min-width:0}.group-info-message{padding:20px 24px;min-width:0}
.group-info-section{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.group-info-section h3,.group-info-review h3,.group-info-result h3{font-size:15px;margin:0}.group-info-section small{font-size:11px;background:#edf4eb;border-radius:12px;padding:4px 9px;color:var(--green);white-space:nowrap}
.group-info-dialog label{font-size:12px;color:var(--muted)}.group-info-dialog input[type=search],.group-info-dialog textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:10px 12px;font:inherit}.group-info-dialog textarea{resize:vertical;min-height:168px;line-height:1.65;font-size:13px}
.group-info-ranks{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0 8px}.group-info-ranks button{font-size:11px;padding:6px 9px;color:var(--ink);border:1px solid var(--line);border-radius:7px;background:#fff}.group-info-ranks button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.group-info-list{max-height:340px;overflow:auto}.group-info-list .group-info-member{display:grid;grid-template-columns:16px minmax(0,1fr) auto;flex-direction:row;align-items:center;gap:9px;min-height:43px;margin:0;padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left}.group-info-member input{width:16px;height:16px;padding:0;margin:0;accent-color:var(--green)}.group-info-member>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.group-info-member small{font-size:11px;color:var(--muted);white-space:nowrap}
.group-info-people-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px}.group-info-link{font-size:11px;border:0;background:none;color:var(--green);padding:4px 0}
.group-info-text-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--muted)}.group-info-dialog h4{font-size:12px;color:var(--muted);font-weight:550;margin:22px 0 8px}
.group-info-selected{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.group-info-chip{font-size:11px;padding:5px 9px;border-radius:6px;background:#edf4eb;border:0;color:var(--green);max-width:100%;overflow-wrap:anywhere}
.group-info-note{font-size:12px;color:var(--muted);line-height:1.6;margin:0;overflow-wrap:anywhere}.group-info-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}.group-info-dialog button:disabled{opacity:.45;cursor:default}
.group-info-length-note{margin-top:6px;font-size:11px}
.group-info-review,.group-info-result{padding:22px 24px}.group-info-review>p,.group-info-result p,.group-info-result li{overflow-wrap:anywhere;font-size:13px}.group-info-result ul{padding-left:20px}
.group-info-conversation{padding:22px;background:#f7f9f4;border-radius:10px;margin:18px 0}.group-info-sender{font-size:12px;font-weight:600;color:var(--green);text-align:right;margin:0 4px 6px}.group-info-bubble{background:#e5f0e3;border:1px solid #d4e5d0;border-radius:14px 4px 14px 14px;padding:13px 16px;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:13px}.group-info-conversation>small{display:block;font-size:11px;color:var(--muted);margin-top:10px;text-align:right}
.group-info-dialog [hidden]{display:none!important}
@media(max-width:580px){.group-info-compose{grid-template-columns:1fr}.group-info-people{border-right:0;border-bottom:1px solid var(--line);padding:16px}.group-info-message,.group-info-review,.group-info-result,.group-info-head{padding:18px 16px}.group-info-steps{padding:0 16px 13px}.group-info-dialog input[type=search],.group-info-dialog textarea{font-size:16px}.group-info-conversation{padding:14px}.group-info-list{max-height:240px}}
@media(pointer:coarse){.group-info-dialog button,.group-info-member{min-height:44px}.group-info-ranks button{min-width:44px}}
[data-blizzard-form] select{font:inherit;color:inherit;background:var(--panel,#fff);border:1px solid #dce2d5;border-radius:5px;padding:5px 8px}
[data-blizzard-form]{flex-wrap:wrap;min-width:0}

/* Events share a larger artwork box; the wide badges contain transparent padding. */
#rows-events .mrow-btn{grid-template-columns:36px 200px minmax(0,1fr) auto}
#rows-events .ic{width:32px;font-size:28px}
#rows-events .ic .game-icon{width:32px;height:32px}
@media(max-width:1100px) and (min-width:701px){#rows-events .mrow-btn{grid-template-columns:36px 150px minmax(0,1fr) auto}}
@media(max-width:700px){
 #rows-events .mrow-btn{grid-template-columns:32px minmax(0,1fr) auto}
 #rows-events .ic{width:30px;font-size:26px}
 #rows-events .ic .game-icon{width:30px;height:30px}
}
/* Viking Vengeance card (user, 9 Oct: key information only, clear squad status) */
.vk{display:grid;gap:12px;color:var(--ink)}
.vk-strip{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.vk-strip .k{font-size:10px;color:var(--muted);letter-spacing:.4px;display:block}
.vk-strip b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.vk-strip .phase{font-size:12px;font-weight:650;padding:4px 10px;border-radius:12px;background:#e9f2e2;color:#3f6d3f}
.vk-strip .phase.sched{background:#eef1f7;color:#4a5d7a}
.vk-sq{width:100%;border-collapse:collapse;font-size:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;color:var(--ink)}
.vk-sq th{font-weight:500;color:var(--muted);font-size:10.5px;text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);background:#fafbf7}
.vk-sq th.r{text-align:right}
.vk-sq td{padding:7px 10px;border-bottom:1px solid #f0f2ec;vertical-align:middle}
.vk-sq tr:last-child td{border-bottom:0}
.vk-sq td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.vk-sq .where small{display:block;color:var(--muted);font-size:10px;overflow-wrap:anywhere}
.vk-sq .game-icon{width:22px;height:22px;border-radius:50%;vertical-align:middle;margin-right:6px}
.vk-tight .game-icon{margin-right:-6px;border:2px solid #fff}.vk-tight:last-of-type .game-icon{margin-right:8px}
.vk-extra .game-icon{margin-left:6px}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:2px 9px;border-radius:10px;white-space:nowrap}
.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.def{background:#e9f2e2;color:#3f6d3f}.pill.move{background:#faf0d9;color:#8a6a24}
.pill.hq{background:#e7eef8;color:#3c5d8c}.pill.home{background:#f0f2e9;color:#6f7a68}.pill.bad{background:#fcece6;color:var(--red)}
.vk-home,.vk-home td{background:#fafbf7}
.vk-alert{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;padding:9px 12px;border-radius:8px;background:#fff6e3;border:1px solid #efdcae;color:#7d6227}
.vk-alert.bad{background:#fcece6;border-color:#ecc7bb;color:var(--red)}
.vk-alert b{font-weight:650}
.vk-set summary{cursor:pointer;font-weight:600;font-size:12px;color:var(--ink)}
.vk-set .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.vk-set label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;color:var(--muted)}
.vk-set select,.vk-set input[type=number]{border:1px solid #d8dfcf;border-radius:6px;padding:6px 8px;background:#fafbf7;font-size:12px;color:var(--ink)}
.vk-set .toggles{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0}
.vk-set .toggles label{flex-direction:row;align-items:center;gap:6px;font-size:12px;color:var(--ink)}
.vk-set .vk-reminder{margin:10px 0;min-width:0}
.vk-reminder textarea{width:100%;min-width:0;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:8px;background:var(--paper);color:var(--ink);font-size:12px}
.vk .vk-alert{overflow-wrap:anywhere}
@media(max-width:720px){
 .vk-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .vk-strip .phase{grid-column:1/-1;justify-self:start}
 .vk-sq thead{display:none}.vk-sq,.vk-sq tbody{display:block}
 .vk-sq tr{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"idx hero st" "idx where where" "idx n share";gap:3px 8px;padding:9px 10px;border-bottom:1px solid #f0f2ec;align-items:center}
 .vk-sq td{border:0;padding:0;display:block}
 .vk-sq td.idx{grid-area:idx;color:var(--muted);font-size:11px;align-self:start;padding-top:3px;hyphens:auto;overflow-wrap:anywhere}
 .vk-sq td.hero{grid-area:hero}.vk-sq td.st{grid-area:st;justify-self:end}
 .vk-sq td.where{grid-area:where}.vk-sq td.where small{display:inline;margin-left:6px}
 .vk-sq td.n{grid-area:n;text-align:left;color:var(--muted);font-size:11px}
 .vk-sq td.share{grid-area:share;justify-self:end;color:var(--ink);font-weight:600}
 .vk-set .grid{grid-template-columns:1fr}
}
/* Bear Trap card (user, 9 Oct: Vikings-style layout) */
.headl{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.trapsel{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:12px;margin-left:14px;vertical-align:middle}
.trapsel label{position:relative;padding:5px 12px;cursor:pointer;color:var(--muted);display:flex;gap:6px;align-items:baseline;border-left:1px solid var(--line)}
.trapsel label:first-child{border-left:0}
.trapsel input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.trapsel input:disabled{cursor:not-allowed}
.trapsel label:focus-within{outline:2px solid #8aa874;outline-offset:-2px}
.trapsel label.on{background:#e9f2e2;color:#3f6d3f;font-weight:650}
.trapsel label.dis{opacity:.55;cursor:not-allowed}
.trapsel small{font-size:10px;font-weight:400;color:inherit;opacity:.8}
.bt{display:grid;gap:12px;padding:14px 18px 18px;color:var(--ink);min-width:0}.bt>*{min-width:0}.bt-scroll{overflow-x:auto}
.bt-strip{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.bt-strip .k{font-size:10px;color:var(--muted);letter-spacing:.4px;display:block}
.bt-strip b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.bt-strip small{font-size:11px;color:var(--muted)}
.bt-strip .phase{font-size:12px;font-weight:650;padding:4px 10px;border-radius:12px;background:#e9f2e2;color:#3f6d3f}
.bt-strip .phase.sched{background:#eef1f7;color:#4a5d7a}
.bt-t{width:100%;border-collapse:collapse;font-size:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.bt-t th{font-weight:500;color:var(--muted);font-size:10.5px;text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);background:#fafbf7}
.bt-t th.r,.bt-t td.n{text-align:right}
.bt-t td{padding:7px 10px;border-bottom:1px solid #f0f2ec;vertical-align:middle}
.bt-t tr:last-child td{border-bottom:0}
.bt-t td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
.bt-t small{display:block;color:var(--muted);font-size:10px}
.bt-t .game-icon{width:22px;height:22px;border-radius:50%;margin-right:6px}
.bt-t tr.mine td{background:#f4f8ee}
.bt-t tr.off td{color:#a3ab9c}
.bt-nohero{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;margin-right:6px;background:#eef2e4;color:#879864;font-size:12px;vertical-align:middle}
.bt .tag{font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:8px;background:#f0f2e9;color:#6f7a68;margin-left:4px;white-space:nowrap}
.bt .tag.prio{background:#efe6fa;color:#6a4a99}.bt .tag.stats{background:#eef1f7;color:#4a5d7a}
.pill.own{background:#efe6fa;color:#6a4a99}
.fillbar{display:inline-block;width:70px;height:6px;border-radius:3px;background:#edf0e8;vertical-align:middle;margin-right:6px;overflow:hidden}
.fillbar i{display:block;height:100%;background:#8aa874}
.fillbar i.full{background:#c59a52}
.fillbar i.w0{width:0%}.fillbar i.w5{width:5%}.fillbar i.w10{width:10%}.fillbar i.w15{width:15%}.fillbar i.w20{width:20%}.fillbar i.w25{width:25%}.fillbar i.w30{width:30%}.fillbar i.w35{width:35%}.fillbar i.w40{width:40%}.fillbar i.w45{width:45%}.fillbar i.w50{width:50%}.fillbar i.w55{width:55%}.fillbar i.w60{width:60%}.fillbar i.w65{width:65%}.fillbar i.w70{width:70%}.fillbar i.w75{width:75%}.fillbar i.w80{width:80%}.fillbar i.w85{width:85%}.fillbar i.w90{width:90%}.fillbar i.w95{width:95%}.fillbar i.w100{width:100%}
.bt-alert{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;padding:9px 12px;border-radius:8px;background:#fff6e3;border:1px solid #efdcae;color:#7d6227;overflow-wrap:anywhere}
.bt-alert.bad{background:#fcece6;border-color:#ecc7bb;color:var(--red)}
.bt-alert.info{background:#f1f5ec;border-color:#dbe4d1;color:#4f6147}
.bt-alert b{font-weight:650}
.bt-set summary,.bt-more summary{cursor:pointer;font-weight:600;font-size:12px}
.bt-squads{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:8px;margin:10px 0}
.bt-rank-toggle{margin-top:8px}
.bt-set table{margin-top:4px}
.bt-set select,.bt-set input[type=number]{border:1px solid #d8dfcf;border-radius:6px;padding:5px 7px;background:#fafbf7;font-size:12px;color:var(--ink);max-width:120px}
.bt-set .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.bt-set .grid label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;color:var(--muted)}
.bt-set .chips{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:10px;font-size:11.5px;align-items:center}
.bt .chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:12px;padding:2px 9px;background:#fff;font-size:11.5px}
.bt .chip .game-icon{width:18px;height:18px;margin:0;border-radius:50%}
.bt .chip button{border:0;background:none;padding:0 0 0 2px;cursor:pointer;color:var(--muted);font-size:12px}
.bt-rank{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:baseline;font-size:12px}
.bt-rank b{font-size:16px}
@media(max-width:760px){
 .trapsel{margin-left:0}
 .bt{padding:12px}
 .bt-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .bt-strip .phase{grid-column:1/-1;justify-self:start}
 .bt-t.sq thead,.bt-t.ra thead{display:none}
 .bt-t.sq,.bt-t.sq tbody,.bt-t.ra,.bt-t.ra tbody{display:block}
 .bt-t.sq tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"hero st" "where where" "tr pts";gap:3px 8px;padding:9px 10px;border-bottom:1px solid #f0f2ec}
 .bt-t.sq td{border:0;padding:0;display:block}
 .bt-t.sq td.hero{grid-area:hero}.bt-t.sq td.st{grid-area:st;justify-self:end}.bt-t.sq td.where{grid-area:where}
 .bt-t.sq td.tr{grid-area:tr;text-align:left;color:var(--muted);font-size:11px}.bt-t.sq td.pts{grid-area:pts;font-weight:600}
 .bt-t.sq td.where small{display:inline;margin-left:6px}
 .bt-t.ra tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who us" "fill left";gap:3px 8px;padding:9px 10px;border-bottom:1px solid #f0f2ec}
 .bt-t.ra td{border:0;padding:0;display:block}
 .bt-t.ra td.who{grid-area:who}.bt-t.ra td.us{grid-area:us;justify-self:end}.bt-t.ra td.fill{grid-area:fill;text-align:left}.bt-t.ra td.left{grid-area:left}.bt-t.ra td.mem{display:none}
 .bt-set .grid{grid-template-columns:1fr 1fr}
}

/* Blizzard Brawl: leaderboard first, concise controls and a full ten-player board. */
.bb-event.open{background:var(--paper)}
.bb-detail{padding:0 20px 20px;gap:0;color:var(--ink)}
.bb-board-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 10px;font-size:12px}
.bb-board-heading strong{font-size:13px;font-weight:500}
.bb-board-heading [data-blizzard-freshness]{color:var(--muted);white-space:nowrap}
.bb-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px;color:var(--ink)}
.bb-table th{font-weight:400;color:var(--muted);font-size:12px;text-align:left}
.bb-table th,.bb-table td{padding:12px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
.bb-table th:first-child,.bb-table td:first-child{padding-left:8px;color:var(--muted)}
.bb-table th:nth-child(n+3),.bb-table td:nth-child(n+3){text-align:right}
.bb-table .bb-rank-col{width:32px}.bb-table .bb-town-col{width:60px}.bb-table .bb-power-col{width:84px}.bb-table .bb-score-col{width:84px}
.bb-table td:first-child,.bb-table td:nth-child(n+3){font-variant-numeric:tabular-nums}
.bb-player-name{overflow-wrap:anywhere}
.bb-score{white-space:nowrap;font-weight:500}
.bb-self td{background:#eef3e9}.bb-self .bb-score{color:var(--green)}
.bb-you{font-size:11px;font-weight:500;color:var(--green);margin-left:5px;white-space:nowrap}
.bb-mobile-meta{display:none}
.bb-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:18px;position:relative}
.bb-run-info{display:grid;gap:3px;font-size:12px;color:var(--muted)}
.bb-actions{display:flex;align-items:center;gap:7px}
.bb-actions>.button,.bb-settings>summary{min-height:36px;font-size:12px}
.bb-settings>summary{list-style:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;padding:8px 12px;background:var(--paper);color:var(--ink);cursor:pointer}
.bb-settings>summary::-webkit-details-marker{display:none}
.bb-settings-panel{position:absolute;z-index:4;bottom:calc(100% + 8px);right:0;width:min(360px,100%);padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:0 12px 32px #23372f1a}
.bb-settings-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.bb-settings-head strong{font-size:14px;font-weight:500}
.bb-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bb-fields label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.bb-fields input,.bb-fields select{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:8px 10px;font:inherit;font-size:14px}
.bb-fields .bb-mode{grid-column:1/-1}
.bb-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:16px 0;color:var(--ink)}
.bb-check input{accent-color:var(--green);width:16px;height:16px}
.bb-save{display:flex;justify-content:flex-end}
.bb-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;color:var(--red);font-size:12px;overflow-wrap:anywhere}
.bb-empty{padding:18px 0;color:var(--muted);font-size:12px}
@media(max-width:700px){
 .bb-detail{padding:0 14px 16px}
}
@media(max-width:480px){
 .bb-table .bb-desktop{display:none}
 .bb-table .bb-rank-col{width:27px}.bb-table .bb-score-col{width:76px}
 .bb-table th,.bb-table td{padding:10px 4px}
 .bb-mobile-meta{display:block;font-size:11px;color:var(--muted);margin-top:3px}
 .bb-footer{align-items:flex-start}
}
@media(max-width:350px){.bb-actions{width:100%;justify-content:flex-end}.bb-board-heading{gap:8px}.bb-board-heading strong{font-size:12px}}
@media(pointer:coarse){.bb-actions>.button,.bb-settings>summary,.bb-settings-panel .button{min-height:44px}.bb-fields input,.bb-fields select{font-size:16px;min-height:44px}.bb-check{min-height:44px}}
/* KvK: compact controls and five-building holder map inside Events. */
/* ---------- KvK card (redesign 9 Oct 2026): isometric holder map, ordered leader picker ---------- */
.kvk-detail{gap:14px;color:var(--ink)}
.kvk-alert{background:#fbeeeb;border:1px solid #efc9c0;color:#8f3b2c;border-radius:8px;padding:10px 12px;font-size:12px}
.kvk-now{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#f6f7f2;border:1px solid var(--line)}
.kvk-now.go{background:linear-gradient(90deg,#edf4e8,#f7f9f3);border-color:#cfe0c4}
.kvk-now.warn{background:#fbf4e4;border-color:#efdcae}
.kvk-now.off{opacity:.8}
.kvk-now-ic{flex:0 0 34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);font-size:16px;color:var(--green)}
.kvk-now.go .kvk-now-ic{background:var(--green);border-color:var(--green);color:#fff}
.kvk-now-text{flex:1;min-width:0;display:grid;gap:1px}
.kvk-now-text strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.kvk-now-text small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.kvk-note{font-size:11px;color:#8a6a24}
.kvk-recall{flex-shrink:0;background:var(--paper);border:1px solid #d9b3a9;color:#9a3f2e;border-radius:8px;padding:7px 12px;font-weight:600;cursor:pointer}
.kvk-recall:hover{background:#fbeeeb}.kvk-recall.confirm{background:#a74c3c;border-color:#a74c3c;color:#fff}
.kvk-switches{display:flex;flex-wrap:wrap;gap:8px}
.kvk-sw{display:inline-flex;align-items:center;gap:9px;padding:6px 12px 6px 8px;border:1px solid var(--line);border-radius:20px;background:var(--paper);font-size:12px;font-weight:600;color:var(--ink)}
.kvk-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);gap:14px;align-items:start}
.kvk-side{display:grid;gap:14px;min-width:0}
.kvk-panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}
.kvk-panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.kvk-panel h4{margin:0;font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}
.kvk-panel>header small{font-size:11px;color:var(--muted);text-align:right}
/* isometric map */
.kvk-map-panel{padding-bottom:10px}
.kvk-map{display:block;width:100%;height:auto;max-width:600px;margin:0 auto}
.kvk-ground{fill:#eef1e6;stroke:#d7ddcb;stroke-width:1.2}
.kvk-grid{stroke:#dfe4d5;stroke-width:.8}
.kvk-plinth{fill:#dfe3d6;stroke:#c3cab6;stroke-width:1}
.kvk-face.l{fill:#b9c0ad}.kvk-face.r{fill:#9ea693}.kvk-roof{fill:#d3d8c8}.kvk-merlon,.kvk-cap{fill:#9ea693}
.kvk-mark.ours .kvk-plinth{fill:#cfe3c7;stroke:#5f9a6a}.kvk-mark.ours .kvk-face.l{fill:#5f9a6a}.kvk-mark.ours .kvk-face.r{fill:#356449}.kvk-mark.ours .kvk-roof{fill:#8cbf91}.kvk-mark.ours .kvk-merlon,.kvk-mark.ours .kvk-cap{fill:#356449}
.kvk-mark.enemy .kvk-plinth{fill:#f3d9d1;stroke:#c97a66}.kvk-mark.enemy .kvk-face.l{fill:#cf7c64}.kvk-mark.enemy .kvk-face.r{fill:#a74c3c}.kvk-mark.enemy .kvk-roof{fill:#e8a896}.kvk-mark.enemy .kvk-merlon,.kvk-mark.enemy .kvk-cap{fill:#a74c3c}
.kvk-mark.friend .kvk-plinth{fill:#d6e3f5;stroke:#5b80b8}.kvk-mark.friend .kvk-face.l{fill:#6c93c9}.kvk-mark.friend .kvk-face.r{fill:#3f6aa3}.kvk-mark.friend .kvk-roof{fill:#a5c0e6}.kvk-mark.friend .kvk-merlon,.kvk-mark.friend .kvk-cap{fill:#3f6aa3}
.kvk-mark.other .kvk-plinth{fill:#e6e1ea;stroke:#8f8399}.kvk-mark.other .kvk-face.l{fill:#a497ad}.kvk-mark.other .kvk-face.r{fill:#7d6f88}.kvk-mark.other .kvk-roof{fill:#cbc1d2}
.kvk-mark.free .kvk-plinth{fill:#f4f5f0;stroke:#c3cab6;stroke-dasharray:3 2}
.kvk-mark.unknown{opacity:.55}.kvk-mark.unknown .kvk-plinth{stroke-dasharray:3 3}
.kvk-ring{fill:none;stroke:#23372f;stroke-width:2.2;stroke-dasharray:6 4;animation:kvk-spin 1.6s linear infinite}
@keyframes kvk-spin{to{stroke-dashoffset:-20}}
@media(prefers-reduced-motion:reduce){.kvk-ring{animation:none}}
.kvk-flag line{stroke:#23372f;stroke-width:1.6}.kvk-flag polygon{fill:var(--gold);stroke:#a8842f;stroke-width:.8}
.kvk-going{fill:#23372f;stroke:#fff;stroke-width:2}
.kvk-rally-dot circle{fill:#dbb66e;stroke:#fff;stroke-width:2}.kvk-rally-dot text{font-size:10px;font-weight:700;fill:#3d2f10;text-anchor:middle}
.kvk-tag{font-size:14px;font-weight:700;fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:#eef1e6;stroke-width:3px}
.kvk-mark.ours .kvk-tag{fill:#2b5a3d}.kvk-mark.friend .kvk-tag{fill:#2f5a92}.kvk-mark.enemy .kvk-tag{fill:#8f3b2c}
.kvk-sub{font-size:11px;fill:var(--muted);text-anchor:middle;paint-order:stroke;stroke:#eef1e6;stroke-width:3px}
.kvk-compass text{font-size:11px;font-weight:700;fill:var(--muted);text-anchor:middle}.kvk-compass line{stroke:var(--muted);stroke-width:1.2}.kvk-compass polygon{fill:var(--muted)}
.kvk-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:11px;color:var(--muted);margin-top:4px}
.kvk-legend span{display:inline-flex;align-items:center;gap:5px}
.kvk-legend span:before{content:"";width:10px;height:10px;border-radius:2px;transform:rotate(45deg) scale(.8)}
.kvk-legend .ours:before{background:#5f9a6a}.kvk-legend .friend:before{background:#6c93c9}.kvk-legend .enemy:before{background:#cf7c64}.kvk-legend .free:before{background:#f4f5f0;border:1px dashed #a9b19c}
.kvk-legend .mine:before{background:var(--gold);transform:none;border-radius:0 6px 6px 0;width:8px}.kvk-legend .tgt:before{border:2px dashed #23372f;background:none}
/* leader picker */
.kvk-leader-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.kvk-leader{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 5px;border:1px solid var(--line);border-radius:8px;background:#fafbf7}
.kvk-rank{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:11px;font-weight:700}
.kvk-leader-name{flex:1;min-width:0;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kvk-icon-btn{width:28px;height:28px;border:1px solid transparent;border-radius:6px;background:none;color:var(--muted);cursor:pointer;font-size:13px}
.kvk-icon-btn:hover{background:var(--paper);border-color:var(--line);color:var(--ink)}
.kvk-combo{position:relative}
.kvk-combo input{width:100%;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fafbf7;color:var(--ink);font-size:13px}
.kvk-combo input:focus{outline:none;border-color:#8fb196;background:var(--paper);box-shadow:0 0 0 3px #35644922}
.kvk-options-pop{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #192e2622;padding:4px;max-height:280px;overflow:auto}
.kvk-opt{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--ink)}
.kvk-opt span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kvk-opt small{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.kvk-opt .kvk-r{color:#7a5b1d;background:#f6ecd4;border-radius:4px;padding:0 5px;font-weight:700}
.kvk-opt.active,.kvk-opt:hover{background:var(--pale)}
.kvk-opt.id span{font-style:italic}
.kvk-opt-note{padding:9px 10px;font-size:12px;color:var(--muted)}
/* infirmary */
.kvk-meter{position:relative;height:10px;border-radius:6px;background:#edf0e8;overflow:visible}
.kvk-meter .fill{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:#6f9e77;width:0;transition:width .4s}
.kvk-meter.warn .fill{background:#d6a94b}.kvk-meter.bad .fill{background:#c0573f}
.kvk-meter .limit{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:#23372f;border-radius:1px}
.kvk-meter-text{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 10px;margin-top:8px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.kvk-more{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.kvk-more>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--ink)}
.kvk-solo-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin:10px 0 6px}
.kvk-solo-form label{display:grid;gap:4px;font-size:11px;color:var(--muted)}
.kvk-solo-form label>span{display:flex;align-items:center;gap:4px}
.kvk-solo-form input{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fafbf7}
/* rallies */
.kvk-rally-list{list-style:none;margin:0;padding:0;display:grid}
.kvk-rally{border-top:1px solid var(--line)}.kvk-rally:first-child{border-top:0}
.kvk-rally summary{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,1.4fr) auto 120px;gap:12px;align-items:center;padding:9px 2px;cursor:pointer;list-style:none;font-size:13px}
.kvk-rally summary::-webkit-details-marker{display:none}
.kvk-rally-target{font-weight:700}
.kvk-rally-lead{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kvk-rally-time{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap}
.kvk-rally.mine .kvk-rally-time b{color:var(--green)}
.kvk-rally.launched{opacity:.6}
.kvk-badge{display:inline-block;margin-left:4px;padding:0 6px;border-radius:9px;background:var(--green);color:#fff;font-size:10px;font-weight:700;vertical-align:1px}
.kvk-badge.muted{background:#e6e9e1;color:var(--muted)}
.kvk-bars{display:grid;gap:3px}
.kvk-bar{display:block;height:5px;border-radius:3px;background:#edf0e8;overflow:hidden}
.kvk-bar i{display:block;height:100%;width:0;background:#8cbf91;border-radius:3px}.kvk-bar.troops i{background:#d6b56c}
.kvk-rally-more{padding:0 2px 10px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.kvk-rally-more .members{margin-top:4px;color:var(--ink)}
.kvk-empty{font-size:12px;color:var(--muted);padding:4px 0}
.kvk-foot{margin:0;font-size:11px;color:var(--muted)}
@media(max-width:560px){.kvk-tag{font-size:21px;stroke-width:4px;transform:translateY(2px)}.kvk-sub{font-size:16px;stroke-width:4px;transform:translateY(7px)}.kvk-rally-dot text{font-size:13px}.kvk-rally-dot circle{r:10px}.kvk-compass text{font-size:16px}.kvk-map-panel{padding-left:6px;padding-right:6px}}
@media(max-width:760px){.kvk-layout{grid-template-columns:minmax(0,1fr)}.kvk-panel{padding:12px}.kvk-rally summary{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.kvk-rally-lead{grid-column:1/2}.kvk-bars{grid-column:1/-1}.kvk-solo-form{grid-template-columns:1fr 1fr}.kvk-solo-form button{grid-column:1/-1;justify-self:start}.kvk-now{flex-wrap:wrap}.kvk-now-text{flex-basis:calc(100% - 50px)}.kvk-recall{margin-left:46px}}
/* Events page: game calendar + calendar-ordered automation rows (9 Oct 2026) */
.event-rows-panel{margin-top:16px}
.cal{padding:6px 14px 12px}
.cal-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 92px;align-items:center;column-gap:12px}
.cal-days{display:grid;grid-template-columns:repeat(8,1fr);font-size:9.5px;color:#8b9588;letter-spacing:.3px;padding:8px 0 6px}
.cal-days span{border-left:1px solid #eef1e9;padding-left:5px;white-space:nowrap;overflow:hidden}
.cal-days em{font-style:normal}
.cal-days span.today{color:var(--green);font-weight:700}
.cal-sec{grid-column:1/-1;font-size:8.5px;font-weight:700;letter-spacing:1.6px;color:#8d987e;padding:12px 0 4px;border-top:1px solid #eff1ea;margin-top:4px;display:flex;justify-content:space-between}
.cal-sec em,.cal-group em{font-style:normal;font-weight:500;letter-spacing:.3px;color:#a0a898}
.cal-name{font-size:12px;font-weight:600;white-space:nowrap;padding:5px 0;display:flex;align-items:center;gap:6px;min-width:0}
.cal-name span{overflow:hidden;text-overflow:ellipsis}
.cal-name.hidden-game span{color:#8b9588}
.cal-auto{flex:none;border:0;font-size:8.5px;font-weight:650;color:#427143;background:#e9f2e2;border-radius:4px;padding:1px 5px;letter-spacing:.3px}
.cal-auto:hover{background:#d9e8cf}
.cal-track{position:relative;height:20px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 1px),#eef1e9 calc(12.5% - 1px),#eef1e9 12.5%)}
.cal-bar{position:absolute;top:4px;height:12px;border-radius:4px;min-width:4px}
.cal-bar.active{background:var(--green)}
.cal-bar.upcoming{background:var(--gold)}
.cal-bar.past{background:#cfd6c8}
.cal-bar.next{border:1.5px dashed #9fb38c;box-sizing:border-box}
.cal-bar.cut-r{border-top-right-radius:0;border-bottom-right-radius:0}
.cal-bar.cut-l{border-top-left-radius:0;border-bottom-left-radius:0}
.cal-now{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--red);z-index:1}
.cal-when{font-size:11px;text-align:right;white-space:nowrap;color:#6d7d64}
.cal-when b{display:block;font-size:12px;color:var(--ink)}
.cal-when.soon b{color:var(--red)}
.cal-when small{font-size:9.5px;color:#929b88}
.cal-foot{grid-column:1/-1;font-size:10.5px;color:#8b9588;padding:10px 0 0;border-top:1px solid #eff1ea;margin-top:8px}
.cal-error{color:var(--red)}
.cal-group{font-size:8.5px;font-weight:700;letter-spacing:1.6px;color:#8d987e;padding:12px 18px 6px;background:#fcfdfa;border-bottom:1px solid #eff1ea;display:flex;justify-content:space-between;gap:10px}
.when-pill{font-size:10px;font-weight:650;border-radius:5px;padding:2px 7px;white-space:nowrap;margin-right:6px;display:inline-block;line-height:1.4}
.when-pill.on{color:#427143;background:#e9f2e2}
.when-pill.soon{color:var(--red);background:#fcece6}
.when-pill.up{color:#977834;background:#faf0d9}
.when-pill.none{color:#7a8472;background:#f0f2e9}
@media(max-width:760px){
 .cal{padding:4px 10px 10px}
 .cal-grid{grid-template-columns:100px minmax(0,1fr) 54px;column-gap:7px}
 .cal-days{font-size:9px}.cal-days span{padding-left:2px}.cal-days .dw{display:none}
 .cal-name{font-size:11px}.cal-auto{display:none}
 .cal-when{font-size:9px}.cal-when b{font-size:10.5px}.cal-when small{display:none}
 .cal-group{padding:10px 12px 5px}
}
/* Events Calendar: collapsible, collapsed by default (user, 9 Oct 2026) */
.event-calendar-panel>summary{list-style:none;cursor:pointer;user-select:none}
.event-calendar-panel>summary::-webkit-details-marker{display:none}
.event-calendar-panel:not([open])>summary{border-bottom:0}
.event-calendar-panel h3{display:flex;align-items:center;gap:8px}
.cal-chev:before{content:"▸";font-size:12px;color:#9aa58f;display:inline-block;width:12px}
.event-calendar-panel[open] .cal-chev:before{content:"▾"}
.event-calendar-panel>summary:focus-visible{outline:3px solid #b1c691;outline-offset:-3px}
#event-calendar-meta b{font-weight:600;color:var(--ink)}
.kvk-settings{container:kvksettings / inline-size;border-top:1px solid var(--line);padding-top:14px}
.kvk-settings>summary{cursor:pointer;font-weight:600;font-size:13px}
.kvk-settings>summary small{font-weight:400;color:var(--muted);font-size:12px;margin-left:8px}
.kvk-squad-grid{display:grid;grid-template-columns:minmax(0,1fr);column-gap:24px;margin-top:12px}
.kvk-squad-group{padding:14px 0;min-width:0;border-top:1px solid var(--line)}
.kvk-squad-group h4{font-size:13px;margin:0 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kvk-squad-group h4 small{font-weight:400;color:var(--muted);font-size:12px}
.kvk-squad-heroes,.kvk-squad-ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:496px}
.kvk-squad-heroes{grid-template-columns:repeat(3,minmax(0,160px))}
.kvk-hero-empty{display:inline-block;width:28px;height:28px;flex:none}
.kvk-squad-ratios{margin-top:12px}
.kvk-squad-heroes label,.kvk-squad-ratios label{display:grid;gap:5px;font-size:12px;color:var(--muted);min-width:0}
.kvk-squad-ratios label>span{display:flex;align-items:center;gap:6px}
.kvk-squad-heroes select,.kvk-squad-ratios input{font:inherit;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:8px;min-width:0;width:100%}
.kvk-squad-total{display:block;max-width:496px;text-align:right;font-size:12px;color:var(--green);margin-top:6px;font-variant-numeric:tabular-nums}
.kvk-squad-total.invalid,.kvk-settings-error{color:var(--red)}
.kvk-settings-error{font-size:12px;margin:8px 0}
.kvk-settings-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 4px;flex-wrap:wrap}
.kvk-settings-foot small{color:var(--muted);font-size:12px}
.kvk-shared-pause{border-top:1px solid var(--line);padding:14px 0 4px}
.kvk-shared-pause>label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px}
.kvk-shared-pause label>span{display:flex;align-items:center;gap:6px;width:90px}
.kvk-shared-pause input{font:inherit;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:8px;min-width:0;width:100%}
.kvk-shared-pause small{display:block;color:var(--muted);font-size:12px;margin-top:6px}
@container kvksettings (min-width:640px){.kvk-squad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container kvksettings (max-width:440px){.kvk-squad-heroes{grid-template-columns:minmax(0,1fr)}.kvk-squad-heroes select,.kvk-squad-ratios input,.kvk-shared-pause input{font-size:16px}}
@media(max-width:480px){.kvk-squad-heroes{grid-template-columns:minmax(0,1fr)}.kvk-squad-heroes select,.kvk-squad-ratios input,.kvk-shared-pause input{font-size:16px}}

.disconnect-dialog{width:min(480px,calc(100vw - 28px))}.disconnect-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.disconnect-list li{border:1px solid var(--line);border-left:3px solid #c9a659;border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:2px 10px}.disconnect-list li.loss{border-left-color:var(--red)}.disconnect-list strong{font-size:13px}.disconnect-list span{font-size:10px;font-weight:600;color:#977834;align-self:center}.disconnect-list li.loss span{color:var(--red)}.disconnect-list p{grid-column:1/-1;font-size:11px;margin:0;color:var(--muted)}.disconnect-dialog>p{margin-top:12px}

/* Merchant Empire uses the shared event hero selectors. */
.me-event .mrow-btn{grid-template-columns:32px minmax(0,1fr) auto;gap:10px}
.me-event .nx{display:none}
.me-detail{gap:0;max-width:760px}
.me-totals{display:flex;flex-wrap:wrap;gap:8px 25px;padding:10px 0 12px}
.me-totals b{color:var(--ink);font-weight:600;margin-left:5px}
.me-caravans{padding:7px 0;border-block:1px solid var(--line)}
.me-caravans>div{display:grid;grid-template-columns:100px 36px minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 0}
.me-caravans b{color:var(--green);font-weight:600}
.me-caravans>div>span:last-child{text-align:right}
.me-settings{margin:0;min-width:0}
.me-times{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:14px 0 12px}
.me-time-heading{flex:1 0 100%}
.me-times label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.me-times input{font:inherit;color:var(--ink);background:var(--paper);padding:5px 7px;border:1px solid var(--line);border-radius:5px;width:160px;min-width:160px;max-width:100%}
.me-times small{font-size:11px}
.me-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 14px}
.me-options label{display:flex;align-items:center;gap:7px}
.me-options input{accent-color:var(--green);margin:0}
.me-target{padding:3px 7px;background:#e9f2e2;color:var(--green);border-radius:4px;font-size:11px;white-space:nowrap}
.me-squads{border-top:1px solid var(--line);padding-top:10px}
.me-detail summary{cursor:pointer;font-size:12px;font-weight:500;padding:3px 0;user-select:none}
.me-squad-fields{display:grid;gap:10px;margin:8px 0 4px}
.me-settings .hero-slot{min-width:0}
.me-settings .hero-slot select{font:inherit;color:var(--ink);width:100%}
.me-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 8px}
.me-rules{font-size:11px}
.me-rules>div{padding:5px 0;line-height:1.65}
.me-detail .me-alert{color:var(--red);margin:8px 0}
@media(max-width:520px){.me-totals{gap:7px 16px}.me-times{gap:8px}.me-times label{width:100%}.me-caravans>div{grid-template-columns:80px 26px minmax(0,1fr) auto;gap:5px}.me-caravans>div>span:last-child{max-width:85px;overflow-wrap:anywhere}.me-settings select,.me-times input{font-size:16px;min-height:40px}}
@media(pointer:coarse){.me-footer .button,.me-detail summary,.me-options label{min-height:44px}.me-detail summary{padding-block:12px}}

/* Fit visible event artwork to the card icon box, ignoring transparent atlas padding and barely visible shadows.
   Keep proportions and the entire icon; measurements: design/event-icons/artwork-bounds.json. */
#rows-events .ic{position:relative;height:32px;overflow:hidden}
#rows-events .ic .game-icon{position:absolute;max-width:none;margin:0;object-fit:contain;object-position:center;width:var(--event-icon-width,100%);height:var(--event-icon-height,100%);left:var(--event-icon-left,0%);top:var(--event-icon-top,0%)}
#rows-events .ic .game-icon[src$="activity_icon_2405001.png"]{--event-icon-width:195.1807%;--event-icon-height:87.9518%;--event-icon-left:-46.9880%;--event-icon-top:3.6145%;}
#rows-events .ic .game-icon[src$="activity_icon_2438001.png"]{--event-icon-width:205.0633%;--event-icon-height:92.4051%;--event-icon-left:-53.1646%;--event-icon-top:6.3291%;}
#rows-events .ic .game-icon[src$="activity_icon_2417001.png"]{--event-icon-width:241.7910%;--event-icon-height:108.9552%;--event-icon-left:-71.6418%;--event-icon-top:-4.4776%;}
#rows-events .ic .game-icon[src$="activity_icon_2412001.png"]{--event-icon-width:241.7910%;--event-icon-height:108.9552%;--event-icon-left:-71.6418%;--event-icon-top:-7.4627%;}
#rows-events .ic .game-icon[src$="activity_icon_2301001.png"]{--event-icon-width:234.7826%;--event-icon-height:105.7971%;--event-icon-left:-68.8406%;--event-icon-top:-5.7971%;}
#rows-events .ic .game-icon[src$="activity_icon_2937001.png"]{--event-icon-width:231.4286%;--event-icon-height:104.2857%;--event-icon-left:-66.4286%;--event-icon-top:-4.2857%;}
#rows-events .ic .game-icon[src$="activity_icon_2402001.png"]{--event-icon-width:225.0000%;--event-icon-height:101.3889%;--event-icon-left:-61.1111%;--event-icon-top:-3.4722%;}
#rows-events .ic .game-icon[src$="activity_icon_2408001.png"]{--event-icon-width:234.7826%;--event-icon-height:105.7971%;--event-icon-left:-67.3913%;--event-icon-top:-5.7971%;}
#rows-events .ic .game-icon[src$="activity_icon_2400005.png"]{--event-icon-width:245.4545%;--event-icon-height:110.6061%;--event-icon-left:-78.7879%;--event-icon-top:-9.0909%;}
#rows-events .ic .game-icon[src$="activity_icon_2400004.png"]{--event-icon-width:234.7826%;--event-icon-height:105.7971%;--event-icon-left:-69.5652%;--event-icon-top:-5.7971%;}
#rows-events .ic .game-icon[src$="activity_icon_50.png"]{--event-icon-width:105.4945%;--event-icon-height:105.4945%;--event-icon-left:-3.2967%;--event-icon-top:-3.2967%;}
#rows-events .ic .game-icon[src$="activity_icon_53.png"]{--event-icon-width:115.6627%;--event-icon-height:115.6627%;--event-icon-left:-8.4337%;--event-icon-top:-8.4337%;}
#rows-events .ic .game-icon[src$="activity_icon_60.png"]{--event-icon-width:129.7297%;--event-icon-height:129.7297%;--event-icon-left:-14.8649%;--event-icon-top:-13.5135%;}
#rows-events .ic .game-icon[src$="activity_icon_58.png"]{--event-icon-width:112.9412%;--event-icon-height:112.9412%;--event-icon-left:-7.0588%;--event-icon-top:-5.2941%;}
#rows-events .ic .game-icon[src$="alliance_icon_monster_013.png"]{--event-icon-width:118.1159%;--event-icon-height:102.8986%;--event-icon-left:-10.1449%;--event-icon-top:-6.1594%;}
#rows-events .ic .game-icon[src$="activity_icon_2426001.png"]{--event-icon-width:184.0909%;--event-icon-height:82.9545%;--event-icon-left:-42.0455%;--event-icon-top:7.3864%;}
#rows-events .ic .game-icon[src$="alliance_icon_016.png"]{--event-icon-width:130.4348%;--event-icon-height:130.4348%;--event-icon-left:-15.9420%;--event-icon-top:-18.1159%;}
#rows-events .ic .game-icon[src$="activity_icon_57.png"]{--event-icon-width:104.3478%;--event-icon-height:104.3478%;--event-icon-left:-2.1739%;--event-icon-top:1.0870%;}
#rows-events .ic .game-icon[src$="main_activity_icon_068.png"]{--event-icon-width:111.1111%;--event-icon-height:111.1111%;--event-icon-left:-5.5556%;--event-icon-top:-11.1111%;}
#rows-events .ic .game-icon[src$="main_activity_icon_433.png"]{--event-icon-width:121.2121%;--event-icon-height:121.2121%;--event-icon-left:-9.0909%;--event-icon-top:-10.6061%;}
#rows-events .ic .game-icon[src$="activity_icon_2303001.png"]{--event-icon-width:249.2308%;--event-icon-height:112.3077%;--event-icon-left:-75.3846%;--event-icon-top:-9.2308%;}
#rows-events .ic .game-icon[src$="activity_icon_2304001.png"]{--event-icon-width:231.4286%;--event-icon-height:104.2857%;--event-icon-left:-65.7143%;--event-icon-top:-5.0000%;}
#rows-events .ic .game-icon[src$="activity_icon_2436003.png"]{--event-icon-width:245.4545%;--event-icon-height:110.6061%;--event-icon-left:-72.7273%;--event-icon-top:-4.5455%;}
#rows-events .ic .game-icon[src$="activity_icon_2401001.png"]{--event-icon-width:234.7826%;--event-icon-height:105.7971%;--event-icon-left:-72.4638%;--event-icon-top:-5.0725%;}
#rows-events .ic .game-icon[src$="activity_icon_2904006.png"]{--event-icon-width:225.0000%;--event-icon-height:101.3889%;--event-icon-left:-62.5000%;--event-icon-top:0%;}
#rows-events .ic .game-icon[src$="activity_icon_2400008.png"]{--event-icon-width:253.1250%;--event-icon-height:114.0625%;--event-icon-left:-78.1250%;--event-icon-top:-9.3750%;}
#rows-events .ic .game-icon[src$="activity_icon_2400003.png"]{--event-icon-width:249.2308%;--event-icon-height:112.3077%;--event-icon-left:-76.1538%;--event-icon-top:-9.2308%;}
#rows-events .ic .game-icon[src$="activity_icon_2413001.png"]{--event-icon-width:205.0633%;--event-icon-height:92.4051%;--event-icon-left:-50.6329%;--event-icon-top:1.8987%;}
#rows-events .ic .game-icon[src$="activity_icon_2901001.png"],.fe-ic .game-icon[src$="activity_icon_2901001.png"]{--event-icon-width:228.1690%;--event-icon-height:102.8169%;--event-icon-left:-64.7887%;--event-icon-top:-2.8169%;}
#rows-events .ic .game-icon[src$="activity_icon_2902001.png"],.fe-ic .game-icon[src$="activity_icon_2902001.png"]{--event-icon-width:241.7910%;--event-icon-height:108.9552%;--event-icon-left:-70.8955%;--event-icon-top:-4.4776%;}
#rows-events .ic .game-icon[src$="activity_icon_2511001.png"],.fe-ic .game-icon[src$="activity_icon_2511001.png"]{--event-icon-width:234.7826%;--event-icon-height:105.7971%;--event-icon-left:-73.9130%;--event-icon-top:-2.8986%;}
#rows-events .ic .game-icon[src$="activity_icon_2601021.png"],.fe-ic .game-icon[src$="activity_icon_2601021.png"]{--event-icon-width:213.1579%;--event-icon-height:96.0526%;--event-icon-left:-52.6316%;--event-icon-top:1.9737%;}
#rows-events .ic .game-icon[src$="activity_icon_2903001.png"],.fe-ic .game-icon[src$="activity_icon_2903001.png"]{--event-icon-width:210.3896%;--event-icon-height:94.8052%;--event-icon-left:-55.8442%;--event-icon-top:1.9481%;}
#rows-events .ic .game-icon[src$="activity_icon_2303103.png"],.fe-ic .game-icon[src$="activity_icon_2303103.png"]{--event-icon-width:241.7910%;--event-icon-height:108.9552%;--event-icon-left:-70.8955%;--event-icon-top:-5.9701%;}
/* Halloween Party sections: each event's own icon, cropped like the event rows. */
.fe-ic{position:relative;display:inline-block;flex:none;width:24px;height:24px;overflow:hidden;vertical-align:middle;margin-right:6px}
.fe-ic .game-icon{position:absolute;max-width:none;margin:0;object-fit:contain;width:var(--event-icon-width,100%);height:var(--event-icon-height,100%);left:var(--event-icon-left,0%);top:var(--event-icon-top,0%)}
.fe-section{margin-top:14px}.fe-section>h4{display:flex;align-items:center;flex-wrap:wrap;gap:0 6px;margin:0 0 6px}.fe-section>h4 small{font-weight:400;color:var(--muted)}
.fe-doors li>span:last-child,.fe-missions li>span:last-child{text-align:right}.fe-missions li{align-items:center}.fe-missions progress{width:64px;margin-left:8px;vertical-align:middle}
.fe-missions li.ready>span:last-child,.fe-doors li.ready>span:last-child{color:#977834;font-weight:600}.fe-note{margin:6px 0 0}.fe-line{display:block;margin-top:4px}
/* Shop & VIP pass rows (Weekly Benefits / Intel Monthly Card, Sign-in & Earn It) use wide activity artwork: same crop in a 24px box. */
#rows-shop .ic:has(.game-icon[src*="/activity_icon_"]),#rows-shop .ic:has(.game-icon[src*="/rechargetab_icon_"]){position:relative;width:24px;height:24px;overflow:hidden}
#rows-shop .ic .game-icon[src*="/activity_icon_"],#rows-shop .ic .game-icon[src*="/rechargetab_icon_"]{position:absolute;max-width:none;margin:0;object-fit:fill;width:var(--event-icon-width,100%);height:var(--event-icon-height,100%);left:var(--event-icon-left,0%);top:var(--event-icon-top,0%)}
#rows-shop .ic .game-icon[src$="activity_icon_2506001.png"]{--event-icon-width:238.2353%;--event-icon-height:107.3529%;--event-icon-left:-69.8529%;--event-icon-top:-2.9412%;}
#rows-shop .ic .game-icon[src$="activity_icon_2505001.png"]{--event-icon-width:241.7910%;--event-icon-height:108.9552%;--event-icon-left:-71.6418%;--event-icon-top:-2.9851%;}
#rows-shop .ic .game-icon[src$="activity_icon_3.png"]{--event-icon-width:265.5738%;--event-icon-height:119.6721%;--event-icon-left:-81.9672%;--event-icon-top:-11.4754%;}
#rows-shop .ic .game-icon[src$="rechargetab_icon_047.png"]{--event-icon-width:238.2353%;--event-icon-height:107.3529%;--event-icon-left:-69.8529%;--event-icon-top:-1.4706%;}
/* Monument (City automation) uses the game's wide event artwork, cropped like the event rows. */
#rows-city .ic:has(.game-icon[src$="/activity_icon_2.png"]){position:relative;width:24px;height:24px;overflow:hidden}
#rows-city .ic .game-icon[src$="/activity_icon_2.png"]{position:absolute;max-width:none;margin:0;object-fit:fill;--event-icon-width:245.4545%;--event-icon-height:110.6061%;--event-icon-left:-73.4848%;--event-icon-top:-6.0606%;width:var(--event-icon-width);height:var(--event-icon-height);left:var(--event-icon-left);top:var(--event-icon-top)}
@media(max-width:700px){#rows-city .ic:has(.game-icon[src$="/activity_icon_2.png"]){width:22px;height:22px}}
@media(max-width:700px){#rows-shop .ic:has(.game-icon[src*="/activity_icon_"]),#rows-shop .ic:has(.game-icon[src*="/rechargetab_icon_"]){width:22px;height:22px}}
@media(max-width:700px){#rows-events .ic{height:30px}}

/* Bear priority members: searchable current alliance roster. */
.bt-set [data-bear-member-picker]{width:min(100%,320px);min-width:0}
.alliance-member-search{position:relative;display:flex;gap:4px;width:100%}
.alliance-member-search input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:8px;font:inherit;background:#fff;color:var(--ink)}
.alliance-member-search>button{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:6px 10px;cursor:pointer}
.alliance-member-options{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto;overscroll-behavior:contain;z-index:10;padding:5px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 8px 28px #20392c26}
.alliance-member-options[hidden]{display:none}
.alliance-member-options button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;border-radius:6px;padding:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font:inherit}
.alliance-member-options button span{overflow-wrap:anywhere;min-width:0}
.alliance-member-options button small{color:var(--muted);flex-shrink:0}
.alliance-member-options button[aria-selected=true],.alliance-member-options button:hover{background:#edf4e9}

.squad-overview{display:grid;gap:10px;margin-bottom:14px}.squad-overview:empty{display:none}.slot-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px}.slot-strip b{margin-right:4px}.slot-hold{font-size:12px;color:#8c6e39;background:#fff0d6;border:1px solid #e6d3a7;border-radius:7px;padding:8px 12px}
.fm-form{display:grid;gap:14px}.fm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.fm-card{border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;gap:14px;min-width:0;background:var(--paper)}.fm-card .card-heading{margin:0;align-items:center}.fm-card .card-title h3{font-size:15px}.fm-troops{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.fm-mode{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.fm-mode select{padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);font:inherit}.fm-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fm-inputs[hidden]{display:none}.fm-troop{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);min-width:0}.fm-troop>span:first-child{display:flex;align-items:center;gap:5px}.fm-troop>span:first-child img,.fm-troop>span:first-child svg{width:20px;height:20px}.fm-input{display:flex;align-items:center;gap:4px}.fm-input input{width:100%;min-width:0;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);font:inherit}.fm-unit{font-size:11px;color:var(--muted)}.fm-unit:empty{display:none}.fm-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.squad-card .squad-nnw{display:grid;gap:4px;margin:0}.squad-nnw>div{display:grid;grid-template-columns:24px 38px minmax(0,1fr);align-items:center;gap:0 6px}.squad-nnw>div>dt:first-child{grid-column:2}.squad-nnw dt{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#9aa38f}.squad-nnw dd{margin:0;color:#4f6147;overflow-wrap:anywhere}.squad-nnw>div:first-child dd{font-weight:600}
.recall-menu{position:relative}.recall-menu summary{list-style:none;padding:6px 11px;font-size:10px}.recall-menu summary::-webkit-details-marker{display:none}.recall-options{position:absolute;right:0;bottom:calc(100% + 4px);z-index:5;display:grid;gap:4px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 8px 24px #26352c22;min-width:200px}.recall-options .button{flex-direction:column;align-items:flex-start;gap:1px;text-align:left;width:100%}.recall-options small{font-weight:400;color:var(--muted);font-size:10px}
.squad-card.kind-blocked{border-color:#ddbeb0}

.panel.fold>summary{list-style:none;cursor:pointer;border-bottom:0}.panel.fold>summary::-webkit-details-marker{display:none}.panel.fold>summary h3:before{content:"▸";display:inline-block;width:16px;color:var(--muted);transition:transform .15s}.panel.fold[open]>summary{border-bottom:1px solid #eff1ea}.panel.fold[open]>summary h3:before{transform:rotate(90deg)}.plan-rows{list-style:none;margin:0;padding:0;display:grid}.plan-rows li{display:grid;grid-template-columns:26px 150px minmax(0,1fr);align-items:center;gap:12px;min-height:52px;padding:6px 0;border-bottom:1px solid #eff1ea;font-size:12px}.plan-rows li:last-child{border-bottom:0}.plan-step{width:22px;height:22px;border-radius:50%;background:#eef2e4;color:#4f6147;display:grid;place-items:center;font-size:11px;font-weight:600}.plan-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.plan-controls select,.plan-controls input{padding:5px 6px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);font:inherit}.plan-controls input{width:64px}.plan-sep{width:1px;height:22px;background:var(--line);margin:0 4px}.plan-chip{font-size:11px;padding:2px 8px;border-radius:5px;background:#e9f2e2;color:#3f5238}.plan-icon{display:inline-flex}.plan-icon .game-icon,.plan-icon img{width:28px;height:28px;object-fit:contain}.plan-event .game-icon,.plan-event img{width:30px;height:30px;object-fit:cover}.squad-settings{gap:18px}.squad-settings>section+section{border-top:1px solid #eff1ea;padding-top:16px}.settings-title{font-size:13px;margin:0 0 8px}@media(max-width:760px){.plan-rows li{grid-template-columns:26px minmax(0,1fr)}.plan-rows li>.plan-controls{grid-column:2}}
.characters{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-top:1px solid #eff1e9;padding-top:14px}.characters-label{font-size:9px;font-weight:650;letter-spacing:1.8px;color:#8d987e;text-transform:uppercase}.character{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:12px;min-width:0}.character.active{border-color:#c6d5b5;background:#f6f9f1}.character strong{font-weight:600;overflow-wrap:anywhere}.character small{display:block;font-size:10px;color:var(--muted)}.kingdom-picks{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.kingdom-pick{gap:6px}.kingdom-pick.primary .muted-text{color:#e3ecdc}@media(max-width:760px){.character{width:100%;justify-content:space-between}}
.bl-slots{display:flex;flex-direction:column;gap:8px}.bl-row{display:flex;justify-content:center;gap:8px}.bl-row .hero-slot{flex:0 1 calc((100% - 16px)/3);min-width:0}@media(max-width:520px){.bl-row{flex-wrap:wrap}.bl-row .hero-slot{flex-basis:calc((100% - 8px)/2)}}

#code-field{display:flex;flex-direction:column;gap:10px}
.account-switch-label{display:block;font-size:9px;letter-spacing:1.6px;color:#839983;text-transform:uppercase;margin-bottom:6px}.account-switch{width:100%;background:#2c4034;color:#f2f2df;border:1px solid #556149;border-radius:6px;padding:7px 8px;font-size:12px}.account-switch:disabled{opacity:1;cursor:default}#signed-in-as{overflow-wrap:anywhere}
.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:12px}.login-links a{color:var(--green);text-decoration:underline}.login-title{font-size:20px;letter-spacing:-.4px;margin-bottom:4px}.login-help{font-size:12px;color:var(--muted)}.login-optional{font-weight:400;color:var(--muted)}.login-done{font-size:13px;background:var(--pale);border-radius:8px;padding:12px;margin-top:10px}#verify-form,#register-form,#forgot-form,#reset-form{display:flex;flex-direction:column;gap:10px}#verify-form label,#register-form label,#forgot-form label,#reset-form label{font-size:11px;font-weight:600}#verify-form input,#register-form input,#forgot-form input,#reset-form input{border:1px solid #d8dfcf;border-radius:6px;padding:10px;background:#fafbf7;color:var(--ink);font-size:14px}
.access-page{display:grid;gap:16px}.access-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.access-card h3{margin-bottom:6px}.access-card>.muted-text{margin-bottom:12px;font-size:11px}.access-table-wrap{overflow-x:auto;margin-top:6px}.access-table{width:100%;border-collapse:collapse;font-size:12px}.access-table th{text-align:left;font-size:9px;letter-spacing:1.2px;color:#828f7c;text-transform:uppercase;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}.access-table td{padding:9px 10px;border-bottom:1px solid #eff1e9;vertical-align:middle;overflow-wrap:anywhere}.access-table a{color:var(--green);text-decoration:underline}.access-table a.button{text-decoration:none}.access-pending td{background:#fffaf0}.access-actions{display:flex;gap:6px;flex-wrap:wrap}.access-actions+.muted-text{margin-top:10px;font-size:11px}.access-form{display:grid;gap:10px;max-width:420px;margin-top:8px}.access-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600}.access-form input,.access-form select{border:1px solid #d8dfcf;border-radius:6px;padding:8px 10px;background:#fafbf7;color:var(--ink);font-size:12px}.access-form .button{justify-self:start}.access-inline{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));max-width:none;align-items:end}.access-secret{display:grid;gap:6px;margin:8px 0}.access-secret code{font-size:12px;background:#fff;border:1px solid #e6d3a7;border-radius:6px;padding:8px;overflow-wrap:anywhere;user-select:all}
.access-view #foreign-banner,.access-view #no-account,.access-view #stale-banner{display:none!important}.access-table{min-width:760px}.access-table .badge{white-space:nowrap}.access-table td:first-child{min-width:150px}
.dv-wishes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0}.dv-wish{display:grid;justify-items:center;gap:2px;border:1px solid var(--line);border-radius:8px;background:#f7f8f3;padding:9px 6px;color:var(--ink);font-size:11px;min-width:0}.dv-wish span{overflow-wrap:anywhere;text-align:center}.dv-wish b{font-size:13px;font-weight:600}.dv-wish .game-icon{width:36px;height:36px;object-fit:contain}.dv-wish:hover{background:var(--pale)}.dv-wish.selected{border-color:var(--green);background:#e9f2e2;box-shadow:inset 0 0 0 1px var(--green)}.dv-cards{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin:6px 0}.dv-card{aspect-ratio:3/4;border:1px solid var(--line);border-radius:6px;background:#eef1e6;display:grid;place-items:center;align-content:center;gap:1px;color:#9aa68e;font-size:16px;font-weight:600;min-width:0}.dv-card.revealed{background:var(--paper);color:var(--ink)}.dv-card.wish{border-color:var(--gold);background:#faf0d9}.dv-card .game-icon{width:26px;height:26px;object-fit:contain}.dv-card b{font-size:10px;font-weight:600}.dv-card small{font-size:9px;color:#977834}.dv-mult{font-size:14px;color:#977834}@media(max-width:760px){.dv-wishes{grid-template-columns:repeat(2,minmax(0,1fr))}.dv-cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
.nm-badge{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:1px 6px;border-radius:5px;background:#faf0d9;color:#977834;font-size:11px;font-weight:600;vertical-align:middle;white-space:nowrap}.nm-badge .game-icon{width:14px;height:14px;object-fit:contain}
.cf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 8px}.cf-tile{border:1px solid var(--line);border-radius:9px;background:#fafbf7;padding:9px 11px;min-width:0;display:grid;gap:1px}.cf-tile span{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#828f7c;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-tile b{font-size:19px;font-weight:600;color:var(--ink);line-height:1.3}.cf-tile small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.cf-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:11px;color:var(--muted);margin-bottom:10px}.cf-meta b{color:var(--ink);font-weight:600;margin-left:3px}.cf-squad{display:inline-flex;align-items:center;gap:3px}.cf-squad .game-icon{width:22px;height:22px;margin:0}.cf-settings{display:grid;gap:7px;border-top:1px solid var(--line);padding:12px 0 8px}.cf-diff{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.cf-diff select{max-width:min(100%,340px);min-width:0;flex:1 1 auto;padding:6px 8px;border:1px solid #d8dfcf;border-radius:6px;background:#fafbf7;color:var(--ink)}.cf-opt{display:flex;align-items:center;gap:9px;font-size:12px;cursor:pointer}.cf-opt input{accent-color:var(--green);width:16px;height:16px;margin:0;flex:none}.cf-opt.cf-sub{padding-left:25px;color:var(--muted)}@media(max-width:760px){.cf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cf-squad-edit{border:1px solid var(--line);border-radius:9px;background:#fafbf7;margin:0 0 10px}.cf-squad-edit>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 11px;cursor:pointer;font-size:12px;font-weight:600;list-style:none}.cf-squad-edit>summary::-webkit-details-marker{display:none}.cf-squad-edit>summary:after{content:"▾";margin-left:auto;color:var(--muted)}.cf-squad-edit[open]>summary:after{content:"▴"}.cf-squad-edit>summary small{font-size:11px;font-weight:400;color:var(--muted)}.cf-squad-form{padding:4px 11px 11px;display:grid;gap:9px}.cf-squad-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.cf-squad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 11px 11px}.cf-squad-grid .cf-squad-form{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0}.cf-squad-form h4{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}.cf-squad-form h4 small{margin-left:auto;font-size:10px;font-weight:400;color:var(--muted)}.cf-chip{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:2px 7px;border:1px solid var(--line);border-radius:12px;background:#fff}.cf-chip .game-icon{width:18px;height:18px;margin:0}.cf-chip small{font-weight:400;color:var(--muted);margin-left:2px}@media(max-width:760px){.cf-squad-grid{grid-template-columns:1fr}}
.cf-chip.tier-normal,.cf-squad-grid .cf-squad-form.tier-normal{border-color:#4f8a5b;background:#e9f2e2;box-shadow:inset 0 0 0 1px #4f8a5b}.cf-chip.tier-key,.cf-squad-grid .cf-squad-form.tier-key{border-color:var(--red);background:#fcece6;box-shadow:inset 0 0 0 1px var(--red)}.cf-chip.tier-normal.tier-key,.cf-squad-grid .cf-squad-form.tier-normal.tier-key{border-color:#4f8a5b;background:#fff;box-shadow:inset 0 0 0 1px #4f8a5b,0 0 0 2px var(--red)}.cf-tier{font-size:10px;font-weight:600;padding:1px 7px;border-radius:9px;color:#fff}.cf-tier.normal{background:#4f8a5b}.cf-tier.key{background:var(--red)}

/* Fit Cesares artwork to the Rally join icon box, excluding transparent atlas padding. */
.plan-cesares{position:relative;width:28px;height:28px;flex:none;overflow:hidden}
.plan-cesares .game-icon{position:absolute;max-width:none;width:241.7910%;height:108.9552%;left:-71.6418%;top:-7.4627%;object-fit:fill;margin:0}
.cw-rally{display:grid;gap:7px;border-top:1px solid var(--line);padding:12px 0 8px;margin-top:8px;min-width:0}.cw-rally-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted)}.cw-rally-head h4{margin:0;font-size:13px;font-weight:600;color:var(--ink);margin-right:auto}.cw-rally-status{margin:0!important;font-size:12px;color:var(--ink);overflow-wrap:anywhere}.cw-rally-status.err{color:var(--red)}.cw-redeem{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}
.plan-champions{position:relative;width:28px;height:28px;flex:none;overflow:hidden}
.plan-champions .game-icon{position:absolute;max-width:none;width:205.0633%;height:92.4051%;left:-50.6329%;top:1.8987%;object-fit:fill;margin:0}

/* Alliance captain participation lives separately from the personal challenge ladder. */
.cf-captain{border:1px solid #d8dfcf;border-radius:10px;background:#fafbf7;padding:14px;margin:12px 0 14px;min-width:0}.cf-captain-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cf-captain-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cf-captain-head h4{margin:0;font-size:14px;font-weight:600}.cf-captain-badge{font-size:10px;font-weight:600;border-radius:12px;padding:3px 8px;background:#e9ede5;color:#52634a}.cf-captain-badge.sent{background:#dcebd5;color:#345d2b}.cf-captain-badge.review{background:#fcece6;color:var(--red)}.cf-captain-facts{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin:14px 0}.cf-captain-fact{display:grid;gap:3px;min-width:0}.cf-captain-fact>span{font-size:10px;color:var(--muted)}.cf-captain-fact>b{font-size:16px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}.cf-captain-fact>small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.cf-captain-status{font-size:12px;margin:8px 0!important;color:var(--ink)}.cf-captain-rule,.cf-captain-rewards{font-size:11px;color:var(--muted);line-height:1.6}.cf-captain-rule{margin:8px 0!important}.cf-captain-rewards{border-top:1px solid var(--line);padding-top:8px}.cf-captain-rewards summary{cursor:pointer;width:fit-content;color:var(--ink)}.cf-captain-rewards p{margin:7px 0 0!important;font-size:11px}.cf-captain-history{margin:4px 0 10px;font-size:11px;color:var(--muted)}.cf-captain-history ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0}.cf-captain-history li{border:1px solid var(--line);border-radius:12px;padding:2px 8px;background:#fff;color:var(--ink)}.cf-captain-history li b{font-weight:600}.cf-captain-history li.refused{color:var(--red);text-decoration:line-through}.cf-captain-health{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin:8px 0 12px}.cf-captain-health meter{flex:1;height:8px;min-width:0;accent-color:var(--green)}.cf-captain-health b{font-weight:500;min-width:32px;text-align:right}@media(max-width:520px){.cf-captain{padding:12px}.cf-captain-head{align-items:flex-start}.cf-captain-head>.cf-opt{width:100%;font-size:12px}.cf-captain-facts{grid-template-columns:1fr 1fr;gap:12px}.cf-captain-fact:first-child{grid-column:1/-1}.cf-captain-fact>b{font-size:15px}}

/* Current chapter checklist, including offline and pending reward states. */
.chapter-settings{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;margin:1rem 0}
.chapter-settings label{display:flex;align-items:center;gap:.35rem}
.chapter-goals{padding:0;list-style:none;margin:1rem 0 0}
.chapter-goal{display:flex;gap:1rem;justify-content:space-between;padding:.9rem 0;border-top:1px solid var(--line)}
.chapter-goal-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.chapter-goal-main strong,.chapter-goal-main p{overflow-wrap:anywhere}
.chapter-goal-main p{margin:0;font-size:.9rem}
.chapter-counter{white-space:nowrap;font-variant-numeric:tabular-nums;align-self:flex-start}
.chapter-goal[data-goal-status="upcoming"]{opacity:.65}
.chapter-goal[data-goal-status="claimed"] .chapter-counter{color:var(--green)}
@media(max-width:600px){.chapter-settings{display:grid;grid-template-columns:1fr}.chapter-goal{gap:.6rem}.chapter-counter{font-size:.9rem}}

.chapter-body{padding:1rem 1.1rem}.chapter-body>p+p{margin-top:.45rem}

.chat-reply-action{border:0;background:none;padding:2px 5px;color:var(--green);font:inherit;text-decoration:underline;cursor:pointer}
.chat-reply-action:disabled{opacity:.45;cursor:default}
.chat-reply-quote{display:flex;flex-direction:column;gap:3px;max-width:100%;width:100%;text-align:left;border:0;border-left:3px solid #8daa8b;border-radius:4px;background:#ffffff80;padding:7px 10px;margin-bottom:7px;color:inherit;cursor:pointer;font:inherit}
.chat-reply-quote span,.chat-reply-draft span{display:block;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;max-height:3.8em;font-size:12px}
.chat-reply-quote strong,.chat-reply-draft strong{font-size:11px;color:#466744}
.chat-reply-draft{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;margin-bottom:6px;background:#edf3e9;border-left:3px solid #8daa8b;border-radius:5px}
.chat-reply-draft[hidden]{display:none}
.chat-reply-draft>div{min-width:0}
.chat-reply-highlight .chat-bubble{animation:chat-reply-flash 1.8s ease-out}
@keyframes chat-reply-flash{from{box-shadow:0 0 0 3px #a4bd8b}to{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.chat-reply-highlight .chat-bubble{animation:none;outline:2px solid #8daa8b}}

/* Bear Trap priority leaders: one per line */
.bt-set .chips.bt-prio{display:block}
.bt-set .chips.bt-prio>.bt-prio-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;width:fit-content;max-width:100%}
.bt-set .chips.bt-prio>div[data-bear-member-picker]{margin-top:8px}
/* Bear Trap squad settings: own rally on its own row, join squads three per row when there is room */
.bt-set .bt-squads{grid-template-columns:repeat(3,minmax(0,1fr))}
.bt-set .bt-squads>.bt-own+.hero-fieldset{grid-column-start:1}  /* own rally alone on its row, same width as the others */
@media (max-width:900px){.bt-set .bt-squads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.bt-set .bt-squads{grid-template-columns:minmax(0,1fr)}}
.nb-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.nb-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;margin:0 0 6px}.nb-bar progress{appearance:none;-webkit-appearance:none;width:100%;height:6px;border:0;border-radius:3px;background:var(--line);overflow:hidden}.nb-bar progress::-webkit-progress-bar{background:var(--line)}.nb-bar progress::-webkit-progress-value{background:var(--green)}.nb-bar progress::-moz-progress-bar{background:var(--green)}.nb-hint{display:block;margin-bottom:10px}.nb-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}.nb-tier{border:1px solid var(--line);border-radius:8px;padding:6px 7px;display:grid;align-content:start;gap:4px;min-width:0}.nb-tier>span{font-size:11px;font-weight:600;color:var(--muted)}.nb-tier.ready>span{color:#977834}.nb-tier.done{background:var(--pale)}.nb-tier.done>span{color:var(--green)}.nb-items{display:flex;flex-wrap:wrap;gap:3px 8px}.nb-item{display:inline-flex;align-items:center;gap:2px;font-size:11px;color:var(--ink)}.nb-item .game-icon{width:22px;height:22px;margin:0}.nb-item.nb-text{font-size:10px;color:var(--muted);padding:1px 5px;border:1px solid var(--line);border-radius:4px}.nb-item.nb-text b{color:var(--ink);margin-left:2px}.nb-item b{font-weight:600}.nb-h{margin:4px 0 2px;font-size:12px}.nb-table{width:100%;border-collapse:collapse}.nb-table th,.nb-table td{padding:3px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.nb-table th{font-size:11px;font-weight:600;color:var(--muted);text-align:left;white-space:nowrap;width:1%}.nb-table tr.mine th,.nb-table tr.mine td{background:var(--pale)}.nb-table tr.mine th{color:var(--green)}@media(max-width:760px){.nb-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}

.nb-table .nb-score{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums;width:1%}

/* Strongest Governor uses shared reward tiles and wraps at narrow widths. */
.sg-day{margin:12px 0;min-width:0}.sg-day h4{margin:4px 0}.sg-day p{margin:6px 0}.sg-progress{width:100%;height:6px;accent-color:var(--green);margin:4px 0 8px}.sg-history{border-top:1px solid var(--line);padding:8px 0}.sg-history summary{cursor:pointer;font-size:12px;overflow-wrap:anywhere}.sg-tiers{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-tiers .nb-tier>span{white-space:normal;overflow-wrap:anywhere}@media(max-width:760px){.sg-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.sg-tiers{grid-template-columns:1fr}}
/* Strongest Governor day tabs (one per day) and collapsed point-task lists. */
.sg-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px;margin:12px 0 0}
.sg-tab{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:5px 4px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;font-size:12px;cursor:pointer}
.sg-tab small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sg-tab.today small{color:var(--green);font-weight:600}.sg-tab.upcoming{border-style:dashed}
.sg-tab[aria-selected=true]{border-color:var(--green);background:var(--pale);font-weight:600;box-shadow:inset 0 -2px 0 var(--green)}
.sg-tab:focus-visible{outline:2px solid var(--green);outline-offset:1px}
.sg-panel>.sg-day{margin-top:8px}
.sg-tasks{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0;padding:6px 0}
.sg-tasks summary{cursor:pointer;font-size:12px;font-weight:600}
.sg-tasks ul{list-style:none;margin:6px 0 0;padding:0}
.sg-tasks li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:12px;border-top:1px solid var(--line);min-width:0}
.sg-tasks li span{overflow-wrap:anywhere}.sg-tasks li b{white-space:nowrap}
.sg-tasks li.sg-task-note{color:var(--muted);display:block}
.ac-tasks ul{margin:0}.ac-tasks li:first-child{border-top:0}
@media(pointer:coarse){.sg-tab{min-height:44px}.sg-tasks summary{padding-block:10px}}
.sg-detail .cf-tile{background:var(--paper)}.sg-detail .cf-tile span{color:var(--muted)}

.nb-ranking-title{display:flex;align-items:center;gap:4px}
.sg-row.open{background:var(--paper)}.sg-detail .cf-tile b{overflow-wrap:anywhere}.sg-detail .nb-tier.ready>span{color:var(--ink)}.sg-detail .nb-tier.ready{border-color:var(--gold)}@media(max-width:480px){.sg-detail .cf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hr-spins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:2px 0 4px}.hr-spin{justify-content:space-between;gap:8px;min-width:0}.mob-buy{flex:none;white-space:nowrap;gap:8px}.mob-cost{display:inline-flex;align-items:center;gap:3px;font-weight:600}.mob-cost .game-icon{width:18px;height:18px;margin:0}
.hr-cost{display:inline-flex;align-items:center;gap:3px;font-weight:600}.hr-cost .game-icon{width:20px;height:20px;margin:0}.hr-cost small{font-size:10px;font-weight:500;opacity:.8}.hr-heroes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 2px}.hr-hero small{font-size:10px;color:var(--muted)}.hr-hero .game-icon{border-radius:50%}.hr-tiers{grid-template-columns:repeat(5,minmax(0,1fr))}.hr-got{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0;font-size:12px}.hr-got>b{font-weight:600}.hr-odds{margin:10px 0 4px;font-size:12px}.hr-odds summary{cursor:pointer;color:var(--muted)}.hr-odds .nb-items{margin-top:6px}.hr-odds .nb-item small{font-size:10px;color:var(--muted);margin-left:2px}@media(max-width:760px){.hr-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.hr-spins{grid-template-columns:minmax(0,1fr)}}
.hr-need{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;color:var(--ink)}.hr-need .game-icon{width:18px;height:18px;margin:0}.hr-need.done{color:var(--green)}.hr-need.muted-text{font-weight:500}
/* Champagne Fair: Redemptions / Obtain Vouchers pages, one goods per line. */
.chf-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.chf-panel{margin-top:6px;min-width:0}
.chf-goods{list-style:none;margin:0;padding:0}
.chf-good{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 10px;padding:7px 0;border-top:1px solid var(--line);min-width:0}
.chf-good:first-child{border-top:0}.chf-good.done{opacity:.6}
.chf-trade{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.chf-trade .nb-item .game-icon{width:28px;height:28px}.chf-arrow{color:var(--muted);font-size:12px}
.chf-info{display:grid;min-width:0;font-size:12px}.chf-info>b{font-weight:600;overflow-wrap:anywhere}.chf-info .badge{justify-self:start;padding:1px 6px}
.chf-meta{display:flex;flex-wrap:wrap;gap:0 5px;font-size:11px;color:var(--muted)}.chf-meta.chf-short{color:var(--red)}.chf-star{color:var(--ink);font-weight:600}.chf-star.done{color:var(--green)}.chf-done{color:var(--green);font-weight:600}.chf-warn{color:#977834}
.chf-buy{display:flex;align-items:center;gap:6px}.chf-buy input{width:64px;border:1px solid #d8dfcf;border-radius:6px;padding:6px 7px;background:#fafbf7;color:var(--ink);font-size:12px}
.chf-none{margin:8px 0 2px;font-size:12px}.chf-none summary{cursor:pointer;color:var(--muted)}
@media(max-width:520px){.chf-good{grid-template-columns:auto minmax(0,1fr)}.chf-buy{grid-column:1/-1;justify-content:flex-end}}
@media(pointer:coarse){.chf-buy input,.chf-buy .button{min-height:40px}}

/* Alliance Championship lane arrangement (R4/R5). */
.cl-section{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;min-width:0}
.cl-head{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}
.cl-head h4{margin:0;font-size:13px}
.cl-match{flex:1 1 auto;font-size:12px;min-width:0;overflow-wrap:anywhere}
.cl-switch,.cl-form label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.cl-switch input,.cl-form input[type=checkbox]{accent-color:var(--green);margin:0}
.cl-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0}
.cl-lane{display:grid;gap:2px;padding:7px 9px;border:1px solid var(--line);border-top-width:3px;border-radius:5px;min-width:0;overflow-wrap:anywhere;font-size:12px}
.cl-name{font-weight:600;color:var(--ink)}
.cl-power{font-size:16px;font-weight:600;color:var(--ink)}
.cl-to{font-size:12px;font-weight:500;color:var(--green)}
.cl-lane.cl-strong{border-top-color:var(--green)}
.cl-lane.cl-medium{border-top-color:var(--gold)}
.cl-lane.cl-weak{border-top-color:var(--red)}
.cl-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;font-size:12px}
.cl-alert{color:var(--red)}
.cl-last{font-size:12px;margin:6px 0 0}
.cl-last b{color:var(--ink);font-weight:600}
.cl-fold{font-size:12px;margin-top:8px}
.cl-fold summary{cursor:pointer;padding:3px 0}
.cl-moves{margin:4px 0;padding-left:18px;max-height:200px;overflow:auto}
.cl-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 0}
.cl-roles{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.cl-roles[hidden],.cl-roles-note[hidden]{display:none}
.cl-roles-note{color:var(--muted)}
.cl-form select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:4px 6px;max-width:100%}
@media(max-width:520px){.cl-lanes{gap:5px}.cl-to{display:block}.cl-lane{padding:6px}.cl-power{font-size:14px}.cl-form select{font-size:16px;min-height:40px}.cl-roles label{flex:1 1 30%}}
@media(pointer:coarse){.cl-status .button,.cl-fold summary,.cl-switch{min-height:44px}}
.login-language{display:flex;justify-content:flex-end;margin-top:14px}.language-switch{border:1px solid #d8dfcf;border-radius:6px;padding:4px 6px;background:#fafbf7;color:var(--ink);font-size:12px}
label[for=language-switch]{margin-top:12px}#language-switch{margin-bottom:8px}
.settings-language{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}
.tile-line .button{white-space:nowrap;flex:none}

.ch-fold-heading{cursor:pointer;font-size:13px;padding:4px 0;overflow-wrap:anywhere}
.ch-fold-heading .muted-text{font-weight:400;margin-left:8px;font-size:12px}
.mob-rank-fold{margin:0 0 12px}.mob-rank-fold>summary{cursor:pointer;font-size:13px;padding:4px 0;overflow-wrap:anywhere}.mob-rank-fold>summary .muted-text{font-weight:400;margin-left:8px;font-size:12px}@media(pointer:coarse){.mob-rank-fold>summary{min-height:44px;box-sizing:border-box;padding-top:12px}}
.mob-rank{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:3px}.mob-rank li{display:grid;grid-template-columns:3em minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;font-size:13px}.mob-rank li strong{font-weight:600;overflow-wrap:anywhere}.mob-rank li>b{font-variant-numeric:tabular-nums}.mob-rank-own{background:var(--pale)}
.mob-rank-no{font-size:11px;font-weight:600;line-height:16px;padding:0 5px;border-radius:4px;background:var(--pale);color:var(--ink);text-align:center;font-variant-numeric:tabular-nums}.mob-rank-foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:8px 0}
@media(max-width:520px){.mob-rank li{grid-template-columns:3em minmax(0,1fr) auto}.mob-rank li>span.muted-text{grid-column:2/-1;grid-row:2;font-size:12px}}
.ch-recommend{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 10px}.ch-recommend small{flex:1 1 220px;min-width:0}
.ch-lane-rule{font-size:11px;color:var(--muted);margin:0 0 4px;overflow-wrap:anywhere}
.ch-current-formations>.cl-section{border-top:0;margin-top:4px}
@media(pointer:coarse){.ch-fold-heading{min-height:44px;box-sizing:border-box;padding-top:12px}}

.pass-stages li{display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;align-items:center;gap:8px}.pass-stages li>span:last-child{color:var(--muted);white-space:nowrap}.pass-stages li.ready>span:last-child{color:#977834;font-weight:600}.pass-stages li.claimed>span:last-child{color:var(--green)}.mrow progress[aria-label]{appearance:none;-webkit-appearance:none;width:min(240px,60%);height:6px;border:0;border-radius:3px;background:var(--line);vertical-align:middle;overflow:hidden}.mrow progress[aria-label]::-webkit-progress-bar{background:var(--line)}.mrow progress[aria-label]::-webkit-progress-value{background:var(--green)}.mrow progress[aria-label]::-moz-progress-bar{background:var(--green)}

/* Compact season matrix: one cell per alliance and round, three aligned lanes. */
.ch-formations{margin-top:12px}
.ch-formation-scroll{overflow:auto;max-width:100%;margin:8px 0;scrollbar-width:thin}
.ch-formation-grid{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.ch-formation-grid th{text-align:left;font-weight:500;color:var(--muted);padding:4px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.ch-formation-grid thead td{width:96px;border-bottom:1px solid var(--line)}
.ch-formation-grid tbody th{color:var(--ink);vertical-align:top;padding-top:7px}
.ch-round-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;flex-wrap:wrap}
.ch-round-head time{font-size:11px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.ch-formation-title th{padding:10px 4px 2px;border-bottom:0}
.ch-formation-name{position:sticky;left:4px;display:inline-flex;align-items:baseline;gap:8px;max-width:calc(100vw - 48px);min-width:0}
.ch-formation-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.ch-formation-power{flex:none;font-variant-numeric:tabular-nums;font-weight:600}
.ch-formation-rank{flex:none;align-self:center;font-size:11px;font-weight:600;line-height:16px;padding:0 5px;border-radius:4px;background:var(--pale);color:var(--ink);font-variant-numeric:tabular-nums}
.ch-formation-name small{flex:none;font-size:10px;font-weight:400;color:var(--muted)}
.ch-formation-lane-labels{display:grid;grid-template-rows:repeat(3,24px)}
.ch-formation-lane-labels span{display:block;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400;color:var(--muted)}
.ch-formation-grid td{padding:3px;vertical-align:top;border-bottom:1px solid var(--line)}
.ch-formation-cell{height:100%;padding:4px 6px;border-radius:4px}
.ch-formation-pending{display:flex;align-items:center;justify-content:center;min-height:95px;text-align:center}
.ch-formation-lane{display:flex;align-items:center;justify-content:space-between;gap:8px;height:24px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:15px}
.ch-formation-lane small{flex:none;font-size:11px;color:var(--muted);text-align:left}
.ch-formation-lane b{flex:none;white-space:nowrap;text-align:right}
.ch-matrix-win{background:#dff1d8}
.ch-matrix-loss{background:#f8e1db}
.ch-matrix-upcoming{background:color-mix(in srgb,var(--gold) 30%,var(--paper))}
.ch-power-win{color:var(--green)}
.ch-power-loss{color:var(--red)}
.ch-formation-change{display:block;color:var(--muted);padding:4px 0;font-size:11px;line-height:15px;overflow-wrap:anywhere}
.ch-formation-foot{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.ch-formation-foot .ch-formation-change{min-width:0}
.ch-result{flex:none;font-size:11px;line-height:15px;padding:4px 0;text-align:right}
.ch-result-win{color:var(--green)}
.ch-result-loss{color:var(--red)}
.ch-result-draw{color:var(--muted)}
.ch-change-swap,.ch-change-moved,.ch-change-roster{color:var(--ink);font-weight:600}
.ch-change-same{color:var(--green)}
.ch-formation-note{padding:6px 0;font-size:11px}

.player-avatar[data-player-uid]{cursor:zoom-in}
.player-avatar[data-player-uid]:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.player-photo-dialog{box-sizing:border-box;width:min(720px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);overflow:auto}
.player-photo-dialog::backdrop{background:#0009}
.player-photo-dialog>button{display:block;margin-left:auto;min-height:44px}
.player-photo-dialog>p{overflow-wrap:anywhere}
.player-photo-dialog>p:empty{display:none}
.player-photo-dialog .player-photo-full{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 130px);object-fit:contain;margin:12px auto 0;border-radius:8px}
.player-photo-dialog .player-photo-full[hidden]{display:none}
.ao-progress-label{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:11px;margin:12px 0 5px}.ao-progress{width:100%;height:6px;accent-color:var(--green);margin:0 0 10px}.ao-tier{display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.ao-tier>span:first-child{font-weight:600}.ao-tier-state{color:var(--muted);overflow-wrap:anywhere}.ao-tier.done .ao-tier-state{color:var(--green)}.ao-tier.ready .ao-tier-state{font-weight:600;color:var(--ink)}.ao-detail .cf-tile b{overflow-wrap:anywhere}.ao-detail>p{margin:10px 0 0}.mo-tier{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}.mo-tier>span:first-child{display:grid;gap:3px;font-weight:400}.mo-tier>span:first-child b{font-weight:600}.mo-tier .ao-progress-label{margin:4px 0 0}.mo-tier .ao-progress{margin:0}@media(max-width:480px){.ao-tier{grid-template-columns:minmax(0,1fr) auto}.ao-tier>.nb-items{grid-row:2;grid-column:1/-1}.ao-detail .cf-stats{gap:6px}.ao-detail .cf-tile{padding:8px}.ao-detail .cf-tile b{font-size:18px}}
.hunt-rows li{grid-template-columns:30px 110px minmax(0,1fr)}.hunt-rows .plan-icon img{object-fit:cover}.hunt-note{display:block;margin-top:8px}@media(max-width:760px){.hunt-rows li{grid-template-columns:30px minmax(0,1fr)}}

/* Registration verification and SMTP settings use the current dashboard theme. */
#verify-form p{font-size:13px;overflow-wrap:anywhere}#verify-form input{min-width:0}form[data-form="smtp"]{min-width:0}form[data-form="smtp"] label,form[data-form="smtp"] input,form[data-form="smtp"] select{min-width:0;width:100%;box-sizing:border-box}form[data-form="smtp"] .button{max-width:100%;white-space:normal;text-align:left}form[data-form="smtp"] p{font-size:12px;overflow-wrap:anywhere}

.access-form textarea{box-sizing:border-box;width:100%;min-width:0;resize:vertical;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:8px 10px}.access-form .service-checkbox{flex-direction:row;align-items:center}.access-form input,.access-form select{min-width:0;max-width:100%;box-sizing:border-box}

.service-option .muted-text{font-size:12px;line-height:1.5;font-weight:400;margin:4px 0 0 24px;overflow-wrap:anywhere}

.fm-policy-settings{margin-top:16px}.fm-policy-settings summary{cursor:pointer;font-size:13px}.fm-policy-settings p{margin:12px 0;font-size:12px}.fm-policy-settings form{display:grid;gap:14px}.fm-policy-settings h4{margin:0;font-size:13px}.fm-policy-settings .fm-mode{flex-wrap:wrap}.fm-policy-settings select{max-width:100%;min-width:0;background:var(--paper);color:var(--ink)}.fm-policy-settings input{box-sizing:border-box}

.ministers-panel>summary h3{flex-shrink:0}.ministers-panel>summary .ministers-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* City task groups use the shared rows; children retain independent controls and updates. */
.city-group-detail{padding:0!important;gap:0}
.city-subrows{min-width:0;border-top:1px solid var(--line)}
.city-group-detail>.city-subrows>.mrow>.mrow-head>.mrow-btn{padding-left:28px}
#rows-conquest-rewards{margin-top:6px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
#rows-conquest-rewards .mrow-btn{grid-template-columns:26px minmax(0,1fr) auto;row-gap:2px;padding-left:10px}
#rows-conquest-rewards .mrow-btn .ic{grid-row:1/3}
#rows-conquest-rewards .mrow-btn .nm{grid-column:2;grid-row:1}
#rows-conquest-rewards .mrow-btn .st{grid-column:2;grid-row:2;white-space:normal}
#rows-conquest-rewards .mrow-btn .nx{grid-row:1/3;grid-column:3}

.chapter-fold>summary{cursor:pointer;list-style:none}.chapter-fold>summary::-webkit-details-marker{display:none}.chapter-fold>summary::after{content:'▾';margin-left:auto;transition:transform .15s}.chapter-fold:not([open])>summary::after{transform:rotate(-90deg)}.chapter-fold>summary h3{min-width:0}

.account-panel{min-width:0}.account-main{min-width:0;max-width:100%;flex:1 1 360px}.account-profile{min-width:0;flex:1}.account-profile .status-line{flex-wrap:wrap}.governor-name-line{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%}#account-id{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#governor-rename{flex-shrink:0}.view[data-view="alliance"]>.section-heading>div{width:100%;min-width:0}.alliance-title-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.alliance-title-line h2{min-width:0}.alliance-title-line .button{flex-shrink:0}#alliance-leave[hidden]{display:none}.account-name-field{display:grid;gap:6px;margin:16px 0}.account-name-field input{width:100%;min-width:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:10px;font-size:16px}#account-action-dialog p{overflow-wrap:anywhere}#account-action-dialog .dialog-actions{flex-wrap:wrap}

.account-name-field[hidden]{display:none}

.account-rename-cost img{width:40px;height:40px;object-fit:contain}.account-rename-cost[hidden]{display:none}

@media(max-width:760px){.account-panel .connection-action{min-width:0;flex-wrap:wrap}}

.alliance-title-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;max-width:100%}#alliance-teleport[hidden]{display:none}@media(max-width:760px){.alliance-title-line{flex-wrap:wrap}.alliance-title-actions{margin-left:auto}}

.tt-inventory{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:12px;color:var(--muted)}.tt-inventory>span{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.tt-inventory b{color:var(--ink);font-variant-numeric:tabular-nums}.tt-inventory .game-icon{width:18px;height:18px;margin:0}.tt-speed{white-space:nowrap}@media(max-width:520px){.tt-inventory>span:first-child{flex-basis:100%}}
.avatar-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;max-height:min(52vh,420px);overflow-y:auto;padding:3px}.avatar-choice{position:relative;display:grid!important;place-items:center;margin:0!important;aspect-ratio:1;border:2px solid var(--line);border-radius:10px;background:var(--pale);cursor:pointer;overflow:hidden}.avatar-choice input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.avatar-choice .player-avatar{width:100%;height:100%;object-fit:cover;margin:0}.avatar-choice-name{padding:4px;font-size:10px;text-align:center;overflow-wrap:anywhere}.avatar-choice:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px #b1c691}.avatar-choice:has(input:focus-visible){outline:3px solid #b1c691;outline-offset:2px}#avatar-dialog .dialog-actions{flex-wrap:wrap}#avatar-dialog [hidden]{display:none}#account-avatar{padding:0;font:inherit;font-size:34px;color:#798858}#account-avatar:not(:disabled){cursor:pointer}#account-avatar:not(:disabled):hover{border-color:var(--green)}#account-avatar:disabled{opacity:1;cursor:default}
.connection-route{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:360px;padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:11px;letter-spacing:0;color:var(--muted);white-space:nowrap}.connection-route:hover{background:var(--pale)}.connection-route b{font-weight:600;color:var(--ink)}#connection-route-note{overflow:hidden;text-overflow:ellipsis}.connection-route.waiting{border-color:#e6d3a7;background:#fff7e6;color:#977834}@media(max-width:760px){.topbar{gap:10px}.topbar>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right{gap:8px;min-width:0;flex-shrink:0}.topbar .sign-out{white-space:nowrap}.connection-route{max-width:130px;padding:4px 8px;font-size:10px}.connection-route b{display:none}}
#connection-direct{margin-top:8px}.connection-action>#last-sync{display:block;margin-top:6px}

/* Shared crowned-gateway identity; keep its square proportions. */
.brand .brand-mark{width:44px;height:44px;padding:0;overflow:hidden;border:0;background:transparent;border-radius:10px;flex-shrink:0}.brand-logo{display:block;width:100%;height:100%;object-fit:contain}

.access-disclosure>summary{cursor:pointer;position:relative;padding-right:24px;list-style:none}.access-disclosure>summary::-webkit-details-marker{display:none}.access-disclosure>summary:after{content:"▸";position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--muted)}.access-disclosure[open]>summary:after{content:"▾"}.access-disclosure>summary h3{margin-bottom:0}.access-disclosure[open]>summary{margin-bottom:12px}.access-subsection{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.access-subsection h4{font-size:13px;margin:0 0 8px}.access-subsection>.muted-text{font-size:11px;margin:10px 0}

/* A signed-in user without a game account sees setup instead of unloaded game cards. */
.no-game-account:not(.access-view) .view{display:none!important}
.access-view #no-account{display:none!important}
.account-setup{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);max-width:1100px;margin:28px auto;background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 36px #192e2608}
.setup-welcome{padding:44px;min-width:0}
.setup-logo{display:block;margin-bottom:28px;border-radius:18px;object-fit:contain}
.setup-welcome h1{margin:12px 0 18px;font-size:clamp(28px,3vw,42px);line-height:1.15;color:var(--ink);letter-spacing:-1.2px}
.setup-intro{font-size:16px;color:var(--muted);max-width:440px}
#setup-downloads{margin-top:30px;overflow-wrap:anywhere}
#setup-downloads .access-card{padding:0;border:0;background:none;margin:0}
#setup-downloads .section-kicker{display:none}
#setup-downloads h3{font-size:16px}
#setup-downloads .access-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
#setup-downloads .button{white-space:normal;text-align:center;justify-content:center;max-width:100%;height:auto}
#setup-downloads .muted-text{font-size:12px;line-height:1.7}
.setup-guide{padding:44px;background:var(--pale);border-left:1px solid var(--line);min-width:0}
.setup-guide h2{font-size:19px}
.setup-steps{list-style:none;counter-reset:setup;padding:0;margin:30px 0}
.setup-steps li{position:relative;padding:0 0 28px 48px;counter-increment:setup}
.setup-steps li:last-child{padding-bottom:0}
.setup-steps li:before{content:counter(setup);position:absolute;left:0;top:0;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--green);font-weight:650}
.setup-steps h3{font-size:15px;margin-bottom:5px}
.setup-steps p,.setup-finish p{font-size:13px;color:var(--muted);line-height:1.7}
.setup-finish{border-top:1px solid var(--line);padding-top:22px}
.setup-finish .button{margin-top:12px;white-space:normal;height:auto}
@media(max-width:1100px){.account-setup{grid-template-columns:1fr}.setup-guide{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:500px){.account-setup{margin:8px auto;border-radius:14px}.setup-welcome,.setup-guide{padding:24px}.setup-logo{width:56px;height:56px;margin-bottom:20px}#setup-downloads .access-actions{flex-direction:column}#setup-downloads .button{width:100%}}

.login-provider{display:inline-block;width:20px;height:20px;object-fit:contain;vertical-align:middle;flex:0 0 20px;border-radius:4px}
.account-provider-select{display:flex;align-items:center;gap:6px}.account-provider-select #account-login-provider:empty{display:none}.account-provider-select .account-switch{min-width:0;flex:1}
