/* Swiss (2026-10): International Typographic. Off-white page, black type,
   one red accent, numbered rows and hairline rules. Light only: no dark block,
   so the sandbox's theme switch is not offered and the page stays light. */
:root{
  color-scheme:light;
  --bg:#F7F6F2; --ink:#111111; --ink2:#6B6862; --mute:#9C988F;
  --rule:#111111; --rule-soft:#CFCCC4;
  --surface:transparent; --surface2:#ECEAE4;
  --accent:#C8281E; --on-accent:#FFFFFF;
  --btn:#C8281E; --on-btn:#FFFFFF;
  --press:#111111; --on-press:#F7F6F2;
  --ok:#2F6B3A; --bad:#C8281E; --warn:#A35F00;
  --high:#C8281E; --info:#111111;
  --ctx-bg:transparent; --ctx-ink:#111111; --ctx-label:#6B6862; --ctx-edge:transparent;
  --ctx-target-bg:transparent; --ctx-target-ink:#C8281E;
  --f-body:"Helvetica Neue",Helvetica,"Archivo",sans-serif;
  --f-disp:var(--f-body); --f-label:var(--f-body);
  --f-mono:"Helvetica Neue",Helvetica,"Archivo",sans-serif;
  --label-size:11px; --label-weight:400;
  --gap:24px;
}
.num,.sub,.raw,.ex-sub,.chip span,.results em,.recog span,pre.out,.ctx{font-variant-numeric:tabular-nums}
pre.out,textarea{font-family:ui-monospace,Menlo,monospace}
h1,h2{font-weight:700;letter-spacing:-.035em}
h1{font-size:48px;line-height:.92}
h1.page{font-size:48px;line-height:.92}
h2{letter-spacing:-.02em}
.back{font-size:12px;border-bottom:2px solid var(--ink);align-self:stretch;padding-bottom:8px}
input[type=text],input:not([type]),select,textarea{border:0;border-bottom:1px solid var(--ink);padding:6px 0;background:transparent;font-size:17px}
textarea{border:1px solid var(--rule-soft);padding:8px;font-size:14px}
.seg button[aria-pressed="true"]{font-weight:500}
.seg.units button{font-size:12px}
/* the numbered Swiss row: a 44px index column */
.ex-head{display:grid;grid-template-columns:1fr auto auto;align-items:baseline}
.ex-head h2{font-size:24px}
.title{min-height:0;padding:4px 0}
.tag{border:0;padding:0 6px;color:var(--ink2);font-size:12px;text-decoration:none}
.tag[aria-pressed="true"]{background:none;color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.tag.ico{border:1px solid var(--rule-soft)}
.settag{min-width:44px;text-align:left;padding:0;font-size:12px}
.settag[aria-pressed="true"]{color:var(--ink2);text-decoration:none;font-weight:400}
.set:not(.warm) .settag{color:var(--accent);font-weight:700;text-decoration:none}
.set{border-bottom-color:var(--rule-soft)}
.set input.num{border:0;border-bottom:1px solid var(--ink);font-size:20px;font-weight:500;background:transparent}
.step{border:0;color:var(--ink2)}
/* set options: each one boxed, the picked one in red */
.seg.effort{border:0;gap:4px;overflow:visible}
.seg.effort button{flex:0 0 auto;padding:0 7px;font-size:12px;border:1px solid var(--rule-soft)!important;background:none;color:var(--ink2)}
.seg.effort button[aria-pressed="true"]{background:none;color:var(--accent);border-color:var(--accent)!important;font-weight:700}
.setopts{gap:4px}
.setopts .tag{border:1px solid var(--rule-soft);padding:0 7px;text-decoration:none}
.setopts .tag[aria-pressed="true"]{border-color:var(--accent);text-decoration:none}
/* gym: one row that scrolls sideways, like "Start from a recent day" */
.seg.gym{flex-wrap:nowrap;overflow-x:auto;border:0;gap:6px;padding-bottom:4px}
.seg.gym button{flex:0 0 auto;min-width:112px;border:1px solid var(--ink)!important}
.ctx .cl{grid-template-columns:44px 1fr;padding:3px 0}
.ctx .cl+.cl{border-top:0}
.ctx dt{font-weight:400;letter-spacing:0;text-transform:none;font-size:12px}
.ctx .target dd{font-weight:500}
.status,.card{border:0;border-left:2px solid var(--ink2);padding:4px 0 4px 12px;background:none}
.status.ok{border-left-color:var(--ok)}
.status.bad,.card.high{border-left-color:var(--accent)}
.chip,.order-row,.recog,.results,.qcard,.stat,.tile{border-width:0;border-top:1px solid var(--rule-soft);background:none;border-radius:0}
.chips{gap:16px}
.chip{padding:6px 0}
.tiles{gap:0;border-top:2px solid var(--ink)}
.tile{grid-template-columns:44px 1fr auto;grid-template-areas:"n body go"}
.tile .sprite{display:none}
.tile .n{display:block;grid-area:n;font-size:12px;font-weight:700;color:var(--ink2)}
.tile.lead .n{color:var(--accent)}
.tile.lead h2{font-size:26px}
.tile .go{color:var(--accent)}
.act{font-weight:500}
.act.primary{display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:700}
.act.primary::after{content:"→"}
.act.ghost{border:0;padding:0;align-self:flex-start;text-decoration:underline;text-underline-offset:3px;min-height:var(--tap)}
.reorder-bar .act.ghost{align-self:auto}
.accept{background:var(--accent)}
.stat{border-top:2px solid var(--ink);padding:10px 0}
.stat b{font-weight:500;font-size:40px;letter-spacing:-.03em}
.stat.flagged b{color:var(--accent)}
.qcard{border-top:2px solid var(--ink);padding:12px 0}
.qnav button:last-child{background:var(--accent);border-color:var(--accent)}
.bar i,.meter i{background:var(--accent)}
.verdicts button.picked{border-color:var(--accent);box-shadow:none;color:var(--accent)}
mark{background:none;color:var(--accent);font-weight:700;text-decoration:underline}
.demo{color:#9C988F;border-top-color:#CFCCC4}
