/* Patron (Page Lemon app template): Brackenhurst Letters, a garden letter from Elspeth Trevail.
   Art direction 2026-10-25 (docs/templates/app-art-direction-2026-10-23.md, Family E): the seed packet.
   Plum field, Envelope paper, Seed Green (sow) and Wax Red (harvest); Young Serif for display, Source Sans 3 for text.
   Each letter is a packet: the front a two-ink botanical in an arched window, the back a sow and harvest calendar.
   The letter pages open the packet: the torn strip lifts away, then the reading column rises out of it.
   kit.css (never edited here) gives behaviour, layout and accessibility; every colour, font, radius and surface is set here. */
:root {
  --p-plum: #5B2148;
  --p-plum-deep: #3E1631;
  --p-env: #F4EBDD;
  --p-green: #536B2C;
  --p-red: #A3201E;
  --p-ink: #241A20;
  --p-pink: #E7C9DB;
  --p-wood: #D9B88A;
  --p-wood-ink: #3B2414;
  --p-paper: #FBF6EC;
  --p-page: var(--p-env);
  --p-text-plum: var(--p-plum);
  --p-text-green: var(--p-green);
  --p-text-red: var(--p-red);
  --p-cell: #E6DACB;
  --p-shadow: 0 1px 0 rgba(36, 26, 32, .06), 0 14px 30px rgba(62, 22, 49, .16);
  --p-display: "Young Serif", Georgia, "Times New Roman", serif;
  --p-sans: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --p-z: 10px;
  --p-env-line: rgba(244, 235, 221, .45);
  --p-env-half: rgba(244, 235, 221, .5);
  --p-env-faint: rgba(244, 235, 221, .18);
  --p-env-faint2: rgba(244, 235, 221, .2);
  --p-env-dash: rgba(244, 235, 221, .4);
  --p-env-strong: rgba(244, 235, 221, .7);
  --p-env-wash: rgba(244, 235, 221, .08);
  --p-env-wash3: rgba(244, 235, 221, .3);
  --p-env-wash13: rgba(244, 235, 221, .13);
  --p-scrim: rgba(0, 0, 0, .22);
  --p-scrim-soft: rgba(0, 0, 0, .18);
  --p-scrim-deep: rgba(0, 0, 0, .45);
  --p-shadow-q: 0 2px 6px rgba(36, 26, 32, .18);
  --p-shadow-sheet: 0 1px 0 rgba(36, 26, 32, .08), 0 12px 24px rgba(20, 4, 14, .3);
  --p-shadow-sheet-deep: rgba(20, 4, 14, .3);
  --p-ink-line: rgba(36, 26, 32, .06);
  --p-plum-shadow: rgba(62, 22, 49, .16);
  --p-wood-line: rgba(59, 36, 20, .07);
  --p-wood-line2: rgba(59, 36, 20, .05);
  --p-wood-rule: rgba(59, 36, 20, .35);
  --p-pink-wash: rgba(230, 188, 214, .14);
  --p-white: #FFFFFF;
  --p-green-pale: #EEF2E2;
  --p-green-hover: #435823;
  --p-shell-dark: #2A1424;
  --p-sow-dark: #7E9A48;
  --p-harvest-dark: #D4473B;
  --p-zig-top: polygon(0 var(--p-z), 2.083% 0, 4.167% var(--p-z), 6.25% 0, 8.333% var(--p-z), 10.417% 0, 12.5% var(--p-z), 14.583% 0, 16.667% var(--p-z), 18.75% 0, 20.833% var(--p-z), 22.917% 0, 25% var(--p-z), 27.083% 0, 29.167% var(--p-z), 31.25% 0, 33.333% var(--p-z), 35.417% 0, 37.5% var(--p-z), 39.583% 0, 41.667% var(--p-z), 43.75% 0, 45.833% var(--p-z), 47.917% 0, 50% var(--p-z), 52.083% 0, 54.167% var(--p-z), 56.25% 0, 58.333% var(--p-z), 60.417% 0, 62.5% var(--p-z), 64.583% 0, 66.667% var(--p-z), 68.75% 0, 70.833% var(--p-z), 72.917% 0, 75% var(--p-z), 77.083% 0, 79.167% var(--p-z), 81.25% 0, 83.333% var(--p-z), 85.417% 0, 87.5% var(--p-z), 89.583% 0, 91.667% var(--p-z), 93.75% 0, 95.833% var(--p-z), 97.917% 0, 100% var(--p-z), 100% 100%, 0 100%);
  --p-zig-bottom: polygon(0 0, 100% 0, 100% 100%, 97.917% calc(100% - var(--p-z)), 95.833% 100%, 93.75% calc(100% - var(--p-z)), 91.667% 100%, 89.583% calc(100% - var(--p-z)), 87.5% 100%, 85.417% calc(100% - var(--p-z)), 83.333% 100%, 81.25% calc(100% - var(--p-z)), 79.167% 100%, 77.083% calc(100% - var(--p-z)), 75% 100%, 72.917% calc(100% - var(--p-z)), 70.833% 100%, 68.75% calc(100% - var(--p-z)), 66.667% 100%, 64.583% calc(100% - var(--p-z)), 62.5% 100%, 60.417% calc(100% - var(--p-z)), 58.333% 100%, 56.25% calc(100% - var(--p-z)), 54.167% 100%, 52.083% calc(100% - var(--p-z)), 50% 100%, 47.917% calc(100% - var(--p-z)), 45.833% 100%, 43.75% calc(100% - var(--p-z)), 41.667% 100%, 39.583% calc(100% - var(--p-z)), 37.5% 100%, 35.417% calc(100% - var(--p-z)), 33.333% 100%, 31.25% calc(100% - var(--p-z)), 29.167% 100%, 27.083% calc(100% - var(--p-z)), 25% 100%, 22.917% calc(100% - var(--p-z)), 20.833% 100%, 18.75% calc(100% - var(--p-z)), 16.667% 100%, 14.583% calc(100% - var(--p-z)), 12.5% 100%, 10.417% calc(100% - var(--p-z)), 8.333% 100%, 6.25% calc(100% - var(--p-z)), 4.167% 100%, 2.083% calc(100% - var(--p-z)), 0 100%);

  --k-brand: var(--p-plum);
  --k-brand-ink: var(--p-env);
  --k-brand-soft: #EBDAE3;
  --k-hero: var(--p-plum);
  --k-hero-ink: var(--p-env);
  --k-gold: var(--p-wood);
  --k-bg: var(--p-page);
  --k-surface: var(--p-paper);
  --k-surface-2: #EFE3D1;
  --k-line: rgba(91, 33, 72, .16);
  --k-line-strong: rgba(91, 33, 72, .36);
  --k-text: var(--p-ink);
  --k-muted: #5D4E57;
  --k-faint: #62535C;
  --k-ok: var(--p-green);
  --k-ok-soft: #E2E7D2;
  --k-warn: #7A4A08;
  --k-warn-soft: #F5E6C8;
  --k-info: var(--p-plum);
  --k-info-soft: #EBDAE3;
  --k-danger: var(--p-red);
  --k-font: var(--p-sans);
  --k-font-display: var(--p-display);
  --k-r-s: 3px; --k-r-m: 4px; --k-r-l: 6px; --k-r-xl: 8px;
  --k-shadow-1: none;
  --k-shadow-2: var(--p-shadow);
  --k-shadow-3: 0 18px 40px rgba(36, 10, 28, .28);
  --k-max: 1240px;
}
/* Dark: the potting shed at night. Paper stays paper inside the packets; the page goes plum-black. */
@media (prefers-color-scheme: dark) {
  :root {
    --p-page: #170E14;
    --p-paper: #241520;
    --p-text-plum: #E6BCD6;
    --p-text-green: #A9C46F;
    --p-text-red: #FF8F80;
    --p-cell: #3A2533;
    --p-shadow: 0 14px 30px rgba(0, 0, 0, .45);
    --k-brand: #E6BCD6;
    --k-brand-ink: #2A0F22;
    --k-brand-soft: rgba(230, 188, 214, .14);
    --k-surface-2: #2F1C29;
    --k-line: rgba(244, 235, 221, .13);
    --k-line-strong: rgba(244, 235, 221, .3);
    --k-text: var(--p-env);
    --k-muted: #B8A9B1;
    --k-faint: #AD9DA6;
    --k-ok: #A9C46F; --k-ok-soft: rgba(169, 196, 111, .14);
    --k-warn: #E8C27A; --k-warn-soft: rgba(232, 194, 122, .14);
    --k-info: #E6BCD6; --k-info-soft: rgba(230, 188, 214, .14);
    --k-danger: #FF8F80;
  }
}
/* ---------- shared ---------- */
body.k-app { font-family: var(--p-sans); background: var(--p-page); color: var(--k-text); }
.k-app h1, .k-app h2, .k-app h3 { font-family: var(--p-display); font-weight: 400; letter-spacing: -.005em; }
.k-app :focus-visible { outline: 3px solid var(--p-green); outline-offset: 2px; }
.k-app ::selection { background: var(--p-plum); color: var(--p-env); }
.k-app .k-kicker { font: 700 .8125rem/1.3 var(--p-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--p-text-plum); }
.k-app .k-btn { border-radius: 4px; font: 700 1rem/1 var(--p-sans); letter-spacing: .01em; background: var(--p-plum); color: var(--p-env); }
.k-app .k-btn:hover { background: var(--p-plum-deep); }
.k-app .k-btn-line { background: transparent; color: var(--p-text-plum); box-shadow: inset 0 0 0 2px currentColor; }
.k-app .k-btn-line:hover { background: var(--k-brand-soft); }
@media (prefers-color-scheme: dark) {
  .k-app .k-btn { background: var(--p-env); color: var(--p-plum); }
  .k-app .k-btn:hover { background: var(--p-white); }
  .k-app .k-btn-line { background: transparent; color: var(--p-env); }
  .k-app .k-btn-line:hover { background: var(--p-env-wash); }
}
.k-app .k-badge { border-radius: 3px; font: 700 .75rem/1.2 var(--p-sans); letter-spacing: .06em; text-transform: uppercase; background: var(--k-surface-2); color: var(--k-muted); }
.k-app .k-help { color: var(--k-muted); }
.k-app .k-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.k-app .k-section-head h2 { font-size: 1.625rem; line-height: 1.1; }
.k-app .k-section-head a { color: var(--p-text-plum); font-weight: 700; font-size: .9375rem; min-height: 44px; display: inline-flex; align-items: center; text-underline-offset: 3px; }
.k-app .k-foot { border-top: 2px solid var(--p-plum); color: var(--k-muted); }
@media (prefers-color-scheme: dark) { .k-app .k-foot { border-top-color: var(--k-line-strong); } }

