/* The Game Master console (/console). Built on colonies.css; this adds the tab bar and the console's own blocks. */
main{max-width:1320px;padding-top:12px}
.hlinks{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.hlinks a{color:#cfeef5;text-decoration:none;border:1px solid #2f6475;border-radius:30px;padding:7px 12px;font-size:13px}
.hlinks a:hover{border-color:var(--aqua);color:#fff}
#who{font-size:13px;display:flex;gap:6px;align-items:center}
#who button{padding:7px 12px;font-size:13px}
textarea{font:inherit;background:#082331;color:#fff;border:1px solid #356577;border-radius:9px;padding:10px;width:100%;resize:vertical}
label.chk{display:flex;gap:7px;align-items:center;font-size:14px}
label.chk input{width:auto}
.small{font-size:13px}

/* Tabs */
.tabs{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:4px;overflow-x:auto;scrollbar-width:thin;margin:0 -18px 6px;padding:10px 18px;background:linear-gradient(#061521f5,#061521e8);backdrop-filter:blur(6px);border-bottom:1px solid #25536588}
.tabs a{flex:none;color:#bfdbe4;text-decoration:none;padding:9px 14px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid transparent;white-space:nowrap;display:flex;gap:6px;align-items:center}
.tabs a:hover{background:#0f2f40;color:#fff}
.tabs a.on{background:#123f52;border-color:#3eb2bc;color:#fff}
.badge{font-style:normal;font-size:11px;font-weight:800;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#e7c47e;color:#1b1406;display:none;place-items:center}
.badge.show{display:inline-grid}
.badge.live{background:#fe2c55;color:#fff}
.tab{display:none}
.tab.on{display:block}
.tab>.panel:first-child,.tab>.cgrid:first-child>.panel,.tab>.ovgrid:first-child{margin-top:12px}

/* Two-column card grid */
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cgrid>.panel{margin-top:18px}
@media(max-width:900px){.cgrid{grid-template-columns:1fr}.cgrid>.panel+.panel{margin-top:0}}

/* Overview */
.ovgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.stat{background:linear-gradient(145deg,#123448e8,#0b2130ed);border:1px solid var(--edge);border-radius:16px;padding:14px 16px;text-decoration:none;color:inherit;display:block}
a.stat:hover{border-color:var(--aqua)}
.stat small{display:block;letter-spacing:.12em;font-size:11px}
.stat b{display:block;font-size:30px;line-height:1.2;font-weight:800}
.stat span{font-size:12px;color:var(--muted)}
.stat.warn{border-color:#e7c47e88}.stat.warn b{color:#f3d98d}
.stat.hot{border-color:#fe2c5599}.stat.hot b{color:#ff7d97}
.todo{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #295062;font-size:14px}
.todo a{color:#9de9f2;white-space:nowrap}
.more{color:#9de9f2;font-size:13px}

/* Players */
.kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.kgrid>div{background:#0b2a3b;border:1px solid #275367;border-radius:12px;padding:10px 12px}
.kgrid h3{font-size:15px}
.kgrid a{color:#dff6fb;text-decoration:none;border-bottom:1px dotted #9de9f2}
.kgrid li{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:3px 0}
.kgrid ul{list-style:none;margin:0;padding:0}

/* Supplies table */
.ftab{width:100%;border-collapse:collapse;font-size:13px}
.ftab th,.ftab td{text-align:left;padding:8px 6px;border-bottom:1px solid #295062;vertical-align:top}
.ftab th{color:var(--muted);font-weight:500;font-size:12px}
.ftab td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
.ftab .full{color:#f3d98d}
.ftab button{padding:6px 10px;font-size:12px}
.fwrap{overflow-x:auto}

/* Voting */
.vgrid{align-items:start}
.vote h3.vh{margin-top:18px;font-size:15px;color:#cfeef5;border-top:1px solid #295062;padding-top:14px}
.vstat{font-size:12px;font-weight:800;letter-spacing:.1em;padding:5px 10px;border-radius:30px;background:#163c4d;color:#9fb9c2}
.vstat.open{background:#0f3d2e;color:#7fe0a3;box-shadow:0 0 0 1px #3ea77a}
.vstat.ended{background:#3a2a12;color:#f3d98d}
.vrow{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:center;margin:8px 0}
.vrow>span{font-size:13px;color:var(--muted)}
.vrow input,.vrow select{width:100%}
@media(max-width:550px){.vrow{grid-template-columns:1fr}}
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:4px 10px;max-height:240px;overflow:auto;border:1px solid #295062;border-radius:10px;padding:8px 10px;margin:6px 0}
.picks fieldset{border:0;padding:0;margin:0;grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 10px}
.picks legend{font-size:11px;letter-spacing:.12em;color:#e7c47e;padding:6px 0 2px}
.picks label{display:flex;gap:6px;align-items:center;font-size:13px;padding:2px 0}
.picks input{width:auto}
.tally{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}
.tally div{display:grid;grid-template-columns:minmax(110px,1fr) 2fr 44px;gap:8px;align-items:center;font-size:13px}
.tally i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,#3fb7a9,#e7c47e);min-width:2px}
.tally b{text-align:right;font-variant-numeric:tabular-nums}
.tally .lead span{color:#f3d98d;font-weight:700}
.vresult{border:1px solid #6b5a26;background:linear-gradient(135deg,#2a2510,#12303d);border-radius:10px;padding:10px 12px;margin:8px 0;font-size:14px}
.codes{font:13px ui-monospace,Menlo,monospace;background:#061c27;border:1px solid #3eb2bc;border-radius:10px;padding:10px;white-space:pre-wrap;margin:8px 0;max-height:260px;overflow:auto}
.ledger{max-height:200px;overflow:auto;font-size:12px;margin-bottom:10px}
.ledger div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid #25495b}
.ledger code{color:#9de9f2}

/* Content links */
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:12px}
.lcard{display:flex;flex-direction:column;gap:6px;background:linear-gradient(145deg,#123448e8,#0b2130ed);border:1px solid var(--edge);border-radius:16px;padding:16px;color:inherit;text-decoration:none}
.lcard:hover{border-color:var(--aqua)}
.lcard b{font-size:16px}
.lcard span{font-size:13px;color:var(--muted);line-height:1.45}
.chip{border:1px solid #356577;border-radius:30px;padding:8px 14px;color:#dff6fb;text-decoration:none}
.chip:hover{border-color:var(--aqua)}

/* Audit */
#t-audit .log{max-height:none}
#ovaudit{max-height:330px}
.log .k{display:inline-block;background:#163c4d;border-radius:6px;padding:1px 6px;font-size:11px;margin-right:4px}

.panel.scdanger{border-color:#f09a7d55}
/* Voting: Keeper pickers, hints and the EDEN roster editor */
.pickbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.pickbar b{font-size:13px;color:#cfeef5;margin-right:auto}
.pickbar button{padding:5px 10px;font-size:12px}
.linkbtn{background:none;border:0;padding:0 2px;color:#7fe3f0;font-size:11px;text-decoration:underline;cursor:pointer;width:auto;box-shadow:none}
.picks legend .linkbtn{letter-spacing:0;margin-left:4px}
.vhint{margin:10px 0 0;padding:8px 10px;border-radius:9px;background:#163c4d;color:#cfeef5;font-size:13px}
.rosters{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:10px}
.roster{border:1px solid #295062;border-radius:12px;padding:10px 12px}
.roster h4{margin:0 0 8px;color:#e7c47e;font-size:14px}
.rnames{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.rchip{display:inline-flex;align-items:center;gap:4px;background:#0d2e3c;border:1px solid #295062;border-radius:20px;padding:3px 4px 3px 10px;font-size:13px}
.rchip button{width:20px;height:20px;padding:0;border-radius:50%;font-size:11px;line-height:1;background:#3a1d24;color:#ffb3b3;box-shadow:none}

/* Garden tab */
.gnow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}
.gnow .stat b{font-size:22px}
.gnow .stat b small{font-size:13px;color:var(--muted)}
.gform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.gform.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gform label,.gblock{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.gform input,.gform select{width:100%}
.gform .gwide{grid-column:1/-1}
.gform .gwide2{grid-column:span 2}
.gform label.chk.gauto{flex-direction:row;align-items:center;align-self:end;padding-bottom:12px;color:var(--txt)}
.gblock{margin:0 0 10px}
.gmini{padding:4px 10px;font-size:12px;margin-left:6px}
.glist{margin-top:12px;max-height:420px;overflow:auto}
.glist .req>div{min-width:0;flex:1}
.gclip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media(max-width:600px){.gform,.gform.g3{grid-template-columns:1fr}.gform .gwide2{grid-column:auto}}
/* Keepers & Vault tab */
.klist{display:grid;gap:8px;margin-top:10px;max-height:70vh;overflow:auto;padding-right:4px}
.krow{display:grid;grid-template-columns:48px minmax(140px,1fr) auto;gap:6px 12px;align-items:center;border-bottom:1px solid #295062;padding:8px 0}
.kpic{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid var(--edge);background:#0d2e3c}
.kpic.none{display:flex;align-items:center;justify-content:center;font-weight:800;color:#7fa9b6}
.kwho b{display:block}.kwho small{color:var(--muted);font-size:12px}
.kact,.ktk{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.kact input{width:130px;padding:7px 9px}.kact button,.ktk button,.kup{padding:7px 11px;font-size:13px}
.kup{display:inline-flex;align-items:center;cursor:pointer;border-radius:10px;background:#123748;border:1px solid #356577;color:#fff;font-weight:700}
.ktk{grid-column:2 / -1}.ktk input{width:160px;padding:6px 9px}
.kdupe{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #295062;padding:8px 0}
.rchip.keep{border-color:#e7c47e;color:#f3d98d}.kdupe .rchip{padding:3px 10px}
.kmedia{display:flex;gap:14px;align-items:center;margin:10px 0}
.kmedia img{width:110px;height:110px;object-fit:contain;border-radius:12px;border:1px solid var(--edge);background:#0b2130}
@media(max-width:700px){.krow{grid-template-columns:48px 1fr}.kact,.ktk{grid-column:1 / -1}}
.gmap{margin:6px 0 0;padding-left:18px;display:grid;gap:6px}.gmap li{line-height:1.45}.gmap a{font-weight:700;white-space:nowrap}
.klive{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-top:10px}
.kfield{border:1px solid #295062;border-radius:12px;padding:12px;background:#0a2230}.kfield h3{margin:0 0 6px;font-size:15px}
.kfield ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:5px}.kfield li{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:13px}
.kfield li .dot{width:8px;height:8px;border-radius:50%;background:#456}.kfield li.on .dot{background:#ff3d7f;box-shadow:0 0 8px #ff3d7f}.kfield li.on b{color:#ff7aa8}
.kfield form{display:flex;gap:6px;flex-wrap:wrap}.kfield form input{flex:1 1 150px;padding:7px 9px}.kfield form button{padding:7px 11px;font-size:13px}
.kbadge{font-size:12px;padding:2px 7px;border-radius:9px;background:#123f52;color:#bfe9f0;white-space:nowrap}.kbadge.on{background:#5a1430;color:#ffb3cd}
