/* Hallmark · Workbench / Well Habit system · pre-emit critique P4 H4 E4 S5 R5 V4 */
@font-face{font-family:Newsreader;src:url('/assets/fonts/newsreader-latin.woff2') format('woff2');font-display:swap}@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/ibm-plex-sans-latin.woff2') format('woff2');font-display:swap}
/* Hallmark · tokens: The Well Habit · custom brand system · OKLCH only */
:root {
  --color-paper: oklch(97% 0.012 315);
  --color-paper-2: oklch(94% 0.018 315);
  --color-paper-3: oklch(90% 0.028 315);
  --color-ink: oklch(23% 0.025 305);
  --color-ink-2: oklch(35% 0.03 305);
  --color-muted: oklch(48% 0.025 305);
  --color-rule: oklch(82% 0.025 315);
  --color-rule-strong: oklch(63% 0.055 305);
  --color-accent: oklch(50% 0.105 305);
  --color-accent-soft: oklch(79% 0.09 20);
  --color-accent-ink: oklch(98% 0.008 315);
  --color-focus: oklch(53% 0.145 305);
  --color-success: oklch(43% 0.085 155);

  --font-display: "Newsreader", ui-serif, "Iowan Old Style", serif;
  --font-body: "IBM Plex Sans", ui-sans-serif, sans-serif;

  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.25rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 8rem;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.375rem;
  --text-xl: 1.75rem;
  --text-2xl: 2.375rem;
  --text-display-s: clamp(2.25rem, 6vw, 3.75rem);
  --text-display: clamp(2.625rem, 7vw, 4.75rem);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long: 420ms;

  --rule-hair: 1px;
  --rule-fine: 2px;
  --radius-card: 0.75rem;
  --radius-pill: 999px;
  --radius-input: 0.5rem;
}

*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font:1rem/1.6 var(--font-body)}.shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.12;overflow-wrap:anywhere;min-width:0;font-style:normal}h1{font-size:clamp(2.5rem,6vw,4.8rem);letter-spacing:-.035em;margin:.4em 0}h2{font-size:2rem;margin:0 0 1rem}h3{font-size:1.45rem;margin:.1rem 0 .5rem}p{margin:.5rem 0 1rem}a{color:var(--color-accent);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}.mast{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:24px;border-bottom:1px solid var(--color-rule)}.brand{font-family:var(--font-display);font-size:1.5rem;color:var(--color-ink);text-decoration:none}.app-title{padding-top:25px}.small{font-size:.875rem;color:var(--color-muted)}button,.button{font:inherit;line-height:1.25;display:inline-flex;justify-content:center;align-items:center;min-height:46px;border:1px solid var(--color-accent);background:var(--color-paper);color:var(--color-accent);padding:11px 15px;border-radius:6px;cursor:pointer;text-decoration:none;white-space:nowrap;max-width:100%}button:hover,.button:hover{background:var(--color-paper-3)}button:active,.button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}.primary{background:var(--color-accent);color:var(--color-accent-ink)}.primary:hover{background:var(--color-ink)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.skip{position:absolute;left:12px;top:-100px;padding:10px;background:var(--color-paper);z-index:5}.skip:focus{top:10px}.toolbar,.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.notice,#status{border-left:3px solid var(--color-accent);padding:9px 15px;background:var(--color-paper-2)}#status{color:var(--color-ink-2);min-height:44px}.period-panel{margin:30px 0;padding:24px;border:1px solid var(--color-rule);border-radius:12px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:end}label{display:block;margin-bottom:16px;font-size:.95rem}input,select,textarea{display:block;width:100%;font:inherit;line-height:1.4;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-rule-strong);border-radius:5px;padding:10px;min-height:46px;margin-top:6px}input[type=checkbox]{width:20px;min-height:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--color-accent)}input[type=file]{font-size:.8rem;max-width:100%}textarea{resize:vertical}.check{display:flex;gap:10px;align-items:center;margin:0 0 12px}.toolbar .check{margin:0}.workbench{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}.editor{background:var(--color-paper-2);padding:22px;border-radius:10px}.editor section+section{margin-top:30px;border-top:1px solid var(--color-rule);padding-top:24px}.board section{margin-bottom:40px}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.list article{padding:20px 0;border-top:1px solid var(--color-rule);overflow-wrap:anywhere}.list article p{white-space:pre-wrap}.list .actions{margin-top:12px}.tag{font-size:.85rem;color:var(--color-accent);font-weight:600}.summary{background:var(--color-paper-2);padding:22px;border-radius:8px;margin:20px 0}.summary dl{margin:0}.summary dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--color-rule);padding:10px 0}.summary dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;overflow-wrap:anywhere}.recovery,.boundary{border-top:1px solid var(--color-rule);padding-block:32px}.recovery>label{margin-top:24px}#preview{padding:22px;background:var(--color-paper-2);margin-block:15px}footer{padding-block:30px;border-top:1px solid var(--color-rule)}footer nav{display:flex;gap:20px;flex-wrap:wrap}.hero{padding-block:60px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:50px;align-items:center}.hero h1{font-size:clamp(2.8rem,6vw,4.6rem)}.lede{font-size:1.2rem}.sample{padding:28px;border:1px solid var(--color-rule-strong);border-radius:8px;background:var(--color-paper-2)}.sample dl div,.contents-row{padding:18px 0;border-top:1px solid var(--color-rule)}.sample dd{margin:0}.beat{padding-block:50px;border-top:1px solid var(--color-rule)}.beat>p{max-width:70ch}.contents-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:30px}.contents-row p{margin:0}.faq details{padding:20px 0;border-bottom:1px solid var(--color-rule)}summary{cursor:pointer;font-weight:600;min-height:44px}.faq details p{max-width:70ch}.price{font-family:var(--font-display);font-size:3rem}[hidden]{display:none!important}@media(max-width:800px){.workbench{grid-template-columns:minmax(0,1fr);gap:30px}.hero{grid-template-columns:minmax(0,1fr);padding-block:35px;gap:30px}.fields{grid-template-columns:minmax(0,1fr)}.contents-row{grid-template-columns:minmax(0,1fr);gap:8px}.mast{align-items:flex-start;flex-direction:column;gap:2px}.editor{padding:20px}.period-panel{padding:20px}.summary dl div{flex-direction:column;gap:2px}.summary dd{text-align:left}}@media print{.no-print,.editor,.skip,#status,#storage-note{display:none!important}.shell{width:100%;margin:0}.workbench{display:block}.mast{padding:0}.app-title{padding-top:0}h1{font-size:26pt}h2{font-size:20pt}body{font-size:10pt;background:white;color:black}.period-panel{padding:8px;margin:10px 0}.list article{break-inside:avoid}.list .actions{display:none}.summary{padding:10px}.board section{margin-bottom:20px}footer nav{display:none}.boundary{padding-block:12px}a{color:inherit;text-decoration:none}@page{margin:15mm}}