/* ---------- the packet ---------- */
.p-pk { container-type: inline-size; position: relative; display: flex; flex-direction: column; aspect-ratio: 5 / 7; padding: 0; background: var(--p-plum); color: var(--p-env); border-radius: 3px; box-shadow: var(--p-shadow); overflow: hidden; }
.p-pk::before { content: ""; position: absolute; inset: 3.5cqi; border: 1.5px solid var(--p-env-half); border-radius: 2px; pointer-events: none; }
.p-pk::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3.4cqi; background: repeating-linear-gradient(90deg, var(--p-scrim) 0 1px, transparent 1px 4px); }
.p-pk-top { display: flex; justify-content: space-between; gap: 6px; margin: 7cqi 7cqi 0; font: 700 4.6cqi/1.1 var(--p-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--p-pink); }
.p-pk-top span:first-child { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.p-pk-top span:last-child { flex: none; white-space: nowrap; }
.p-pk-top { flex-wrap: wrap; }
.k-app .p-pk-top span:first-child, .k-app .k-brand span, .p-bar .p-bar-brand span { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.p-pk-win { flex: 1; min-height: 0; margin: 4cqi 7cqi 3cqi; background: var(--p-env); border-radius: 50% 50% 3px 3px / 26% 26% 3px 3px; overflow: hidden; }
.p-pk-win img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 6cqi 4cqi 2cqi; }
.k-app .p-pk-month, .p-pk-month { margin: 0 7cqi; font: 400 14cqi/1 var(--p-display); color: var(--p-env); }
.k-app .p-pk-title, .p-pk-title { margin: 1.5cqi 7cqi 8cqi; font: 600 6.2cqi/1.2 var(--p-sans); color: var(--p-env); letter-spacing: 0; }
.p-pk-green { background: var(--p-green); }
.p-pk-green .p-pk-top { color: var(--p-green-pale); }
.p-pk-red { background: var(--p-red); }

/* The packet's back: envelope paper with the sow and harvest calendar */
.p-back { position: relative; padding: 20px 20px 18px; background: var(--p-paper); border: 1.5px solid var(--k-line-strong); border-radius: 3px; }
.k-app .p-back-h, .p-back-h { margin: 0 0 12px; font: 700 .8125rem/1.2 var(--p-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--p-text-plum); }
.p-grow { margin: 14px 0 0; font-size: .9375rem; line-height: 1.5; color: var(--k-text); }
.p-grow b { display: block; font: 400 1.125rem/1.2 var(--p-display); margin-bottom: 2px; }
.p-cal { width: 100%; border-collapse: separate; border-spacing: 3px; table-layout: fixed; font-family: var(--p-sans); }
.p-cal th { font: 700 .75rem/1 var(--p-sans); color: var(--k-muted); text-align: center; padding: 2px 0 4px; }
.p-cal tbody th { text-align: left; width: 5.2em; letter-spacing: .04em; text-transform: uppercase; font-size: .6875rem; padding: 0 4px 0 0; }
.p-cal td { height: 18px; background: var(--p-cell); border-radius: 2px; padding: 0; }
.p-cal .p-cal-sow td.on, .p-cal td.s { background: var(--p-green); }
.p-cal .p-cal-harvest td.on, .p-cal td.h { background: var(--p-red); }
.p-cal .p-cal-sow th { color: var(--p-text-green); }
.p-cal .p-cal-harvest th { color: var(--p-text-red); }
.p-cal thead th.p-now { color: var(--p-env); background: var(--p-plum); border-radius: 2px; }
.p-cal td.p-now { box-shadow: 0 0 0 2px var(--p-plum); }
@media (prefers-color-scheme: dark) {
  .p-cal .p-cal-sow td.on, .p-cal td.s { background: var(--p-sow-dark); }
  .p-cal .p-cal-harvest td.on, .p-cal td.h { background: var(--p-harvest-dark); }
  .p-cal thead th.p-now { background: var(--p-env); color: var(--p-plum); }
  .p-cal td.p-now { box-shadow: 0 0 0 2px var(--p-env); }
}
.p-cal-wide tbody th.p-cal-plant { width: auto; text-transform: none; letter-spacing: 0; padding: 6px 8px 6px 0; }
.p-cal-wide th.p-cal-plant { width: 34%; text-align: left; }
.p-cal-wide .p-cal-plant b { display: block; font: 400 1.0625rem/1.15 var(--p-display); color: var(--k-text); }
.p-cal-wide .p-cal-plant span { display: block; font: 400 .8125rem/1.3 var(--p-sans); color: var(--k-muted); margin-top: 2px; }
.p-cal-wide td { height: 30px; }
.p-cal-key { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; font: 600 .8125rem/1 var(--p-sans); color: var(--k-muted); }
.p-cal-key span { display: inline-flex; align-items: center; gap: 6px; }
.p-cal-key span::before { content: ""; width: 14px; height: 14px; border-radius: 2px; }
.p-key-s::before { background: var(--p-green); }
.p-key-h::before { background: var(--p-red); }
.p-key-now::before { box-shadow: inset 0 0 0 2px var(--p-plum); }
@media (prefers-color-scheme: dark) { .p-key-s::before { background: var(--p-sow-dark); } .p-key-h::before { background: var(--p-harvest-dark); } .p-key-now::before { box-shadow: inset 0 0 0 2px var(--p-env); } }
.p-cal-card { padding: 18px 18px 16px; background: var(--p-paper); border: 1.5px solid var(--k-line-strong); border-top: 6px solid var(--p-green); border-radius: 3px; }

/* ---------- member shell ---------- */
.k-app .k-top { background: var(--p-page); color: var(--p-text-plum); border-bottom: 1px solid var(--p-plum); backdrop-filter: none; -webkit-backdrop-filter: none; }
.k-app .k-brand img { border-radius: 4px; }
.k-app .k-brand { color: var(--p-text-plum); font: 400 1.1875rem/1.1 var(--p-display); letter-spacing: 0; }
.k-app .k-avatar { background: var(--p-plum); color: var(--p-env); font-family: var(--p-sans); }
.k-app .k-top a.k-signin { background: var(--p-plum); color: var(--p-env); border-radius: 4px; font-weight: 700; }
/* Phones: an envelope-paper tab strip; each tab a small seed-packet tab, the current one filled plum */
.k-app .k-tabs { background: var(--p-page); border-top: 1px solid var(--p-plum); backdrop-filter: none; -webkit-backdrop-filter: none; }
.k-app .k-tabs a { color: var(--p-text-plum); border-radius: 4px; font-family: var(--p-sans); font-weight: 600; font-size: .75rem; min-height: 44px; }
.k-app .k-tabs a[aria-current="page"] { color: var(--p-env); background: var(--p-plum); }
@media (prefers-color-scheme: dark) { .k-app .k-avatar, .k-app .k-top a.k-signin { background: var(--p-env); color: var(--p-plum); } .k-app .k-tabs a[aria-current="page"] { color: var(--p-plum); background: var(--p-text-plum); } .k-app .k-tabs { border-top-color: var(--k-line-strong); } }
@media (min-width: 1024px) {
  /* Desktop: tabs on envelope paper under the plum bar; the current tab a plum packet top with a torn edge */
  .k-app[data-k-nav="top"] .k-tabs { background: var(--p-page); border-bottom: 3px solid var(--p-plum); gap: 6px; padding-top: 10px; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .k-app[data-k-nav="top"] .k-tabs a { min-height: 44px; padding: 6px 20px 0; color: var(--k-text); font-size: 1rem; font-weight: 600; border-radius: 0; }
  .k-app[data-k-nav="top"] .k-tabs a:hover { color: var(--p-text-plum); background: var(--k-brand-soft); }
  .k-app[data-k-nav="top"] .k-tabs a[aria-current="page"] { --p-z: 7px; background: var(--p-plum); color: var(--p-env); box-shadow: none; clip-path: var(--p-zig-top); }
  .k-app[data-k-nav="top"] .k-top { min-height: 72px; }
  .k-app .k-brand { font-size: 1.375rem; }
}
@media (min-width: 1024px) and (prefers-color-scheme: dark) {
  .k-app[data-k-nav="top"] .k-tabs { border-bottom-color: var(--p-plum); }
  .k-app[data-k-nav="top"] .k-tabs a[aria-current="page"] { background: var(--p-plum); }
}
.k-app .k-back { color: var(--p-text-plum); font-weight: 700; }

/* Page heads: the h1 names the member's situation */
.k-app .p-head { margin: 18px 0 22px; }
.k-app .p-head h1 { font-size: clamp(2.125rem, 7.4vw, 4rem); line-height: 1.02; color: var(--k-text); }
.k-app .p-head p:not(.k-kicker) { font-size: 1.0625rem; }
.p-jump { display: flex; flex-wrap: wrap; gap: 8px; }
.p-jump .k-btn { min-height: 46px; }

/* ---------- Home ---------- */
.p-spread { display: grid; gap: 28px; align-items: start; }
.p-spread-pk, .p-spread-main { min-width: 0; }
.p-postmark { margin: 0 0 6px; font: 700 .75rem/1.3 var(--p-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--p-text-green); }
.k-app .p-spread-main h2 { font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.08; }
.p-tear-btn { margin-top: 16px; padding: 0 16px; }
.p-spread-main .p-grow { margin: 22px 0 0; padding: 18px 20px; background: var(--p-paper); border: 1.5px solid var(--k-line-strong); border-radius: 3px; }
@media (min-width: 720px) { .p-spread { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 40px; } .p-spread-main { padding-top: 12px; } }
@media (min-width: 1100px) { .k-app .p-tear-btn { min-height: 56px; font-size: 1.0625rem; padding: 0 22px; } }
.p-home-board { margin-top: 36px; }
.p-locked { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; padding: 20px; background: var(--p-paper); border: 1.5px dashed var(--k-line-strong); border-radius: 3px; color: var(--k-text); text-decoration: none; }
.p-locked .k-i { grid-row: span 2; width: 28px; height: 28px; color: var(--p-text-plum); }
.p-locked b { font: 400 1.25rem/1.2 var(--p-display); }
.p-locked span { color: var(--k-muted); }
.p-dateline { position: relative; padding: 18px 20px; background: var(--p-plum); color: var(--p-env); border-radius: 3px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px 16px; }
@media (min-width: 480px) { .p-dateline { grid-template-columns: minmax(0, 1fr) auto; } .p-dateline .p-to { grid-column: 1; grid-row: 1; } .p-dateline .p-dateline-note { grid-column: 1; grid-row: 2; } .p-dateline .p-stamp { grid-column: 2; grid-row: 1 / 3; } .p-dateline .p-counts { grid-row: 3; } }
.p-to { margin: 0; font: 400 1.25rem/1.2 var(--p-display); }
.p-stamp { justify-self: start; align-self: start; text-align: center; padding: 8px 12px; border: 2px solid var(--p-pink); border-radius: 3px; }
.p-stamp-label { display: block; font: 700 .6875rem/1 var(--p-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--p-pink); }
.p-stamp-date { display: block; margin-top: 4px; font: 400 1.125rem/1.1 var(--p-display); max-width: 9em; }
.p-dateline-note { margin: 0; color: var(--p-pink); font-size: .9375rem; }
.p-counts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0 0; padding-top: 12px; border-top: 1px dashed var(--p-env-dash); font-size: .875rem; color: var(--p-pink); }
.p-counts b { font: 400 1.375rem/1 var(--p-display); color: var(--p-env); margin-right: 3px; }
.p-counts > span > span:not([data-pl-view="numbers"]) { display: inline; }

/* The sowing notebook as wooden plant labels */
.k-app .p-markers { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 18px 14px; background: none; box-shadow: none; border-radius: 0; overflow: visible; }
.k-app .p-marker, .k-app .p-markers > .k-row { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 6px; min-height: 196px; padding: 16px 14px 46px; background: var(--p-wood) repeating-linear-gradient(90deg, var(--p-wood-line) 0 2px, transparent 2px 9px, var(--p-wood-line2) 9px 10px, transparent 10px 17px); color: var(--p-wood-ink); border: 0; border-radius: 6px; clip-path: none; }
.k-app .p-markers > .k-row + .k-row { border-top: 0; }
.k-app .p-markers > .k-row[hidden] { display: none; }
.p-markers .k-tile { display: none; }
.k-app .p-markers .k-row-main { order: 2; display: grid; gap: 4px; min-width: 0; }
.k-app .p-markers .k-row-title { display: block; -webkit-line-clamp: none; font: 400 1.1875rem/1.15 var(--p-display); color: var(--p-wood-ink); white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.k-app .p-markers .k-row-sub { font: 400 .875rem/1.35 var(--p-sans); color: var(--p-wood-ink); white-space: normal; overflow: visible; display: grid; gap: 2px; }
.k-app .p-markers .k-row-sub b { font-weight: 700; }
.k-app .p-markers .k-row-end { order: 1; display: flex; align-items: baseline; gap: 6px; margin: 0; padding-bottom: 8px; border-bottom: 1.5px solid var(--p-wood-rule); color: var(--p-wood-ink); text-align: left; }
.p-markers .k-row-end small { font: 700 .6875rem/1 var(--p-sans); letter-spacing: .12em; text-transform: uppercase; }
.k-app .p-markers .k-row-end b { font: 700 1rem/1 var(--p-sans); color: var(--p-wood-ink); }
.k-app .p-markers > .k-empty { grid-column: 1 / -1; clip-path: none; min-height: 0; }
.p-markers-demo { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Empty states */
.k-app .p-empty { padding: 28px 20px; background: var(--p-paper); border: 1.5px dashed var(--k-line-strong); border-radius: 3px; text-align: center; }
.k-app .p-empty .k-empty-art { background: var(--k-brand-soft); color: var(--p-text-plum); }
.k-app .p-empty h3 { font-size: 1.375rem; }

/* ---------- seed-swap card (the Q&A) ---------- */
.p-swap { position: relative; padding: 0 18px 18px; background: var(--p-paper); border: 1.5px solid var(--k-line-strong); border-radius: 3px; }
.p-swap::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 6px; border-bottom: 2px dotted var(--k-line-strong); }
.p-q-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 -18px 16px; padding: 10px 18px; background: var(--p-green); color: var(--p-white); border-radius: 2px 2px 0 0; }
.p-swap-lbl { margin-right: auto; font: 400 1.125rem/1 var(--p-display); }
.p-swap-to { font-size: .875rem; color: var(--p-green-pale); }
.k-app .p-q-head .k-badge { background: var(--p-env); color: var(--p-plum); }
.k-app .p-q-head .k-badge-state { background: var(--p-env); color: var(--p-plum); }
.k-app .p-q[data-k-state="active"] .p-q-head .k-badge-state { background: var(--p-white); color: var(--p-green); }
.k-app .p-q[data-k-state="ok"] .p-q-head .k-badge-state { background: var(--p-env); color: var(--p-plum); }
.k-app .p-q .k-badge-state::before { animation: none; }
.p-q-body { display: flex; gap: 14px; align-items: flex-start; }
.p-q-text { margin: 0; flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 1.0625rem; line-height: 1.5; color: var(--k-text); }
.p-q-photo { flex: none; width: 84px; height: 84px; object-fit: cover; border-radius: 2px; background: var(--k-surface-2); border: 4px solid var(--p-white); box-shadow: var(--p-shadow-q); transform: rotate(2deg); }
.p-q-photo:not([src]), .p-q-photo[src=""] { display: none; }
.p-steps3 { --k-steps: 3; gap: 4px; }
.k-app .p-steps3 li { padding: 26px 0 0; font: 700 .75rem/1.2 var(--p-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--k-faint); }
.k-app .p-steps3 li::before { height: 18px; border-radius: 2px; background: var(--p-cell); animation: none; }
.k-app .p-steps3 li.k-done::before { background: var(--p-green); }
.k-app .p-steps3 li.k-now { color: var(--k-text); }
.k-app .p-steps3 li.k-now::before { background: var(--p-plum); animation: none; }
.k-app .p-q[data-k-state="ok"] .p-steps3 li.k-now::before, .k-app .p-q[data-k-state="ok"] .p-steps3 li.k-done:last-child::before { background: var(--p-green); }
@media (prefers-color-scheme: dark) { .k-app .p-steps3 li.k-done::before { background: var(--p-sow-dark); } .k-app .p-steps3 li.k-now::before { background: var(--p-text-plum); } .k-app .p-q[data-k-state="ok"] .p-steps3 li.k-now::before, .k-app .p-q[data-k-state="ok"] .p-steps3 li.k-done:last-child::before { background: var(--p-sow-dark); } }
.p-reply { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; }
.k-app .p-reply .k-avatar { width: 38px; height: 38px; flex: none; background: var(--p-plum); color: var(--p-env); font-size: .8125rem; }
.p-reply p { margin: 0; min-width: 0; overflow-wrap: anywhere; padding: 12px 14px; background: var(--p-page); border-left: 3px solid var(--p-red); font-size: .9375rem; line-height: 1.5; }
.p-reply p b { display: block; margin-bottom: 3px; font: 400 1.0625rem/1.2 var(--p-display); color: var(--p-text-red); }
.p-reply:has([data-pl-field="reply"]:empty) { display: none; }
.p-when { margin: 12px 0 0; font-size: .8125rem; color: var(--k-faint); }
.p-qs { display: grid; gap: 18px; }
.p-swap-locked .p-q-text { margin-bottom: 16px; }
.p-swap-form { padding-bottom: 26px; }
.k-app .p-swap-form h2 { font-size: 1.75rem; }
.p-swap-form .k-form { margin-top: 16px; }
.k-app .p-swap-form .k-field input, .k-app .p-swap-form .k-field select, .k-app .p-swap-form .k-field textarea { background: var(--p-page); }
@media (min-width: 1024px) { .p-myqs .p-qs { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }

/* ---------- forms ---------- */
.k-app .k-field label { font: 700 .875rem/1.2 var(--p-sans); letter-spacing: .02em; color: var(--k-text); }
.k-app .k-field input, .k-app .k-field select, .k-app .k-field textarea { border-radius: 3px; border: 1.5px solid var(--k-line-strong); background: var(--p-paper); font-family: var(--p-sans); }
.k-app .k-field input:focus, .k-app .k-field select:focus, .k-app .k-field textarea:focus { border-color: var(--p-green); }
.k-app input::placeholder, .k-app textarea::placeholder { color: var(--k-faint); opacity: 1; }
.k-app .k-sheet { border-radius: 3px; box-shadow: none; }

/* The seed tin: the notebook form */
.k-app .p-tin { padding: 0 20px 22px; background: var(--p-paper); border: 1.5px solid var(--k-line-strong); border-radius: 6px; overflow: hidden; }
.p-tin-lid { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 -20px 16px; padding: 16px 20px; background: var(--p-plum); color: var(--p-env); box-shadow: inset 0 -5px 0 var(--p-scrim-soft); }
.k-app .p-tin-lid h2 { font-size: 1.5rem; color: var(--p-env); }
.p-tin-lid span { flex: none; white-space: nowrap; padding: 4px 10px; background: var(--p-env); color: var(--p-plum); font: 700 .75rem/1.2 var(--p-sans); letter-spacing: .1em; text-transform: uppercase; border-radius: 2px; }
.p-tin .k-form { margin-top: 16px; }
.k-app .p-tin .k-field input, .k-app .p-tin .k-field select { background: var(--p-page); }

/* Garden jobs */
.p-jobs-note { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 18px; color: var(--k-muted); font-size: .9375rem; }
.k-app .p-badge-in { background: var(--p-green); color: var(--p-white); }
.k-app .p-jobs-wrap .k-section-head h2 { font-size: 1.5rem; }
.p-range { display: inline-block; margin-left: 6px; font: 700 .8125rem/1 var(--p-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--p-text-green); vertical-align: middle; }
.p-jobs { list-style: none; margin: 0 0 26px; padding: 0; border-top: 2px solid var(--p-plum); }
@media (prefers-color-scheme: dark) { .p-jobs { border-top-color: var(--k-line-strong); } }
.p-job { display: flex; gap: 14px; align-items: flex-start; padding: 14px 2px; border-bottom: 1px solid var(--k-line); }
.p-job input[type="checkbox"] { flex: none; appearance: none; -webkit-appearance: none; width: 28px; height: 28px; margin: 0; border: 2px solid var(--p-green); border-radius: 3px; background: var(--p-paper); display: grid; place-items: center; cursor: pointer; }
.p-job input[type="checkbox"]::after { content: ""; width: 7px; height: 13px; border: solid var(--p-white); border-width: 0 3px 3px 0; transform: rotate(45deg) translate(-1px, -1px); opacity: 0; }
.p-job input[type="checkbox"]:checked { background: var(--p-green); }
.p-job input[type="checkbox"]:checked::after { opacity: 1; }
@media (prefers-color-scheme: dark) { .p-job input[type="checkbox"] { border-color: var(--p-text-green); } .p-job input[type="checkbox"]:checked { background: var(--p-sow-dark); } }
.p-job-main { display: grid; gap: 3px; min-width: 0; }
.p-job-main label b { font: 400 1.1875rem/1.25 var(--p-display); cursor: pointer; }
.p-job-main > span { color: var(--k-muted); font-size: .9375rem; line-height: 1.45; }
.p-job:has(input:checked) .p-job-main label b { text-decoration: line-through; text-decoration-color: var(--p-text-green); text-decoration-thickness: 2px; }
.p-job-log { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; color: var(--p-text-plum); font-weight: 700; font-size: .875rem; }
.p-next { padding: 18px 20px; background: var(--p-paper); border: 1.5px dashed var(--k-line-strong); border-radius: 3px; }
.k-app .p-next h2 { font-size: 1.375rem; margin-bottom: 6px; }
.p-next p { margin: 0; color: var(--k-muted); line-height: 1.55; }
.p-entries { margin-top: 12px; }

/* ---------- Letters: the rack ---------- */
.p-rack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 16px; padding-bottom: 8px; }
@media (min-width: 900px) { .p-rack { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 28px; } }
.p-rack-item { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.p-rack-pk { display: block; text-decoration: none; transition: transform .25s ease; }
.p-rack-pk .p-pk { transition: transform .25s ease, box-shadow .25s ease; }
a.p-rack-pk:hover .p-pk, a.p-rack-pk:focus-visible .p-pk { transform: translateY(-6px) rotate(-1.5deg); }
.p-rack-item:nth-child(2n) .p-pk { transform: rotate(1deg); }
.p-rack-item:nth-child(2n+1) .p-pk { transform: rotate(-.8deg); }
.p-rack-meta { display: grid; gap: 8px; justify-items: start; align-content: start; min-height: 96px; padding-top: 12px; border-top: 4px solid var(--p-plum); }
@media (prefers-color-scheme: dark) { .p-rack-meta { border-top-color: var(--p-plum); } }
.p-rack-meta p { margin: 0; font-size: .9375rem; line-height: 1.45; color: var(--k-muted); }
.p-rack-meta p b { color: var(--p-text-red); }
.k-app .p-rack-cta { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 48px; margin-top: auto; }
.k-app .p-badge-free { background: var(--p-green); color: var(--p-white); }
.k-app .p-badge-lock { background: var(--p-plum); color: var(--p-env); }
.k-app .p-badge-lock .k-i { width: 14px; height: 14px; }
@media (prefers-color-scheme: dark) { .k-app .p-badge-lock { background: var(--k-brand); color: var(--k-brand-ink); } }
.p-pill > [hidden] { display: none; }
.p-read summary { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; min-height: 48px; padding: 0 16px; border-radius: 4px; background: var(--p-plum); color: var(--p-env); font-weight: 700; cursor: pointer; list-style: none; }
.p-read summary::-webkit-details-marker { display: none; }
@media (prefers-color-scheme: dark) { .p-read summary { background: var(--p-env); color: var(--p-plum); } }
.p-read[open] summary { margin-bottom: 14px; }
.p-rack-item:has(.p-read[open]) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 14px 28px; align-items: start; }
.p-rack-item:has(.p-read[open]) .p-read { grid-column: 1 / -1; }
@media (min-width: 900px) { .p-rack-item:has(.p-read[open]) .p-read { grid-column: 2; grid-row: 1 / span 2; } }
.p-inline { max-width: 66ch; }
.p-inline p { margin: 0 0 14px; font-size: 1.0625rem; line-height: 1.65; }
.p-upsell { margin-top: 36px; padding: 26px 24px; background: var(--p-plum); color: var(--p-env); border-radius: 3px; }
.k-app .p-upsell h2 { font-size: clamp(1.75rem, 5vw, 2.5rem); color: var(--p-env); }
.p-upsell p { color: var(--p-pink); margin: 8px 0 16px; max-width: 58ch; }
.k-app .p-upsell .k-btn { background: var(--p-env); color: var(--p-plum); }
.k-app .p-upsell .k-help { color: var(--p-pink); margin: 10px 0 0; }
.p-upsell-side { margin-top: 0; }

/* ---------- the torn-open packet (letter pages) ---------- */
.p-open { position: relative; margin: 8px 0 32px; overflow-x: clip; } /* the torn flap ends 60px to the right: no sideways scroll */
.p-open-flap { --p-z: 12px; position: relative; z-index: 2; height: 44px; margin-bottom: -12px; background: var(--p-plum); clip-path: var(--p-zig-bottom); display: flex; align-items: center; justify-content: center; transform-origin: 90% 100%; animation: p-tear .7s .25s cubic-bezier(.5, 0, .8, .4) forwards; }
.p-open-flap span { font: 700 .6875rem/1 var(--p-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--p-pink); border-bottom: 1.5px dashed var(--p-pink); padding-bottom: 6px; margin-bottom: 8px; }
.p-open-front { --p-z: 12px; position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: end; padding: 34px 18px 22px; background: var(--p-plum); color: var(--p-env); clip-path: var(--p-zig-top); border-radius: 0 0 3px 3px; }
.p-open-front::before { content: ""; position: absolute; inset: 20px 8px 8px; border: 1.5px solid var(--p-env-line); pointer-events: none; }
.p-open-no { margin: 0 0 10px; font: 700 .75rem/1.35 var(--p-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--p-pink); }
.k-app .p-open-front h1, .p-open-title { margin: 0; font: 400 clamp(1.875rem, 7.2vw, 4.25rem)/1.02 var(--p-display); color: var(--p-env); max-width: 18ch; }
.p-byline { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; font-size: .9375rem; color: var(--p-pink); }
.k-app .p-byline .k-avatar { width: 36px; height: 36px; font-size: .8125rem; }
.p-open-win { --p-z: 12px; position: relative; justify-self: start; width: min(100%, 230px); aspect-ratio: 5 / 7; margin-top: 24px; }
.p-open-win::before { content: ""; position: absolute; inset: 0; z-index: 2; background: var(--p-plum-deep); clip-path: var(--p-zig-top); pointer-events: none; }
.p-open-green .p-open-win::before { background: var(--p-plum); }
.p-open-win::after { content: ""; position: absolute; left: 14%; right: 14%; top: -22px; bottom: 40%; z-index: 1; background: var(--p-env); border-radius: 2px; box-shadow: var(--p-shadow-sheet); animation: p-sheet .8s .9s ease-out both; }
.p-open-win img { position: absolute; left: 14%; right: 14%; top: 20%; bottom: 14%; z-index: 3; width: auto; height: auto; object-fit: contain; padding: 8px 4px 2px; background: var(--p-env); border-radius: 50% 50% 3px 3px / 24% 24% 3px 3px; }
.k-app .p-open .p-byline .k-avatar { background: var(--p-env); color: var(--p-plum); }
.p-open-green .p-open-flap, .p-open-green .p-open-front { background: var(--p-green); }
.p-open-green .p-open-no, .p-open-green .p-byline, .p-open-green .p-open-flap span { color: var(--p-green-pale); border-color: var(--p-green-pale); }
@media (min-width: 720px) {
  .p-open-front { grid-template-columns: minmax(0, 1fr) 300px; padding: 44px 36px 32px; }
  .p-open-win { width: 300px; margin-top: 0; }
}
@media (min-width: 1100px) { .p-open-front { padding: 52px 48px 36px; } }
@keyframes p-tear { 0% { transform: none; opacity: 1; } 35% { transform: translate(4px, -4px) rotate(-1.2deg); opacity: 1; } 100% { transform: translate(60px, -70px) rotate(-7deg); opacity: 0; } }
@keyframes p-sheet { from { transform: translateY(70px); } to { transform: none; } }
@keyframes p-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.p-read-col { animation: p-rise .6s .75s ease-out both; }

/* The reading column */
.p-letter { max-width: 68ch; font-size: 1.1875rem; line-height: 1.7; color: var(--k-text); }
.p-letter p { margin: 0 0 1.05em; }
.k-app .p-letter h2, .k-app .p-letter h3 { margin: 1.6em 0 .5em; font-size: 1.875rem; line-height: 1.12; color: var(--p-text-plum); }
.p-dropcap::first-letter { float: left; margin: .06em .1em 0 0; font: 400 4.4em/.8 var(--p-display); color: var(--p-text-plum); }
.p-letter blockquote { margin: 0; padding: 18px 0; background: none; border: 0; border-top: 1px solid var(--k-line-strong); border-radius: 0; font-size: 1rem; }
.p-letter blockquote p { margin: 0 0 .6em; }
.p-letter blockquote p:first-child b { font: 700 .75rem/1 var(--p-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--p-text-green); }
.p-letter blockquote p:nth-child(2) { font: 400 1.25rem/1.3 var(--p-display); color: var(--p-text-plum); }
.p-letter blockquote p:nth-child(3) { margin: 0; }
.p-letter blockquote:last-of-type { border-bottom: 1px solid var(--k-line-strong); }
.p-sign { margin-top: 1.6em; font: 400 1.125rem/1.4 var(--p-display); color: var(--k-muted); }
.p-letter blockquote + .p-sign { margin-top: 48px; }
.p-fade { position: relative; max-height: 320px; overflow: hidden; }
.p-fade::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 160px; background: linear-gradient(transparent, var(--p-page)); }
.p-letter-aside > * + * { margin-top: 18px; }
.p-contents { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; counter-reset: c; }
.p-contents li { counter-increment: c; display: grid; grid-template-columns: 28px 1fr; column-gap: 8px; }
.p-contents li::before { content: counter(c); grid-row: span 2; font: 400 1.375rem/1 var(--p-display); color: var(--p-text-green); }
.p-howlist { margin: 0; padding-left: 1.3em; display: grid; gap: 12px; }
.p-howlist li::marker { font-family: var(--p-display); color: var(--p-text-green); }
.p-howlist b { display: block; font: 400 1.125rem/1.25 var(--p-display); }
.p-howlist span { display: block; color: var(--k-muted); font-size: .9375rem; line-height: 1.45; }
.p-contents b { font: 400 1.0625rem/1.25 var(--p-display); }
.p-contents span { font-size: .875rem; color: var(--k-muted); }
.p-side-link { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; padding: 16px 18px; background: var(--p-paper); border: 1.5px solid var(--k-line-strong); border-radius: 3px; color: var(--k-text); text-decoration: none; }
.p-side-link > .k-i { width: 24px; height: 24px; color: var(--p-text-green); }
.p-side-link b { display: block; font: 400 1.125rem/1.25 var(--p-display); }
.p-side-link > span { font-size: .9375rem; color: var(--k-muted); }
.p-side-link b span { font: inherit; color: inherit; }
.p-side-link:hover { border-color: var(--p-text-plum); }

