/* =============================================================
   On This Day — "almanac"
   An editorial calendar, not a dashboard: ruled tables, ink stamps,
   serif display type, tabular figures. Light and dark are equals.
   ============================================================= */

:root{
  color-scheme:light dark;

  /* --- light (paper) --- */
  --bg:#f4f1ea;
  --panel:#fbfaf7;
  --panel-2:#f0ece3;
  --panel-3:#e6e1d5;
  --line:#ddd7c9;
  --line-2:#c7c0ad;
  --text:#1b1a17;
  --muted:#6a655b;
  --muted-2:#918b7e;
  --ink:#12110f;

  --red:#b3261e;   --red-bg:#fbeae7;   --red-line:#e3b8b1;
  --amber:#8a5a06; --amber-bg:#fbf2df; --amber-line:#e0cb9c;
  --green:#7c766a; --green-bg:#f1eee6; --green-line:#d8d2c3;
  --good:#1c6b47;  --good-bg:#e7f2ea;  --good-line:#b3d2bf;
  --blue:#2c5aa8;
  --accent:#b3261e;

  --r:6px;
  --rule:1px solid var(--line);

  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  --serif:ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --font:var(--sans);
}

/* dark: whatever the OS says, unless the reader chose otherwise */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0f0f11;
    --panel:#16161a;
    --panel-2:#1d1d22;
    --panel-3:#26262d;
    --line:#2a2a31;
    --line-2:#3b3b45;
    --text:#eae7e0;
    --muted:#9d988e;
    --muted-2:#726d64;
    --ink:#fbfaf7;

    --red:#e8574c;   --red-bg:#241312;   --red-line:#4d2420;
    --amber:#d99a2b; --amber-bg:#221a0d; --amber-line:#4b3817;
    --green:#7f7a70; --green-bg:#1a1a1e; --green-line:#33333c;
    --good:#3fbb85;  --good-bg:#0f2119;  --good-line:#1f4a37;
    --blue:#7aa7ee;
    --accent:#e8574c;
  }
}
:root[data-theme="dark"]{
  --bg:#0f0f11;
  --panel:#16161a;
  --panel-2:#1d1d22;
  --panel-3:#26262d;
  --line:#2a2a31;
  --line-2:#3b3b45;
  --text:#eae7e0;
  --muted:#9d988e;
  --muted-2:#726d64;
  --ink:#fbfaf7;

  --red:#e8574c;   --red-bg:#241312;   --red-line:#4d2420;
  --amber:#d99a2b; --amber-bg:#221a0d; --amber-line:#4b3817;
  --green:#7f7a70; --green-bg:#1a1a1e; --green-line:#33333c;
  --good:#3fbb85;  --good-bg:#0f2119;  --good-line:#1f4a37;
  --blue:#7aa7ee;
  --accent:#e8574c;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--text);
  font:15px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased;
  padding-bottom:70px;
}
a{color:var(--blue);text-decoration:none;text-underline-offset:2px}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}
h1,h2{font-family:var(--serif)}
.muted{color:var(--muted)}

/* ------------------------------------------------------------ header */
.top{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:11px max(16px,calc(50vw - 590px));
  background:var(--bg);
  border-bottom:2px solid var(--ink);
}
.brand{display:flex;align-items:center;gap:12px;color:inherit}
.brand:hover{text-decoration:none}
.brand img{border-radius:50%;border:1px solid var(--line-2);background:var(--panel-2);display:block}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-txt b{font-family:var(--serif);font-size:19px;letter-spacing:-.015em;font-weight:600}
.wm{display:inline-flex;align-items:baseline;gap:0;font-family:var(--serif);font-size:22px;
  font-weight:600;letter-spacing:-.03em;line-height:1.05;white-space:nowrap}
.wm i{font-style:normal}
.wm-bad{color:var(--red)}
.wm-good{color:var(--good)}
.wm-tld{color:var(--muted-2);font-size:16px;letter-spacing:-.01em}
.wm-arr{color:var(--muted-2);flex:none;margin:0 2px;transform:translateY(-5px)}
.brand-txt small{color:var(--muted-2);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;gap:7px;align-items:center}

