/* ------------------------------------------------------------------
 * "The schedule" — a calm, spatial ledger, now for manual updates.
 * Ink on cool paper. Neutrals from Core 2.0's oklch scale.
 * Type: Inter Tight (EN) + IBM Plex Sans Arabic. No JS on this page —
 * content is server-rendered by the Worker on every request.
 * ------------------------------------------------------------------ */
:root{
  --paper:oklch(0.972 0.002 260); --ink:oklch(0.255 0.008 265);
  --muted:oklch(0.548 0.006 265); --faint:oklch(0.712 0.005 265);
  --hair:oklch(0.902 0.003 265); --hair-soft:oklch(0.935 0.002 265);
  --sp:clamp(20px,5vw,64px); --gut:clamp(30px,5vw,68px);
  --c:oklch(0.64 0.09 152);
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:oklch(0.185 0.005 265); --ink:oklch(0.918 0.003 265);
    --muted:oklch(0.60 0.006 265); --faint:oklch(0.44 0.006 265);
    --hair:oklch(0.302 0.006 265); --hair-soft:oklch(0.252 0.006 265);
  }
}
:root[data-theme="light"]{
  --paper:oklch(0.972 0.002 260); --ink:oklch(0.255 0.008 265);
  --muted:oklch(0.548 0.006 265); --faint:oklch(0.712 0.005 265);
  --hair:oklch(0.902 0.003 265); --hair-soft:oklch(0.935 0.002 265);
}
:root[data-theme="dark"]{
  --paper:oklch(0.185 0.005 265); --ink:oklch(0.918 0.003 265);
  --muted:oklch(0.60 0.006 265); --faint:oklch(0.44 0.006 265);
  --hair:oklch(0.302 0.006 265); --hair-soft:oklch(0.252 0.006 265);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{background:var(--paper);}
body{
  background:var(--paper); color:var(--ink);
  font-family:"Inter Tight","IBM Plex Sans Arabic",system-ui,-apple-system,sans-serif;
  font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.wrap{
  max-width:1080px; margin:0 auto; padding:clamp(40px,8vh,96px) var(--sp) 40px;
  display:grid; grid-template-columns:minmax(220px,290px) 1fr; gap:0;
  animation:settle .7s cubic-bezier(.2,.6,.2,1);
}
@keyframes settle{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.mast{
  position:sticky; top:clamp(40px,8vh,96px); align-self:start;
  padding-inline-end:var(--gut);
  display:flex; flex-direction:column; gap:0;
}
.eyebrow{margin:0 0 18px; font-size:.78rem; color:var(--muted); font-weight:500;}
h1{margin:0; font-size:clamp(1.7rem,3.2vw,2.15rem); font-weight:600; line-height:1.15; letter-spacing:-.4px;}
.lede{margin:14px 0 0; color:var(--muted); font-size:.95rem; max-width:34ch;}
.tally{margin:30px 0 0; padding:0; display:flex; flex-direction:column; gap:0;}
.tally div{display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--hair-soft);}
.tally div:last-child{border-bottom:1px solid var(--hair-soft);}
.tally dt{margin:0; color:var(--muted); font-size:.9rem;}
.tally dd{margin:0; font-size:1rem; font-weight:600; font-variant-numeric:tabular-nums; color:var(--ink);}
.asof{margin:22px 0 0; color:var(--faint); font-size:.82rem; font-variant-numeric:tabular-nums;}

.index{border-inline-start:1px solid var(--hair); padding-inline-start:var(--gut);}

/* Row — one update, always open (these are meant to be read at a glance) */
.row{border-bottom:1px solid var(--hair-soft); padding:22px 0 24px;}
.row:first-child{padding-top:0;}
.rhead{display:flex; align-items:baseline; gap:12px;}
.dot{width:8px; height:8px; border-radius:50%; background:var(--c); flex:none; transform:translateY(-1px);}
.rname{font-size:1.28rem; font-weight:600; letter-spacing:-.3px;}
.rtype{margin-inline-start:auto; font-size:.82rem; color:var(--faint); white-space:nowrap; padding-top:4px; font-variant-numeric:tabular-nums;}

.rbody{margin-top:9px; padding-inline-start:20px; max-width:62ch;}
.rbody p{margin:0 0 12px; color:var(--muted); font-size:.98rem;}
.rlink{display:inline-flex; align-items:center; gap:7px; color:var(--ink); text-decoration:none; font-size:.9rem; font-weight:500; border-bottom:1px solid var(--c); padding-bottom:2px; margin-bottom:10px;}
.rlink:hover{border-bottom-width:2px; padding-bottom:1px;}
.rlink:focus-visible{outline:2px solid var(--c); outline-offset:3px;}
.rlink .arw{font-family:"Inter Tight",system-ui; direction:ltr; color:var(--muted);}

.atts{display:flex; flex-wrap:wrap; gap:8px; margin-top:6px;}
.att{display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:var(--ink); font-size:.84rem; padding:6px 10px; border:1px solid var(--hair); border-radius:8px;}
.att:hover{border-color:var(--c);}
.att-size{color:var(--faint); font-variant-numeric:tabular-nums;}

.rnone{color:var(--faint); font-size:.9rem; padding-inline-start:20px;}

footer{grid-column:1 / -1; margin-top:60px; padding-top:22px; border-top:1px solid var(--hair); display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; color:var(--faint); font-size:.82rem;}
footer .sig{color:var(--muted);}
footer .sig .heart{color:var(--muted);}

@media (max-width:820px){
  .wrap{grid-template-columns:1fr; gap:0;}
  .mast{position:static; padding-inline-end:0; padding-bottom:8px;}
  .index{border-inline-start:0; padding-inline-start:0; margin-top:40px;}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}