/* Walls: the sealed packet (signed out, or a patron page for a reader) */
.p-wall { --p-z: 12px; position: relative; padding: 46px 22px 28px; background: var(--p-plum); color: var(--p-env); clip-path: var(--p-zig-top); border-radius: 0 0 3px 3px; }
.p-wall-in { position: relative; max-width: 620px; }
.p-wall::before { content: ""; position: absolute; inset: 22px 8px 8px; border: 1.5px solid var(--p-env-line); pointer-events: none; }
.p-wall-no { margin: 0 0 8px; font: 700 .75rem/1 var(--p-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--p-pink); }
.k-app .p-wall h2 { font-size: clamp(1.75rem, 6vw, 2.75rem); line-height: 1.05; color: var(--p-env); }
.p-wall p { color: var(--p-pink); max-width: 52ch; margin: 10px 0 0; }
.p-wall .k-btn-row { margin-top: 20px; }
.k-app .p-wall .k-btn { background: var(--p-env); color: var(--p-plum); }
.k-app .p-wall .k-btn-line { background: transparent; color: var(--p-env); box-shadow: inset 0 0 0 2px var(--p-env); }
.k-app .p-wall .k-help { color: var(--p-pink); margin-top: 14px; font-size: .875rem; }
@media (min-width: 720px) { .p-wall { padding: 56px 40px 36px; } }

