/* ==== Thimbleroot design tokens (design-direction-v2 §3). Workshop ledger. ====
   Rule: flat surfaces only; no gradients, shadows, blur or motion (enforced by tools/check_css.py). */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-latin-standard-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/newsreader-latin-standard-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular-Latin1.woff2) format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02}
:root{
  /* palette: light */
  --paper:#F4F0E8; --paper-deep:#EAE4D8; --ink:#1D1C1A; --graphite:#5E5B54; --rule:#CFC8BA; --thread:#A3392A; --moss:#4F6F52;
  /* type */
  --serif:"Newsreader",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --fs-h1:2.9rem; --fs-h2:1.6rem; --fs-h3:1.15rem; --fs-body:1rem; --fs-label:.85rem; --fs-mono:.86rem; --lh:1.55;
  --measure:66ch;
  /* space: tight within, larger above sections */
  --s1:.25rem; --s2:.5rem; --s3:.875rem; --s4:1.5rem; --s5:2.75rem; --s6:4.5rem;
  /* grid */
  --max:1120px; --gap:24px; --side:32px;
  --hair:1px solid var(--rule);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){:root{--paper:#1A1917;--paper-deep:#24221F;--ink:#ECE6DA;--graphite:#A39E93;--rule:#3A3732;--thread:#E07A5F;--moss:#8DB08F}}
@media (max-width:720px){:root{--side:16px;--fs-h1:2.1rem;--fs-h2:1.35rem}}
html{font-size:18px}
@media (max-width:720px){html{font-size:17px}}

/* ==== Layout + components. Hairline rules are the only containers. ==== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/var(--lh) var(--serif);font-optical-sizing:auto;font-variant-numeric:tabular-nums}
::selection{background:rgba(163,57,42,.2)}
h1,h2,h3{font-weight:600;line-height:1.15;margin:0}
h1{font-size:var(--fs-h1);letter-spacing:-.015em;max-width:20ch}
h2{font-size:var(--fs-h2);margin-top:var(--s5);margin-bottom:var(--s3)}
h3{font-size:var(--fs-h3)}
p,ul,ol,dl{margin:0 0 var(--s3)}
em{font-style:italic}
code,kbd,samp,.mono{font-family:var(--mono);font-size:var(--fs-mono);font-variant-numeric:tabular-nums}
a{color:var(--thread);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--thread);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.label{font-variant-caps:all-small-caps;letter-spacing:.04em;font-size:1.05rem;color:var(--graphite);font-style:normal}
.muted{color:var(--graphite)}
.tk{background:var(--paper-deep);color:var(--graphite);font-family:var(--mono);font-size:var(--fs-mono);padding:0 .25em}
.skip{position:absolute;left:-9999px}.skip:focus{left:var(--side);top:var(--s2);background:var(--paper);padding:var(--s2);z-index:1}

/* 12-col grid: gutter = cols 1-2, content = 3-10, 11-12 left empty on purpose */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--side)}
.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.g>.gut{grid-column:1/3}
.g>.main{grid-column:3/11}
.g>.wide{grid-column:3/13}
.g>.aside{grid-column:11/13}
@media (max-width:900px){.g{display:block}.g>.gut{margin-bottom:var(--s1)}}

/* header */
.site-head{border-bottom:var(--hair)}
.site-head .wrap{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--s2) var(--s4);padding-block:var(--s4) var(--s3)}
.wordmark{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:1.25rem;letter-spacing:-.01em}
.site-nav ul{display:flex;gap:var(--s4);list-style:none;margin:0;padding:0}
.site-nav a{color:var(--ink);text-decoration:none}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--thread);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

main{padding-block:var(--s6) var(--s6)}
.intro p{max-width:var(--measure);font-size:1.15rem;margin-top:var(--s4)}

/* ledger rows */
.ledger{list-style:none;margin:var(--s5) 0 0;padding:0;border-top:var(--hair)}
.ledger>li{border-bottom:var(--hair);padding-block:var(--s4)}
.ledger .name{font-weight:600;font-size:var(--fs-h3);margin:0}
.ledger .what{margin:var(--s1) 0 0;max-width:var(--measure)}
.ledger .facts{margin:var(--s1) 0 0;color:var(--graphite)}
.group{margin-top:var(--s5)}

/* products table */
table.ledger-t{width:100%;border-collapse:collapse;border-top:var(--hair)}
.ledger-t th,.ledger-t td{text-align:left;vertical-align:baseline;padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:var(--hair)}
.ledger-t thead th{font-weight:400}
.ledger-t td.num{text-align:right;white-space:nowrap}
@media (max-width:720px){.ledger-t thead{position:absolute;left:-9999px}.ledger-t tr{display:block;border-bottom:var(--hair);padding-block:var(--s3)}.ledger-t td{display:block;border:0;padding:0}.ledger-t td.num{text-align:left}}

/* screenshots */
figure{margin:var(--s4) 0}
figure img{border:1px solid var(--ink);border-radius:2px;background:var(--paper-deep)}
figcaption{font-family:var(--mono);font-size:var(--fs-mono);color:var(--graphite);margin-top:var(--s2)}
pre.block{background:var(--paper-deep);padding:var(--s3);overflow-x:auto;margin:0 0 var(--s3)}

/* single button on the site */
.btn{display:inline-block;border:1px solid var(--ink);border-radius:2px;color:var(--ink);text-decoration:none;padding:.35rem .9rem}
.btn:hover{border-width:1px;text-decoration:underline}
.actions{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:baseline;margin-top:var(--s4)}

section.part{border-top:var(--hair);margin-top:var(--s5);padding-top:var(--s4)}
section.part h2{margin-top:0}

/* legal */
.legal .effective{margin-top:var(--s3)}
.legal .main>*{max-width:64ch}
.legal h2{font-size:1.25rem;margin-top:var(--s4)}
.short{border-top:var(--hair);border-bottom:var(--hair);padding-block:var(--s3);margin-block:var(--s4)}

/* footer */
.site-foot{border-top:var(--hair)}
.site-foot .wrap{padding-block:var(--s4) var(--s5)}
.foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.site-foot .wordmark{font-size:1rem}
.site-foot ul{display:flex;gap:var(--s4);list-style:none;margin:0;padding:0}
.site-foot .micro{margin:var(--s3) 0 0;color:var(--graphite);font-size:.9rem}
[data-flush]{margin:0}
[data-mt="3"]{margin-top:var(--s3)}
[data-mt="4"]{margin-top:var(--s4)}
p.intro{font-size:1.15rem;max-width:var(--measure)}

.status{color:var(--graphite);font-style:italic}
figure.capped img{max-height:440px;width:auto;max-width:100%}
.foot-name{color:var(--ink);text-decoration:none;font-weight:600}
