/* greece.bzhmacro.com — project classes only.
   Tokens and shared classes live in bzh.css and are not redefined here. */

.two-col{columns:2 420px;column-gap:38px;}
.two-col p{margin-top:0;break-inside:avoid;}
.dl-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 18px;}
.dl-row a.btn{text-decoration:none;}
.dl-hint{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.5;}
.dl-hint b{color:var(--paper-dim);font-weight:500;}

.ch-h{position:relative;height:330px;}
.ch-h.tall{height:430px;}
.controls.tight{margin:6px 0 2px;}
.controls > span:not(.lbl):not(.chip):not(.btn):not(.count){display:inline-flex;flex-wrap:wrap;gap:6px;}
.count{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-left:auto;}
.h3{margin-top:30px;}
.mt0{margin-top:0;}
.fine{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.5;margin:8px 2px;}
.chip .sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px;}
.chip:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:1px;}

/* ── event ledger ────────────────────────────────────────────────────────── */
.tl{margin:6px 0 18px;}
.tl-year{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--gold);
  padding:18px 0 6px;border-bottom:var(--bw) solid var(--line);margin-bottom:2px;position:sticky;top:44px;
  background:var(--ink);z-index:2;}
.ev{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;padding:14px 0 13px 12px;
  border-bottom:var(--bw) solid color-mix(in srgb,var(--line) 55%,transparent);
  border-left:3px solid transparent;cursor:pointer;scroll-margin-top:90px;}
.ev:hover{background:color-mix(in srgb,var(--azure) 4%,transparent);}
.ev.dec-adopted{border-left-color:color-mix(in srgb,var(--teal) 70%,transparent);}
.ev.dec-rejected{border-left-color:var(--seal);}
.ev.dec-proposed{border-left-color:var(--gold);}
.ev.dec-event{border-left-color:var(--line);}
.ev.pin{background:color-mix(in srgb,var(--gold) 7%,transparent);}
.ev.future{opacity:.72;}
.ev-d{font-family:var(--font-mono);font-size:12px;color:var(--paper);line-height:1.5;}
.ev-d small{display:block;color:var(--muted);font-size:10.5px;margin-top:3px;letter-spacing:.04em;}
.ev-t{font-weight:600;font-size:14.5px;line-height:1.35;margin:0 0 5px;}
.ev-x{margin:0 0 7px;font-size:13.5px;line-height:1.62;color:var(--paper);max-width:92ch;}
.ev-rej,.ev-why,.ev-par{margin:0 0 6px;font-size:13px;line-height:1.55;color:var(--paper-dim);max-width:92ch;}
.ev-rej b{color:var(--seal);font-weight:600;}
.ev-why b{color:var(--teal);font-weight:600;}
.ev-par b{color:var(--gold);font-weight:600;}
.ev-rej b,.ev-why b,.ev-par b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;margin-right:7px;}
.ev-who{list-style:none;margin:8px 0 6px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:4px 22px;}
.ev-who li{font-size:12.5px;line-height:1.45;color:var(--paper-dim);}
.ev-who b{color:var(--paper);font-weight:600;}
.ev-who i{font-style:normal;color:var(--muted);}
.ev-y{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin:6px 0 2px;line-height:1.6;}
.ev-y span{margin-right:12px;white-space:nowrap;}
.ev-y em{font-style:normal;color:var(--paper-dim);}
.ev-s{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.6;}
.ev-s a{color:var(--muted);text-decoration:none;border-bottom:1px dotted color-mix(in srgb,var(--muted) 60%,transparent);margin-right:10px;}
.ev-s a:hover{color:var(--teal);}
.tagc{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--paper-dim);border:var(--bw) solid var(--line);border-radius:4px;padding:1px 6px;margin-left:8px;vertical-align:2px;font-weight:400;}
.tagc.d-adopted{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 45%,transparent);}
.tagc.d-rejected{color:var(--seal);border-color:color-mix(in srgb,var(--seal) 50%,transparent);}
.tagc.d-proposed{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent);}
.tl-empty{padding:26px 4px;color:var(--muted);font-family:var(--font-mono);font-size:12px;}