/* Signed-out welcome: packets fanned on plum */
.k-app .p-welcome-art { aspect-ratio: auto; min-height: 360px; background: var(--p-plum); border-radius: 3px; box-shadow: none; display: grid; place-items: center; padding: 30px 16px 64px; overflow: hidden; }
.k-app .p-welcome-art::after { display: none; }
.k-app .p-welcome-art figcaption { color: var(--p-env); }
.k-app .p-welcome h1 { font: 400 clamp(2.5rem, 9vw, 4.5rem)/1 var(--p-display); letter-spacing: -.01em; }
.k-app .p-welcome .k-tile { background: var(--k-brand-soft); color: var(--p-text-plum); border-radius: 3px; }
@media (min-width: 1024px) { .k-app .p-welcome-art { min-height: 620px; } }

/* The fan of packets */
.p-fan { position: relative; width: 100%; max-width: 560px; aspect-ratio: 10 / 8; margin: 0 auto; }
.p-fan .p-pk { position: absolute; top: 8%; width: 46%; box-shadow: var(--p-shadow); }
.p-fan .p-pk:nth-child(1) { left: calc(2% - 24px); transform: rotate(-9deg); top: 12%; }
.p-fan .p-torn { position: absolute; top: 0; left: 28%; width: 46%; z-index: 2; transform: rotate(1.5deg); aspect-ratio: 5 / 7; }
.p-fan .p-pk:nth-child(3) { right: calc(2% - 24px); transform: rotate(9deg); top: 14%; z-index: 1; }
@media (min-width: 720px) { .p-fan .p-pk:nth-child(1) { left: calc(2% - 48px); } .p-fan .p-pk:nth-child(3) { right: calc(2% - 48px); } }
.p-fan .p-torn-sheet p:last-child { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

/* The torn-open packet: the flap lifts off, the letter rises out of the packet, the calendar sits in a strip at the foot */
.p-torn { container-type: inline-size; position: relative; display: flex; flex-direction: column; padding-bottom: 6cqi; background: var(--p-plum); color: var(--p-env); border-radius: 3px; box-shadow: var(--p-shadow); }
.p-torn::before { content: ""; position: absolute; inset: 3.5cqi; border: 1.5px solid var(--p-env-half); border-radius: 2px; pointer-events: none; z-index: 1; }
.p-torn-flap { --p-z: 9px; position: absolute; z-index: 3; top: -1cqi; left: -2cqi; right: -2cqi; height: 21cqi; display: flex; align-items: center; justify-content: center; background: var(--p-plum); clip-path: var(--p-zig-bottom); transform: rotate(-2.5deg); transform-origin: 0 100%; }
.p-torn-flap span { font: 700 .75rem/1 var(--p-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--p-pink); border-bottom: 1.5px dashed var(--p-pink); padding-bottom: 6px; }
.p-torn-sheet { position: relative; z-index: 2; margin: 17cqi 8cqi 0; padding: 18px 18px 20px; background: var(--p-paper); color: var(--k-text); border-radius: 2px; box-shadow: var(--p-shadow-sheet); }
.p-torn-for { margin: 0 0 6px; font: 700 .75rem/1.3 var(--p-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--p-text-plum); }
.p-torn-title { margin: 0 0 10px; font: 400 1.625rem/1.15 var(--p-display); color: var(--p-text-plum); }
.p-torn-sheet p:not(.p-torn-for):not(.p-torn-title) { margin: 0 0 14px; font-size: 1rem; line-height: 1.6; }
.p-torn-sheet .p-tear-btn { width: 100%; justify-content: center; margin-top: 4px; }
.p-torn-strip { position: relative; z-index: 2; margin: 6cqi 6cqi 0; padding: 14px 14px 12px; background: var(--p-paper); border-radius: 2px; color: var(--k-text); }
.p-torn-strip .p-back-h { margin-bottom: 10px; }
.p-torn-green { background: var(--p-green); }
.p-torn-green .p-torn-flap { background: var(--p-green); }
.p-torn-green .p-torn-flap span { color: var(--p-green-pale); border-color: var(--p-green-pale); }

/* ---------- Account: envelope paper with a plum band ---------- */
.p-env { margin-top: 12px; background: var(--p-paper); border: 1.5px solid var(--k-line-strong); border-radius: 4px; overflow: hidden; }
.p-env-body { padding: 4px 16px 24px; }
@media (min-width: 720px) { .p-env-body { padding: 8px 32px 32px; } }
.k-app .p-env .p-head h1 { font-size: clamp(2rem, 6vw, 3.25rem); }
.p-plancard { display: grid; gap: 0; border: 1.5px solid var(--k-line-strong); border-radius: 3px; overflow: hidden; }
@media (min-width: 640px) { .p-plancard { grid-template-columns: 240px minmax(0, 1fr); } }
.p-plancard-front { position: relative; padding: 18px 18px 0; background: var(--p-plum); color: var(--p-env); overflow: hidden; min-height: 280px; display: flex; flex-direction: column; }
.p-plancard-front .p-pk-top { margin: 0; font-size: .6875rem; }
.p-plancard-name { margin: 12px 0 2px; font: 400 3rem/1 var(--p-display); }
.p-plancard-front p:not(.p-pk-top):not(.p-plancard-name) { margin: 0; color: var(--p-pink); font-size: .9375rem; }
.p-plancard-front img { margin: auto -20px -30px auto; width: 170px; height: auto; background: var(--p-env); border-radius: 50% 50% 0 0 / 30% 30% 0 0; padding: 14px 10px 0; }
.p-plancard-back { padding: 20px; background: var(--p-page); }
.p-plancard-back ul, .p-plan-back ul { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.p-plancard-back li, .p-plan-back li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.4; }
.p-plancard-back li .k-i, .p-plan-back li .k-i { flex: none; width: 20px; height: 20px; color: var(--p-text-green); margin-top: 1px; }
.k-app .p-plans-acct .k-plan { border-radius: 3px; box-shadow: none; border: 1.5px solid var(--k-line-strong); background: var(--p-page); }
.k-app .p-plans-acct .k-plan-feature { background: var(--p-plum); color: var(--p-env); border-color: var(--p-plum); }
.k-app .p-plans-acct .k-plan-feature h3, .k-app .p-plans-acct .k-plan-feature .k-price, .k-app .p-plans-acct .k-plan-feature li { color: var(--p-env); }
.k-app .p-plans-acct .k-plan-feature .k-price small { color: var(--p-env); }
.k-app .p-plans-acct .k-plan-feature .k-i { color: var(--p-pink); }
.k-app .p-plans-acct .k-plan-feature .k-btn { background: var(--p-env); color: var(--p-plum); }
.k-app .p-plans-acct .k-price { font-family: var(--p-display); font-weight: 400; }
.k-app .p-plan-now { background: var(--p-green); color: var(--p-white); }
.p-perk-note { color: var(--p-pink); font-size: .875rem; margin: 10px 0 0; }
.k-app .p-acct .k-account > p:first-child, .k-app .p-acct .k-account ul, .k-app .p-acct .k-account > form:not(:has(input:not([type="hidden"]), select, textarea)) > button, .k-app .p-acct .k-account form:last-of-type:has(input[type="checkbox"]) { background: var(--p-page); border: 1.5px solid var(--k-line); border-radius: 3px; box-shadow: none; }
.k-app .p-acct .k-account h3 { font: 400 1.25rem/1.2 var(--p-display); }
.k-app .p-acct .k-account button { border-radius: 3px; }
.k-app .p-acct-help .k-list { background: var(--p-page); border: 1.5px solid var(--k-line); border-radius: 3px; box-shadow: none; }
.k-app .p-acct-help .k-tile { background: var(--k-brand-soft); color: var(--p-text-plum); border-radius: 3px; }
.k-app .p-acct-help .k-row-title { font-weight: 700; }
.k-app .p-acct-help .k-row-sub { white-space: normal; overflow-wrap: anywhere; }
.k-app .p-acct .k-account input, .k-app .p-acct .k-account select, .k-app .p-acct .k-account textarea { background: var(--p-page); }
.k-app .p-acct .k-tile, .k-app .p-acct-help .k-tile { background: var(--p-plum); color: var(--p-env); }
.k-app .p-acct .k-account form:has(input:not([type="hidden"])) > button { background: var(--p-plum); color: var(--p-env); }
@media (prefers-color-scheme: dark) { .k-app .p-acct .k-tile, .k-app .p-acct-help .k-tile { background: var(--p-env); color: var(--p-plum); } .k-app .p-acct .k-account form:has(input:not([type="hidden"])) > button { background: var(--p-env); color: var(--p-plum); } }

/* ---------- toasts ---------- */
.k-app [data-pl-status]:not(:empty), .k-app .k-toast { background: var(--p-green); color: var(--p-white); border-radius: 3px; }

/* ================= public page ================= */
.p-pub { background: var(--p-page); color: var(--k-text); }
.p-pub main { display: block; }
.p-wrap { max-width: 1280px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 900px) { .p-wrap { padding: 0 48px; } }
.p-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 22px; border-radius: 4px; border: 2px solid transparent; font: 700 1rem/1 var(--p-sans); text-decoration: none; cursor: pointer; transition: transform .12s ease, background .15s; }
.p-btn:active { transform: translateY(2px); }
.p-btn-s { min-height: 44px; padding: 0 16px; font-size: .9375rem; white-space: nowrap; }
.p-btn-lg { min-height: 56px; padding: 0 26px; font-size: 1.0625rem; }
.p-btn-env { background: var(--p-env); color: var(--p-plum); }
.p-btn-env:hover { background: var(--p-white); }
.p-btn-ghost { color: var(--p-env); border-color: var(--p-env-strong); }
.p-btn-ghost:hover { border-color: var(--p-env); background: var(--p-env-wash); }
.p-btn-plum { background: var(--p-plum); color: var(--p-env); }
.p-btn-plum:hover { background: var(--p-plum-deep); }
.p-btn-green { background: var(--p-green); color: var(--p-white); }
.p-btn-green:hover { background: var(--p-green-hover); }
@media (prefers-color-scheme: dark) { .p-btn-plum { background: var(--p-env); color: var(--p-plum); } .p-btn-plum:hover { background: var(--p-white); } }
.p-eyebrow { margin: 0 0 14px; font: 700 .8125rem/1.35 var(--p-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--p-text-plum); }