/* ------------------------------------------------------------ buttons */
.btn{
  font:inherit;font-size:13px;color:var(--text);
  background:transparent;border:1px solid var(--line-2);
  border-radius:var(--r);padding:6px 11px;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;
  transition:background .12s,border-color .12s,color .12s;
}
.btn:hover{background:var(--panel-2);border-color:var(--ink)}
.btn:active{transform:translateY(.5px)}
.btn.ghost{background:transparent}
.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:600}
.btn.primary:hover{opacity:.88;background:var(--ink)}
.btn.icon{padding:5px 9px;font-size:15px;line-height:1}
.btn.tiny{padding:3px 8px;font-size:11.5px}
#themeBtn,.themebtn{border:none;background:none;padding:2px 4px;min-width:0;color:var(--muted-2)}
#themeBtn:hover,.themebtn:hover{background:none;border:none;color:var(--text)}
#themeBtn svg,.themebtn svg{display:block}

/* ------------------------------------------------------------ layout */
main{max-width:1180px;margin:0 auto;padding:22px 16px 0}
.card{background:var(--panel);border:var(--rule);border-radius:var(--r)}
.pad{padding:16px 18px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:24px;margin-top:22px}
.col-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:84px;align-self:start}

/* ------------------------------------------------------------ verdict */
.verdict{overflow:hidden}
.verdict-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 16px;border-bottom:var(--rule);
}
.datenav{display:flex;align-items:center;gap:6px}
.datepick input{
  font:inherit;font-size:14px;font-variant-numeric:tabular-nums;color:var(--text);background:transparent;
  border:1px solid var(--line-2);border-radius:var(--r);padding:5px 9px;
}
.verdict-meta{font-family:var(--serif);font-size:15px;color:var(--muted)}

.vgrid{display:grid;grid-template-columns:minmax(120px,196px) repeat(3,minmax(0,1fr))}
.vg-corner{padding:8px 16px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);
  border-bottom:1px solid var(--line-2)}
.vg-day{border:none;border-bottom:1px solid var(--line-2);border-left:var(--rule);cursor:pointer;text-align:left;
  padding:8px 14px;font:inherit;background:transparent;color:var(--muted);display:flex;flex-direction:column;line-height:1.3}
.vg-day b{font-size:12.5px;color:var(--text);font-weight:650}
.vg-day span{font-size:11px;color:var(--muted-2);font-variant-numeric:tabular-nums}
.vg-day.sel{background:var(--panel-2)}
.vg-day.sel b{color:var(--accent)}
.vg-day.istoday b::after{content:" ·";color:var(--accent)}
.vg-day:hover{background:var(--panel-2)}