/* ── seats ───────────────────────────────────────────────────────────────── */
.gantt{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:14px 16px 10px;overflow-x:auto;}
.g-in{min-width:880px;position:relative;}
.g-row{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;height:27px;}
.g-row.g-grp{height:auto;margin-top:9px;}
.g-row.g-grp:first-child{margin-top:0;}
.g-grp .g-lab{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);}
.g-lab{font-size:12px;color:var(--paper-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:10px;}
.g-track{position:relative;height:21px;}
.g-bar{position:absolute;top:0;height:21px;border-radius:3px;font-size:11px;line-height:21px;padding:0 6px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;color:var(--paper);background:var(--panel-2);border:var(--bw) solid var(--line);}
.g-bar.alt{background:color-mix(in srgb,var(--azure) 16%,var(--panel-2));}
.g-bar:hover{border-color:var(--gold);z-index:3;overflow:visible;background:var(--ink);}
.g-axis{position:relative;height:20px;margin-top:6px;border-top:var(--bw) solid var(--line);}
.g-axis span{position:absolute;top:4px;font-family:var(--font-mono);font-size:10.5px;color:var(--muted);transform:translateX(-50%);}
.g-mark{position:absolute;top:0;bottom:20px;width:0;border-left:1px dashed color-mix(in srgb,var(--seal) 65%,transparent);pointer-events:none;z-index:1;}
.g-mark i{position:absolute;top:-2px;left:4px;font-style:normal;font-family:var(--font-mono);font-size:9.5px;color:var(--seal);white-space:nowrap;}
.g-mark.last i{left:auto;right:4px;}

/* ── profiles ────────────────────────────────────────────────────────────── */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--gap);margin:6px 0 10px;}
.pf{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:16px 18px 12px;}
.pf h4{margin:0;font-size:15px;font-weight:600;}
.pf .pf-r{font-family:var(--font-mono);font-size:11px;color:var(--gold);margin:3px 0 10px;line-height:1.45;}
.pf .ft{display:grid;grid-template-columns:44px 1fr;gap:4px 10px;font-size:12.5px;line-height:1.5;margin-bottom:9px;}
.pf .ft dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:2px;}
.pf .ft dd{margin:0;color:var(--paper);}
.pf p{font-size:12.5px;line-height:1.6;color:var(--paper-dim);margin:0 0 9px;}
.pf ul{list-style:none;margin:0 0 9px;padding:0;}
.pf li{font-size:12px;line-height:1.5;color:var(--paper-dim);display:grid;grid-template-columns:86px 1fr;gap:8px;}
.pf li span{font-family:var(--font-mono);font-size:11px;color:var(--muted);}
.pf .exit{font-size:12px;color:var(--paper-dim);border-top:var(--bw) solid var(--line);padding-top:8px;margin:0;}
.pf .exit b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--seal);margin-right:7px;font-weight:600;}

/* ── text-heavy tables ───────────────────────────────────────────────────── */
table.ledger td{text-align:left;font-family:var(--font-sans);font-size:12.5px;line-height:1.5;vertical-align:top;white-space:normal;}
table.ledger th{text-align:left;}
table.ledger td.dt{font-family:var(--font-mono);font-size:11.5px;white-space:nowrap;color:var(--paper-dim);}
table.ledger td.num{font-family:var(--font-mono);text-align:right;white-space:nowrap;}
table.ledger td.k{color:var(--paper);font-weight:600;min-width:170px;}
table.ledger td.dim{color:var(--paper-dim);}
table.ledger td.rej{color:var(--paper);min-width:260px;}
td.c{text-align:center !important;}