.p-bar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); background: var(--p-plum); color: var(--p-env); border-bottom: 1px solid var(--p-env-faint); }
@media (min-width: 900px) { .p-bar { padding: 12px max(48px, calc((100vw - 1280px) / 2 + 48px)); } }
.p-bar-brand { display: flex; align-items: center; gap: 10px; min-width: 0; color: var(--p-env); text-decoration: none; font: 400 1.25rem/1.1 var(--p-display); }
.p-bar-brand img { flex: none; border-radius: 4px; }
.p-bar-brand span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.p-bar-links { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.p-bar-links a:not(.p-btn) { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; color: var(--p-env); font-weight: 600; text-decoration: none; }
.p-bar-links a:not(.p-btn):hover, .p-bar-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 719px) { .p-bar-hide { display: none !important; } }

.p-poster { background: var(--p-page); color: var(--k-text); overflow-x: clip; }
.p-poster-in { display: grid; gap: 28px; padding-top: 28px; padding-bottom: 40px; }
.p-poster .p-eyebrow { color: var(--p-text-plum); }
.p-poster .p-btn-ghost { color: var(--p-text-plum); border-color: currentColor; }
.p-poster .p-btn-ghost:hover { background: var(--k-brand-soft); border-color: currentColor; }
.p-poster h1 { margin: 0; font: 400 clamp(3.25rem, 15vw, 8.75rem)/.92 var(--p-display); letter-spacing: -.015em; color: var(--p-text-plum); }
.p-poster-lead { margin: 20px 0 0; max-width: 42ch; font-size: 1.1875rem; line-height: 1.55; color: var(--k-text); }
.p-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.p-poster-note { margin: 14px 0 0; font-size: .9375rem; color: var(--k-muted); }
.p-fan-poster { max-width: 560px; }
.p-strip { height: 64px; background: var(--p-green) url("art/seedling.svg") 0 0 / 36px 43px repeat; }
@media (min-width: 1000px) {
  .p-fan-poster { max-width: 640px; margin-right: -40px; }
  .p-poster-in { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: 40px; padding-top: 40px; padding-bottom: 40px; }
  .p-poster h1 { font-size: min(9.2vw, 9.5rem); }
}