.vg-mkt{padding:12px 16px;display:flex;align-items:center;gap:10px;min-width:0;border-top:var(--rule)}
.vg-mkt .fl{font-size:16px;flex:none}
.vg-mkt b{font-size:13.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.vg-cell{border:none;border-top:var(--rule);border-left:var(--rule);cursor:pointer;background:transparent;
  font:inherit;text-align:left;padding:10px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.vg-cell:hover{background:var(--panel-2)}
.vg-cell.sel{background:var(--panel-2)}
.vg-cell.red{box-shadow:inset 3px 0 0 var(--red)}
.vg-cell.amber{box-shadow:inset 3px 0 0 var(--amber)}
.vg-cell.good{box-shadow:inset 3px 0 0 var(--good)}
.vg-cell.pending{opacity:.5}
.vg-word{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.vg-word.red{color:var(--red)} .vg-word.amber{color:var(--amber)}
.vg-word.good{color:var(--good)} .vg-word.green{color:var(--green)}
.vg-what{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vg-what em{color:var(--muted-2);font-style:normal}
.faith{font-style:normal;opacity:.75}
.under-verdict{margin:10px 2px 0;font-size:13px;color:var(--muted);font-family:var(--serif)}
.under-verdict b.red{color:var(--red)} .under-verdict b.good{color:var(--good)}

.vshared{display:flex;flex-wrap:wrap;gap:8px;padding:11px 16px;background:var(--panel-2)}
.vsh{display:inline-flex;align-items:center;gap:9px;font:inherit;cursor:pointer;text-align:left;
  background:var(--panel);border:var(--rule);border-left:3px solid var(--line-2);
  border-radius:var(--r);padding:5px 11px;color:var(--text);max-width:100%}
.vsh:hover{border-color:var(--line-2);background:var(--panel-3)}
.vsh.red{border-left-color:var(--red)} .vsh.amber{border-left-color:var(--amber)}
.vsh.good{border-left-color:var(--good)} .vsh.green{border-left-color:var(--green)}
.vsh b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vsh-mk{font-size:12px}
.shared-ref{color:var(--muted-2) !important;font-size:11.5px}

.verdict-body{display:block}
.empty-state{padding:26px 16px;text-align:center;color:var(--muted);font-size:14px}

/* ------------------------------------------------------------ tabs */
.tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
.tab{
  font:inherit;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;
  background:none;border:none;border-bottom:2px solid transparent;
  padding:11px 14px;cursor:pointer;margin-bottom:-1px;
  display:inline-flex;align-items:center;gap:7px;
}
.tab .ti{font-size:12px;opacity:.55;font-family:var(--mono)}
.tab:hover{color:var(--text)}
.tab.active{color:var(--text);border-bottom-color:var(--accent)}
.tab.active .ti{opacity:1;color:var(--accent)}

/* ------------------------------------------------------------ timeline */
.daygroup{margin-bottom:6px}
.dayhead{
  display:flex;align-items:baseline;gap:10px;padding:14px 2px 8px;
  position:sticky;top:70px;background:var(--bg);z-index:5;border-bottom:var(--rule);margin-bottom:8px;
}
.dayhead b{font-family:var(--serif);font-size:17px;font-variant-numeric:tabular-nums}
.dayhead .rel{font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.1em;margin-left:auto}
.dayhead .dow{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

.ev{
  display:flex;gap:14px;padding:13px 16px;margin-bottom:7px;
  background:var(--panel);border:var(--rule);border-left:3px solid var(--line-2);border-radius:var(--r);
  cursor:pointer;transition:border-color .12s,background .12s;
}
.ev:hover{background:var(--panel-2)}
.ev.red{border-left-color:var(--red)}
.ev.amber{border-left-color:var(--amber)}
.ev.good{border-left-color:var(--good)}
.ev-main{min-width:0;flex:1}
.ev-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ev-title b{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.01em}
.ev-sum{margin:5px 0 0;font-size:13.5px;color:var(--muted);line-height:1.55;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ev-flags{font-size:18px;line-height:1;letter-spacing:1px;flex:none}
.ev-title{gap:9px}
.ev-at{margin:6px 0 0;font-size:12.5px;color:var(--amber);font-variant-numeric:tabular-nums}
.ev-at b{font-weight:650}

/* stamps */
.tag{
  font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  padding:3px 7px;border:1px solid var(--line-2);border-radius:3px;color:var(--muted);white-space:nowrap;
}
.tag.red{color:var(--red);border-color:var(--red)}
.tag.amber{color:var(--amber);border-color:var(--amber)}
.tag.good{color:var(--good);border-color:var(--good)}
.tag.green{color:var(--green);border-color:var(--line-2)}
.tag.kind{border-style:dashed;color:var(--muted-2);letter-spacing:.1em;font-weight:600}
.tag.greet{text-transform:none;letter-spacing:0;font-weight:500;font-size:11.5px;color:var(--good);
  border-color:var(--good-line);max-width:260px;overflow:hidden;text-overflow:ellipsis}
.approx-tag{font-size:10px;color:var(--muted-2);border:1px dashed var(--line-2);border-radius:3px;
  padding:2px 5px;white-space:nowrap}

/* ------------------------------------------------------------ calendar */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-head h2{font-size:22px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);border-top:var(--rule);border-left:var(--rule)}
.cal .dow-lbl{font-size:10px;color:var(--muted-2);text-align:center;padding:6px 0;text-transform:uppercase;
  letter-spacing:.14em;border-right:var(--rule);border-bottom:1px solid var(--line-2);background:var(--panel-2)}
.cell{
  aspect-ratio:1/.9;background:var(--panel);border-right:var(--rule);border-bottom:var(--rule);
  padding:6px 8px;cursor:pointer;position:relative;overflow:hidden;text-align:left;
}
.cell:hover{background:var(--panel-2)}
.cell.out{opacity:.35;cursor:default;background:var(--bg)}
.cell.today{box-shadow:inset 0 0 0 2px var(--accent)}
.cell.sel{background:var(--panel-3)}
.cell .d{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}
.cell.hasred{background:var(--red-bg)} .cell.hasred .d{color:var(--red)}
.cell.hasamber{background:var(--amber-bg)} .cell.hasamber .d{color:var(--amber)}
.cell.hasgood{background:var(--good-bg)} .cell.hasgood .d{color:var(--good)}
.cell .lbl{font-size:10.5px;line-height:1.3;margin-top:3px;color:var(--text);opacity:.8;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cell .more{position:absolute;right:6px;bottom:5px;font-size:10px;color:var(--muted-2)}

.cal-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:14px;font-size:11.5px;color:var(--muted)}
.cal-legend .sw{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:middle}
.cal-legend .sw.red{background:var(--red)} .cal-legend .sw.amber{background:var(--amber)}
.cal-legend .sw.good{background:var(--good)} .cal-legend .sw.green{background:var(--green)}

.periods{margin-top:26px}
.periods h3{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted-2);margin-bottom:10px}
.period{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:14px;align-items:center;padding:4px 0;cursor:pointer}
.period:hover .p-name{color:var(--text)}
.p-name{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-track{position:relative;height:20px;background:var(--panel-2);border:var(--rule);border-radius:3px}
.p-bar{position:absolute;top:-1px;bottom:-1px;border-radius:3px;font-size:10px;line-height:20px;
  padding:0 7px;white-space:nowrap;overflow:hidden;font-weight:700}
.p-bar.red{background:var(--red);color:#fff} .p-bar.amber{background:var(--amber);color:#fff}
.p-bar.good{background:var(--good);color:#fff} .p-bar.green{background:var(--line-2);color:var(--text)}

/* ------------------------------------------------------------ markets */
.mkt-note{padding:16px 18px;border-bottom:var(--rule);display:flex;gap:14px}
.mkt-note:last-child{border-bottom:none}
.mkt-note .fl{font-size:22px;line-height:1.1}
.mkt-note b{font-family:var(--serif);font-size:16px}
.mkt-note p{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.6}
.mkt-note .cnt{font-size:11px;color:var(--muted-2);margin-top:7px}

/* ------------------------------------------------------------ side */
.col-side h3{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted-2);margin:0 0 9px;
  display:flex;align-items:center}
.col-side h3:not(:first-child){margin-top:18px}
.col-side h3 .hi{display:inline-block;width:15px;opacity:.7;margin-right:4px;font-family:var(--mono)}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{
  font:inherit;font-size:12px;color:var(--muted);cursor:pointer;
  background:transparent;border:1px solid var(--line);border-radius:3px;padding:4px 9px;
}
.chip:hover{color:var(--text);border-color:var(--line-2)}
.chip.active{color:var(--text);border-color:var(--ink);background:var(--panel-2)}
.chip .ci{margin-right:5px;opacity:.75;font-size:10px;font-family:var(--mono)}
.chip.risk-red.active{color:var(--red);border-color:var(--red);background:var(--red-bg)}
.chip.risk-amber.active{color:var(--amber);border-color:var(--amber);background:var(--amber-bg)}
.chip.risk-good.active{color:var(--good);border-color:var(--good);background:var(--good-bg)}
.chip.risk-green.active{color:var(--text);border-color:var(--line-2);background:var(--panel-2)}
.search{display:block;margin-top:16px}
.search input{
  width:100%;font:inherit;font-size:13px;color:var(--text);
  background:transparent;border:1px solid var(--line-2);border-radius:var(--r);padding:8px 11px;
}
.soon p{margin:0 0 8px;font-size:13px;color:var(--muted);line-height:1.6}
.soon h3{font-family:var(--serif);font-size:15px;text-transform:none;letter-spacing:-.01em;color:var(--text);margin-bottom:8px}

/* ------------------------------------------------------------ sheets */
.sheet{
  position:fixed;inset:0;z-index:60;background:color-mix(in srgb, var(--bg) 72%, transparent);
  display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;
  backdrop-filter:blur(4px);overflow:auto;
}
.sheet[hidden]{display:none}
.sheet-panel{width:min(700px,100%);max-height:88vh;display:flex;flex-direction:column;
  border:1px solid var(--line-2);box-shadow:0 24px 60px rgba(0,0,0,.22)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line-2)}
.sheet-head h2{font-size:19px;line-height:1.3}
.sheet-tools{display:flex;gap:8px;padding:12px 18px;border-bottom:var(--rule)}
.sheet-tools input{flex:1;font:inherit;font-size:13.5px;color:var(--text);background:transparent;
  border:1px solid var(--line-2);border-radius:var(--r);padding:7px 11px}
.sheet-body{padding:18px;overflow:auto}
.sheet-foot{padding:12px 18px;border-top:var(--rule);display:flex;justify-content:flex-end}

.market-list{overflow:auto;padding:6px;max-height:min(52vh,460px)}
.region-h{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted-2);padding:12px 10px 6px}
.mkt{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r);cursor:pointer;font-size:14px}
.mkt:hover{background:var(--panel-2)}
.mkt input{accent-color:var(--accent);width:15px;height:15px;flex:none}
.mkt .fl{font-size:17px}
.mkt .tld{font-size:11px;color:var(--muted-2);font-family:var(--mono)}
.mkt .cnt{margin-left:auto;font-size:11px;color:var(--muted-2);white-space:nowrap}
.mkt.dim{color:var(--muted)}
.tier{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 5px;border-radius:2px;white-space:nowrap}
.tier.core{color:var(--good);border:1px solid var(--good-line)}
.tier.part{color:var(--muted);border:1px solid var(--line)}
.tier.none{color:var(--muted-2);border:1px dashed var(--line-2)}
.mkt-note b + .tier{margin-left:7px;vertical-align:2px}

/* detail */
.detail-sum{font-family:var(--serif);font-size:16px;line-height:1.65;margin:0 0 16px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.dbox{border:var(--rule);border-radius:var(--r);padding:13px 15px;background:var(--panel-2)}
.dbox h4{margin:0 0 8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.dbox.do h4{color:var(--good)} .dbox.dont h4{color:var(--red)}
.dbox ul{margin:0;padding-left:16px}
.dbox li{font-size:13px;color:var(--muted);margin-bottom:6px;line-height:1.5}
.detail-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.wikibox{border-top:var(--rule);padding-top:14px;font-size:13.5px;color:var(--muted);line-height:1.65}
.wikibox b{color:var(--muted-2);font-size:10px;text-transform:uppercase;letter-spacing:.16em;display:block;margin-bottom:6px}
.detail-dates{font-size:12px;color:var(--muted-2);margin-top:12px}
.detail-ask{margin:-6px 0 16px;font-size:13.5px}
.detail-ask a{border-bottom:1px dotted currentColor;text-decoration:none}
.detail-ask a:hover{text-decoration:none;border-bottom-style:solid}
.detail-report{margin:18px 0 0;padding-top:14px;border-top:var(--rule)}
.greetbox{margin:-6px 0 16px;font-size:15px;font-family:var(--serif);color:var(--good);
  background:var(--good-bg);border:1px solid var(--good-line);border-radius:var(--r);padding:10px 13px}
.greetbox b{font-family:var(--sans);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-right:9px}
.moments{border:1px solid var(--amber-line);background:var(--amber-bg);border-radius:var(--r);padding:12px 14px;margin:0 0 16px}
.moments h4{margin:0 0 7px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.moments p{margin:0 0 5px;font-size:14px;color:var(--text);font-variant-numeric:tabular-nums}
.moments p span{display:block;font-size:12px;color:var(--muted);font-variant-numeric:normal}

.foot{margin:40px 0 20px;padding:20px 2px;border-top:2px solid var(--ink);font-size:13px;color:var(--muted)}
.foot p{margin:0 0 8px;line-height:1.6}
.lang{font-size:13px}
.lang b{color:var(--text)}

/* ------------------------------------------------------------ taboo */
.taboo-card{margin-bottom:16px}
.taboo-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.taboo-head h3{font-family:var(--serif);font-size:19px}
.taboo-head span{font-size:10px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.14em}
.taboo-group{margin-top:14px}
.taboo-group h4{margin:0 0 7px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);
  display:flex;align-items:center;gap:8px}
.tg-ic{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;
  border:var(--rule);border-radius:3px;font-size:10px;color:var(--text);font-family:var(--mono)}
.taboo-group ul{margin:0;padding-left:17px}
.taboo-group li{font-size:13.5px;color:var(--muted);margin-bottom:7px;line-height:1.6}
.taboo-cta{margin:4px 0 0}
.taboo-empty{font-size:13px;margin-top:14px}
.taboo-more{margin-bottom:16px}
.taboo-more h3{font-family:var(--serif);font-size:15px;margin-bottom:8px}
.taboo-more .doc-links{gap:10px;font-size:13px}

/* profile */
.prof{margin:12px 0 4px}
.prof-facts{margin:0 0 12px;font-size:13.5px;color:var(--muted)}
.prof-facts b{color:var(--text);font-weight:600}
.prof-facts .mf{color:var(--muted-2);font-size:12px}
.prof-h{margin:18px 0 9px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
.rel-bar{display:flex;height:10px;overflow:hidden;border:var(--rule);margin-bottom:9px}
.rel-bar span{height:100%}
.rel-legend{display:flex;flex-wrap:wrap;gap:5px 16px;font-size:12px;color:var(--muted)}
.rel-legend i{display:inline-block;width:8px;height:8px;margin-right:6px}
.rel-legend b{color:var(--text);font-weight:600}
.rel-note{margin:9px 0 0;font-size:11.5px;color:var(--muted-2);line-height:1.6}
.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:8px}
.topic{border:var(--rule);border-radius:var(--r);padding:10px 12px;background:var(--panel-2)}
.topic .t-h{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.topic .t-h i{width:7px;height:7px;flex:none}
.topic .t-h b{font-size:12.5px;font-weight:650}
.topic .t-h span{margin-left:auto;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.topic p{margin:0;font-size:12px;color:var(--muted);line-height:1.5}
.topic.ok .t-h i{background:var(--good)} .topic.ok .t-h span{color:var(--good)}
.topic.care{border-color:var(--amber-line)} .topic.care .t-h i{background:var(--amber)} .topic.care .t-h span{color:var(--amber)}
.topic.no{border-color:var(--red-line);background:var(--red-bg)}
.topic.no .t-h i{background:var(--red)} .topic.no .t-h span{color:var(--red)}

/* ------------------------------------------------------------ checker */
.chk-h{font-family:var(--serif);font-size:20px;margin-bottom:7px}
.chk-lead{margin:0 0 14px;font-size:13.5px;color:var(--muted);line-height:1.6}
#chkText{width:100%;font:inherit;font-size:14.5px;color:var(--text);background:var(--panel-2);
  border:1px solid var(--line-2);border-radius:var(--r);padding:13px 15px;resize:vertical;line-height:1.6}
#chkText:focus{outline:none;border-color:var(--ink)}
.chk-actions{display:flex;gap:8px;align-items:center;margin-top:11px;flex-wrap:wrap}
.chk-count{font-size:11px;color:var(--muted-2);margin-left:auto;font-variant-numeric:tabular-nums}
.chk-scope{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px;padding-top:14px;border-top:var(--rule)}
.chk-scope-l{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-right:4px}
.mchip{font-size:11.5px;border:var(--rule);border-radius:3px;padding:2px 6px;color:var(--muted)}
.mchip.lang{border-color:var(--blue);color:var(--blue)}
.mchip.ghost{border-style:dashed;color:var(--muted-2)}
.chk-summary{display:flex;align-items:center;gap:10px;margin:18px 2px 12px;font-size:15px;font-family:var(--serif)}
.chk-summary b.red{color:var(--red)} .chk-summary b.amber{color:var(--amber)}
.chk-summary .btn{margin-left:auto;font-family:var(--sans)}
.chk-item{background:var(--panel);border:var(--rule);border-left:3px solid var(--line-2);border-radius:var(--r);
  padding:13px 15px;margin-bottom:8px}
.chk-item.no{border-left-color:var(--red)} .chk-item.care{border-left-color:var(--amber)}
.chk-item-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.chk-item-h b{font-family:var(--serif);font-size:15.5px}
.chk-lv{font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:2px 6px;border-radius:2px}
.chk-item.no .chk-lv{color:var(--red);border:1px solid var(--red)}
.chk-item.care .chk-lv{color:var(--amber);border:1px solid var(--amber)}
.chk-grp{margin-left:auto;font-size:9.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-2)}
.chk-sample{margin-top:8px;font-family:var(--mono);font-size:12.5px;color:var(--text);
  background:var(--panel-2);border:var(--rule);border-radius:3px;padding:4px 8px;display:inline-block}
.chk-item p{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.55}
.chk-mk{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.chk-clean{margin-top:18px}
.chk-clean p{margin:6px 0 0;font-size:13px}
.chk-disclaimer{margin:20px 2px 0;font-size:12px;color:var(--muted-2);line-height:1.7;max-width:80ch}
.chk-disclaimer b{color:var(--muted)}
.linkbtn{font:inherit;font-size:inherit;color:var(--blue);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}
.rep-field{display:block;margin:14px 0}
.rep-field span{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);margin-bottom:7px}
.rep-field textarea{width:100%;font:inherit;font-size:13.5px;color:var(--text);background:var(--panel-2);
  border:1px solid var(--line-2);border-radius:var(--r);padding:11px 13px;resize:vertical}
.rep-actions{display:flex;gap:8px;justify-content:flex-end}
.markets-btn{max-width:min(46vw,420px);overflow:hidden}
#marketsSummary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shared-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 2px 0;padding:10px 14px;
  background:var(--panel-2);border:var(--rule);border-radius:var(--r);font-size:13px;color:var(--muted)}
.shared-banner b{color:var(--text)}
.shared-banner .btn{margin-left:auto}

/* ------------------------------------------------- static document pages */
body.doc .doc-main{max-width:820px;margin:0 auto;padding:30px 18px 70px}
.crumbs{font-size:11px;color:var(--muted-2);margin-bottom:16px;letter-spacing:.06em;text-transform:uppercase}
.doc-main h1{font-size:clamp(28px,4.6vw,40px);line-height:1.14;margin-bottom:12px;letter-spacing:-.025em}
.doc-main h2{font-size:24px;margin:40px 0 10px;letter-spacing:-.02em;padding-bottom:8px;border-bottom:var(--rule)}
.doc-lead{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 18px;max-width:68ch;font-family:var(--serif)}
.doc-stats{display:flex;flex-wrap:wrap;gap:0;margin:22px 0;border:var(--rule)}
.doc-stats a,.doc-stats span{flex:1 1 130px;padding:12px 14px;font-size:11.5px;color:var(--muted);
  border-right:var(--rule);text-decoration:none}
.doc-stats a:last-child,.doc-stats span:last-child{border-right:none}
.doc-stats a:hover{background:var(--panel-2);text-decoration:none}
.doc-stats b{display:block;font-family:var(--serif);font-size:26px;color:var(--text);font-weight:600;
  font-variant-numeric:tabular-nums;line-height:1.1;margin-bottom:2px}
.doc-cta{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 10px}
.doc-hint{font-size:12.5px;color:var(--muted-2);margin:-2px 0 6px}
.doc-month{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);
  margin:26px 0 10px;font-weight:700;border-bottom:var(--rule);padding-bottom:6px}
.doc-facts{font-size:13.5px;color:var(--muted);margin:0 0 12px}
.doc-facts b{color:var(--text)}
.doc-list{list-style:none;padding:0;margin:0}
.doc-ev{background:var(--panel);border:var(--rule);border-left:3px solid var(--line-2);border-radius:var(--r);
  padding:14px 16px;margin-bottom:8px}
.doc-ev.red{border-left-color:var(--red)} .doc-ev.amber{border-left-color:var(--amber)}
.doc-ev.good{border-left-color:var(--good)} .doc-ev.green{border-left-color:var(--line-2)}
.doc-ev-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.doc-ev-h b{font-family:var(--serif);font-size:16.5px}
.doc-ev-d{font-size:11.5px;color:var(--muted-2);margin-top:4px;font-variant-numeric:tabular-nums}
.doc-ev p{margin:8px 0 0;font-size:13.5px;color:var(--muted);line-height:1.6}
.doc-greet{color:var(--good) !important;font-family:var(--serif);font-size:14.5px !important}
.doc-dont,.doc-do{margin:9px 0 0;padding-left:17px}
.doc-dont li,.doc-do li{font-size:13px;color:var(--muted);margin-bottom:5px;line-height:1.5}
.doc-dont li::marker{color:var(--red)} .doc-do li::marker{color:var(--good)}
.doc-plain{margin:0 0 8px;padding-left:18px}
.doc-plain li{font-size:14px;color:var(--muted);margin-bottom:7px;line-height:1.6}
.doc-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:10px;display:block;overflow-x:auto}
.doc-table th{text-align:left;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);
  padding:8px 10px;border-bottom:1px solid var(--line-2);font-weight:700}
.doc-table td{padding:9px 10px;border-bottom:var(--rule);color:var(--muted);vertical-align:top}
.doc-table td:nth-child(2){color:var(--text)}
.doc-table small{color:var(--muted-2)}
.doc-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:1px}
.doc-grid li{padding:8px 10px}
.doc-grid li:hover{background:var(--panel-2)}
.doc-grid small{color:var(--muted-2);font-size:11px;margin-left:6px}
.doc-links{display:flex;flex-wrap:wrap;gap:14px;font-size:13.5px}
.doc-pre{background:var(--panel);border:var(--rule);border-radius:var(--r);padding:15px 17px;overflow-x:auto;
  font-size:12.5px;line-height:1.65}
