:root{--bg:#030b1c;--panel:#071934;--panel2:#0a2248;--line:#149cff;--cyan:#42d8ff;--green:#61db72;--red:#ff6a73;--muted:#9fb7d8;--text:#f7fbff;--gold:#ffc83d}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -20%,#0d3b73 0,#06142d 35%,var(--bg) 75%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}body{min-height:100dvh}.topbar{position:sticky;top:0;z-index:20;height:60px;display:flex;align-items:center;gap:14px;padding:0 14px;border-bottom:1px solid #164976;background:rgba(3,11,28,.94);backdrop-filter:blur(12px)}.back{color:#dff3ff;text-decoration:none;border:1px solid #235b90;border-radius:10px;padding:9px 11px}.brand{display:flex;gap:9px;align-items:baseline}.brand strong{color:var(--cyan);font-size:1.2rem}.brand span{color:var(--muted);font-size:.9rem}main{width:min(900px,100%);margin:auto;padding:18px 14px 50px}.hero{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:end}.eyebrow{color:var(--cyan);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:900;margin:0}.hero h1{font-size:clamp(2rem,6vw,3.7rem);line-height:.95;text-transform:uppercase;font-style:italic;margin:.18em 0}.hero p{color:#c7d9ef}.progress-card{border:1px solid #226ea8;background:rgba(5,22,50,.82);border-radius:15px;padding:15px}.progress-card span{font-weight:900}.bar{height:9px;margin-top:10px;background:#031026;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--line),var(--cyan));transition:width .2s}.notice{margin:18px 0;border:1px solid #7a6324;background:rgba(93,69,11,.24);color:#ffeab0;border-radius:13px;padding:13px;line-height:1.4}.controls{display:grid;grid-template-columns:170px minmax(220px,1fr) 180px;gap:10px;margin-bottom:12px}.controls label{display:grid;gap:5px;color:var(--muted);font-size:.8rem;font-weight:800}.controls select,.controls input,.controls button,.bottom-actions button{min-height:46px;border:1px solid #286aa2;background:#061a38;color:white;border-radius:11px;padding:0 12px;font:inherit}.controls input:focus,.controls select:focus{outline:none;border-color:var(--cyan)}button{cursor:pointer}.primary{background:linear-gradient(135deg,#147bc1,#19b5ee)!important;color:#03152b!important;font-weight:900;border-color:#48d7ff!important;align-self:end}.status-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 14px}.status-tabs button{border:1px solid #225f93;background:#061a36;color:#dcecff;border-radius:11px;padding:10px 8px;font-weight:800}.status-tabs button.active{border-color:var(--cyan);background:#0a315e}.status-tabs span{display:inline-block;margin-left:5px;color:var(--cyan)}.supply-list{display:grid;gap:9px}.supply-row{display:grid;grid-template-columns:minmax(145px,1fr) auto auto;gap:8px;align-items:center;border:1px solid #1e5d91;background:rgba(5,20,45,.85);border-radius:13px;padding:11px}.supply-row.completed{border-color:rgba(97,219,114,.65);background:rgba(25,73,39,.35)}.supply-row.empty{border-color:rgba(255,106,115,.55);background:rgba(82,29,38,.32)}.coord-wrap{min-width:0}.level{display:block;color:var(--muted);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.coord{font-size:1.12rem;font-weight:950;color:#fff;letter-spacing:.02em}.copy{display:inline-block;margin-left:6px;border:0;background:transparent;color:var(--cyan);padding:4px;font-size:.85rem}.status-btn{min-height:43px;border-radius:10px;padding:0 11px;font-weight:900;border:1px solid}.found{border-color:#3b9a50;background:#123f20;color:#bff8c9}.nothing{border-color:#9b4650;background:#421a20;color:#ffd1d5}.status-btn.selected{box-shadow:0 0 0 2px currentColor inset,0 0 18px rgba(255,255,255,.08)}.empty-state{text-align:center;color:var(--muted);padding:35px}.bottom-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.bottom-actions button{padding:0 14px}.bottom-actions .danger{border-color:#8e3d47;color:#ffbfc5}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#0b315d;border:1px solid var(--cyan);padding:10px 14px;border-radius:999px;font-weight:900;z-index:99;box-shadow:0 10px 30px #0008}.highlight{animation:pulse 1.4s ease}@keyframes pulse{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 3px var(--cyan),0 0 28px rgba(66,216,255,.35)}}
@media(max-width:700px){.brand span{display:none}.hero{grid-template-columns:1fr}.controls{grid-template-columns:1fr 1fr}.controls .primary{grid-column:1/-1}.status-tabs{grid-template-columns:1fr 1fr}.supply-row{grid-template-columns:1fr 1fr}.coord-wrap{grid-column:1/-1}.status-btn{width:100%}.bottom-actions{display:grid}.hero h1{font-size:2.25rem}}@media(max-width:390px){.controls{grid-template-columns:1fr}.controls .primary{grid-column:auto}.status-tabs{grid-template-columns:1fr 1fr}.topbar{padding:0 8px}}
.sync-notice{margin:18px 0 8px;border:1px solid #2b7eb7;background:rgba(7,49,88,.42);color:#d8f3ff;border-radius:13px;padding:12px 13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sync-notice b{color:var(--cyan)}.sync-notice.offline{border-color:#9b4650;background:rgba(82,29,38,.32)}.sync-notice.offline b{color:#ffbfc5}.status-btn:disabled{opacity:.55;cursor:wait}
.language-select{margin-left:auto;height:38px;border:1px solid #235b90;background:#071934;color:#eef8ff;border-radius:9px;padding:0 7px;font-weight:900;font-size:.78rem;min-width:118px}
@media(max-width:700px){.language-select{height:36px;min-width:105px;max-width:125px;padding:0 4px;font-size:.72rem}}
@media(max-width:390px){.language-select{min-width:100px;max-width:112px;font-size:.68rem}.back{padding:8px 7px;font-size:.78rem}}

/* Compact resolved locations: completed / nothing-found rows stay visible without dominating the list.
   This is presentation-only; shared status remains stored in Netlify Blobs. */
.supply-row.compact{grid-template-columns:minmax(0,1fr) auto;padding:8px 11px;gap:8px}
.supply-row.compact .level{font-size:.68rem}
.supply-row.compact .coord{font-size:1rem}
.compact-status{min-height:36px;border-radius:9px;padding:0 11px;font:inherit;font-size:.82rem;font-weight:900;white-space:nowrap}
.compact-status.completed{border:1px solid #3b9a50;background:#123f20;color:#bff8c9}
.compact-status.empty{border:1px solid #9b4650;background:#421a20;color:#ffd1d5}
.compact-status span{display:inline-block;margin-left:5px;font-size:1.1em}
@media(max-width:700px){.supply-row.compact{grid-template-columns:minmax(0,1fr) auto}.supply-row.compact .coord-wrap{grid-column:auto}.compact-status{width:auto;min-width:125px}}
@media(max-width:430px){.supply-row.compact{grid-template-columns:1fr}.compact-status{width:100%}}

/* V2.30: make collapsed completed locations visually unmistakable. */
.supply-row.completed.compact{
  border:2px solid #62f58a;
  background:linear-gradient(135deg,rgba(31,142,67,.78),rgba(12,92,48,.88));
  box-shadow:0 0 0 1px rgba(98,245,138,.2) inset,0 0 18px rgba(98,245,138,.18);
}
.supply-row.completed.compact .level{color:#d9ffe4}
.supply-row.completed.compact .coord{color:#ffffff;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.supply-row.completed.compact .copy{color:#bafbd0}
.supply-row.completed.compact .compact-status.completed{
  border:2px solid #b9ffca;
  background:#38d868;
  color:#052711;
  box-shadow:0 0 15px rgba(92,255,132,.32);
}

/* V2.31: gold/amber resolved treatment for collapsed Completed locations.
   Presentation only; tracker status storage and API behavior are unchanged. */
.supply-row.completed.compact{
  border:2px solid #ffd75a;
  background:linear-gradient(135deg,rgba(126,88,8,.88),rgba(78,52,4,.94));
  box-shadow:0 0 0 1px rgba(255,215,90,.24) inset,0 0 20px rgba(255,190,35,.20);
}
.supply-row.completed.compact .level{color:#ffe9a6}
.supply-row.completed.compact .coord{color:#fff8df;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.supply-row.completed.compact .copy{color:#ffe07a}
.supply-row.completed.compact .compact-status.completed{
  border:2px solid #fff0a3;
  background:linear-gradient(135deg,#ffd34e,#f3ad16);
  color:#352300;
  box-shadow:0 0 17px rgba(255,195,42,.38);
}


/* Community Supply Tracker V2 */
.staging-banner{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 16px;border:1px solid #9b7624;background:rgba(118,82,9,.28);color:#ffe9a8;border-radius:12px;padding:10px 12px;font-size:.82rem}.staging-banner strong{color:#ffd45b}.staging-banner span{color:#e8d7a2}
.server-panel{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0 8px;border:1px solid #2389c4;background:linear-gradient(135deg,rgba(9,52,92,.82),rgba(5,27,54,.92));border-radius:14px;padding:12px 13px}.server-panel>div:first-child{display:flex;flex-direction:column;gap:2px}.server-panel span{color:var(--muted);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.server-panel strong{font-size:1.45rem;color:var(--cyan)}.server-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.server-actions button{min-height:38px;border:1px solid #2e78ad;background:#071b38;color:#eaf8ff;border-radius:9px;padding:0 10px;font-weight:850}
.server-gate[hidden]{display:none}.server-gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(1,7,18,.84);backdrop-filter:blur(8px)}.server-dialog{width:min(430px,100%);border:1px solid #2d8fc9;background:linear-gradient(180deg,#0b2443,#061426);border-radius:18px;padding:22px;box-shadow:0 25px 70px #000b}.server-icon{font-size:2.1rem}.server-dialog h2{margin:.2em 0;font-size:1.8rem}.server-dialog p:not(.eyebrow){color:#c6d8eb;line-height:1.45}.server-dialog label{display:grid;gap:6px;margin-top:15px;color:#c6dbef;font-size:.8rem;font-weight:900}.server-dialog input{height:52px;border:1px solid #287eb5;background:#04152c;color:white;border-radius:11px;padding:0 13px;font:inherit;font-size:1.15rem;font-weight:900}.server-dialog input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(66,216,255,.12)}.server-dialog small{display:block;margin-top:5px;color:var(--muted)}.server-error{margin-top:9px;border:1px solid #aa4752;background:rgba(98,28,39,.45);color:#ffd0d4;border-radius:9px;padding:8px 10px;font-size:.82rem}.server-continue{width:100%;height:50px;margin-top:15px;border-radius:11px}
@media(max-width:700px){.staging-banner{align-items:flex-start;flex-direction:column}.server-panel{align-items:flex-start}.server-actions{width:100%}.server-actions button{flex:1}.server-panel{flex-direction:column}.server-panel>div:first-child{width:100%}}
/* V2.77.1 server guard: keep the active server visible while marking statuses. */
.server-guard[hidden]{display:none}
.server-guard{position:sticky;top:60px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;padding:9px 11px;border:2px solid #ffd75a;border-radius:12px;background:rgba(34,25,4,.97);box-shadow:0 8px 22px rgba(0,0,0,.35),0 0 0 1px rgba(255,215,90,.14) inset;backdrop-filter:blur(12px)}
.server-guard-copy{min-width:0;color:#ffe9a6;font-size:.84rem;font-weight:850;line-height:1.25}
.server-guard-copy span{color:#ffe9a6}
.server-guard-copy strong{display:inline-block;margin-left:4px;color:#fff4bf;font-size:1.05rem;white-space:nowrap}
.server-guard button{flex:0 0 auto;min-height:36px;border:1px solid #ffe07a;background:#503a08;color:#fff4bf;border-radius:9px;padding:0 10px;font:inherit;font-size:.78rem;font-weight:900;white-space:nowrap}
.server-guard button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
@media(max-width:430px){.server-guard{gap:7px;padding:8px 9px}.server-guard-copy{font-size:.76rem}.server-guard-copy strong{font-size:.95rem}.server-guard button{min-height:34px;padding:0 8px;font-size:.72rem}}


/* Nerfed HQ Supply Tracker preview shell — presentation only. */
.nerfed-toolbar{
  height:auto;min-height:68px;padding:8px 14px;
  background:linear-gradient(180deg,rgba(5,11,20,.99),rgba(7,17,30,.97));
  border-bottom:1px solid rgba(85,169,255,.25);
  box-shadow:0 12px 32px rgba(0,0,0,.2);
}
.nerfed-brand{display:flex;align-items:center;gap:9px;min-width:0;color:inherit;text-decoration:none}
.nerfed-mark{width:38px;height:38px;flex:0 0 38px;border-radius:9px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(126,195,255,.22),0 0 22px rgba(66,165,255,.14)}
.nerfed-mark img,.server-brand-mark img,.nerfed-return-mark img{width:100%;height:100%;display:block;object-fit:cover;filter:contrast(1.06)}
.nerfed-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.04}
.nerfed-kicker{font-size:8px;letter-spacing:.12em;font-weight:950;color:#91bfea;white-space:nowrap}
.nerfed-kicker b{color:#72bdff}
.nerfed-title{margin-top:3px;color:#fff;font-size:16px;font-weight:950;white-space:nowrap}
.nerfed-sub{margin-top:3px;color:#7f9ab8;font-size:9px;font-weight:750;white-space:nowrap}
.nerfed-toolbar .language-select{margin-left:auto}
.hero{padding-top:8px}
.hero h1{text-transform:none;font-style:normal;letter-spacing:-.035em;max-width:680px}
.hero .eyebrow{color:#80c5ff}
.server-panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 14px 30px rgba(0,0,0,.12)}
.nerfed-return{margin-top:24px;display:flex;align-items:center;gap:11px;text-decoration:none;color:#eef8ff;border:1px solid #255e90;background:linear-gradient(145deg,rgba(12,36,59,.94),rgba(6,23,42,.94));border-radius:14px;padding:11px 13px;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.nerfed-return-mark{width:36px;height:36px;flex:0 0 36px;border-radius:8px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(126,195,255,.2)}
.nerfed-return>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.nerfed-return strong{font-size:14px;color:#b9dcff}.nerfed-return small{margin-top:2px;color:#8ea8c4;font-size:11px}.nerfed-return>b{margin-left:auto;color:#5bb7ff;font-size:20px}
.server-brand-mark{display:block;width:58px;height:58px;margin:0 auto 12px;border-radius:13px;overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(126,195,255,.25),0 0 28px rgba(66,165,255,.14)}
.server-dialog{border-color:#285f8f!important;background:linear-gradient(165deg,#0a2039,#061426)!important;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 0 1px rgba(91,183,255,.06) inset!important}
.server-dialog>.eyebrow{text-align:center;color:#83c8ff}
.server-dialog h2{text-align:center}

@media(max-width:700px){
  .nerfed-toolbar{min-height:62px;padding:7px 9px;gap:7px}
  .nerfed-mark{width:34px;height:34px;flex-basis:34px;border-radius:8px}
  .nerfed-title{font-size:14px}.nerfed-kicker{font-size:7px;letter-spacing:.09em}.nerfed-sub{font-size:8px}
  .hero h1{font-size:2.15rem}
}
@media(max-width:430px){
  .nerfed-toolbar{padding-inline:8px}
  .nerfed-mark{width:31px;height:31px;flex-basis:31px}
  .nerfed-brand{gap:7px}
  .nerfed-kicker{font-size:6.5px}.nerfed-title{font-size:13px}.nerfed-sub{display:none}
  .nerfed-toolbar .language-select{min-width:100px;max-width:112px}
}
@media(max-width:360px){.nerfed-kicker{display:none}.nerfed-title{font-size:12px}.nerfed-toolbar .language-select{min-width:92px;max-width:100px;font-size:.64rem}}