.p-sec { padding: 56px 0; }
@media (min-width: 900px) { .p-sec { padding: 96px 0; } }
.p-sec-head { max-width: 760px; margin-bottom: 36px; }
.p-sec-head h2 { margin: 0; font: 400 clamp(2.25rem, 7vw, 4.5rem)/1 var(--p-display); letter-spacing: -.01em; color: var(--k-text); }
.p-sec-head p:not(.p-eyebrow) { margin: 16px 0 0; font-size: 1.1875rem; line-height: 1.55; color: var(--k-muted); max-width: 56ch; }
.p-demo { display: grid; gap: 28px; }
.p-demo-pk { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; max-width: 360px; }
.p-demo-read { min-width: 0; }
.p-demo-pk > .p-pk { width: 250px; max-width: 100%; justify-self: start; }
@media (min-width: 1000px) { .p-demo-pk > .p-pk { width: auto; justify-self: stretch; } }
.p-open-demo { margin: 0 0 22px; }
.p-letter-demo { font-size: 1.125rem; }
@media (min-width: 1000px) {
  .p-demo { grid-template-columns: 340px minmax(0, 1fr); gap: 56px; align-items: start; }
  .p-open-demo .p-open-front { grid-template-columns: minmax(0, 1fr) 200px; }
  .p-open-demo .p-open-win { width: 200px; }
  .p-open-demo .p-open-title { font-size: 3rem; }
}
.p-inside { display: grid; gap: 28px; margin-top: 56px; padding-top: 40px; border-top: 2px solid var(--p-plum); }
@media (prefers-color-scheme: dark) { .p-inside { border-top-color: var(--k-line-strong); } }
@media (min-width: 900px) { .p-inside { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; } }
.p-inside-item { margin: 0; display: grid; gap: 16px; align-content: start; }
.p-inside-item figcaption { font-size: 1rem; line-height: 1.5; color: var(--k-muted); }
.p-inside-item figcaption b { display: block; font: 400 1.5rem/1.15 var(--p-display); color: var(--k-text); margin-bottom: 4px; }
.k-app .p-badge-chosen { background: var(--p-white); color: var(--p-green); }
.p-steps-demo li.k-now::before { background: var(--p-green); }
.p-cal-mini .p-cal-wide td { height: 22px; }