.doc-pre code{font-family:var(--mono);color:var(--text);background:none;border:none;padding:0}
code{font-family:var(--mono);font-size:12.5px;background:var(--panel-2);border:var(--rule);border-radius:3px;padding:1px 5px}

/* cases */
.case-kicker{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px;margin:0 0 8px;
  text-transform:uppercase;letter-spacing:.1em}
.case-kicker b{color:var(--text);font-size:13px}
.case-body{font-size:17px;line-height:1.75;color:var(--text);margin:0 0 16px;max-width:66ch;font-family:var(--serif)}
.case-rule{border-left:3px solid var(--accent);background:var(--panel);padding:16px 18px;margin:24px 0}
.case-rule h3{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-bottom:8px}
.case-rule p{margin:0;font-size:17px;line-height:1.6;font-family:var(--serif)}
.case-list{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);border:var(--rule)}
.case-card{background:var(--panel)}
.case-card a{display:block;padding:16px 18px;color:inherit;border-left:3px solid transparent}
.case-card.red a{border-left-color:var(--red)} .case-card.good a{border-left-color:var(--good)}
.case-card a:hover{text-decoration:none;background:var(--panel-2)}
.case-h{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.case-h b{color:var(--text);text-transform:uppercase;letter-spacing:.1em;font-size:11.5px}
.case-mk{margin-left:auto}
.case-card h3{font-family:var(--serif);font-size:19px;margin:7px 0 5px;letter-spacing:-.015em}
.case-card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55}