/* ── toolkit ─────────────────────────────────────────────────────────────── */
.tk{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:var(--gap);margin:6px 0 16px;}
.tk-i{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:16px 18px 12px;position:relative;}
.tk-i h4{margin:0 96px 2px 0;font-size:14.5px;font-weight:600;line-height:1.3;}
.tk-m{font-family:var(--font-mono);font-size:11px;color:var(--gold);margin-bottom:10px;}
.tk-i dl{margin:0;display:grid;grid-template-columns:62px 1fr;gap:6px 12px;}
.tk-i dt{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:2px;}
.tk-i dd{margin:0;font-size:12.5px;line-height:1.55;color:var(--paper-dim);}
.tk-i dd.fr{color:var(--paper);}
.vd{position:absolute;top:14px;right:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;padding:3px 8px;border-radius:10px;
  border:var(--bw) solid var(--line);color:var(--paper-dim);}
.vd.v-open{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 50%,transparent);}
.vd.v-possible{color:var(--azure);border-color:color-mix(in srgb,var(--azure) 50%,transparent);}
.vd.v-gated{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 50%,transparent);}
.vd.v-closed,.vd.v-too-small{color:var(--seal);border-color:color-mix(in srgb,var(--seal) 50%,transparent);}

/* ── parallels ───────────────────────────────────────────────────────────── */
.par{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--gap);margin:6px 0 16px;}
.par-i{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:14px 16px;}
.par-i .row{display:grid;grid-template-columns:62px 1fr;gap:10px;font-size:12.5px;line-height:1.5;margin-bottom:6px;color:var(--paper);}
.par-i .row span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:2px;}
.par-i .row.rd{color:var(--paper-dim);border-top:var(--bw) solid var(--line);padding-top:8px;margin:8px 0 0;}
.par-i .row.rd span{color:var(--gold);}

.src-g{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin:14px 0 2px;}

@media(max-width:760px){
  .ev{grid-template-columns:minmax(0,1fr);gap:4px;padding-left:10px;}
  .ev-b{overflow-wrap:anywhere;min-width:0;}
  .ev-who{grid-template-columns:1fr;}
  .ch-h.tall{height:340px;}
  .pf-grid,.tk,.par{grid-template-columns:1fr;}
  .tl-year{top:40px;}
}
@media print{
  .ev{cursor:default;break-inside:avoid;}
  .tl-year{position:static;}
}

/* grid children default to min-width:auto, so a canvas or a wide table sets
   the track's floor and pushes the page sideways on a phone */
.fit > *{min-width:0;}

/* ── debt-cost model controls ────────────────────────────────────────────── */
.dm{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--radius);padding:14px 18px 8px;margin:6px 0 16px;}
.dm-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr) minmax(110px,150px);gap:8px 16px;align-items:center;margin-bottom:10px;}
.dm-row label{font-size:12.5px;color:var(--paper);}
.dm-row output{font-family:var(--font-mono);font-size:12px;color:var(--gold);text-align:right;white-space:nowrap;}
.dm-row input[type=range]{width:100%;min-width:0;accent-color:var(--gold);height:22px;margin:0;}
.dm .controls{margin:4px 0 2px;}
.dm .fine{margin:6px 0 4px;color:var(--paper-dim);}
table.data tr.dimrow td{color:var(--muted);}

/* ── backstop ladder ─────────────────────────────────────────────────────── */
.lad{display:grid;grid-template-columns:1fr;gap:var(--gap);margin:6px 0 18px;}
.lad-i h4{display:flex;align-items:baseline;gap:10px;font-size:15.5px;}
.lad-i .rung{flex:none;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--ink);background:var(--gold);border-radius:50%;
  width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;transform:translateY(-1px);}
.lad-i dl{grid-template-columns:62px minmax(0,1fr);}
.lad-i dd{max-width:110ch;}
@media(max-width:700px){
  .dm-row{grid-template-columns:1fr auto;}
  .dm-row input[type=range]{grid-column:1 / -1;order:3;}
}