.p-sec-plans { background: var(--p-paper); border-top: 1.5px solid var(--k-line); }
.p-plans { display: grid; gap: 28px; }
@media (min-width: 860px) { .p-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; } }
.p-plan { display: grid; grid-template-rows: auto 1fr; border-radius: 4px; overflow: hidden; box-shadow: var(--p-shadow); background: var(--p-page); }
.p-plan-front { container-type: inline-size; position: relative; display: flex; justify-content: space-between; gap: 12px; padding: 22px 22px 0; min-height: 230px; background: var(--p-plum); color: var(--p-env); overflow: hidden; }
.p-plan-reader .p-plan-front { background: var(--p-green); }
.p-plan-front::before { content: ""; position: absolute; inset: 8px; border: 1.5px solid var(--p-env-line); pointer-events: none; }
.p-plan-front .p-pk-top { font-size: .75rem; color: var(--p-pink); }
.p-plan-reader .p-pk-top { color: var(--p-green-pale); }
.p-plan-front h3 { margin: 10px 0 0; font: 400 clamp(2.75rem, 12cqi, 4.5rem)/1 var(--p-display); color: var(--p-env); }
.p-plan-price { margin: 8px 0 22px; font: 400 2rem/1 var(--p-display); }
.p-plan-price small { font: 600 1rem/1 var(--p-sans); }
.p-plan-front img { align-self: flex-end; flex: none; width: min(42%, 200px); height: auto; background: var(--p-env); border-radius: 50% 50% 0 0 / 30% 30% 0 0; padding: 14px 8px 0; position: relative; }
.p-plan-back { padding: 24px 22px 26px; border: 1.5px solid var(--k-line-strong); border-top: 0; border-radius: 0 0 4px 4px; display: flex; flex-direction: column; align-items: flex-start; }
.p-plan-back ul { margin-bottom: 22px; font-size: 1.0625rem; }
.p-plan-back .p-btn { margin-top: auto; }
.p-plan-note { margin: 12px 0 0; font-size: .875rem; color: var(--k-muted); }
@media (max-width: 399px) { .p-plan-front { flex-direction: column; } .p-plan-front > div { min-width: 0; overflow-wrap: anywhere; } .p-plan-front img { width: 120px; } }

.p-signin { background: var(--p-plum); color: var(--p-env); }
.p-signin-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; padding-top: 44px; padding-bottom: 44px; }
.p-signin h2 { margin: 0; font: 400 clamp(2rem, 6vw, 3.25rem)/1 var(--p-display); color: var(--p-env); }
.p-signin p { margin: 8px 0 0; color: var(--p-pink); font-size: 1.0625rem; }
.p-foot { background: var(--p-plum-deep); color: var(--p-env); }
.p-foot-in { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-top: 12px; padding-bottom: 20px; font-size: .9375rem; border-top: 1px solid var(--p-env-faint2); }
.p-foot a { color: var(--p-env); display: inline-flex; align-items: center; min-height: 44px; }
.p-foot-in > span { display: inline-block; line-height: 44px; }
@media (prefers-color-scheme: dark) { .p-signin, .p-bar { background: var(--p-plum-deep); } .p-foot { background: var(--p-page); } }

/* Privacy */
.p-priv-main { padding-top: 40px; padding-bottom: 72px; }
.p-priv .k-prose h1 { font: 400 clamp(2.75rem, 10vw, 5rem)/1 var(--p-display); color: var(--k-text); }
.p-priv .k-prose h2 { font: 400 1.75rem/1.15 var(--p-display); color: var(--p-text-plum); }
.p-priv .k-prose p, .p-priv .k-prose li { font-size: 1.0625rem; }
.p-priv .k-prose .tip { margin-top: 16px; background: var(--p-plum); color: var(--p-env); border-radius: 3px; }
.p-priv .blank { background: var(--p-wood); color: var(--p-wood-ink); border-radius: 2px; padding: 0 4px; }
.p-priv .k-prose a { color: var(--p-text-plum); }
.p-priv .k-prose a.blank { color: var(--p-wood-ink); }