/* ------------------------------------------------------- beyond the data */
.void{padding:30px 24px;background:var(--panel);border-top:2px solid var(--red)}
.void-eyebrow{margin:0 0 12px;font-size:10px;letter-spacing:.26em;color:var(--red);text-transform:uppercase}
.void h2{font-family:var(--serif);font-size:clamp(22px,3.6vw,34px);line-height:1.15;letter-spacing:-.02em;
  color:var(--red);margin:0 0 18px;max-width:24ch}
.void p{max-width:72ch;font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 14px;font-family:var(--serif)}
.void p b{color:var(--text)}
.void-scream{font-family:var(--sans) !important;font-size:clamp(15px,2.4vw,22px) !important;font-weight:800;
  letter-spacing:.1em;color:var(--text) !important;margin:24px 0 !important;animation:flick 5.5s infinite}
@keyframes flick{0%,97%,100%{opacity:1}97.5%{opacity:.3}98.5%{opacity:.9}99%{opacity:.4}}
.void-foot{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:var(--rule);padding-top:16px;margin-top:20px !important}
.void-foot span{font-size:11.5px;color:var(--muted-2);max-width:60ch;font-family:var(--sans)}

/* ------------------------------------------------------------ responsive */
@media (max-width:620px){
  .vgrid{grid-template-columns:minmax(64px,.6fr) repeat(3,minmax(0,1.3fr))}
  .vg-mkt b{display:none}
  .vg-mkt .fl{font-size:19px}
  .vg-mkt{justify-content:center;padding:12px 6px}
  .vg-what{font-size:11.5px}
  .vg-day{padding:7px 8px}
  .tab{font-size:11px;padding:9px 9px;gap:5px;letter-spacing:.06em}
  .brand-txt small{display:none}
  .brand img{width:36px;height:36px}
  .btn{white-space:nowrap;padding:6px 9px;font-size:12px}
  .top{padding:9px 12px}
  main{padding:14px 12px 0}
  .doc-main h1{font-size:26px}
}
@media (max-width:860px){
  .layout{grid-template-columns:1fr}
  .col-side{position:static}
  .detail-grid{grid-template-columns:1fr}
  .ev-flags{max-width:74px}
  .cell .lbl{display:none}
  .cell{aspect-ratio:1/1}
  .dayhead{top:0}
}
@media print{
  .top,.col-side,.tabs,.btn{display:none}
  body{background:#fff;color:#000}
}