/* ---------- motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .k-app *, .k-app *::before, .k-app *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .p-open-flap { display: none; }
  .p-open-win::after { animation: none; }
  .p-read-col { animation: none; }
  a.p-rack-pk:hover .p-pk, a.p-rack-pk:focus-visible .p-pk { transform: none; }
  .p-open-win::after { animation: none; }
}
.k-app .p-welcome .k-perks { margin-top: 28px; }

/* Desktop: brand, tabs and avatar share one 64px row; the tabs are Young Serif words, the current one a torn plum packet top */
@media (min-width: 1024px) {
  body.k-app[data-k-nav="top"] { grid-template-rows: auto auto 1fr; grid-template-areas: "top" "nav" "main"; }
  .k-app[data-k-nav="top"] .k-top { min-height: 64px; border-bottom: 3px solid var(--p-plum); }
  .k-app[data-k-nav="top"] .k-tabs { grid-area: nav; position: relative; top: auto; justify-self: stretch; align-self: stretch; height: auto; min-height: 64px; padding: 0; border: 0; background: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .k-app[data-k-nav="top"] .k-tabs a { font: 400 1.0625rem/1 var(--p-display); min-height: 64px; padding: 0 18px; align-items: center; }
  .k-app[data-k-nav="top"] .k-tabs a .k-i { display: none; }
  .k-app[data-k-nav="top"] .k-tabs a[aria-current="page"] { --p-z: 7px; padding-top: 6px; }
  #notebook, .p-letter-aside { position: sticky; top: 24px; align-self: start; }
}

/* Round 3 fixes: packets, wrapping, rails and the member header strip. */
.k-app .k-top { border-bottom: 24px solid var(--p-green); }
.k-app .p-pk-title, .k-app .p-pk-month, .p-pk-title, .p-pk-month { overflow-wrap: anywhere; }
@media (max-width: 479px) { .k-app .p-pk-month, .p-pk-month { font-size: 28px; line-height: 1.05; } }
.p-rack-pk .p-pk { aspect-ratio: auto; min-height: 0; }
.p-rack-pk .p-pk-win { flex: none; aspect-ratio: 5 / 4; }
.k-app .p-markers .k-row-sub { min-width: 0; overflow-wrap: anywhere; }
.k-app .p-acct-help .k-row-sub.p-mail { font-size: 13px; overflow-wrap: normal; }
.p-spread-pk .p-torn { padding-bottom: 24px; }
@media (max-width: 479px) {
  .p-fan .p-pk:nth-child(1) { left: 30px; transform: rotate(-8deg); }
  .p-fan .p-pk:nth-child(3) { right: 30px; transform: rotate(8deg); }
}
.p-entries .p-markers { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
@media (min-width: 1024px) {
  .k-app .k-board > .k-sticky { top: 24px; }
  .k-app .p-letter-aside { position: sticky; top: 96px; align-self: start; }
}
.p-open-front::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 12px; pointer-events: none; background: repeating-linear-gradient(90deg, var(--p-scrim) 0 1px, transparent 1px 4px); }
@keyframes p-sheet { from { transform: translateY(24px); } to { transform: none; } }
.p-ask-next { margin-top: 18px; }

/* Round 4 final fixes */
.p-rack .p-pk-month { font-size: 14cqi; overflow-wrap: normal; hyphens: none; }
.p-cal tbody th { width: 64px; }
.p-cal thead td { background: none; }
.p-rack-item .p-read { margin-top: auto; }
@media (max-width: 719px) { .p-open-win { margin-inline: auto; } }
.p-plan-front .p-pk-top { margin: 0; }
@media (max-width: 399px) { .p-plan-front { min-height: 220px; } }
#notebook-latest { margin-top: 48px; }

/* ================= member app: seed packets on the potting bench (polish 2026-10-26) =================
   The member pages sit on kraft envelope paper under a Seed Green band (top bar and tabs); the current tab is a
   kraft packet top torn into the band. Plum is kept for the packets themselves; Envelope paper for cards and sheets;
   Wax Red only for the wax seal on the "For Rosalind" envelope. Harvest on the member calendars is marigold, so the
   only red left in the app is the seal. Dark: the shed at night, soil-dark kraft under a deep green band. */
body.k-app:not(.p-pub) {
  --p-page: #E2CDA8;
  --p-band: #536B2C;
  --p-band-deep: #465B24;
  --p-green-ink: #3F5420;
  --p-text-green: #3F5420;
  --p-red: #C2861F;
  --p-text-red: #7A4A08;
  --p-harvest-dark: #E0A63A;
  --k-bg: var(--p-page);
  --k-surface: var(--p-paper);
  --k-line: rgba(59, 36, 20, .18);
  --k-line-strong: rgba(59, 36, 20, .4);
  --k-brand: #536B2C;
  --k-brand-ink: #F4EBDD;
  --k-brand-soft: #E2E7D2;
  --k-shadow-2: 0 1px 0 rgba(59, 36, 20, .08), 0 14px 30px rgba(59, 36, 20, .2);
  background:
    repeating-linear-gradient(97deg, rgba(59, 36, 20, .035) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(8deg, rgba(255, 255, 255, .06) 0 2px, transparent 2px 11px),
    var(--p-page);
}
@media (prefers-color-scheme: dark) {
  body.k-app:not(.p-pub) {
    --p-page: #1B1A12;
    --p-paper: #262419;
    --p-band: #2F3D19;
    --p-band-deep: #26321A;
    --p-green-ink: #A9C46F;
    --p-text-green: #A9C46F;
    --p-red: #E0A63A;
    --p-text-red: #E8C27A;
    --p-cell: #3A3628;
    --k-bg: var(--p-page);
    --k-surface: var(--p-paper);
    --k-surface-2: #302D21;
    --k-line: rgba(244, 235, 221, .13);
    --k-line-strong: rgba(244, 235, 221, .3);
    --k-brand: #A9C46F;
    --k-brand-ink: #1E2410;
    --k-brand-soft: rgba(169, 196, 111, .14);
    background:
      repeating-linear-gradient(97deg, rgba(244, 235, 221, .022) 0 1px, transparent 1px 7px),
      var(--p-page);
  }
}
/* the Seed Green band: top bar and tabs */
body.k-app:not(.p-pub) .k-top { background: var(--p-band); color: var(--p-env); border-bottom: 0; }
body.k-app:not(.p-pub) .k-brand { color: var(--p-env); }
body.k-app:not(.p-pub) :is(.k-avatar, .k-top a.k-signin) { background: var(--p-env); color: #3F5420; }
body.k-app:not(.p-pub) .k-tabs { background: var(--p-band-deep); border-top: 0; }
body.k-app:not(.p-pub) .k-tabs a { color: var(--p-env); }
body.k-app:not(.p-pub) .k-tabs a[aria-current="page"] { background: var(--p-page); color: var(--k-text); }
body.k-app:not(.p-pub) .k-tabs a:focus-visible { outline-color: var(--p-env); outline-offset: -3px; }
body.k-app:not(.p-pub) :focus-visible { outline-color: var(--p-green-ink); }
body.k-app:not(.p-pub) .k-top :focus-visible { outline-color: var(--p-env); }
@media (min-width: 1024px) {
  body.k-app:not(.p-pub)[data-k-nav="top"] .k-tabs { background: var(--p-band); border-bottom: 0; box-shadow: inset 0 1px 0 rgba(244, 235, 221, .16); padding-left: var(--k-gutter); }
  body.k-app:not(.p-pub)[data-k-nav="top"] .k-tabs a { color: var(--p-env); }
  body.k-app:not(.p-pub)[data-k-nav="top"] .k-tabs a:hover { color: var(--p-env); background: var(--p-band-deep); }
  body.k-app:not(.p-pub)[data-k-nav="top"] .k-tabs a[aria-current="page"] { background: var(--p-page); color: var(--k-text); }
}
/* chrome accents in green ink, not plum */
body.k-app:not(.p-pub) .k-kicker, body.k-app:not(.p-pub) .k-section-head a, body.k-app:not(.p-pub) .k-back, body.k-app:not(.p-pub) .p-job-log { color: var(--p-green-ink); }
body.k-app:not(.p-pub) .k-foot { border-top: 2px solid var(--p-band); }
body.k-app:not(.p-pub) .k-btn { background: var(--k-brand); color: var(--k-brand-ink); }
body.k-app:not(.p-pub) .k-btn:hover { background: var(--p-band-deep); }
body.k-app:not(.p-pub) .k-btn-line { background: transparent; color: var(--p-green-ink); }
body.k-app:not(.p-pub) .k-btn-line:hover { background: var(--k-brand-soft); }
body.k-app:not(.p-pub) .p-jobs { border-top-color: var(--p-band); }
body.k-app:not(.p-pub) .p-rack-meta { border-top-color: var(--p-band); }
body.k-app:not(.p-pub) .p-read summary { background: var(--k-brand); color: var(--k-brand-ink); }
body.k-app:not(.p-pub) .p-side-link:hover { border-color: var(--p-green-ink); }
@media (prefers-color-scheme: dark) {
  body.k-app:not(.p-pub) .k-btn:hover { background: #BED68A; }
  body.k-app:not(.p-pub) :is(.k-avatar, .k-top a.k-signin) { background: var(--p-env); color: #2F3D19; }
}
body.k-app:not(.p-pub) .p-acct .k-account form:has(input:not([type="hidden"])):not(:has(input[type="checkbox"])) > button { background: var(--k-brand); color: var(--k-brand-ink); }
/* plum stays on the packets and the seed tin; the wooden plant labels lift off the kraft */
body.k-app:not(.p-pub) .p-markers > .k-row, body.k-app:not(.p-pub) .p-marker { box-shadow: 0 1px 0 rgba(59, 36, 20, .25), 0 6px 14px rgba(59, 36, 20, .18); background-color: #D4AE78; }
/* the "For Rosalind" envelope: Envelope paper, the flap drawn in, a Wax Red seal where the flap meets */
body.k-app:not(.p-pub) .p-dateline {
  padding-top: 102px; background-color: var(--p-paper); color: var(--k-text); border: 1.5px solid var(--k-line-strong);
  background-image:
    linear-gradient(to bottom right, transparent calc(50% - 1px), var(--k-line-strong) 50%, transparent calc(50% + 1px)),
    linear-gradient(to bottom left, transparent calc(50% - 1px), var(--k-line-strong) 50%, transparent calc(50% + 1px));
  background-size: 50% 62px; background-position: left top, right top; background-repeat: no-repeat;
}
body.k-app:not(.p-pub) .p-dateline::after {
  content: ""; position: absolute; left: 50%; top: 38px; width: 48px; height: 48px; margin-left: -24px;
  border-radius: 52% 48% 50% 46% / 48% 52% 46% 50%;
  background: radial-gradient(circle at 50% 50%, transparent 0 11px, rgba(0, 0, 0, .18) 11px 12.5px, transparent 12.5px), radial-gradient(circle at 42% 38%, #B52C27 0 30%, #A3201E 58%, #8C1A18 100%);
  box-shadow: 0 1px 2px rgba(60, 10, 10, .4), 0 0 0 2px rgba(163, 32, 30, .55), inset 0 1px 1px rgba(255, 220, 210, .25), inset 0 -2px 2px rgba(0, 0, 0, .2);
}
body.k-app:not(.p-pub) .p-dateline .p-stamp { border-color: var(--p-band); background: var(--k-brand-soft); }
body.k-app:not(.p-pub) .p-dateline :is(.p-stamp-label, .p-dateline-note, .p-counts) { color: var(--k-muted); }
body.k-app:not(.p-pub) .p-dateline .p-stamp-label { color: var(--p-green-ink); }
body.k-app:not(.p-pub) .p-dateline .p-counts { border-top-color: var(--k-line-strong); }
body.k-app:not(.p-pub) .p-dateline .p-counts b { color: var(--p-text-plum); }
@media (prefers-color-scheme: dark) {
  body.k-app:not(.p-pub) .p-dateline .p-stamp { background: rgba(169, 196, 111, .1); border-color: var(--p-green-ink); }
}
