/* ============================================================
   SECOND HUMANITY — App (PWA prototype)
   The website's visual language, re-housed for a phone.
   ============================================================ */
:root{
  --blackened-sepia:#1E1612; --deep-brown:#2A1B14; --codex-sepia:#5A3926;
  --burnished-clay:#8A4B32; --muted-gold:#B68A3A; --soft-gold:#D2B46D; --old-gold:#8F6A2A;
  --label-gold:#745020; /* small label/eyebrow TEXT on light; borders and accents keep --muted-gold.

     #7E5A22 until 11 August 2026, when <strong> on the settings panels measured
     4.46:1 by day and 4.47:1 at dusk on --bone: below AA by three hundredths,
     which is not a colour decision, it is antialiasing casting the vote. The
     site learned this in July, when five back-links spent a day disagreeing
     between two machines at 4.42 and 4.52. A value ON the threshold is decided
     by something other than the palette, so the value moves off it.
     #745020 is 5.19:1 on the same ground and 6.3:1 on --warm-ivory.
     #876225 until 11 August 2026, when it measured 4.29-4.41:1 on the tinted
     panels rather than the 5.3:1 this note used to claim against a flat token. */
  --parchment:#E8D8BF; --aged-paper:#D6BE98; --warm-ivory:#FFF9EF; --bone:#F4EBDD;
  --ash:#60574C; --veil-gray:#B7AAA0; --ink:#201713;
  /* --ash: QUIET TEXT ON LIGHT GROUND. #6B6155 until 5 August 2026, when the
     rendered pixel under each line was measured instead of the token: on the
     tinted panels (.settings-chamber, rgba(244,235,221,.76) over ivory, which
     composites to #DAD1C2) it was 4:1, below AA. #60574C clears it there and
     matches what the night mode had already been forced to choose, and what
     the website's palette moved to the same day. On DARK ground --ash is not
     the answer at all: see body.quiet below. */
  --head:'Cormorant Garamond',Georgia,serif;            /* large display headings only — elegance where it shines */
  --display:'Literata',Georgia,serif;                    /* read text: quotes, verses, sentences, hints (was Cormorant — too thin at small sizes) */
  --smallcaps:'Cormorant SC',Georgia,serif;
  --body:'Literata',Georgia,serif; --ui:'Inter',-apple-system,sans-serif;
  --safe-top: env(safe-area-inset-top, 0px); --safe-bot: env(safe-area-inset-bottom, 0px);
  --tabbar-h: 64px; /* the tab bar's height — every fixed element above it (shelter
                       pill/sheet, toast, screen padding) derives from this one number */
}

/* ============================================================
   V552 · EVENING WITNESS
   Evening is a five-movement descent from momentum into unearned rest. The
   carried Word and the lived day are witnessed together; journalling, Keeper
   synthesis, and the letter to morning remain explicit, optional consents.
   ============================================================ */
.return-office-head.is-evening{padding-bottom:13px}.return-office-head.is-evening .return-office-position{justify-content:flex-start;color:var(--label-gold)}
.return-office-evening .return-office-stage{min-height:510px;padding-top:28px}.return-office-evening .return-breath{margin-top:30px}
.evening-word-card{margin-top:20px}.evening-word-card.is-empty blockquote{font-style:normal;font-size:16px;color:var(--ash)}
.evening-day-gather{margin-top:14px}.evening-day-gather .return-office-dek{margin-top:8px;font-size:14px}
.evening-choice-prompt{margin-top:24px;font-family:var(--display);font-size:17px;color:var(--codex-sepia)}.evening-choice-prompt span{font-family:var(--ui);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ash)}
.return-multi-choice{grid-template-columns:1fr}.return-multi-choice .return-choice{min-height:50px}
.evening-pattern{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.evening-pattern>div{padding:14px 12px;border-top:2px solid var(--muted-gold);background:rgba(255,252,245,.58)}
.evening-pattern span{font-family:var(--ui);font-size:8px;letter-spacing:.14em;color:var(--label-gold)}.evening-pattern h3{margin-top:5px;font-family:var(--display);font-size:16px;font-weight:400;color:var(--codex-sepia)}.evening-pattern p{margin-top:4px;font-family:var(--display);font-size:12px;line-height:1.45;color:var(--ash)}
.evening-keeper-action{width:100%;margin-top:18px;padding-top:16px;border-top:1px solid rgba(140,129,118,.18);color:var(--label-gold)}
.evening-library-note{margin-top:17px;padding-left:14px;border-left:1px solid var(--muted-gold);font-family:var(--display);font-style:italic;font-size:13px;line-height:1.6;color:var(--ash)}
.evening-quiet-desk{margin-top:26px;padding:20px 17px;border:1px solid rgba(182,138,58,.3);background:linear-gradient(145deg,rgba(245,237,222,.82),rgba(255,252,245,.62))}.evening-quiet-desk>h3{margin-top:7px;font-family:var(--head);font-size:25px;font-weight:400;color:var(--codex-sepia)}.evening-quiet-desk>p:not(.return-movement-label),.evening-letter-field>p:not(.return-movement-label){margin-top:7px;font-family:var(--display);font-size:13.5px;line-height:1.6;color:var(--ash)}
.evening-letter-field{margin-top:24px;padding-top:19px;border-top:1px solid rgba(140,129,118,.2)}.evening-letter-field textarea{width:100%;margin-top:12px;padding:14px 12px;border:1px solid rgba(140,129,118,.26);border-radius:2px;background:rgba(255,252,245,.64);font-family:var(--display);font-size:16px;line-height:1.55;color:var(--ink);resize:vertical}
.evening-keeper-draft{width:100%;margin-top:10px;color:var(--label-gold)}.evening-draft-note{margin-top:6px!important;font-family:var(--ui)!important;font-size:8.5px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)!important}
.evening-terminal .return-scripture{width:100%;text-align:left}.evening-terminal .terminal-carry{display:grid;gap:7px}.evening-terminal .terminal-carry span{font-family:var(--ui);font-style:normal;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.morning-letter-received{margin-top:26px;width:100%;text-align:left;border-left:2px solid var(--muted-gold)}
@media(max-width:420px){.evening-pattern{grid-template-columns:1fr}.evening-pattern>div{display:grid;grid-template-columns:28px 1fr;gap:1px 8px}.evening-pattern span{grid-row:1/3}.return-office-evening .return-office-stage{min-height:480px}}

/* ============================================================
   V551 · MIDDAY RECALIBRATION
   The Interval is three beats, not a compressed diagnostic practice. The
   Morning Word remains central; the practitioner pauses, checks reality, and
   returns to the next actual thing without default AI or a second carry.
   ============================================================ */
.return-office-head.is-midday{padding-bottom:13px}.return-office-head.is-midday .return-office-position{justify-content:flex-start;color:var(--label-gold)}
.return-office-midday .return-office-stage{min-height:475px;padding-top:28px}.return-office-midday .return-breath{margin-top:30px}
.return-office-midday .return-choice-field{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
.return-office-midday .return-choice{min-height:52px;padding:11px 12px;font-size:14.5px;line-height:1.35}
.midday-word-card{margin-top:22px;padding:20px 18px;border:1px solid rgba(182,138,58,.34);border-left:3px solid var(--muted-gold);background:radial-gradient(circle at 88% 8%,rgba(210,180,109,.16),transparent 42%),linear-gradient(145deg,rgba(255,252,245,.92),rgba(242,228,204,.68))}
.midday-word-card>span,.midday-word-card>small{display:block;font-family:var(--ui);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.midday-word-card blockquote{margin:12px 0 0;font-family:var(--display);font-style:italic;font-size:clamp(19px,5vw,23px);line-height:1.52;color:var(--codex-sepia)}
.midday-word-card>small{margin-top:12px;color:var(--ash)}
.midday-check-prompt{margin-top:24px;font-family:var(--display);font-size:16px;color:var(--codex-sepia)}
.midday-terminal .midday-word-card{width:100%;text-align:left}.midday-terminal .return-office-actions{margin-top:12px}
.midday-direction{width:100%;margin-top:14px;padding:17px 18px;border:1px solid rgba(140,129,118,.2);background:rgba(255,252,245,.56);text-align:left}.midday-direction span{display:block;font-family:var(--ui);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}.midday-direction strong{display:block;margin-top:8px;font-family:var(--display);font-size:18px;font-weight:400;line-height:1.5;color:var(--codex-sepia)}
.return-tester-switcher{display:grid;gap:6px}.return-tester-switcher strong{font-size:9px;font-weight:500;letter-spacing:.16em;color:var(--label-gold)}
.return-tester-switcher a,.return-tester-switcher .is-current{color:var(--ash);text-decoration:none}.return-tester-switcher .is-current{color:var(--label-gold)}

/* ============================================================
   V550 · TODAY PRIORITY + THE WORD CARRIED
   Morning restores the interval without locking or counting it. The carried
   word remains visibly tethered to Scripture; Today separates daily action,
   audio, and account stewardship into distinct envelopes.
   ============================================================ */
.today-listening{background:linear-gradient(145deg,rgba(37,24,19,.98),rgba(22,15,12,.98));border-color:rgba(210,180,109,.28);color:var(--bone)}
.today-listening>h2{margin-top:7px;font-size:22px;color:var(--bone)}
.today-listening>.room-label{color:var(--soft-gold)}
.today-listening .today-continue-card{margin-top:14px;border-color:rgba(210,180,109,.22);background:rgba(255,255,255,.045);color:var(--bone)}
.today-listening .today-continue-card>small{color:#c8b9a5}.today-listening .today-continue-card>em{color:var(--soft-gold)}
.today-carrying-source{margin:8px 2px 0;font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.return-office-head.is-morning{padding-bottom:12px}.return-office-head.is-morning .return-office-position{margin-top:9px;justify-content:flex-start;color:var(--label-gold)}
.return-office-morning .return-office-stage{min-height:500px;padding-top:30px}
.return-breath{display:grid;justify-items:center;gap:15px;margin:36px auto 0;max-width:30em;text-align:center}
.return-breath-circle{width:96px;height:96px;border-radius:50%;border:1px solid rgba(182,138,58,.42);background:radial-gradient(circle at 36% 30%,rgba(210,180,109,.55),rgba(182,138,58,.18) 68%,rgba(182,138,58,.04));box-shadow:0 0 0 18px rgba(182,138,58,.04),0 0 0 38px rgba(182,138,58,.018);animation:iwfBreathe 10s ease-in-out infinite}
.return-breath p{max-width:29em;font-family:var(--display);font-size:16px;line-height:1.7;color:var(--codex-sepia)}
.return-breath span{font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.return-scripture-tether{margin-top:14px;padding:8px 0;border:0;background:none;color:var(--label-gold);font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer}
.morning-terminal-word{display:grid;gap:8px}.morning-terminal-word>span,.morning-terminal-word>small{font-family:var(--ui);font-style:normal;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.morning-terminal-word>small{margin-top:2px;color:var(--ash)}
.return-love-signature{margin-top:22px!important;font-family:var(--display)!important;font-style:italic;font-size:15px!important;color:var(--label-gold)!important}
.return-tester-switcher{margin-top:38px;text-align:center;font-family:var(--ui);font-size:9px;line-height:1.9;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.return-tester-switcher>span{font-size:10px}
@media(prefers-reduced-motion:reduce){.return-breath-circle{animation:none!important;transform:scale(.86)}}

/* ============================================================
   V549 · THE THREE PASTORAL OFFICES
   Daily action precedes explanation. Teaching remains available through a
   quiet, explicit door instead of occupying the working surface by default.
   ============================================================ */
.ob-listening-portal{position:relative;overflow:hidden;margin-top:24px;padding:22px 18px 20px;border:1px solid rgba(210,180,109,.36);background:radial-gradient(circle at 88% 10%,rgba(182,138,58,.2),transparent 38%),linear-gradient(145deg,#251813,#160f0c);box-shadow:0 18px 42px -28px rgba(30,22,18,.85);color:var(--bone)}
.ob-listening-portal::after{content:"";position:absolute;top:-42px;right:-50px;width:145px;height:145px;border:1px solid rgba(210,180,109,.13);border-radius:50%;box-shadow:0 0 0 24px rgba(210,180,109,.035),0 0 0 48px rgba(210,180,109,.025);pointer-events:none}
.ob-guide-kicker,.ob-atlas-kicker{font-family:var(--ui);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase}.ob-guide-kicker{color:var(--soft-gold)}
.ob-audio-play{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:44px 1fr;gap:2px 12px;align-items:center;text-align:left;border:0;background:transparent;color:var(--bone);padding:16px 0 10px;cursor:pointer}
.ob-audio-play>span{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(210,180,109,.72);border-radius:50%;color:var(--soft-gold);font-size:17px}
.ob-audio-play strong{font-family:var(--display);font-size:19px;font-weight:400}.ob-audio-play small{color:#C9BDB1;font-family:var(--ui);font-size:10.5px;letter-spacing:.04em}
.ob-audio-track{height:2px;margin:5px 0 13px;background:rgba(244,235,221,.16);overflow:hidden}.ob-audio-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--muted-gold),var(--soft-gold));transition:width .25s linear}
.ob-guide-copy{max-width:34ch;color:#C9BDB1;font-size:12px;line-height:1.6}
.ob-room-atlas{margin-top:24px;padding:19px 14px 14px;border:1px solid rgba(140,129,118,.2);background:rgba(255,252,245,.38)}
.ob-atlas-kicker{color:var(--label-gold)}.ob-room-atlas>h2{margin-top:5px;font-family:var(--head);font-size:25px;font-weight:400;color:var(--codex-sepia)}
.ob-room-grid{display:grid;grid-template-columns:1fr;gap:1px;margin-top:15px;background:rgba(140,129,118,.16)}
.ob-room{display:grid;grid-template-columns:24px 1fr;gap:2px 10px;text-align:left;border:0;border-left:2px solid transparent;background:var(--warm-ivory);padding:13px;color:var(--link-ink);cursor:pointer;transition:padding .2s ease,background .2s ease,border-color .2s ease}
.ob-room>span{grid-row:1/3;display:grid;place-items:start center;width:22px;color:var(--label-ink)}.ob-room strong{font-family:var(--display);font-size:15px;font-weight:400}.ob-room small{display:none;font-size:11.5px;line-height:1.58;color:var(--ash)}
.house-room-sigil{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.today-season-mark .house-room-sigil,.together-season-mark .house-room-sigil{width:20px;height:20px}
.upper-room-lane-mark .house-room-sigil,.today-field-glyph .house-room-sigil{width:17px;height:17px}
.sanctuary-together-aperture>span .house-room-sigil{width:18px;height:18px}
.ob-room.is-open{padding:16px 13px;border-left-color:var(--muted-gold);background:linear-gradient(110deg,rgba(245,237,218,.98),var(--warm-ivory))}.ob-room.is-open strong{font-size:17px}.ob-room.is-open small{display:block}
.threshold-listening-portal{text-align:left;margin-top:20px}
.first-return-portal{position:relative;overflow:hidden;margin-top:24px;padding:22px 18px 20px;text-align:left;border:1px solid rgba(210,180,109,.36);background:radial-gradient(circle at 88% 10%,rgba(182,138,58,.18),transparent 38%),linear-gradient(145deg,#251813,#160f0c);box-shadow:0 18px 42px -28px rgba(30,22,18,.85);color:var(--bone)}
.first-return-portal::after{content:"";position:absolute;top:-44px;right:-52px;width:142px;height:142px;border:1px solid rgba(210,180,109,.12);border-radius:50%;box-shadow:0 0 0 24px rgba(210,180,109,.03),0 0 0 48px rgba(210,180,109,.02);pointer-events:none}
.first-return-portal h2{position:relative;z-index:1;margin-top:8px;font-family:var(--head);font-size:29px;font-weight:400;color:var(--bone)}.first-return-lines{position:relative;z-index:1;margin-top:18px}.first-return-cta{position:relative;z-index:1;width:100%;min-height:52px;margin-top:8px;border:1px solid rgba(210,180,109,.6);background:rgba(210,180,109,.1);color:var(--bone);font-family:var(--ui);font-size:13px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}

/* One architectural door language: welcome, Returns, and their terminal exits
   share the same lifted edge and inward light. The treatment remains quiet,
   but no primary action reads as a flat utility button. */
.house-primary-door,.return-primary-action{position:relative;width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;border:1px solid rgba(143,106,42,.72);border-radius:16px;background:radial-gradient(circle at 50% 0,rgba(210,180,109,.22),transparent 62%),linear-gradient(160deg,#6d4632,#4b2e22);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 15px 30px -20px rgba(42,27,20,.8);color:#fff9ef;font-family:var(--ui);font-size:13px;font-weight:500;letter-spacing:.065em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.house-primary-door:hover,.return-primary-action:hover{transform:translateY(-1px);border-color:var(--soft-gold);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 36px -18px rgba(42,27,20,.88)}
.house-primary-door:focus-visible,.return-primary-action:focus-visible{outline:2px solid var(--muted-gold);outline-offset:3px}
.house-primary-door.is-dark{border-radius:2px;background:linear-gradient(160deg,rgba(210,180,109,.18),rgba(138,75,50,.14));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 15px 30px -22px rgba(0,0,0,.9)}
.install-upper-room{position:relative;overflow:hidden;margin-top:26px;padding:21px 18px 18px;border:1px solid rgba(182,138,58,.34);background:radial-gradient(circle at 96% 0,rgba(210,180,109,.16),transparent 38%),rgba(255,252,245,.48);box-shadow:0 18px 38px -30px rgba(42,27,20,.45)}
.install-upper-room::after{content:"";position:absolute;right:-54px;top:-62px;width:142px;height:142px;border:1px solid rgba(182,138,58,.12);border-radius:50%;box-shadow:0 0 0 22px rgba(182,138,58,.025);pointer-events:none}
.install-upper-room>*{position:relative;z-index:1}.install-upper-room h2{max-width:15em;margin-top:6px;font-family:var(--head);font-size:25px;font-weight:400;line-height:1.12;color:var(--ink)}
.install-upper-room>p:not(.room-label){margin-top:9px;font-family:var(--display);font-size:14px;line-height:1.62;color:var(--ash)}
.install-upper-room-actions{display:grid;gap:9px;margin-top:17px}.install-later{min-height:42px;border:1px solid rgba(140,129,118,.22);background:rgba(255,252,245,.42);color:var(--codex-sepia);font-family:var(--ui);font-size:12px;letter-spacing:.04em;cursor:pointer}
.install-later:hover{border-color:var(--muted-gold);background:rgba(210,180,109,.12)}
body.quiet .install-upper-room{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.18);box-shadow:none}body.quiet .install-upper-room h2{color:#f3e6c8}body.quiet .install-upper-room>p:not(.room-label){color:#b7aaa0}body.quiet .install-later{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.14);color:#d8c8a7}
.room-icon-control svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.house-icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.house-room-icon-fill{fill:currentColor!important;stroke:none!important}

/* The daily offices use one restrained chamber. Progress is locational text,
   never dots, rings, filling bars, or celebration. */
.return-office{max-width:620px;margin:0 auto;padding-bottom:28px}
.return-office-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 20px;border:0;background:none;color:var(--label-gold);font-family:var(--ui);font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.return-office-head{padding:0 2px 18px;border-bottom:1px solid rgba(140,129,118,.2)}
.return-office-head .office-name{font-family:var(--ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}
.return-office-head h1{margin-top:7px;font-family:var(--head);font-size:clamp(30px,8vw,42px);font-weight:400;line-height:1.04;color:var(--ink)}
.return-office-head .office-rule{margin-top:10px;font-family:var(--display);font-style:italic;font-size:16px;line-height:1.55;color:var(--codex-sepia)}
.return-office-position{display:flex;justify-content:space-between;gap:12px;margin-top:15px;font-family:var(--ui);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ash)}
.return-office-stage{min-height:420px;display:flex;flex-direction:column;padding:30px 0 8px}
.return-movement-label{font-family:var(--ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold)}
.return-office-stage h2{margin-top:9px;font-family:var(--head);font-size:clamp(29px,7.6vw,38px);font-weight:400;line-height:1.08;color:var(--codex-sepia)}
.return-office-dek{margin-top:12px;max-width:38em;font-family:var(--display);font-size:15.5px;line-height:1.68;color:var(--ash)}
.return-why{margin-top:22px;border-top:1px solid rgba(140,129,118,.18);border-bottom:1px solid rgba(140,129,118,.18)}
.return-why>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 2px;cursor:pointer;list-style:none;color:var(--label-gold);font-family:var(--ui);font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.return-why>summary::-webkit-details-marker{display:none}.return-why>summary i{font-style:normal;transition:transform .2s ease}.return-why[open]>summary i{transform:rotate(180deg)}
.return-why>div{padding:2px 2px 18px}.return-why h3{font-family:var(--display);font-size:17px;font-weight:400;line-height:1.45;color:var(--codex-sepia)}
.return-why p{margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.63;color:var(--ash)}.return-why .return-why-scripture{font-style:italic;color:var(--codex-sepia)}.return-why .return-why-scripture b{font-family:var(--ui);font-style:normal;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.return-office-actions{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:28px}
.return-quiet-action{min-height:44px;border:0;background:none;color:var(--ash);font-family:var(--display);font-style:italic;font-size:14px;cursor:pointer}
.return-choice-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}
.return-choice{min-height:48px;padding:10px 12px;border:1px solid rgba(140,129,118,.24);border-radius:15px;background:rgba(255,252,245,.68);color:var(--codex-sepia);font-family:var(--display);font-size:15px;text-align:left;cursor:pointer}
.return-choice.is-chosen{border-color:var(--muted-gold);background:linear-gradient(155deg,#fffaf0,#f1e2c6);box-shadow:0 7px 18px -14px rgba(90,57,38,.85)}
.return-own-words{margin-top:18px}.return-own-words label{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.return-own-words textarea,.return-own-words input{width:100%;margin-top:8px;border:0;border-bottom:1px solid rgba(140,129,118,.35);border-radius:0;background:transparent;padding:10px 2px;font-family:var(--display);font-size:16px;line-height:1.55;color:var(--ink);resize:vertical}
.return-own-words textarea:focus,.return-own-words input:focus{outline:none;border-color:var(--muted-gold)}
.return-scripture{margin-top:24px;padding:22px 20px;border:1px solid rgba(182,138,58,.28);border-radius:2px;background:linear-gradient(145deg,rgba(245,237,222,.9),rgba(255,252,245,.72))}
.return-scripture .ref{font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.return-scripture blockquote{margin:13px 0 0;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.6;color:var(--codex-sepia)}
.return-scripture hr{height:1px;margin:17px 0;border:0;background:rgba(140,129,118,.18)}
.return-house-voice,.return-keeper-voice{margin-top:18px;padding:13px 0 13px 17px;border-left:2px solid var(--codex-sepia);font-family:var(--display);font-style:italic;font-size:15.5px;line-height:1.62;color:var(--codex-sepia)}
.return-keeper-voice{border-left-color:var(--muted-gold)}
.return-house-voice span,.return-keeper-voice span{display:block;margin-bottom:6px;font-family:var(--ui);font-size:8.5px;font-style:normal;letter-spacing:.15em;text-transform:uppercase;color:var(--label-gold)}
.return-discerned-weather{margin-top:21px;padding:15px 16px;border-left:2px solid var(--muted-gold);background:rgba(245,237,222,.58)}.return-discerned-weather span,.return-discernment-pair span{display:block;font-family:var(--ui);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}.return-discerned-weather strong{display:block;margin-top:6px;font-family:var(--display);font-size:18px;font-weight:400;color:var(--codex-sepia)}
.return-discernment-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:21px;background:rgba(140,129,118,.16)}.return-discernment-pair>div{min-height:94px;padding:15px 14px;background:rgba(255,252,245,.7)}.return-discernment-pair strong{display:block;margin-top:8px;font-family:var(--display);font-size:16px;font-weight:400;line-height:1.45;color:var(--codex-sepia)}
.morning-keeper-discern{width:100%;margin-top:12px;padding-top:13px;border-top:1px solid rgba(140,129,118,.16);color:var(--label-gold)}
.return-hold{flex:1;display:grid;place-content:center;justify-items:center;min-height:410px;text-align:center}
.return-hold-mark{width:68px;height:68px;display:grid;place-items:center;border:1px solid rgba(182,138,58,.46);transform:rotate(45deg);color:var(--muted-gold);box-shadow:0 0 0 16px rgba(182,138,58,.045),0 0 0 32px rgba(182,138,58,.025)}
.return-hold-mark span{transform:rotate(-45deg);font-family:var(--head);font-size:24px}
.return-hold p{margin-top:34px;font-family:var(--display);font-style:italic;font-size:17px;color:var(--ash)}
.return-hold-ready{margin-top:22px;font-family:var(--ui);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold)}
.return-sentence-field{width:100%;min-height:108px;margin-top:17px;padding:19px 17px;border:1px solid rgba(182,138,58,.38);border-radius:2px;background:rgba(255,252,245,.7);font-family:var(--display);font-style:italic;font-size:20px;line-height:1.5;color:var(--codex-sepia);resize:vertical}
.return-sentence-offer{margin-top:22px;padding:15px 0 0 17px;border-left:2px solid var(--codex-sepia)}.return-sentence-offer.is-keeper{border-left-color:var(--muted-gold)}
.return-sentence-offer label{display:block;font-family:var(--ui);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--label-gold)}.return-sentence-offer .return-sentence-field{margin-top:9px}
.return-day-gather{margin-top:18px;padding:17px;border:1px solid rgba(140,129,118,.2);background:rgba(245,237,222,.58)}
.return-morning-letter{margin-top:9px;font-family:var(--display);font-style:italic;color:var(--codex-sepia)}
.return-day-gather ul{margin:10px 0 0;padding:0;list-style:none}.return-day-gather li{padding:9px 0;border-top:1px solid rgba(140,129,118,.14);font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ash)}
.return-day-gather li:first-child{border-top:0}.return-day-gather b{color:var(--codex-sepia);font-weight:500}
.return-field-pair{display:grid;gap:17px;margin-top:21px}.return-field-card{padding:18px 16px;border:1px solid rgba(140,129,118,.2);background:rgba(255,252,245,.55)}
.return-field-card h3{font-family:var(--display);font-size:17px;font-weight:400;color:var(--codex-sepia)}
.return-field-card textarea{width:100%;min-height:78px;margin-top:10px;border:0;border-bottom:1px solid rgba(140,129,118,.3);border-radius:0;background:transparent;padding:7px 0;font-family:var(--display);font-size:15px;color:var(--ink);resize:vertical}
.return-depth{margin-top:22px;border-top:1px solid rgba(140,129,118,.2);border-bottom:1px solid rgba(140,129,118,.2)}
.return-depth summary{padding:16px 0;cursor:pointer;list-style:none;font-family:var(--display);font-style:italic;font-size:16px;color:var(--codex-sepia)}
.return-depth summary::-webkit-details-marker{display:none}.return-depth summary::after{content:'\2304';float:right;color:var(--label-gold)}.return-depth[open] summary::after{content:'\2303'}
.return-depth-body{padding:0 0 20px}.return-depth-body .return-own-words{margin-top:16px}
.return-journal-keep{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-family:var(--display);font-size:14px;line-height:1.5;color:var(--ash)}
.return-journal-keep input{margin-top:4px;accent-color:var(--muted-gold)}
.return-terminal{min-height:440px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:30px 0}
.return-terminal .terminal-mark{color:var(--muted-gold);font-family:var(--head);font-size:25px}.return-terminal h2{margin-top:18px;font-family:var(--head);font-size:36px;font-weight:400;color:var(--codex-sepia)}
.return-terminal>p{margin:12px auto 0;max-width:31em;font-family:var(--display);font-size:16px;line-height:1.65;color:var(--ash)}
.return-terminal .terminal-carry{margin-top:24px;padding:18px;border-top:1px solid rgba(182,138,58,.34);border-bottom:1px solid rgba(182,138,58,.34);font-family:var(--display);font-style:italic;font-size:20px;line-height:1.5;color:var(--codex-sepia)}
.return-terminal .return-office-actions{width:100%;margin-top:16px}
.return-keeper-wait{margin-top:18px;font-family:var(--display);font-style:italic;color:var(--ash)}
@media(max-width:390px){.return-choice-field,.return-discernment-pair{grid-template-columns:1fr}.return-office-midday .return-choice-field{grid-template-columns:repeat(2,minmax(0,1fr))}.return-office-stage{min-height:390px}}
@media(max-width:330px){.return-office-midday .return-choice-field{grid-template-columns:1fr}}
body.quiet .return-why{border-color:rgba(210,180,109,.16)}body.quiet .return-why h3,body.quiet .return-why .return-why-scripture,body.quiet .return-discerned-weather strong,body.quiet .return-discernment-pair strong,body.quiet .midday-direction strong{color:#f3e6c8}body.quiet .return-why p,body.quiet .return-why>summary{color:#c8b9a5}body.quiet .return-discerned-weather,body.quiet .return-discernment-pair>div,body.quiet .midday-direction{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.16)}

/* The first Morning is a practice, not a content card. The three-beat rail
   orients without scoring; the question owns the brightest surface; the word
   arrives afterward as a response rather than as pre-filled content. */
.guided-return,.morning-return{padding-bottom:24px}.guided-return-intro,.morning-anatomy{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:13px;background:rgba(140,129,118,.16)}
.guided-return-intro span,.morning-anatomy span{padding:8px 4px;background:rgba(255,252,245,.62);font-family:var(--ui);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--label-gold)}
.guided-return-note{margin-top:10px;font-family:var(--display);font-style:italic;font-size:13px;line-height:1.55;color:var(--ash)}
.guided-return-question,.morning-arrival{margin-top:18px;padding:20px 18px 18px;border:1px solid rgba(182,138,58,.25);border-radius:18px;background:linear-gradient(150deg,rgba(255,253,247,.96),rgba(245,237,220,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 14px 30px -26px rgba(58,42,28,.55)}
.guided-return-question .gprompt,.morning-arrival .gprompt{margin:0;font-family:var(--head);font-size:27px;line-height:1.17;color:var(--codex-sepia)}
.guided-return-question textarea{margin-top:16px}.guided-return-choices{gap:8px;margin-top:16px}.guided-return-choices .chip{min-height:44px;padding:10px 14px;border-color:rgba(140,129,118,.18);background:rgba(255,249,239,.7)}
.guided-return-choices .chip.selected{border-color:var(--muted-gold);background:linear-gradient(180deg,#FFFBF1,#F5E8CF);box-shadow:0 4px 13px -9px rgba(90,57,38,.6)}
.morning-arrival-kicker,.morning-word-kicker{font-family:var(--ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold);margin-bottom:6px}
.morning-state-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.morning-state-choices .chip{display:grid;place-items:center;width:100%;min-height:52px;padding:10px 6px;border:1px solid rgba(140,129,118,.22);border-radius:13px;background:rgba(255,249,239,.72);font-size:16px}.morning-state-choices .chip.selected{border-color:var(--muted-gold);background:linear-gradient(180deg,#FFFBF1,#F4E5C8);box-shadow:0 5px 14px -10px rgba(90,57,38,.7)}
.morning-word-panel{margin-top:16px;padding:20px 18px;border-left:2px solid var(--muted-gold);background:linear-gradient(140deg,rgba(247,239,222,.82),rgba(255,252,245,.64))}.morning-word-panel h2{font-size:24px;margin-top:3px}.morning-word-panel blockquote{margin-top:13px;font-family:var(--display);font-style:italic;font-size:17px;line-height:1.58;color:var(--link-ink)}.morning-word-panel cite{display:block;margin-top:7px;font-family:var(--ui);font-style:normal;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--label-gold)}
.morning-carry{margin-top:17px;padding-top:16px;border-top:1px solid rgba(140,129,118,.18);text-align:center}.morning-carry p{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}.morning-carry strong{display:block;margin-top:7px;font-family:var(--display);font-style:italic;font-size:20px;line-height:1.45;font-weight:400;color:var(--link-ink)}.morning-keep-word{margin-top:10px}
.morning-weather-door{display:grid;gap:12px;margin-top:20px;padding:14px 2px 14px 13px;border-left:2px solid rgba(182,138,58,.55);border-top:1px solid rgba(140,129,118,.13);border-bottom:1px solid rgba(140,129,118,.13)}.morning-weather-door p{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}.morning-weather-door span{display:block;margin-top:4px;font-size:13px;line-height:1.55;color:var(--ash)}.morning-weather-door button{justify-self:start;border:0;background:none;padding:4px 0;font-family:var(--display);font-style:italic;font-size:14px;color:var(--link-ink);cursor:pointer}

.first-use-covenant{margin:14px 0;border-block:1px solid rgba(140,129,118,.17)}
.first-use-covenant summary{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;cursor:pointer;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);list-style:none}.first-use-covenant summary::-webkit-details-marker{display:none}
.first-use-covenant[open] summary span{transform:rotate(180deg)}.first-use-covenant>div{padding:5px 2px 16px}.first-use-covenant strong{font-family:var(--display);font-size:17px;font-weight:400;color:var(--link-ink)}.first-use-covenant p{margin-top:6px;color:var(--ash);font-size:13px;line-height:1.65}.first-use-covenant button{margin-top:8px;border:0;background:transparent;padding:4px 0;color:var(--link-ink);font-family:var(--display);font-style:italic;cursor:pointer}

.today-more-room h2{font-size:22px}.today-more-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.today-more-room-grid button{display:grid;grid-template-columns:28px 1fr;gap:2px 8px;text-align:left;border:1px solid rgba(140,129,118,.22);background:rgba(255,252,245,.46);padding:13px;color:var(--link-ink);cursor:pointer}.today-more-room-grid button>span{grid-row:1/3;color:var(--label-ink);font-size:18px}.today-more-room-grid strong{font-family:var(--display);font-size:15px;font-weight:400}.today-more-room-grid small{font-size:10.5px;line-height:1.4;color:var(--ash)}

.today-house-orientation,.season-architecture-door,.together-orientation-door,.together-study-door,.library-study-door{margin-top:22px;border-top:1px solid rgba(140,129,118,.2);border-bottom:1px solid rgba(140,129,118,.2)}
.today-house-orientation>summary,.season-architecture-door>summary,.together-orientation-door>summary,.together-study-door>summary,.library-study-door>summary{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;cursor:pointer;list-style:none;color:var(--link-ink)}
.today-house-orientation>summary::-webkit-details-marker,.season-architecture-door>summary::-webkit-details-marker,.together-orientation-door>summary::-webkit-details-marker,.together-study-door>summary::-webkit-details-marker,.library-study-door>summary::-webkit-details-marker{display:none}
.today-house-orientation>summary span,.season-architecture-door>summary span,.together-orientation-door>summary span,.together-study-door>summary span,.library-study-door>summary span{display:grid;gap:3px}.today-house-orientation>summary small,.season-architecture-door>summary small,.together-orientation-door>summary small,.together-study-door>summary small,.library-study-door>summary small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--ash)}
.today-house-orientation>summary strong,.season-architecture-door>summary strong,.together-orientation-door>summary strong,.together-study-door>summary strong,.library-study-door>summary strong{font-family:var(--display);font-size:17px;font-weight:400}.today-house-orientation>summary i,.season-architecture-door>summary i,.together-orientation-door>summary i,.together-study-door>summary i,.library-study-door>summary i{font-style:normal;color:var(--label-ink)}
.today-house-orientation[open]>summary i,.season-architecture-door[open]>summary i,.together-orientation-door[open]>summary i,.together-study-door[open]>summary i,.library-study-door[open]>summary i{transform:rotate(180deg)}
.today-house-orientation-body,.season-architecture-door>div,.together-orientation-door>div,.together-study-door>div{padding-bottom:12px}.today-house-orientation-close{margin:14px 4px 4px;font-family:var(--display);font-style:italic;color:var(--ash);font-size:13px;line-height:1.55}

.evening-three-movements{display:grid;grid-template-columns:1fr;gap:1px;margin-top:18px;background:rgba(140,129,118,.15)}.evening-three-movements>div{display:grid;grid-template-columns:28px 1fr;gap:2px 10px;background:rgba(255,252,245,.58);padding:12px}.evening-three-movements span{grid-row:1/3;font-size:10px;letter-spacing:.1em;color:var(--label-ink)}.evening-three-movements strong{font-family:var(--display);font-size:16px;font-weight:400;color:var(--link-ink)}.evening-three-movements small{font-size:10.5px;color:var(--ash)}.evening-movement-kicker{margin-top:20px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-ink)}

.settings-covenant-receipt{margin:14px 0;padding:14px 16px;border-left:2px solid var(--muted-gold);background:rgba(255,252,245,.42)}.settings-covenant-receipt p{font-size:13px;line-height:1.55;color:var(--ash)}.settings-covenant-receipt span{display:block;margin-top:7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--link-ink)}
.season-current-name{display:grid;gap:3px;margin-top:14px;padding-left:12px;border-left:1px solid var(--muted-gold)}.season-current-name span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}.season-current-name strong{font-family:var(--display);font-style:italic;font-size:17px;font-weight:400;color:var(--link-ink)}
.library-active-arc{margin-top:16px;padding:18px 16px;border:1px solid rgba(182,138,58,.25);background:rgba(255,252,245,.38)}.library-active-arc h2{margin-top:4px;font-size:22px}.library-active-arc>p:not(.room-label){margin-top:7px;color:var(--ash);font-size:13px;line-height:1.6}
.today-current-studies{margin-top:24px;padding-top:18px;border-top:1px solid rgba(140,129,118,.18)}.today-current-studies h2{margin-top:5px;font-family:var(--head);font-size:21px;line-height:1.2;color:var(--ink)}.today-current-studies .today-continue-grid{margin-top:13px}.today-outward-sending{display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:center;margin-top:18px;padding:13px 14px;border-left:2px solid var(--muted-gold);background:rgba(255,252,245,.32);font-family:var(--display);font-style:italic;font-size:13px;line-height:1.55;color:var(--ash)}.today-outward-sending>span{display:grid;place-items:center;color:var(--label-ink)}.today-outward-sending svg{width:22px;height:22px}
.library-current-studies,.library-listening,.library-shelf{margin-top:22px;padding:20px 17px;border:1px solid rgba(182,138,58,.23);background:rgba(255,252,245,.4)}.library-current-studies h2,.library-listening h2,.library-shelf h2{margin-top:5px;font-family:var(--head);font-size:23px;line-height:1.16;color:var(--ink)}.library-current-studies>p:not(.room-label),.library-listening>p:not(.room-label),.library-shelf>p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.58;color:var(--ash)}.library-empty-state{padding:15px 0 2px;font-style:italic}.library-study-grid{display:grid;grid-template-columns:1fr;gap:9px;margin-top:16px}.library-study-card{display:grid;gap:5px;width:100%;padding:17px 15px;text-align:left;border:1px solid rgba(140,129,118,.2);border-top:3px solid #8a6941;background:rgba(255,252,245,.68);color:var(--ink);cursor:pointer}.library-study-card.is-thresholds{border-top-color:#52705a}.library-study-card strong{font-family:var(--head);font-size:21px;font-weight:400;line-height:1.2;color:var(--ink)}.library-study-card small{font-family:var(--display);font-size:12.5px;line-height:1.5;color:var(--ash)}.library-study-card em{margin-top:8px;font-family:var(--ui);font-size:10px;font-style:normal;letter-spacing:.09em;text-transform:uppercase;color:var(--link-ink)}.library-listening{position:relative;overflow:hidden;border-color:rgba(210,180,109,.38);background:radial-gradient(circle at 92% 8%,rgba(210,180,109,.15),transparent 35%),linear-gradient(145deg,#2d211b,#17100d)}.library-listening h2{color:#f0dfc6}.library-listening>p:not(.room-label){color:#b9aa9d}.library-listening .room-label{color:var(--soft-gold)}.library-listening .major-tab-linkcard{margin-top:16px;border-color:rgba(210,180,109,.28);background:rgba(255,255,255,.04);color:#efe1ca}.library-listening .major-tab-linkcard strong{color:#efe1ca}.library-listening .major-tab-linkcard small{color:#b9aa9d}.library-listening .major-tab-linkcard em{color:var(--soft-gold)}
.library-listening .major-tab-linkcard>*{display:block}.library-listening .major-tab-linkcard strong{margin-top:6px}.library-listening .major-tab-linkcard small{margin-top:6px}.library-listening .major-tab-linkcard em{margin-top:11px}
.library-keeper-guide{position:relative;overflow:hidden;margin-top:22px;padding:25px 20px 22px;border:1px solid rgba(210,180,109,.48);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(210,180,109,.16),transparent 33%),linear-gradient(145deg,#33251d,#18110e 72%);box-shadow:0 20px 44px rgba(31,20,15,.11);color:#efe1ca}.library-guide-mark{display:grid;place-items:center;width:36px;height:36px;margin-bottom:15px;border:1px solid rgba(210,180,109,.52);border-radius:50%;color:var(--soft-gold);font-size:15px}.library-keeper-guide>.room-label{color:var(--soft-gold)}.library-keeper-guide>h2{margin-top:6px;font-family:var(--head);font-size:27px;font-weight:400;line-height:1.13;color:#f3e5cf}.library-keeper-guide>p:not(.room-label):not(.library-guide-covenant){margin-top:9px;font-family:var(--display);font-size:15px;line-height:1.62;color:#c5b6a7}.library-guide-prompts{display:grid;grid-template-columns:1fr;gap:7px;margin-top:19px}.library-guide-prompts button{min-height:46px;padding:10px 12px;border:1px solid rgba(210,180,109,.22);background:rgba(255,255,255,.035);color:#eadbc5;text-align:left;font-family:var(--display);font-size:14px;line-height:1.35;cursor:pointer}.library-guide-prompts button:hover,.library-guide-prompts button:focus-visible{border-color:rgba(210,180,109,.72);background:rgba(210,180,109,.08)}.library-guide-label{display:block;margin-top:20px;font-family:var(--ui);font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--soft-gold)}.library-keeper-guide textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid rgba(210,180,109,.34);border-radius:0;background:rgba(255,249,239,.06);color:#f3e5cf;font-family:var(--display);font-size:16px;line-height:1.5;resize:vertical}.library-keeper-guide textarea::placeholder{color:#928479}.library-guide-mode{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border:1px solid rgba(210,180,109,.3)}.library-guide-mode button{min-height:42px;border:0;border-right:1px solid rgba(210,180,109,.2);background:transparent;color:#bbaa9d;font-family:var(--ui);font-size:9px;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.library-guide-mode button:last-child{border-right:0}.library-guide-mode button.is-chosen{background:rgba(210,180,109,.16);color:#f2dfbd}.library-guide-covenant{margin-top:12px;font-family:var(--ui);font-size:9px;letter-spacing:.035em;line-height:1.65;color:#9f9184}.library-guide-ask{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin-top:16px;padding:0 16px;border:1px solid var(--soft-gold);background:#f1e4ca;color:#35251d;font-family:var(--ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.library-guide-ask:disabled{opacity:.68;cursor:wait}.library-guide-note{margin-top:14px;font-family:var(--display);font-style:italic;color:#c8b8a8}.library-guide-result,.library-guide-care{margin-top:17px;padding:18px;border-left:2px solid var(--soft-gold);background:rgba(255,249,239,.08)}.library-guide-result>.room-label,.library-guide-care>.room-label{color:var(--soft-gold)}.library-guide-result>span{display:block;margin-top:9px;font-family:var(--ui);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#ad9c8e}.library-guide-result h3{margin-top:5px;font-family:var(--head);font-size:23px;font-weight:400;color:#f2e2c9}.library-guide-result>p,.library-guide-care>p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.6;color:#c9b9aa}.library-guide-result>button{display:block;margin-top:14px;border:0;background:transparent;padding:8px 0;color:#f0d89d;font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.library-guide-result>small{display:block;margin-top:7px;font-family:var(--display);font-style:italic;font-size:11px;color:#978a7f}.library-guide-care .sh-link{margin-top:11px;color:#f0d89d}.library-active-arc{padding:0}.library-active-arc[hidden]{display:none}.library-active-arc>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px;cursor:pointer;list-style:none}.library-active-arc>summary::-webkit-details-marker{display:none}.library-active-arc>summary span{display:grid;gap:3px}.library-active-arc>summary small{font-family:var(--ui);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--label-ink)}.library-active-arc>summary strong{font-family:var(--head);font-size:22px;font-weight:400;color:var(--ink)}.library-active-arc>summary i{font-style:normal;color:var(--label-ink)}.library-active-arc[open]>summary i{transform:rotate(180deg)}.library-book-body{padding:0 16px 18px;border-top:1px solid rgba(182,138,58,.18)}.library-book-body>p{margin-top:14px;color:var(--ash);font-size:13px;line-height:1.6}.library-account-card{margin-top:18px}.library-account-card>p:not(.label){margin-top:5px;color:var(--ash)}.library-account-card .btn-row{margin-top:10px}#lrHouseRoot .lr-row.is-library-suggestion{border-color:rgba(182,138,58,.75);box-shadow:0 0 0 2px rgba(182,138,58,.13),0 14px 36px rgba(42,27,20,.08)}
@media(min-width:620px){.library-guide-prompts{grid-template-columns:1fr 1fr}.library-study-grid{grid-template-columns:1fr 1fr}}
.curriculum-sending{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;margin-top:26px;padding:19px 17px;border:1px solid rgba(82,112,90,.22);border-top:3px solid #52705a;background:linear-gradient(145deg,rgba(238,243,233,.72),rgba(255,252,245,.5))}.curriculum-sending>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(82,112,90,.35);border-radius:50%;color:#52705a}.curriculum-sending svg{width:23px;height:23px}.curriculum-sending h2{margin-top:4px;font-family:var(--head);font-size:22px;line-height:1.18;color:var(--ink)}.curriculum-sending p:not(.room-label){margin-top:7px;font-family:var(--display);font-size:13px;line-height:1.58;color:var(--ash)}
.walk-fruit-door{margin-top:24px}.walk-grammar-door{margin-top:18px;border-top:1px solid rgba(140,129,118,.18)}.walk-grammar-door summary{padding:14px 0;cursor:pointer;font-family:var(--display);font-style:italic;color:var(--link-ink);list-style:none}.walk-grammar-door summary::-webkit-details-marker{display:none}.walk-grammar-door .practice-engine-steps{margin-top:8px}

.together-handle-setup{margin-top:18px;padding:18px 16px;border:1px solid rgba(182,138,58,.24);background:linear-gradient(135deg,rgba(255,252,245,.76),rgba(244,235,221,.55))}
.together-handle-setup h2{margin-top:4px;font-size:23px}.together-handle-setup>p:not(.room-label){margin-top:6px;color:var(--ash);font-size:13.5px;line-height:1.62}.together-handle-setup>p strong{color:var(--link-ink)}
.together-handle-row{display:flex;align-items:center;gap:7px;margin-top:13px}.together-handle-row>span{color:var(--label-gold);font-size:18px}.together-handle-row .journal-line{flex:1;margin:0}.together-handle-setup>.sh-cmd{margin-top:11px}.together-handle-setup>.ghint{margin-top:7px}

@media (max-width:390px){.today-more-room-grid{grid-template-columns:1fr}.ob-room-grid{grid-template-columns:1fr}.today-house-orientation>summary strong,.season-architecture-door>summary strong,.together-orientation-door>summary strong,.together-study-door>summary strong,.library-study-door>summary strong{font-size:15px}}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}  /* author display rules (.topbar flex, .tabbar grid) must never defeat the hidden attribute — the threshold stays bare */
html,body{height:100%}
body{background:#0c0806;color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
button{font-family:inherit;cursor:pointer}
a{color:var(--codex-sepia)}
::selection{background:var(--soft-gold);color:var(--ink)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* device frame — phone-sized, centered on larger screens */
.app-frame{position:relative;width:100%;max-width:480px;margin:0 auto;min-height:100dvh;background:var(--warm-ivory);
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 80px -20px rgba(0,0,0,.6)}

/* ---------- splash ---------- */
.splash{position:fixed;inset:0;max-width:480px;margin:0 auto;background:radial-gradient(ellipse 130% 90% at 50% 60%,#2c1c10,#140d07 60%,#0a0705);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:100;transition:opacity .8s ease}
.splash.gone{opacity:0;pointer-events:none}
.splash-seam{position:absolute;top:0;bottom:0;left:50%;width:1px;margin-left:-.5px;background:linear-gradient(180deg,transparent,rgba(212,180,109,.5) 60%,#f0d9a6);animation:breathe 7s ease-in-out infinite}
.splash-mark{width:13px;height:13px;background:var(--soft-gold);transform:rotate(45deg);margin-bottom:26px;animation:pulse 4.5s ease-in-out infinite}
.splash-word{font-family:var(--smallcaps);font-size:26px;letter-spacing:.22em;color:var(--bone);text-transform:uppercase}
.splash-sub{font-family:var(--display);font-style:italic;font-size:17px;color:var(--veil-gray);margin-top:12px}
@keyframes breathe{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes pulse{0%,100%{box-shadow:0 0 12px rgba(212,180,109,.6)}50%{box-shadow:0 0 26px rgba(212,180,109,1),0 0 60px rgba(212,180,109,.4)}}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:calc(var(--safe-top) + 14px) 20px 14px;background:rgba(255,249,239,.92);backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid rgba(140,129,118,.18)}
.topbar-title{font-family:var(--smallcaps);font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--codex-sepia)}
.topbar-icons{display:flex;align-items:center;gap:16px}
.topbar-icon{background:none;border:0;color:var(--ash);font-size:18px;line-height:1;position:relative}
.topbar-icon.ember::after{content:"";position:absolute;top:-1px;right:-3px;width:7px;height:7px;border-radius:50%;
  background:var(--soft-gold);box-shadow:0 0 0 2px rgba(255,249,239,.92),0 0 6px 1px rgba(182,138,58,.5);
  animation:emberPulse 2.6s ease-in-out infinite}
.app-exit-short{display:none}
@media(max-width:600px){
  .app-exit-full{display:none}
  .app-exit-short{display:inline}
  body.has-site-exit #topbar{padding-left:70px!important}
}
@keyframes emberPulse{0%,100%{opacity:.5}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.topbar-icon.ember::after{animation:none;opacity:.9}}

/* ---------- screen ---------- */
.screen{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 20px calc(var(--tabbar-h) + 68px + var(--safe-bot));animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.screen.dark{background:var(--blackened-sepia);color:var(--bone)}

/* ---------- bottom nav ---------- */
.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;z-index:20;
  display:grid;grid-template-columns:repeat(var(--tab-count,4),1fr);background:rgba(30,22,18,.97);backdrop-filter:blur(8px);
  padding:8px 4px calc(8px + var(--safe-bot));border-top:1px solid rgba(182,138,58,.3)}
.tab{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;color:var(--veil-gray);transition:color .3s}
.tab .tab-i{font-size:17px;line-height:1;color:rgba(182,138,58,.65);transition:color .3s,transform .3s}
.tab .tab-l{font-family:var(--ui);font-size:12px;letter-spacing:.01em;line-height:1.2;text-align:center;hyphens:none;max-width:100%}
/* Two-row labels wrap rather than shrink. A label that shrinks to fit stops
   looking like its neighbours and starts looking like a mistake, so the row
   holds a fixed height and every label sits centred within it. Sentence case
   throughout: caps read as signage, sentence case reads as someone speaking. */
.tab{min-height:54px;justify-content:center}
.tab.active{color:var(--soft-gold)}
.tab.active .tab-i{color:var(--soft-gold);transform:translateY(-1px)}
/* attention dot — something new/pending on this tab (no push notifications) */
.tab{position:relative}
.tab.attn::after{content:"";position:absolute;top:5px;left:calc(50% + 11px);width:8px;height:8px;border-radius:50%;
  background:#7fa66b;box-shadow:0 0 8px 2px rgba(127,166,107,.75);animation:tabAttn 2.4s ease-in-out infinite}
/* the icon itself takes on a living green glow so the call is unmistakable */
.tab.attn .tab-i{color:#85ad6f;text-shadow:0 0 10px rgba(127,166,107,.85);animation:tabGlow 2.6s ease-in-out infinite}
@keyframes tabAttn{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes tabGlow{0%,100%{text-shadow:0 0 6px rgba(127,166,107,.5)}50%{text-shadow:0 0 13px rgba(127,166,107,.95)}}
@media (prefers-reduced-motion:reduce){.tab.attn::after{animation:none;opacity:.95}.tab.attn .tab-i{animation:none}}

/* ---------- the Becoming Ledger — moments ---------- */
.ledger-input{width:100%;box-sizing:border-box;font-family:var(--display);font-size:16px;line-height:1.55;color:var(--ink);
  background:var(--warm-ivory);border:1px solid rgba(140,129,118,.5);border-radius:3px;padding:10px 12px;resize:vertical}
.ledger-input:focus{outline:none;border-color:var(--codex-sepia)}
.mom-compose{border-color:rgba(140,129,118,.4)}
.mom-kinds{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.mom-chip{-webkit-appearance:none;appearance:none;font-family:var(--ui);font-size:11px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;padding:8px 15px;border-radius:18px;border:1px solid rgba(140,129,118,.55);
  background:transparent;color:var(--ash);line-height:1;transition:background .2s,color .2s,border-color .2s}
.mom-chip:hover{border-color:var(--muted-gold)}
.mom-chip.on{background:var(--codex-sepia);color:var(--warm-ivory);border-color:var(--codex-sepia)}
.card.moment{border-left:2px solid var(--muted-gold)}
.card.moment.k-gratitude{border-left-color:#b88a3e}
.card.moment.k-breakthrough{border-left-color:#6f9461}
.card.moment.k-insight{border-left-color:#5f86a6}
.card.moment.k-turning{border-left-color:#9a6b8e}
.mom-tag{font-family:var(--smallcaps);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--codex-sepia);margin-bottom:5px}
.mom-s{font-family:var(--display);font-size:18px;line-height:1.55;color:var(--ink);white-space:pre-wrap}
.mom-meta{font-family:var(--ui);font-size:11px;letter-spacing:.06em;color:var(--ash);margin-top:9px}
.mom-meta a{color:var(--ash);margin-left:8px}

/* ---------- the Veil — the Keeper's lamp teaching ---------- */
.veil-lamp{background:linear-gradient(160deg,#241814,#1b110d);border:1px solid rgba(210,180,109,.22);
  border-radius:12px;padding:20px 22px;margin-top:14px;box-shadow:0 10px 30px rgba(30,22,18,.25)}
.veil-eye{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft-gold);opacity:.85;margin:0}
.veil-l{font-family:var(--display);font-style:italic;font-size:21px;line-height:1.4;color:#f3e6c8;margin:8px 0 0}
.veil-b{font-family:var(--display);font-size:16.5px;line-height:1.62;color:#d8c7a6;margin:10px 0 0}
.veil-p{font-family:var(--display);font-size:18px;line-height:1.7;color:var(--codex-sepia);margin:0 0 14px}
.veil-q{font-family:var(--display);font-size:17px;line-height:1.55;color:var(--ink);padding:12px 0;border-bottom:1px solid var(--line)}
.veil-q:last-child{border-bottom:none}

/* ---------- the Lamp — the bond's state of being held ---------- */
.lamp-card{border-radius:12px;padding:18px 20px 16px;margin-top:16px;text-align:center}
.lamp-card.dark{background:linear-gradient(160deg,#241814,#1b110d);border:1px solid rgba(210,180,109,.22)}
.lamp-card.lit{background:linear-gradient(160deg,#3a2a16,#2a1d10);border:1px solid rgba(246,198,74,.5);box-shadow:0 0 28px rgba(230,184,100,.28)}
.lamp-card.rest{background:var(--bone);border:1px dashed rgba(140,129,118,.4)}
.lamp-card .lamp-eye{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft-gold);opacity:.9;margin:6px 0 0}
.lamp-card.rest .lamp-eye{color:var(--ash)}
.lamp-card .lamp-l{font-family:var(--display);font-style:italic;font-size:20px;line-height:1.4;color:#f3e6c8;margin:8px 0 0}
.lamp-card .lamp-b{font-family:var(--display);font-size:16px;line-height:1.6;color:#d8c7a6;margin:8px 0 0}
.lamp-card.rest .lamp-b,.lamp-card.rest .ghint{color:var(--ash)}
.hold-ways{margin:10px 0 0;padding-left:0;list-style:none}
.hold-ways li{font-family:var(--display);font-size:16px;line-height:1.5;color:var(--ink);padding:9px 0 9px 16px;position:relative;border-bottom:1px solid var(--line)}
.hold-ways li:last-child{border-bottom:none}
.hold-ways li::before{content:"·";position:absolute;left:3px;color:var(--muted-gold);font-weight:700}

/* ---------- "what's new / needs you" strip ---------- */
.needs-strip{background:var(--bone);border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.needs-strip.is-new{border-color:#7fa66b;box-shadow:0 0 0 1px rgba(127,166,107,.22)}
.needs-eye{font-family:var(--ui);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);margin:0 0 2px}
.needs-strip.is-new .needs-eye{color:#5f7d4e}
.needs-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;background:transparent;border:none;border-top:1px solid var(--line);padding:11px 2px;text-align:left;font-family:var(--display);font-size:16.5px;color:var(--ink);cursor:pointer}
.needs-row:first-of-type{border-top:none}
.needs-arrow{color:var(--muted-gold);font-size:18px;flex:0 0 auto}

/* ---------- distilled principles (What is Second Humanity) ---------- */
.brief{padding:10px 0;border-bottom:1px solid var(--line)}
.brief:last-child{border-bottom:none}
.brief-t{font-family:var(--display);font-size:17px;color:var(--codex-sepia);margin:0}
.brief-b{font-family:var(--display);font-style:italic;font-size:14.5px;color:var(--ash);margin:2px 0 0}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--head);font-weight:500;line-height:1.18;color:var(--ink)}
.eyebrow{font-family:var(--ui);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--label-gold);font-weight:500}
.h-greet{font-family:var(--head);font-size:30px;line-height:1.15;margin-top:6px}
.h-date{font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}
.lede{font-size:18px;color:var(--ash);font-style:italic}
.prose p{margin-bottom:12px}
.verse{font-family:var(--display);font-style:italic;font-size:19px;line-height:1.7;color:var(--codex-sepia)}
.center{text-align:center}
.muted{color:var(--ash)}
.rule{height:1px;background:linear-gradient(90deg,transparent,rgba(182,138,58,.4),transparent);margin:22px 0}

/* ---------- cards ---------- */
.card{background:var(--bone);border:1px solid rgba(140,129,118,.25);padding:20px 20px;margin-top:14px;border-radius:2px}
.card.gold{border-color:var(--muted-gold);background:var(--warm-ivory)}
.card h3{font-size:21px}
.card .label{font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold);margin-bottom:6px}
.card .sigil{height:26px;opacity:.5;margin-bottom:8px;display:block}
.house-arrival{position:relative;overflow:hidden}
.house-arrival::before{content:"";position:absolute;inset:auto -20px -54px -20px;height:110px;background:radial-gradient(ellipse at 50% 100%,rgba(210,180,109,.22),transparent 70%);pointer-events:none}
.house-arrival>*{position:relative}
.house-map{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border:1px solid rgba(182,138,58,.25);background:var(--bone);padding:8px;border-radius:6px}
.house-map span{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold);text-align:center;padding:8px 4px;background:rgba(255,249,239,.72);border:1px solid rgba(182,138,58,.12);border-radius:4px}
.keeper-orient{border-left:2px solid var(--muted-gold)}
.tap{cursor:pointer;transition:transform .35s cubic-bezier(.22,.7,.35,1),border-color .35s,box-shadow .35s;text-decoration:none;display:block;color:inherit}
.tap:active{transform:scale(.99)}
.tap:hover{border-color:var(--muted-gold)}
.cta{font-family:var(--ui);font-size:13px;letter-spacing:.02em;color:var(--label-gold);display:inline-block;margin-top:12px}
/* a back-breadcrumb is a quiet text link, never a boxed <button> — strip the
   browser's default button chrome wherever .cta is used on a <button> */
button.cta{background:none;border:none;padding:0;cursor:pointer}

/* scripture / codex blocks */
.scrip{border:1px solid var(--muted-gold);background:var(--bone);padding:18px 20px;margin-top:14px;text-align:center;border-radius:2px}
.scrip .t{font-family:var(--display);font-style:italic;font-size:19px;line-height:1.6;color:var(--ink)}
.scrip .r{font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold);margin-top:8px}
.codex-x{font-family:var(--display);font-size:18px;line-height:1.7;color:var(--codex-sepia);font-style:italic;margin-top:14px}
.principle{border:1px solid var(--muted-gold);background:var(--bone);padding:18px 20px;margin-top:14px;text-align:center;border-radius:2px}
.sentence{border:1px solid var(--muted-gold);background:var(--warm-ivory);padding:18px 20px;margin-top:16px;text-align:center;border-radius:2px}
.sentence .s{font-family:var(--display);font-style:italic;font-size:20px;line-height:1.5;color:var(--codex-sepia)}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--ui);font-size:14px;letter-spacing:.02em;padding:14px 22px;
  border:1px solid var(--muted-gold);background:transparent;color:var(--codex-sepia);text-align:center;border-radius:2px;transition:background .3s,color .3s}
.btn:active{transform:scale(.99)}
.btn.solid{background:var(--codex-sepia);color:var(--warm-ivory);border-color:var(--codex-sepia)}
.btn.full{display:block;width:100%}
.btn.light{border-color:var(--soft-gold);color:var(--soft-gold)}
.btn.solid.light{background:var(--soft-gold);color:var(--ink)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn-row .btn{flex:1;min-width:120px}

/* ---------- chips ---------- */
/* Selectable words — no pills, no rectangles. Emotions float in a spaced cluster;
   a tap glows the word in gold and sets a quiet · beside it. Wide options become
   ledger lines. Boxes = survey; bare words = the altar. */
.chips{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px}
.chip{font-family:var(--display);font-size:17px;padding:8px 2px;border:none;background:none;color:var(--codex-sepia);opacity:.7;border-radius:0;cursor:pointer;transition:color .25s,opacity .25s}
.chip:hover{opacity:.95}
.chip.selected{opacity:1;color:var(--muted-gold)}
.chip.selected::before{content:"· ";color:var(--muted-gold)}
.chip.wide{width:100%;text-align:left;padding:14px 2px;border-bottom:1px solid rgba(140,129,118,.16);opacity:.82;transition:color .25s,opacity .25s,border-color .25s}
.chip.wide.selected{opacity:1;color:var(--muted-gold);border-bottom-color:rgba(182,138,58,.5)}
/* THE SHELTER — it breathes open, never snaps. A gentle scrim fade + an ease-out
   upward drift of the sheet: the interface slowing down for an overwhelmed body. */
/* the sheet is centered in the 480px app column (translateX -50%), and the open
   animation drifts it up on the Y axis — both live in one transform so they don't fight */
#shelterPanel .shelter-scrim{opacity:0;transition:opacity .42s ease}
#shelterPanel .shelter-sheet{opacity:0;transform:translate(-50%,18px);transition:opacity .42s ease,transform .46s cubic-bezier(.16,.84,.34,1)}
#shelterPanel.shelter-open .shelter-scrim{opacity:1}
#shelterPanel.shelter-open .shelter-sheet{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion: reduce){
  #shelterPanel .shelter-scrim,#shelterPanel .shelter-sheet{transition-duration:.01ms}
  #shelterPanel .shelter-sheet{transform:translate(-50%,0)}
}
/* Evening ledger — each movement breathes up into view as it is reached */
.ev-move{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,.84,.34,1)}
.ev-move.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){ .ev-move{opacity:1;transform:none;transition:none} }

textarea,input[type=text],input[type=email]{width:100%;background:var(--warm-ivory);border:1px solid var(--veil-gray);border-radius:4px;
  padding:13px 15px;font-family:var(--display);font-size:17px;color:var(--ink);margin-top:14px;outline-color:var(--muted-gold);resize:vertical;min-height:56px}
input[type=text],input[type=email]{min-height:0}
textarea::placeholder,input::placeholder{color:#7C7164;opacity:1}  /* legible placeholder (was browser-default ~2:1) */
/* THE JOURNAL LINE — the sanctioned input affordance across the House.
   Not a web form and not invisible: a faint warm well with a deliberate
   ruled floor, an italic whisper of a placeholder, and a gold illumination
   the moment a hand steps into it. Apply `class="journal-line"` to any input. */
.journal-line{width:100%;box-sizing:border-box;border:none;border-bottom:1.5px solid rgba(182,138,58,.5);border-radius:5px 5px 0 0;background:rgba(182,138,58,.05);padding:11px 12px;font-family:inherit;font-size:16px;line-height:1.6;color:#3a3027;outline:none;transition:border-color .3s ease,background .3s ease}
.journal-line::placeholder{font-style:italic;color:var(--ash,#8a7a5e);opacity:.6}
.journal-line:focus{border-bottom-color:var(--soft-gold);background:rgba(212,180,109,.1)}
.journal-line:focus::placeholder{opacity:.3}
textarea.journal-line{resize:none;min-height:92px;line-height:1.65}
/* the Keeper's writing space — no beige box at rest; just a ledger line, with the
   warm well blooming only when a hand steps into it (avoids the survey-box look) */
textarea.journal-line.kc-bare{background:transparent;border-radius:0}
textarea.journal-line.kc-bare:focus{background:rgba(212,180,109,.08)}
/* select as a ledger line — no box, no native chrome, just a quiet muted-gold caret */
select.journal-line{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23b68a3a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:11px}
select.journal-line:focus{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23b68a3a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:11px}
select{width:100%;background:var(--warm-ivory);border:1px solid var(--veil-gray);border-radius:4px;
  padding:11px 14px;font-family:var(--display);font-size:16px;color:var(--ink);margin-top:6px;outline-color:var(--muted-gold);appearance:auto}

/* The Keeper's nudge — a dark "lamp" card so it stands out from the parchment */
.keeper-nudge{position:relative;margin-top:14px;padding:20px 22px 17px;border-radius:14px;cursor:pointer;
  background:linear-gradient(155deg,#2a1f15,#1b130c);border:1px solid rgba(210,180,109,.40);
  box-shadow:0 6px 22px rgba(20,14,8,.30), inset 0 0 40px rgba(210,180,109,.06);overflow:hidden;
  -webkit-tap-highlight-color:transparent}
.keeper-nudge::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(140px 90px at 16% -10%, rgba(231,210,143,.16), transparent 70%)}
.kn-sigil{position:absolute;top:15px;right:18px;color:var(--soft-gold);font-size:18px;opacity:.85}
.kn-eyebrow{margin:0;font-family:var(--smallcaps);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#caa85c}
.kn-text{margin:8px 0 0;font-family:var(--display);font-size:19px;line-height:1.5;color:#f3e9d6}
.kn-cta{display:inline-block;margin-top:12px;font-family:var(--ui);font-size:12px;letter-spacing:.07em;color:#d8b86a}
.keeper-nudge{transition:transform .25s ease, box-shadow .25s ease}
.keeper-nudge:active{transform:scale(.992)}
@media (prefers-reduced-motion:reduce){ .keeper-nudge{transition:none} }

/* step header */
.gstep{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--label-gold);margin-top:4px}
.gprompt{font-family:var(--head);font-size:24px;line-height:1.3;margin-top:8px;color:var(--ink)}
.ghint{font-size:15px;color:var(--ash);font-style:italic;margin-top:8px}

/* keeper response */
.kr-heard{font-family:var(--display);font-style:italic;font-size:21px;line-height:1.6;color:var(--burnished-clay)}
.kr-name{font-family:var(--smallcaps);font-size:24px;letter-spacing:.05em;color:var(--codex-sepia);text-align:center;margin:6px 0}

/* onboarding */
.ob{min-height:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:10px 6px}
.ob h1{font-family:var(--display);font-size:32px;color:var(--ink)}
.ob .dots{display:flex;gap:7px;justify-content:center;margin-top:30px}
.ob .dot{width:7px;height:7px;border-radius:50%;background:rgba(140,129,118,.4)}
.ob .dot.on{background:var(--muted-gold)}

/* The Path of Return — orienting indicators (spatial position only, never a score) */
.pth-dots{display:flex;align-items:center;gap:18px;position:relative;justify-content:center;padding:2px 0 10px;margin-bottom:8px}
.pth-dot{position:relative;z-index:1;width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--warm-ivory);border:1px solid rgba(182,138,58,.52)}
.pth-dot.walked{background:var(--muted-gold)}
.pth-dot.current{width:13px;height:13px;background:var(--codex-sepia);border-color:var(--soft-gold)}
.pth-dot.ahead{background:var(--warm-ivory)}
/* the four R's stays a WORD row rather than stones: it can mark several
   movements at once (Read · Receive · Respond on the first morning), which a
   single current stone cannot say. Same family, same type and colour as
   .stones-l — harmonised without flattening what it means. */
.pth-fourr{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:var(--ash);opacity:.55;margin-bottom:10px}
.pth-fourr .on{color:var(--muted-gold);opacity:1}
body.quiet .pth-fourr .on{color:var(--soft-gold)}

/* The Beatitude Path — station rows */
.path-row{display:flex;align-items:center;gap:14px;padding:14px 14px;margin-top:9px;border:1px solid rgba(140,129,118,.25);background:var(--bone);border-radius:2px}
.path-row:active{transform:scale(.99)}
.path-here{border-color:var(--muted-gold);background:var(--warm-ivory)}
.path-n{flex:0 0 30px;height:30px;border:1px solid var(--muted-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--smallcaps);font-size:14px;color:var(--codex-sepia)}
.path-meat{flex:1;display:flex;flex-direction:column}
.path-name{font-family:var(--display);font-size:19px;color:var(--ink);line-height:1.2}
.path-cap{font-family:var(--ui);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-gold);margin-top:2px}
.path-arrow{color:var(--muted-gold);font-size:16px}

/* The Living Formation Map — capacity field */
.map-field{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.map-node{border:1px solid rgba(140,129,118,.28);background:var(--bone);border-radius:4px;padding:14px 13px;display:flex;flex-direction:column;gap:3px;opacity:.62;transition:opacity .4s,border-color .4s,background .4s}
.map-node:active{transform:scale(.99)}
.map-on{opacity:1;border-color:var(--muted-gold);background:var(--warm-ivory)}
.map-dot{width:9px;height:9px;border-radius:50%;background:rgba(140,129,118,.5);margin-bottom:4px}
.map-on .map-dot{background:var(--soft-gold);box-shadow:0 0 10px rgba(212,180,109,.8)}
.map-cap{font-family:var(--display);font-size:17px;color:var(--ink);line-height:1.2}
.map-bea{font-size:12.5px;color:var(--ash)}
.map-state{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-gold);margin-top:4px}

/* the constellation — the living signature map */
.const-wrap{margin:14px auto 6px;max-width:340px}
svg.const{display:block;width:100%;height:auto}
svg.const .const-lbl{font-family:var(--ui);font-size:10.5px;letter-spacing:.04em;fill:var(--ash);opacity:.7}
svg.const .const-lbl.on{fill:var(--muted-gold);opacity:1}
svg.const .const-core-l{font-family:var(--ui);font-size:9px;letter-spacing:.16em;text-transform:uppercase;fill:var(--muted-gold);opacity:.65}
svg.const .const-node{transition:transform .2s}
svg.const .const-node:active{transform:scale(.96);transform-origin:center}
svg.const .const-node:focus{outline:none}
svg.const .const-node:focus .const-lbl{fill:var(--soft-gold);opacity:1}
@keyframes constPulse{0%{opacity:.75}60%{opacity:.1}100%{opacity:.75}}
svg.const .const-pulse{animation:constPulse 3s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){svg.const .const-pulse{animation:none;opacity:.5}}

/* ===== THE THRESHOLD GATE — living, drawn-in-light (ported from the website hero) ===== */
.sh-gate{position:fixed;inset:0;z-index:60;background:radial-gradient(ellipse 130% 95% at 50% 50vh,#2c1c10 0%,#1a110a 36%,#0c0806 70%,#080604 100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:calc(54vh - 7px) 26px 46px;overflow:hidden}
.sh-gate>*:not(.th-scene){position:relative;z-index:1}
.sh-gate .th-scene{position:absolute;top:0;left:0;right:0;height:54vh;pointer-events:none}
.sh-gate .th-bloom{position:absolute;left:50%;bottom:-10vh;width:120vmin;height:64vmin;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 100%,rgba(198,150,76,.17),rgba(160,112,52,.07) 44%,transparent 70%);animation:thbreathe 8s ease-in-out infinite}
.sh-gate .th-portal{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:calc(54vh - 52px);aspect-ratio:640/800;opacity:.92}
.sh-gate .th-portal svg{display:block;width:100%;height:100%;overflow:visible}
.th-ring{transform-origin:320px 330px;animation:thspin 240s linear infinite}
.th-ringc{animation:thringb 13s ease-in-out infinite}
.th-draw{stroke-dasharray:1;stroke-dashoffset:0;animation:thdraw 3.4s cubic-bezier(.3,.6,.35,1) .4s backwards}
.th-draw2{animation-delay:1.1s;animation-duration:3s}
.th-draw3{animation-delay:1.8s;animation-duration:2.4s}
.sh-gate .th-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:linear-gradient(180deg,transparent 0%,rgba(212,180,109,.08) 16%,rgba(212,180,109,.34) 55%,rgba(232,196,128,.8) 88%,#f0d9a6 100%)}
.sh-gate .th-seam::before{content:"";position:absolute;top:0;bottom:0;left:-26px;right:-26px;background:linear-gradient(180deg,transparent 0%,rgba(212,180,109,.04) 32%,rgba(212,180,109,.12) 74%,rgba(232,196,128,.2) 100%);filter:blur(14px);animation:thbreathe 8s ease-in-out infinite}
.sh-gate .th-seam::after{content:"";position:absolute;left:50%;bottom:-8px;width:150px;height:64px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 100%,rgba(242,208,136,.55),rgba(212,160,80,.18) 46%,transparent 72%);filter:blur(6px);animation:thember 5.5s ease-in-out infinite}
.sh-gate .th-glint{position:absolute;left:50%;width:1px;margin-left:-.5px;height:110px;top:0;background:linear-gradient(180deg,transparent,rgba(246,232,202,.95),transparent);animation:thglint 7s cubic-bezier(.45,.1,.55,.9) infinite}
.sh-gate .th-motes i{position:absolute;bottom:7%;left:50%;width:3px;height:3px;border-radius:50%;background:#ecd29c;box-shadow:0 0 6px rgba(236,210,156,.8);opacity:0;animation:thmote linear infinite}
.sh-gate .th-motes i:nth-child(1){margin-left:-3px;animation-duration:13s;animation-delay:1s}
.sh-gate .th-motes i:nth-child(2){margin-left:15px;animation-duration:17s;animation-delay:4s;width:2px;height:2px}
.sh-gate .th-motes i:nth-child(3){margin-left:-19px;animation-duration:21s;animation-delay:7s;width:2px;height:2px}
.sh-gate .th-motes i:nth-child(4){margin-left:6px;animation-duration:15s;animation-delay:10s}
.sh-gate .th-motes i:nth-child(5){margin-left:-10px;animation-duration:19s;animation-delay:13s;width:2px;height:2px}
.sh-gate .th-motes i:nth-child(6){margin-left:28px;animation-duration:23s;animation-delay:5.5s;width:2px;height:2px}
.sh-gate .th-motes i:nth-child(7){margin-left:-32px;animation-duration:25s;animation-delay:16s;width:2px;height:2px}
.sh-gate .th-mark{position:relative;width:13px;height:13px;margin:0 auto 22px}
.sh-gate .th-mark::before{content:"";position:absolute;inset:0;background:var(--soft-gold);transform:rotate(45deg);animation:thmark 4.5s ease-in-out infinite}
.sh-gate h1{font-family:var(--display);font-size:30px;color:var(--warm-ivory);font-weight:500;letter-spacing:.01em}
.sh-gate .th-lines{color:#cdbfa8;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.8;margin-top:12px;text-shadow:0 1px 22px rgba(8,6,4,.9)}
.sh-gate .gate-cta{margin-top:28px}
.sh-gate .gate-cta button{font-family:var(--ui);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#f0d9a6;background:transparent;border:1px solid rgba(212,180,109,.5);border-radius:4px;padding:14px 30px;cursor:pointer;transition:background .3s,border-color .3s}
.sh-gate .gate-cta button:active{background:rgba(212,180,109,.12)}
.th-rise{opacity:0;animation:thrise 1.15s cubic-bezier(.22,.7,.35,1) forwards}
.th-d1{animation-delay:.2s}.th-d2{animation-delay:.5s}.th-d3{animation-delay:.85s}
@keyframes thbreathe{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes thember{0%,100%{opacity:.6;transform:translateX(-50%) scaleY(.88)}50%{opacity:1;transform:translateX(-50%) scaleY(1.14)}}
@keyframes thspin{to{transform:rotate(360deg)}}
@keyframes thringb{0%,100%{opacity:.24}50%{opacity:.46}}
@keyframes thdraw{from{stroke-dashoffset:1}}
@keyframes thglint{0%{transform:translateY(-16vh);opacity:0}10%{opacity:.95}70%{opacity:.6}100%{transform:translateY(54vh);opacity:0}}
@keyframes thmote{0%{transform:translateY(0) translateX(0);opacity:0}8%{opacity:.85}55%{opacity:.4;transform:translateY(-20vh) translateX(7px)}100%{transform:translateY(-38vh) translateX(-5px);opacity:0}}
@keyframes thmark{0%,100%{box-shadow:0 0 12px rgba(212,180,109,.7),0 0 32px rgba(212,180,109,.25)}50%{box-shadow:0 0 24px rgba(212,180,109,1),0 0 64px rgba(212,180,109,.5)}}
@keyframes thrise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* constellation base ring — slowly turning */
svg.const .const-ring{transform-box:fill-box;transform-origin:center;animation:constspin 200s linear infinite}
@keyframes constspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){
  .sh-gate *,.sh-gate *::before,.sh-gate *::after{animation:none!important}
  .sh-gate .th-glint,.sh-gate .th-motes{display:none}
  .sh-gate .th-rise{opacity:1}
  svg.const .const-ring{animation:none}
}

/* living threshold — the movement rail (quiet orientation, not a progress meter) */
.th-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.th-rail{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.th-step{width:8px;height:8px;border-radius:50%;border:none;padding:0;margin:0;background:rgba(140,129,118,.3);display:inline-block;flex:0 0 auto}
.th-step.done{background:var(--muted-gold);cursor:pointer}
.th-step.done:active{transform:scale(.85)}
.th-step.on{width:11px;height:11px;background:var(--soft-gold);box-shadow:0 0 8px rgba(212,180,109,.7)}
.th-step-l{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-gold);margin-left:5px;white-space:nowrap}
.th-leave{background:none;border:none;font-family:var(--ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);cursor:pointer;padding:4px 2px;white-space:nowrap;flex:0 0 auto}
.th-leave:active{color:var(--muted-gold)}

/* living threshold — the Altar of Sentences */
.th-q{font-family:var(--display);font-size:21px;line-height:1.35;color:var(--ink)}
.th-altar{width:100%;min-height:96px;margin-top:14px;padding:14px 15px;border:1px solid var(--muted-gold);border-radius:5px;background:var(--warm-ivory);font-family:var(--display);font-size:18px;line-height:1.5;color:var(--ink);resize:vertical}
.th-altar:focus{outline:none;border-color:var(--soft-gold);box-shadow:0 0 0 3px rgba(212,180,109,.16)}
.th-settle{min-height:160px;display:flex;align-items:flex-end;justify-content:center;padding:30px 8px 0}
.th-settle-s{font-family:var(--display);font-style:italic;font-size:21px;line-height:1.5;color:var(--codex-sepia);text-align:center;animation:thSettle 2.2s ease-in forwards}
@keyframes thSettle{0%{opacity:1;transform:translateY(-26px)}55%{opacity:1}100%{opacity:.32;transform:translateY(8px)}}
.th-motion{margin-top:18px}
/* somatic breath */
.th-breath{width:120px;height:120px;border-radius:50%;margin:18px auto;background:radial-gradient(circle at 50% 50%,rgba(232,196,122,.5),rgba(212,165,92,.12) 70%,transparent);border:1px solid rgba(212,165,92,.5);transform:scale(.6);transition:transform 4s ease-in-out}
.th-breath.in{transform:scale(1.15);transition-duration:4s}
.th-breath.hold{transform:scale(1.15);transition-duration:1.5s}
.th-breath.out{transform:scale(.6);transition-duration:6s}
.th-breath-cue{font-family:var(--ui);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-gold);margin-top:8px}
/* strata of witness — sentences laid like soil layers */
.strata{margin-top:16px;display:flex;flex-direction:column;gap:2px}
.stratum{border-left:2px solid var(--muted-gold);background:var(--bone);padding:13px 14px;border-radius:0 4px 4px 0}
.stratum-s{font-family:var(--display);font-style:italic;font-size:18px;line-height:1.5;color:var(--codex-sepia)}
.stratum-d{font-family:var(--ui);font-size:11px;letter-spacing:.05em;color:var(--ash);margin-top:7px}
.stratum-d a{color:var(--ash)}
.th-ev{margin:14px 0 4px;padding-left:20px}
.th-ev li{font-family:var(--display);font-size:17px;line-height:1.7;color:var(--ink)}
@media (prefers-reduced-motion: reduce){.th-settle-s{animation:none;opacity:.4}.th-breath,.th-breath.in,.th-breath.hold,.th-breath.out{transition:none;transform:scale(1)}}

/* onboarding tenets — the positioning, felt not advertised */
.tenets{margin-top:24px;text-align:left;display:flex;flex-direction:column;gap:16px}
.tenet{display:flex;gap:13px;align-items:flex-start}
.tenet-mark{flex:0 0 9px;width:9px;height:9px;margin-top:7px;background:var(--soft-gold);transform:rotate(45deg)}
.tenet-t{font-family:var(--display);font-size:18px;line-height:1.3;color:var(--ink)}
.tenet-b{font-size:14.5px;line-height:1.55;color:var(--ash);margin-top:3px}

/* coming-soon room */
.soon{text-align:center;padding:30px 10px}
.soon .tag{display:inline-block;font-family:var(--ui);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--blackened-sepia);background:var(--muted-gold);border-radius:3px;padding:3px 8px;margin-bottom:14px}

.toast{position:fixed;bottom:calc(var(--tabbar-h) + 48px + var(--safe-bot));left:50%;transform:translateX(-50%) translateY(20px);max-width:380px;width:88%;
  background:var(--blackened-sepia);color:var(--bone);font-size:14.5px;text-align:center;padding:14px 18px;border-radius:6px;
  border:1px solid rgba(182,138,58,.4);opacity:0;pointer-events:none;transition:opacity .4s,transform .4s;z-index:50}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

.fadein{animation:fade .6s ease backwards}
.breath-dot{display:inline-block;width:6px;height:6px;border:1px solid var(--muted-gold);transform:rotate(45deg);margin-left:8px;animation:pulse 1.5s ease infinite}

/* ── Movement One · chapter list (the reader's table of chapters) ── */
.mo-list{display:flex;flex-direction:column;gap:9px}
.mo-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:rgba(255,255,255,.02);border:1px solid rgba(210,180,109,.18);border-radius:13px;padding:14px 16px;cursor:pointer;color:inherit;font:inherit;transition:border-color .25s,background .25s}
.mo-row:hover{border-color:rgba(210,180,109,.42)}
.mo-row .mo-num{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;color:var(--codex-sepia,#d8b46a);width:24px;text-align:center;flex:none}
.mo-row .mo-title{flex:1;/* was 'EB Garamond', which this app has never once loaded — it is in no
     font link and on no ordinary machine, so these rules have always drawn in
     Georgia while claiming otherwise. Cormorant Garamond is the family the
     row's own numeral already uses, one line above. */
  font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;line-height:1.3}
.mo-row .mo-state{color:var(--codex-sepia,#d8b46a);font-size:16px;flex:none}
.mo-row.done{opacity:1}
.mo-row.done .mo-title,.mo-row.done .mo-num{color:var(--ash,#8a7a5e)}
.mo-row.locked{opacity:.4;cursor:default;background:transparent;border-style:dashed}
.mo-row.locked .mo-num,.mo-row.locked .mo-state{color:var(--ash,#8a7a5e)}

/* ---------- the House at dusk — lamps lowered ---------- */
/* the House lowers its lamps as night falls — a felt-but-quiet dusk, app-wide.
   --label-gold and --ash were tuned for the daytime --bone/--warm-ivory; as
   those darken at dusk and after dark, --label-gold/--ash text drawn on them
   drops below AA (label-gold 4.67:1 day -> 4.2:1 evening -> 3.92:1 night;
   ash 5.13:1 day -> 4.61:1 evening -> 4.31:1 night). Darken both tokens in
   step with the backgrounds so the same text stays >=4.5:1 at every hour. */
/* V560 · one prepared visual room. Time may change the invitation, but it no
   longer repaints the entire interface. The audio-led welcome is the canonical
   light ground for Today, the Returns, Inner Weather, Season, Together,
   Library, Settings, and Threshold. Intentional dark teaching/audio surfaces
   and the chosen Stillness mode remain distinct. */
body.sh-evening{--warm-ivory:#FFF9EF;--bone:#F4EBDD;--label-gold:#745020}
/* --ash is no longer listed here: the base is now #60574C, so repeating it
   would be a rule that claims to darken something and does not. */
body.sh-night{--warm-ivory:#FFF9EF;--bone:#F4EBDD;--label-gold:#745020}
/* Stillness (body.quiet) sits its cards on a near-transparent tint over the
   dark screen background instead, where the original (lighter) tokens were
   already the correct, legible choice — restore them so dusk/night don't
   double-darken text that is already on a dark ground. */
/* STILLNESS TURNED THE GROUND NEAR-BLACK AND LEFT THE TEXT WHERE IT WAS.
   Measured 5 August 2026 with tools/contrast-audit.mjs — seven screens in five
   modes, sampling the rendered pixel under each line rather than the
   stylesheet. Every daylight mode came back with nine to thirteen text runs
   below AA. Stillness came back with a hundred and six.

   The reason is in the two rules above this one: the mode repaints the surface
   and then restores the LIGHT-page tokens on top of it. The note that used to
   sit here said the original tokens "were already the correct, legible choice"
   over the dark screen. They were not. --codex-sepia measured 1.2:1 on the
   settings pills, --label-gold 2.51:1 on every room label, --ash 2.53:1.

   Each selector below is one the audit named. Nothing here is fixed on
   suspicion, and nothing the audit named is left out.

   --ash moves at the token level because it is text-only — 121 colour uses and
   one fill, no background, no border. --codex-sepia and --label-gold do NOT:
   Stillness keeps some light panels (the Codex summary card), and flipping
   their tokens would ruin the very text it was meant to rescue. */
body.quiet{--ash:#B7AAA0}
body.quiet.sh-evening,
body.quiet.sh-night{--label-gold:#7E5A22}
body.quiet .screen button,
body.quiet .screen .settings-pill,
body.quiet .screen .settings-subhead,
body.quiet .screen strong,
/* .card .label — 2.29:1 on the Codex sync card, #7E5A22 on #35281E.
   This block says "nothing the audit named is left out", and that was true:
   the audit had never named it. It was being run where the webfonts could not
   load, which laid the page out differently and never measured this element at
   all. Named on 11 August 2026 by a runner and a Mac that agreed to the hex.
   Safe as a blanket rule because it was checked rather than assumed: of every
   p.label rendered in Stillness, exactly two exist — this one, and one already
   at 8.88:1. Not one of them sits on a light panel. */
body.quiet .screen .card .label,
body.quiet .screen p > a{color:var(--soft-gold)}
body.quiet .screen .room-label,
body.quiet .screen .settings-door-kicker,
body.quiet .screen .journey-kicker,
body.quiet .screen .eyebrow,
body.quiet .screen .mo-state,
body.quiet .screen .sh-glabel,
body.quiet .screen small{color:var(--soft-gold)}
/* .surface-paper is rgba(244,235,221,.78) — nearly opaque cream. Over the
   Stillness screen it composites to a mid-grey #9A9187, and the light text
   laid on it lands at 1.37:1. The other surfaces in this mode are already
   tinted down to .08; this one was missed. */
body.quiet .screen .surface-paper{background:rgba(244,235,221,.08);border-color:rgba(210,180,109,.16)}
.app-frame{transition:background 1s ease}
/* ── Component kit — the monastic primitives, so every screen speaks one language ── */
.sh-cmd{display:inline-block;background:none;border:none;cursor:pointer;font-family:var(--ui);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--codex-sepia);padding:10px 6px;text-decoration:none}
.sh-cmd.gold{color:var(--muted-gold)}
.sh-cmd.full{display:block;width:100%;text-align:center}
.sh-link{display:inline-block;background:none;border:none;cursor:pointer;font-family:var(--display);font-style:italic;font-size:14px;color:var(--ash-quiet);padding:4px 8px;text-decoration:none}
.sh-hair{height:1px;background:rgba(140,129,118,.16);margin:34px 0 0}
.sh-glabel{font-family:var(--ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold);display:block}
.sh-sect{margin-top:28px}

/* ---------- micro-breathing between rooms — a pure cross-fade, one breath ---------- */
@keyframes shBloom{from{opacity:0}to{opacity:1}}
.screen-in{animation:shBloom .38s ease}
@media (prefers-reduced-motion: reduce){.screen-in{animation:none}}

/* ============================================================
   SECOND HUMANITY — Sanctuary UI elevation overlay
   Rooms, vessels, threshold map, and stillness depth.
   Safe to remove as one block if needed.
   ============================================================ */
:root{ --sh-line:rgba(140,129,118,.18); --sh-gold-line:rgba(182,138,58,.34); }
.screen{background:
  radial-gradient(ellipse at 50% -80px, rgba(210,180,109,.11), transparent 48%),
  linear-gradient(180deg, var(--warm-ivory), #f8efe2 55%, var(--warm-ivory));}
/* --tab-count is declared in the main .tabbar rule near the top of this file;
   only the 5-tab flag lives here, so the selector has one home, not two */
.tabbar.four-room-nav{--tab-count:4}
.tabbar.four-room-nav .tab-l{font-size:9.8px;letter-spacing:.06em}
.sanctuary-hero{position:relative;min-height:calc(100dvh - 230px);display:flex;flex-direction:column;justify-content:center;padding:20px 4px 28px;text-align:center}
.sanctuary-hero::before{content:"";position:absolute;inset:22px 6px auto;height:42%;pointer-events:none;background:radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.18), transparent 68%);opacity:.9}
.sanctuary-hero>*{position:relative}
.sanctuary-hero .h-date{letter-spacing:.18em;color:var(--label-gold)}
.sanctuary-arrival-q{font-family:var(--display);font-style:italic;font-size:21px;line-height:1.45;color:var(--codex-sepia);margin-top:28px}
.arrival-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 14px;margin:18px auto 0;max-width:360px}
.arrival-choice{font-family:var(--display);font-size:16px;color:var(--codex-sepia);background:transparent;border:0;border-bottom:1px solid transparent;padding:5px 2px;opacity:.76}
.arrival-choice.selected,.arrival-choice:hover{opacity:1;color:var(--muted-gold);border-bottom-color:rgba(182,138,58,.45)}
.open-sentence{margin:32px auto 0;max-width:390px;text-align:center}
.open-sentence .s{font-family:var(--display);font-style:italic;font-size:22px;line-height:1.55;color:var(--codex-sepia)}
.open-sentence .k{font-family:var(--ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);opacity:.65;margin-top:10px}
.sanctuary-door{margin:34px auto 0;max-width:390px;padding:22px 20px;border:1px solid rgba(182,138,58,.32);border-radius:18px;background:linear-gradient(180deg,rgba(255,249,239,.88),rgba(244,235,221,.68));box-shadow:0 20px 52px rgba(42,27,20,.07), inset 0 1px 0 rgba(255,255,255,.5)}
.sanctuary-door .door-label{font-family:var(--ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}
.sanctuary-door .door-title{font-family:var(--head);font-size:24px;line-height:1.15;color:var(--ink);margin-top:6px}
.sanctuary-door .door-body{color:var(--ash);line-height:1.65;margin-top:7px}
.sanctuary-links{margin:16px auto 0;text-align:center;color:var(--ash);font-family:var(--display);font-style:italic;font-size:14.5px}
.sanctuary-links button{background:none;border:0;color:var(--ash);font:inherit;font-style:italic;padding:4px 8px}
.room-section{position:relative;margin-top:34px;padding:22px 18px 20px;border:1px solid var(--sh-line);border-radius:16px;background:radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.08), transparent 62%),rgba(244,235,221,.72);box-shadow:0 18px 38px rgba(42,27,20,.055)}
.room-section::before{content:"";position:absolute;top:-7px;left:50%;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);background:var(--warm-ivory);border-left:1px solid rgba(182,138,58,.34);border-top:1px solid rgba(182,138,58,.34)}
.room-label{font-family:var(--ui);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--label-gold);margin-bottom:8px}
.room-title{font-family:var(--head);font-size:22px;line-height:1.18;color:var(--ink);margin:0}
.room-body{margin-top:8px;color:var(--ash);line-height:1.7}
.section-seal{display:flex;align-items:center;gap:10px;margin:26px 0 4px;opacity:.72}.section-seal::before,.section-seal::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(182,138,58,.35))}.section-seal::after{background:linear-gradient(90deg,rgba(182,138,58,.35),transparent)}.section-seal span{width:8px;height:8px;transform:rotate(45deg);border:1px solid rgba(182,138,58,.7)}
.surface-air{margin-top:28px}.surface-paper{padding:18px;border-radius:14px;background:rgba(244,235,221,.78);border:1px solid var(--sh-line)}.surface-altar{padding:22px 20px;border-radius:18px;background:radial-gradient(ellipse at 50% 0%,rgba(210,180,109,.18),transparent 64%),var(--warm-ivory);border:1px solid rgba(182,138,58,.42);box-shadow:0 18px 42px rgba(42,27,20,.08)}.surface-mirror{padding:24px 20px;border-radius:18px;background:radial-gradient(ellipse at 50% 0%,rgba(210,180,109,.16),transparent 60%),linear-gradient(160deg,#241814,#160f0c);border:1px solid rgba(210,180,109,.25);color:var(--bone)}.surface-mirror .room-label,.surface-mirror .label,.surface-mirror .eyebrow{color:var(--soft-gold)}.surface-mirror p{color:#d8c7a6}.surface-mirror h1,.surface-mirror h2,.surface-mirror h3{color:#f3e6c8}
.walk-map{position:relative;margin:28px 0 18px;padding:8px 0 4px}.walk-map::before{content:"";position:absolute;top:12px;bottom:12px;left:23px;width:1px;background:linear-gradient(180deg,rgba(182,138,58,.12),rgba(182,138,58,.62),rgba(182,138,58,.12))}.walk-gate{position:relative;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;margin:0 0 18px}.walk-node{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--bone);border:1px solid rgba(140,129,118,.28);color:var(--ash);font-family:var(--smallcaps);font-size:13px;letter-spacing:.08em}.walk-gate.done .walk-node{border-color:rgba(182,138,58,.45);color:var(--label-gold);background:radial-gradient(circle,rgba(210,180,109,.18),var(--bone) 68%)}.walk-gate.current .walk-node{color:var(--ink);border-color:var(--soft-gold);box-shadow:0 0 0 4px rgba(210,180,109,.12),0 0 24px rgba(210,180,109,.32)}.walk-gate.locked{opacity:.55}.walk-card{padding:14px 16px;border-radius:14px;background:rgba(255,249,239,.68);border:1px solid rgba(140,129,118,.18)}.walk-gate.current .walk-card{background:radial-gradient(ellipse at 0% 0%,rgba(210,180,109,.16),transparent 62%),var(--warm-ivory);border-color:rgba(182,138,58,.46)}.walk-kicker{font-family:var(--ui);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}.walk-name{margin-top:4px;font-family:var(--display);font-size:18px;line-height:1.3;color:var(--codex-sepia)}.walk-desc{margin-top:5px;font-size:14px;line-height:1.55;color:var(--ash)}
/* collapsible sections — Thresholds of Becoming (Walk) & the Nine Doors (Companion) */
.sh-collapse{margin:20px 0 6px}
.sh-collapse>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:radial-gradient(ellipse at 0% 0%,rgba(210,180,109,.16),transparent 62%),var(--warm-ivory);border:1px solid rgba(182,138,58,.46);transition:border-color .2s}
.sh-collapse>summary::-webkit-details-marker{display:none}
.sh-collapse>summary:hover{border-color:var(--soft-gold)}
.sh-sum-node{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--bone);border:1px solid var(--soft-gold);color:var(--ink);font-family:var(--smallcaps);font-size:13px;letter-spacing:.08em;box-shadow:0 0 0 4px rgba(210,180,109,.12)}
.sh-sum-meat{min-width:0}
.sh-sum-kicker{display:block;font-family:var(--ui);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}
.sh-sum-name{display:block;margin-top:4px;font-family:var(--display);font-size:18px;line-height:1.3;color:var(--codex-sepia);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-sum-toggle{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold);white-space:nowrap}
.sh-sum-toggle::after{content:" ↓";font-size:11px}
.sh-collapse[open]>summary .sh-sum-toggle::after{content:" ↑"}
.sh-collapse[open]>summary{margin-bottom:4px}
.sh-collapse>.walk-map,.sh-collapse>.companion-door-list{margin-top:6px}
/* daily returns strip in the sanctuary door (Morning · Midday · Evening) */
.returns-strip{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.return-step{background:none;border:none;cursor:pointer;font-family:var(--ui);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ash);padding:4px 2px}
.return-step.done{color:var(--label-gold)}
.return-step .rs-check{color:var(--muted-gold)}
.rs-sep{color:var(--ash);opacity:.4}
.walk-movement{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:16px}.walk-movement span{font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--ash);border:1px solid rgba(140,129,118,.16);border-radius:999px;padding:6px 4px;background:rgba(255,249,239,.54)}.walk-movement .on{color:var(--codex-sepia);border-color:rgba(182,138,58,.42);background:rgba(210,180,109,.11)}
.vessel-card{position:relative;margin-top:18px;padding:22px 20px;border-radius:18px;overflow:hidden;border:1px solid rgba(140,129,118,.2);background:var(--bone);box-shadow:0 18px 42px rgba(42,27,20,.06)}.vessel-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.9}.vessel-card.crucible{border-color:rgba(138,79,31,.38)}.vessel-card.crucible::before{background:radial-gradient(ellipse at 50% 100%,rgba(138,79,31,.22),transparent 68%)}.vessel-card.circle{border-color:rgba(182,138,58,.34)}.vessel-card.circle::before{background:radial-gradient(circle at 50% 0%,rgba(210,180,109,.16),transparent 64%)}.vessel-card>*{position:relative}.vessel-title{font-family:var(--head);font-size:24px;line-height:1.15;color:var(--ink);margin-top:4px}.vessel-sub{font-family:var(--display);font-style:italic;color:var(--ash);line-height:1.55;margin-top:5px}.vessel-action{display:inline-block;margin-top:12px;font-family:var(--ui);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--codex-sepia)}
body.quiet .tab .tab-l{display:none}body.quiet .topbar,body.quiet .tabbar{opacity:.52}body.quiet .screen{background:radial-gradient(ellipse at 50% 12%,rgba(210,180,109,.08),transparent 55%),#1E1612;color:var(--bone)}body.quiet .h-greet,body.quiet h1,body.quiet h2,body.quiet h3{color:var(--bone)}body.quiet .lede,body.quiet .muted,body.quiet .ghint,body.quiet .room-body{color:#b7aaa0}body.quiet .card,body.quiet .room-section,body.quiet .surface-paper,body.quiet .surface-altar{background:rgba(244,235,221,.08);border-color:rgba(210,180,109,.16);box-shadow:none}body.quiet .open-sentence .s,body.quiet .walk-name,body.quiet .room-title{color:#f3e6c8}

/* Route-specific room separation for the densest pages. */
.becoming-screen .sh-sect,.becoming-screen details,.together-screen .sh-sect{position:relative;margin-top:34px;padding:20px 18px;border:1px solid var(--sh-line);border-radius:16px;background:rgba(244,235,221,.58);box-shadow:0 16px 34px rgba(42,27,20,.045)}
.becoming-screen .sh-hair,.together-screen .sh-hair{background:linear-gradient(90deg,transparent,rgba(182,138,58,.32),transparent);margin:34px 0 0}
.becoming-screen .card,.together-screen .card{border-radius:14px}

/* ==========================================================
   FINAL ELEVATION — The Crucible Pathway
   Makes the relational walk feel equal in depth to the individual Threshold map.
   ========================================================== */
.crucible-bond-shell.room-section{
  padding:0 0 22px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(201,122,84,.12), transparent 58%),
    rgba(244,235,221,.76);
  border-color:rgba(138,79,31,.26);
}
.crucible-bond-shell.room-section::before{display:none}
.crucible-hero{
  position:relative;
  padding:26px 22px 24px;
  text-align:center;
  color:var(--bone);
  background:
    radial-gradient(ellipse at 50% 112%, rgba(244,216,150,.18), transparent 55%),
    radial-gradient(ellipse at 50% 0%, rgba(201,122,84,.18), transparent 62%),
    linear-gradient(160deg,#241611,#130d09 72%);
  border-bottom:1px solid rgba(210,180,109,.18);
}
.crucible-hero .room-label{color:#E0B45A;margin-bottom:10px}
.crucible-hero h2{
  font-family:var(--head);
  font-size:27px;
  line-height:1.08;
  margin:10px 0 0;
  color:#F4E6C6;
}
.crucible-hero-line{
  margin:10px auto 0;
  max-width:320px;
  font-family:var(--display);
  font-size:16px;
  line-height:1.55;
  color:#D8C29B;
}
.crucible-hero-line strong{color:#F3D991;font-weight:400}
.crucible-hero-sub{
  margin:8px auto 0;
  max-width:330px;
  font-size:12.5px;
  line-height:1.55;
  color:#AFA086;
}
.crucible-rings{position:relative;width:62px;height:36px;margin:0 auto;display:block}
.crucible-rings span{position:absolute;top:2px;width:32px;height:32px;border-radius:50%;box-shadow:0 0 16px rgba(224,180,90,.18)}
.crucible-rings span:first-child{left:2px;border:1.7px solid #E0B45A}
.crucible-rings span:nth-child(2){right:2px;border:1.7px solid #C07A54}
.crucible-rings i{position:absolute;left:28px;top:15px;width:6px;height:6px;border-radius:50%;background:#F6E6C8;box-shadow:0 0 18px rgba(246,230,200,.65)}
.crucible-bond-shell > .sh-sect,
.crucible-bond-shell > .room-section,
.crucible-bond-shell > .crucible-pathway,
.crucible-bond-shell > div:not(.crucible-hero){
  margin-left:16px;
  margin-right:16px;
}
.crucible-pathway.room-section{
  padding:18px 0 20px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.crucible-pathway.room-section::before{display:none}
.crucible-map-panel{
  position:relative;
  padding:20px 12px 14px;
  border-radius:20px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(224,180,90,.11), transparent 58%),
    linear-gradient(160deg,#20130d,#110c07 74%);
  border:1px solid rgba(210,180,109,.22);
  box-shadow:0 24px 52px rgba(42,27,20,.16);
  color:#F4E6C6;
}
.crucible-map-panel .room-label{color:#E0B45A;text-align:center}
.crucible-map-panel h3{
  margin:5px 0 0;
  text-align:center;
  font-family:var(--head);
  font-size:23px;
  color:#F4E6C6;
}
.crucible-map-panel svg{margin-top:14px;box-shadow:inset 0 0 0 1px rgba(210,180,109,.06)}
.crucible-being-met{
  margin-top:18px;
  padding:17px 16px;
  border-radius:15px;
  background:rgba(255,249,239,.72);
  border:1px solid rgba(182,138,58,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}
.crucible-being-met p:not(.room-label){
  color:var(--ash);
  line-height:1.65;
  margin-top:5px;
}
.crucible-being-met strong,.crucible-being-met em{color:var(--codex-sepia)}
.crucible-rhythm{
  margin-top:18px;
  padding:20px 17px;
  border-radius:16px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.12), transparent 62%),
    rgba(244,235,221,.82);
  border:1px solid rgba(140,129,118,.18);
}
.crucible-rhythm .room-label{text-align:center}
.crucible-rhythm h3{
  margin:5px auto 0;
  max-width:300px;
  text-align:center;
  font-family:var(--head);
  font-size:21px;
  line-height:1.16;
  color:var(--ink);
}
.crhythm-row{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:10px;
  align-items:start;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid rgba(140,129,118,.14);
}
.crhythm-row span{
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.crhythm-row p{margin:0;color:var(--ash);line-height:1.55;font-size:14px}
.crucible-pact{
  margin-top:18px;
  padding:17px 16px 16px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,249,239,.78),rgba(244,235,221,.76));
  border:1px solid rgba(140,129,118,.18);
}
.crucible-pact > div{
  padding:0 0 12px;
  margin-bottom:12px;
  border-bottom:1px solid rgba(140,129,118,.13);
}
.crucible-pact > div p:last-child{
  margin-top:4px;
  color:var(--ash);
  line-height:1.56;
  font-size:14px;
}
.crucible-pact-seal{
  margin:2px auto 0;
  max-width:320px;
  text-align:center;
  font-family:var(--display);
  font-style:italic;
  color:var(--codex-sepia);
  line-height:1.55;
}
body.quiet .crucible-bond-shell.room-section{background:rgba(244,235,221,.06);border-color:rgba(210,180,109,.14)}
body.quiet .crucible-hero{background:radial-gradient(ellipse at 50% 100%,rgba(210,180,109,.08),transparent 58%),linear-gradient(160deg,#17100d,#0e0907)}
body.quiet .crucible-being-met,body.quiet .crucible-rhythm,body.quiet .crucible-pact{background:rgba(244,235,221,.06);border-color:rgba(210,180,109,.14)}
body.quiet .crhythm-row p,body.quiet .crucible-pact > div p:last-child,body.quiet .crucible-being-met p:not(.room-label){color:#b7aaa0}
body.quiet .crucible-map-panel{box-shadow:none;border-color:rgba(210,180,109,.16)}



/* ==========================================================
   CIRCLE ROOM — restored House card + speech chamber
   ========================================================== */
.circle-room-card{
  position:relative;
  margin-top:28px;
  padding:22px 18px 20px;
  border-radius:18px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.09), transparent 62%),
    linear-gradient(180deg,rgba(255,249,239,.86),rgba(244,235,221,.72));
  border:1px solid rgba(182,138,58,.22);
  box-shadow:0 18px 38px rgba(42,27,20,.055), inset 0 1px 0 rgba(255,255,255,.46);
}
.circle-card-title{
  display:flex;
  align-items:center;
  gap:14px;
  justify-content:center;
  margin:0 auto 18px;
}
.circle-card-title span{height:1px;flex:1;max-width:130px;background:linear-gradient(90deg,transparent,rgba(182,138,58,.38))}
.circle-card-title span:last-child{background:linear-gradient(90deg,rgba(182,138,58,.38),transparent)}
.circle-card-title p{
  margin:0;
  font-family:var(--ui);
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--muted-gold);
  white-space:nowrap;
}
.circle-people-row{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:4px;
}
.circle-steward{
  margin:20px auto 0;
  text-align:center;
  font-family:var(--display);
  font-style:italic;
  font-size:19px;
  color:var(--ash);
}
.circle-card-seal{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:20px auto 0;
  max-width:220px;
}
.circle-card-seal::before,
.circle-card-seal::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(182,138,58,.32));
}
.circle-card-seal::after{background:linear-gradient(90deg,rgba(182,138,58,.32),transparent)}
.circle-card-seal span{
  width:7px;
  height:7px;
  transform:rotate(45deg);
  border:1px solid rgba(182,138,58,.54);
}
.circle-room-icon{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--codex-sepia);
  font-family:var(--display);
  font-size:28px;
  border:1px solid rgba(182,138,58,.28);
  background:rgba(255,249,239,.38);
}
.circle-room-sub{
  margin:0 auto 18px;
  text-align:center;
  font-family:var(--display);
  font-style:italic;
  font-size:21px;
  line-height:1.35;
  color:var(--ash);
}
.circle-room-messages{margin-top:4px}
.circle-speech-card textarea{
  background:rgba(255,255,255,.28)!important;
  border-color:rgba(140,129,118,.25)!important;
}
body.quiet .circle-room-card{background:rgba(244,235,221,.06);border-color:rgba(210,180,109,.14);box-shadow:none}
body.quiet .circle-room-icon{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.14)}
body.quiet .circle-card-title p{color:#f1e2c4}
body.quiet .circle-room-sub,
body.quiet .circle-steward{color:#b7aaa0}
@media (max-width:420px){
  .circle-people-row{gap:12px}
}

/* ==========================================================
   CIRCLE FIELD ATLAS — v492 Long Table surface
   The shared field leads; the room remains below it. Offered weather is
   authored by a member, never inferred by the House.
   ========================================================== */
.circle-field-atlas-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}
.circle-field-atlas-head h2{margin-top:5px;font-family:var(--head);font-size:27px;line-height:1.08;color:var(--ink)}
.circle-field-atlas-head p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ash)}
.circle-field-atlas-head>span{font-size:27px;color:#786184;padding:4px 8px}
.circle-field-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:17px}
.circle-field-layer{min-height:180px;padding:12px 10px;border-top:3px solid #786184;background:rgba(255,252,247,.66)}
.circle-field-layer.is-weather{border-color:#a3784e;background:rgba(248,239,222,.62)}
.circle-field-layer.is-return{border-color:#52705a;background:rgba(246,248,239,.62)}
.circle-field-glyph{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(120,97,132,.42);border-radius:50%;font-family:var(--head);font-size:17px;color:#786184}
.circle-field-layer.is-weather .circle-field-glyph{border-color:rgba(163,120,78,.48);color:#a3784e}
.circle-field-layer.is-return .circle-field-glyph{border-color:rgba(82,112,90,.42);color:#52705a}
.circle-field-layer .room-label{margin-top:9px}
.circle-field-layer h3{margin-top:4px;font-family:var(--display);font-size:17px;line-height:1.18;color:var(--ink)}
.circle-field-layer p:not(.room-label){margin-top:7px;font-size:11.2px;line-height:1.48;color:var(--ash)}
.circle-field-layer small{display:block;margin-top:9px;font-size:9.5px;line-height:1.4;color:var(--ash-quiet)}
.circle-field-link{display:block;margin-top:10px;padding:0;border:0;background:none;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-ink);cursor:pointer;text-align:left}
.circle-field-link span{font-size:13px}
.circle-host-badge{font-family:var(--ui);font-size:18px;color:#e0b45a}
.circle-field-host-action{grid-column:1 / -1;margin-top:3px;padding:10px 12px;border:1px solid rgba(224,180,90,.4);border-radius:10px;background:rgba(255,243,212,.08);color:#f0d89e;font-family:var(--ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.circle-arrival{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:14px;padding:12px;border:1px solid rgba(140,129,118,.2);background:rgba(255,252,247,.58)}
.circle-arrival .room-label{margin:0;color:var(--label-ink)}
.circle-arrival p:not(.room-label){margin-top:5px;font-size:11px;line-height:1.4;color:var(--ash)}
.circle-arrival select{grid-column:2;grid-row:1 / span 2;width:154px;padding:9px 34px 9px 10px;font-size:11.5px}
.circle-arrival .sh-cmd{grid-column:1 / -1;width:100%;padding:10px 12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.circle-arrival small{grid-column:1 / -1;font-size:9.5px;color:var(--ash-quiet)}
.circle-offer-card{margin-top:16px;padding:18px 15px;border-color:rgba(163,120,78,.24);background:linear-gradient(180deg,rgba(248,239,222,.82),rgba(244,235,221,.72))}
.circle-offer-lede{margin:-6px 0 12px;font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ash)}
.circle-offer-list{display:grid;gap:8px;margin-top:10px}
.circle-offer-row{position:relative;padding:11px 11px 10px;border-left:2px solid rgba(163,120,78,.46);background:rgba(255,252,247,.6)}
.circle-offer-row>div{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.circle-offer-kind{font-family:var(--ui);font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;color:#a3784e}
.circle-offer-row strong{font-family:var(--display);font-size:13px;color:var(--ink)}
.circle-offer-row small{font-size:9px;color:var(--ash-quiet)}
.circle-offer-row>p{margin-top:6px;font-family:var(--display);font-size:15px;line-height:1.48;color:var(--codex-sepia);white-space:pre-wrap}
.circle-offer-withdraw{margin-top:6px;padding:0;border:0;background:none;color:var(--ash);font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.circle-offer-empty{padding:11px 0 3px}
.circle-offer-compose{margin-top:13px;padding-top:11px;border-top:1px solid rgba(163,120,78,.18)}
.circle-offer-compose summary{cursor:pointer;font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#a3784e}
.circle-offer-compose textarea{background:rgba(255,255,255,.28)!important;border-color:rgba(163,120,78,.25)!important}
body.quiet .circle-field-atlas-head h2,body.quiet .circle-field-layer h3{color:#f3e6c8}
body.quiet .circle-field-atlas-head p:not(.room-label),body.quiet .circle-field-layer p:not(.room-label),body.quiet .circle-field-layer small,body.quiet .circle-arrival p:not(.room-label){color:#b7aaa0}
body.quiet .circle-field-layer{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.16)}
body.quiet .circle-field-layer.is-weather{background:rgba(210,180,109,.06);border-top-color:#d3a46c}
body.quiet .circle-field-layer.is-return{background:rgba(82,112,90,.10);border-top-color:#7d9b82}
body.quiet .circle-arrival,body.quiet .circle-offer-card,body.quiet .circle-offer-row{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.14)}
@media (max-width:520px){
  .circle-field-layers{grid-template-columns:1fr}
  .circle-field-layer{min-height:0}
}
@media (max-width:420px){
  .circle-arrival{grid-template-columns:1fr}
  .circle-arrival select{grid-column:1;grid-row:auto;width:100%}
}

/* ==========================================================
   CIRCLE HARMONIZATION — keeper word + threshold walk
   ========================================================== */
.circle-keeper-word{
  padding:18px 16px;
  border-radius:18px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,249,239,.82), rgba(244,235,221,.76));
  border:1px solid rgba(182,138,58,.22);
  box-shadow:0 16px 38px rgba(42,27,20,.055), inset 0 1px 0 rgba(255,255,255,.42);
}
.circle-keeper-kicker{color:var(--label-gold)!important}
.circle-keeper-scroll{
  margin-top:10px;
  padding:16px 16px 14px;
  border-radius:14px;
  background:rgba(182,138,58,.06);
  border:1px solid rgba(182,138,58,.10);
}
.circle-keeper-body{
  margin:0;
  font-family:var(--head);
  font-size:20px;
  line-height:1.72;
  color:var(--codex-sepia);
  white-space:pre-wrap;
}
.circle-keeper-scripture{margin-top:10px}
.circle-threshold-intro,
.circle-threshold-cadence{
  padding:18px 16px;
  border-radius:18px;
  background:rgba(255,249,239,.72);
  border:1px solid rgba(182,138,58,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38);
}
.circle-threshold-intro{
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.11), transparent 60%),
    linear-gradient(180deg, rgba(255,249,239,.84), rgba(244,235,221,.80));
}
.circle-threshold-copy{
  margin-top:6px;
  color:var(--ash);
  line-height:1.68;
  font-size:15px;
}
.circle-threshold-copy strong{color:var(--codex-sepia)}
.circle-threshold-cadence{margin-top:12px}
.circle-cadence-row{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:12px 12px;
  border-radius:13px;
  margin-top:10px;
  background:rgba(255,255,255,.35);
  border:1px solid rgba(140,129,118,.12);
}
.circle-cadence-row strong{
  color:var(--codex-sepia);
  font-size:14.5px;
}
.circle-cadence-row span{
  color:var(--ash);
  font-size:13px;
}
.circle-cadence-row em{
  color:var(--muted-gold);
  font-style:normal;
  font-size:12px;
  text-align:right;
}
.circle-cadence-row.is-me{
  border-color:rgba(182,138,58,.28);
  background:linear-gradient(180deg, rgba(255,249,239,.88), rgba(244,235,221,.82));
}
.circle-threshold-note{
  margin-top:12px!important;
  padding-top:12px;
  border-top:1px solid rgba(140,129,118,.12);
}
@media (max-width:420px){
  .circle-keeper-body{font-size:18px}
  .circle-cadence-row{grid-template-columns:1fr;gap:4px}
  .circle-cadence-row em{text-align:left}
}
body.quiet .circle-keeper-word,
body.quiet .circle-threshold-intro,
body.quiet .circle-threshold-cadence{
  background:rgba(244,235,221,.06);
  border-color:rgba(210,180,109,.14);
  box-shadow:none;
}
body.quiet .circle-keeper-scroll,
body.quiet .circle-cadence-row{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.10)}
body.quiet .circle-keeper-body{color:var(--bone)}
body.quiet .circle-threshold-copy,
body.quiet .circle-cadence-row span,
body.quiet .circle-threshold-note,
body.quiet .circle-keeper-scripture{color:#b7aaa0}
body.quiet .circle-cadence-row strong{color:#f3e6c8}
body.quiet .circle-cadence-row em{color:#d3bf97}

/* ==========================================================
   THE HEAVENS — a Becoming room, never a sixth tab
   ========================================================== */
.heavens-becoming-door{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:13px;width:100%;margin:15px 0 3px;padding:17px 16px;text-align:left;border:1px solid rgba(182,138,58,.34);border-radius:18px;background:radial-gradient(circle at 8% 18%,rgba(210,180,109,.22),transparent 30%),linear-gradient(145deg,#2d201a,#17100d);color:var(--bone);box-shadow:0 18px 40px rgba(31,20,15,.14);cursor:pointer}
.heavens-door-sky{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(210,180,109,.44);border-radius:50%;color:var(--soft-gold);font-size:17px}
.heavens-becoming-door strong,.heavens-becoming-door em,.heavens-becoming-door small{display:block}
.heavens-becoming-door strong{font-family:var(--ui);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft-gold)}
.heavens-becoming-door em{margin-top:4px;font-family:var(--display);font-size:17px;line-height:1.35;color:#f0e1c6}
.heavens-becoming-door small{margin-top:6px;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#a99b8c}
.heavens-door-arrow{font-family:var(--ui);font-size:18px;color:var(--soft-gold)}
.heavens-screen{padding-top:16px}
.heavens-threshold,.heavens-transcript,.heavens-home{max-width:720px;margin:0 auto}
.heavens-night-panel{position:relative;overflow:hidden;margin-top:16px;padding:31px 23px 25px;border:1px solid rgba(210,180,109,.3);border-radius:24px;background:radial-gradient(circle at 78% 5%,rgba(210,180,109,.17),transparent 26%),radial-gradient(circle at 18% 26%,rgba(210,180,109,.08),transparent 22%),linear-gradient(160deg,#2b201b,#120d0b 72%);box-shadow:0 28px 64px rgba(29,18,13,.2);color:var(--bone)}
.heavens-night-panel::after{content:'✦   ·     ✧      ·   ✦';position:absolute;top:15px;right:18px;font-size:9px;letter-spacing:.55em;color:rgba(210,180,109,.4)}
.heavens-night-panel .room-label{color:var(--soft-gold)}
.heavens-night-panel h1,.heavens-transcript h1,.heavens-home h1{margin-top:9px;font-family:var(--head);font-size:clamp(31px,8vw,45px);line-height:1.04}
.heavens-night-panel h1{color:#f5e8ce}
.heavens-lede{margin-top:13px;font-family:var(--display);font-size:18px;line-height:1.55;color:var(--codex-sepia)}
.heavens-night-panel>.heavens-lede{color:#dec8a3}
.heavens-night-panel>p:last-of-type{margin-top:13px;font-family:var(--display);font-size:16px;line-height:1.68;color:#c7b9a7}
.heavens-entry-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:25px}
.heavens-entry-door{min-height:150px;padding:16px 14px;text-align:left;border:1px solid rgba(210,180,109,.28);border-radius:16px;background:rgba(244,235,221,.055);color:var(--bone);cursor:pointer}
.heavens-entry-door span,.heavens-entry-door em,.heavens-entry-door small{display:block}
.heavens-entry-door span{font-family:var(--ui);font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--soft-gold)}
.heavens-entry-door em{margin-top:10px;font-family:var(--display);font-size:15.5px;line-height:1.44;color:#eadbc1}
.heavens-entry-door small{margin-top:9px;font-family:var(--ui);font-size:9px;line-height:1.45;color:#9f9184}
.heavens-entry-door.is-preparing{opacity:.64;cursor:default}
.heavens-transcript>header,.heavens-home-hero{margin-top:17px;padding:25px 22px;border:1px solid rgba(182,138,58,.28);border-radius:22px;background:linear-gradient(155deg,rgba(255,249,239,.94),rgba(238,222,199,.72))}
.heavens-transcript h1,.heavens-home h1{color:var(--ink)}
.heavens-transcript article{max-width:620px;margin:25px auto 0;padding:0 5px}
.heavens-transcript article p{margin-top:17px;font-family:var(--display);font-size:17px;line-height:1.76;color:var(--ash)}
.heavens-transcript article .heavens-transcript-line{margin-top:20px;font-size:20px;font-style:italic;line-height:1.5;color:var(--codex-sepia)}
.heavens-transcript article p:nth-child(2){font-family:var(--head);font-size:30px;font-style:normal;color:var(--ink)}
.heavens-transcript-close{margin:30px 0 10px;padding:22px 20px;border-top:1px solid rgba(140,129,118,.2);text-align:center}
.heavens-transcript-close>p{margin-top:12px;font-family:var(--display);font-style:italic;font-size:13.5px;line-height:1.55;color:var(--ash)}
.heavens-home-hero h1{font-size:clamp(29px,7vw,40px)}
.heavens-held-card{margin-top:17px;padding:22px 20px;border:1px solid rgba(182,138,58,.3);border-radius:20px;background:rgba(255,249,239,.75)}
.heavens-held-card h2{margin-top:6px;font-family:var(--head);font-size:25px;line-height:1.14;color:var(--ink)}
.heavens-held-card>p:not(.room-label){margin-top:10px;font-family:var(--display);font-size:16px;line-height:1.65;color:var(--ash)}
.heavens-held-card .heavens-held-truth{padding-top:11px;border-top:1px solid rgba(140,129,118,.16);font-style:italic;color:var(--codex-sepia)}
.heavens-source-covenant{margin-top:15px;padding:22px 19px;border:1px solid rgba(91,119,95,.3);border-radius:21px;background:linear-gradient(155deg,rgba(238,244,235,.82),rgba(255,252,247,.78))}
.heavens-source-covenant>header{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}
.heavens-source-covenant>header h2{margin-top:6px;font-family:var(--head);font-size:27px;line-height:1.13;color:var(--ink)}
.heavens-source-covenant>header p:last-child{margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.58;color:var(--ash)}
.heavens-source-covenant>header>span{padding:6px 9px;border:1px solid rgba(91,119,95,.32);border-radius:999px;font-family:var(--ui);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#52705a;background:rgba(255,252,247,.54)}
.heavens-source-path{display:grid;gap:6px;margin-top:17px;padding:0;list-style:none}
.heavens-source-path li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:11px 12px;border:1px solid rgba(91,119,95,.15);border-radius:11px;background:rgba(255,252,247,.66)}
.heavens-source-path b{font-family:var(--head);font-size:16px;font-weight:400;color:rgba(82,112,90,.72)}
.heavens-source-path strong,.heavens-source-path small{display:block}.heavens-source-path strong{font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.heavens-source-path small{margin-top:4px;font-family:var(--display);font-size:11.5px;line-height:1.45;color:var(--ash)}
.heavens-source-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.heavens-source-choices article{padding:14px 13px;border-radius:12px;background:rgba(225,235,222,.52)}
.heavens-source-choices h3{margin-top:5px;font-family:var(--head);font-size:19px;line-height:1.16;color:var(--ink)}
.heavens-source-choices article>p:last-child{margin-top:7px;font-family:var(--display);font-size:11.5px;line-height:1.48;color:var(--ash)}
.heavens-source-covenant details{margin-top:10px;padding:12px 13px;border:1px solid rgba(91,119,95,.18);border-radius:12px;background:rgba(255,252,247,.55)}
.heavens-source-covenant summary{cursor:pointer;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#52705a}
.heavens-source-detail{display:grid;gap:7px;margin-top:11px}.heavens-source-detail p{padding-top:8px;border-top:1px solid rgba(91,119,95,.12);font-family:var(--display);font-size:11.5px;line-height:1.5;color:var(--ash)}.heavens-source-detail strong{display:block;margin-bottom:3px;font-family:var(--ui);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.heavens-source-covenant>footer{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(91,119,95,.18);font-family:var(--display);font-size:11px;line-height:1.45;color:var(--ash)}.heavens-source-covenant>footer strong{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#52705a}
.heavens-foundation-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.heavens-foundation-grid>button,.heavens-foundation-grid>div{padding:17px 16px;text-align:left;border:1px solid rgba(140,129,118,.18);border-radius:16px;background:rgba(255,249,239,.62)}
.heavens-foundation-grid>button{font:inherit;cursor:pointer}
.heavens-foundation-grid span,.heavens-foundation-grid em{display:block}
.heavens-foundation-grid span{font-family:var(--ui);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-gold)}
.heavens-foundation-grid em{margin-top:7px;font-family:var(--display);font-size:14.5px;line-height:1.52;color:var(--ash)}
body.quiet .heavens-becoming-door{border-color:rgba(210,180,109,.28);box-shadow:none}
body.quiet .heavens-transcript>header,body.quiet .heavens-home-hero,body.quiet .heavens-held-card,body.quiet .heavens-source-covenant,body.quiet .heavens-source-path li,body.quiet .heavens-source-choices article,body.quiet .heavens-source-covenant details,body.quiet .heavens-foundation-grid>button,body.quiet .heavens-foundation-grid>div{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.14)}
body.quiet .heavens-transcript h1,body.quiet .heavens-home h1,body.quiet .heavens-held-card h2,body.quiet .heavens-source-covenant h2,body.quiet .heavens-source-covenant h3,body.quiet .heavens-source-path strong{color:var(--bone)}
body.quiet .heavens-transcript article p,body.quiet .heavens-held-card>p:not(.room-label),body.quiet .heavens-source-covenant>header p:last-child,body.quiet .heavens-source-path small,body.quiet .heavens-source-choices article>p:last-child,body.quiet .heavens-source-detail p,body.quiet .heavens-source-covenant>footer,body.quiet .heavens-foundation-grid em{color:#b7aaa0}
body.quiet .heavens-transcript article .heavens-transcript-line,body.quiet .heavens-lede{color:#d8c5a1}
@media(max-width:620px){.heavens-entry-doors{grid-template-columns:1fr}.heavens-entry-door{min-height:0}.heavens-source-covenant>header,.heavens-source-covenant>footer,.heavens-source-choices{grid-template-columns:1fr}.heavens-source-covenant>header>span{justify-self:start}.heavens-foundation-grid{grid-template-columns:1fr}}

/* Individual Heavens interface study — v455. These de-identified founder
   reference studies remain inside the held room and never project into Today. */
.heavens-interface-study{margin-top:22px;border:1px solid rgba(182,138,58,.34);border-radius:24px;background:rgba(255,249,239,.78);box-shadow:0 22px 54px rgba(45,31,22,.1);overflow:hidden}
.heavens-interface-study>header{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;padding:24px 23px 19px;background:linear-gradient(145deg,rgba(247,237,220,.95),rgba(255,252,247,.78))}
.heavens-interface-study>header h2{margin-top:6px;font-family:var(--head);font-size:29px;line-height:1.12;color:var(--ink)}
.heavens-interface-study>header>div>p:last-child{max-width:510px;margin-top:8px;font-family:var(--display);font-size:15px;line-height:1.58;color:var(--ash)}
.heavens-study-seal{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(88,111,91,.36);border-radius:999px;font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#4f7055;background:rgba(231,240,228,.6)}
.heavens-study-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:1px;background:rgba(140,129,118,.18);border-top:1px solid rgba(140,129,118,.16);border-bottom:1px solid rgba(140,129,118,.16)}
.heavens-study-tabs button{padding:13px 9px;border:0;background:#f8f1e6;font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash);cursor:pointer}
.heavens-study-tabs button[aria-selected="true"]{background:var(--blackened-sepia);color:var(--soft-gold)}
#heavensStudyPanel{padding:20px}
.heavens-study-view{animation:fadeIn .3s ease both}
.heavens-study-context{display:grid;grid-template-columns:180px 1fr;gap:17px;align-items:start;margin-bottom:14px;padding:14px 15px;border-left:2px solid var(--muted-gold);background:rgba(239,224,200,.4)}
.heavens-study-context span{font-family:var(--ui);font-size:9px;line-height:1.55;letter-spacing:.13em;text-transform:uppercase;color:var(--label-gold)}
.heavens-study-context p{font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ash)}
.heavens-season-card{position:relative;overflow:hidden;padding:25px 22px 21px;border:1px solid rgba(210,180,109,.28);border-radius:20px;background:radial-gradient(circle at 84% 5%,rgba(210,180,109,.18),transparent 27%),linear-gradient(150deg,#30221b,#15100d);color:var(--bone)}
.heavens-season-card::after{content:'✦     ·       ✧';position:absolute;top:13px;right:15px;font-size:8px;letter-spacing:.45em;color:rgba(210,180,109,.38)}
.heavens-season-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.heavens-season-card h2{max-width:480px;margin-top:6px;font-family:var(--head);font-size:32px;line-height:1.08;color:#f2e4cc}
.heavens-season-card .room-label{color:var(--soft-gold)}
.heavens-posture{margin-top:23px;padding:6px 9px;border:1px solid rgba(210,180,109,.4);border-radius:999px;font-family:var(--ui);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--soft-gold)}
.heavens-season-lede{max-width:590px;margin-top:13px;font-family:var(--display);font-size:16px;line-height:1.62;color:#cfbea8}
.heavens-season-phases{display:grid;grid-template-columns:repeat(3,1fr);margin-top:21px;border-top:1px solid rgba(210,180,109,.2)}
.heavens-season-phases span{position:relative;padding:14px 4px 3px;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8f8175}
.heavens-season-phases span::before{content:'';position:absolute;width:7px;height:7px;top:-4px;left:4px;border:1px solid rgba(210,180,109,.5);border-radius:50%;background:#1d1511}
.heavens-season-phases .is-past{color:#b8aa9a}.heavens-season-phases .is-past::before{background:#89704a}.heavens-season-phases .is-now{color:var(--soft-gold)}.heavens-season-phases .is-now::before{background:var(--soft-gold);box-shadow:0 0 0 4px rgba(210,180,109,.1)}
.heavens-season-phases.is-schematic span{color:#9c8e80}.heavens-season-phases.is-schematic span::before{background:#1d1511;box-shadow:none}
.heavens-season-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}
.heavens-season-meta span{padding:11px;border:1px solid rgba(210,180,109,.14);border-radius:10px;font-family:var(--display);font-size:13px;line-height:1.4;color:#d7c9b8}
.heavens-season-meta small,.heavens-today-foot small{display:block;margin-bottom:4px;font-family:var(--ui);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#9e8e7f}
.heavens-study-key{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}
.heavens-study-key>span{display:grid;grid-template-columns:10px 1fr;column-gap:7px;padding:11px 9px;border:1px solid rgba(140,129,118,.16);border-radius:11px;background:rgba(255,252,247,.68)}
.heavens-study-key i{grid-row:1/3;width:7px;height:7px;margin-top:3px;border-radius:50%}.heavens-study-key .is-fact{background:#98743c}.heavens-study-key .is-symbol{background:#6c5772}.heavens-study-key .is-life{background:#52705a}.heavens-study-key .is-practice{background:#865c4e}
.heavens-study-key strong{font-family:var(--ui);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink)}
.heavens-study-key small{margin-top:3px;font-family:var(--display);font-size:10px;line-height:1.3;color:var(--ash)}
.heavens-reference-cases{margin:10px 0;padding:19px 17px;border:1px solid rgba(140,129,118,.18);border-radius:17px;background:rgba(255,252,247,.66)}
.heavens-reference-cases>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.heavens-reference-cases>header h3{margin-top:5px;font-family:var(--head);font-size:22px;line-height:1.18;color:var(--ink)}.heavens-reference-cases>header>span{flex:0 0 auto;padding:6px 8px;border:1px solid rgba(106,87,114,.28);border-radius:999px;background:rgba(108,87,114,.07);font-family:var(--ui);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#6c5772}
.heavens-reference-provenance{margin-top:10px;padding:11px 12px;border-left:2px solid rgba(108,87,114,.55);background:rgba(108,87,114,.05);font-family:var(--display);font-size:12.5px;line-height:1.55;color:var(--ash)}
.heavens-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.heavens-reference-grid article{display:flex;flex-direction:column;min-height:310px;padding:18px 16px;border:1px solid rgba(140,129,118,.16);border-radius:14px;background:rgba(248,240,227,.74)}.heavens-reference-grid article.is-refounding{border-top:3px solid #98743c}.heavens-reference-grid article.is-differentiating{border-top:3px solid #52705a}.heavens-reference-grid h4{margin-top:5px;font-family:var(--head);font-size:23px;line-height:1.13;color:var(--ink)}.heavens-reference-grid blockquote{margin:14px 0 0;padding-left:11px;border-left:1px solid rgba(182,138,58,.42);font-family:var(--display);font-size:16px;font-style:italic;line-height:1.48;color:var(--codex-sepia)}.heavens-reference-grid article>p:not(.room-label){margin-top:12px;font-family:var(--display);font-size:13px;line-height:1.55;color:var(--ash)}
.heavens-reference-grid dl{display:grid;gap:5px;margin-top:auto;padding-top:14px}.heavens-reference-grid dl>div{padding:8px 9px;border-radius:8px;background:rgba(255,252,247,.58)}.heavens-reference-grid dt{font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.heavens-reference-grid dd{margin-top:3px;font-family:var(--display);font-size:11.5px;line-height:1.4;color:var(--ash)}
.heavens-reading-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:10px}
.heavens-reading-card{padding:19px 17px;border:1px solid rgba(140,129,118,.18);border-radius:16px;background:rgba(255,252,247,.74)}
.heavens-reading-card h3,.heavens-field-map h3,.heavens-deeper-doors h3,.heavens-movement-card h3,.heavens-keeper-door h3,.heavens-report-list h3{margin-top:5px;font-family:var(--head);font-size:21px;line-height:1.18;color:var(--ink)}
.heavens-reading-card>p:not(.room-label){margin-top:12px;font-family:var(--display);font-size:14px;line-height:1.57;color:var(--ash)}
.heavens-reading-card>p strong{display:block;margin-bottom:4px;font-family:var(--ui);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--label-gold)}
.heavens-fact-line{padding:11px;border-left:2px solid #98743c;background:rgba(215,192,153,.18)}
.heavens-fact-line span{font-family:var(--ui);font-size:9px;line-height:1.5;color:var(--ash)}
.heavens-reading-card details{margin-top:13px;border-top:1px solid rgba(140,129,118,.16);padding-top:10px}.heavens-reading-card summary{font-family:var(--ui);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--label-gold);cursor:pointer}.heavens-reading-card details p{margin-top:9px;font-size:12px;line-height:1.52;color:var(--ash)}
.heavens-four-voices{display:grid;gap:7px;margin-top:13px;list-style:none;counter-reset:none}.heavens-four-voices li{padding:9px 10px;border-radius:9px;background:rgba(237,226,207,.48);font-family:var(--display);font-size:12px;line-height:1.4;color:var(--ash)}.heavens-four-voices span{display:block;margin-bottom:2px;font-family:var(--ui);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--label-gold)}
.heavens-no-conclusion{padding:10px;border:1px solid rgba(138,84,67,.18);border-radius:9px;background:rgba(149,93,74,.06)}
.heavens-field-map{margin-top:10px;padding:18px 17px;border:1px solid rgba(140,129,118,.18);border-radius:16px;background:rgba(255,252,247,.68)}
.heavens-field-map header{display:flex;justify-content:space-between;gap:12px;align-items:center}.heavens-field-map button,.heavens-deeper-doors button,.heavens-keeper-door button,.heavens-movement-actions button{padding:8px 10px;border:1px solid rgba(140,129,118,.22);border-radius:999px;background:transparent;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}
.heavens-field-map>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:14px}.heavens-field-map span{min-height:83px;padding:11px 9px;border-top:3px solid #98743c;background:rgba(239,224,200,.32)}.heavens-field-map span.is-act{border-color:#6f536d}.heavens-field-map span.is-review{border-color:#52705a}.heavens-field-map span.is-rest{border-color:#6a7480}.heavens-field-map strong,.heavens-field-map small{display:block}.heavens-field-map strong{font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.heavens-field-map small{margin-top:7px;font-family:var(--display);font-size:11px;line-height:1.4;color:var(--ash)}
.heavens-field-map button:not(:disabled),.heavens-witness-map>header button:not(:disabled){min-height:44px;padding-inline:15px;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.heavens-field-map button:not(:disabled):hover,.heavens-field-map button:not(:disabled):focus-visible,.heavens-witness-map>header button:not(:disabled):hover,.heavens-witness-map>header button:not(:disabled):focus-visible{border-color:rgba(152,116,60,.65);background:rgba(239,224,200,.34);color:var(--ink);outline:2px solid rgba(182,138,58,.22);outline-offset:2px}
.heavens-full-field-map[hidden],.heavens-witness-walkthrough[hidden]{display:none}.heavens-full-field-map{margin-top:16px;padding-top:17px;border-top:1px solid rgba(140,129,118,.2);outline:none}.heavens-full-field-map>header h4,.heavens-witness-walkthrough>header h4{margin-top:5px;font-family:var(--head);font-size:22px;line-height:1.2;color:var(--ink)}.heavens-full-field-map>header>p:last-child,.heavens-witness-walkthrough>header>p:last-child{margin-top:7px;font-family:var(--display);font-size:12.5px;line-height:1.5;color:var(--ash)}
.heavens-full-field-track{display:grid;gap:7px;margin-top:14px}.heavens-full-field-track article{position:relative;padding:13px 13px 13px 17px;border:1px solid rgba(140,129,118,.16);border-left:3px solid #98743c;border-radius:11px;background:rgba(255,252,247,.72)}.heavens-full-field-track article.is-act{border-left-color:#6f536d}.heavens-full-field-track article.is-review{border-left-color:#52705a}.heavens-full-field-track article.is-rest{border-left-color:#6a7480}.heavens-full-field-track span,.heavens-full-field-track strong,.heavens-full-field-track small{display:block}.heavens-full-field-track span{min-height:0;padding:0;border:0;background:none;font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash-quiet)}.heavens-full-field-track strong{margin-top:4px;font-size:10px}.heavens-full-field-track p{margin-top:5px;font-family:var(--display);font-size:13px;line-height:1.45;color:var(--ash)}.heavens-full-field-track small{margin-top:8px;padding-top:7px;border-top:1px solid rgba(140,129,118,.12);font-size:10.5px}.heavens-full-field-map>footer{display:grid;gap:3px;margin-top:10px;padding:11px 12px;border-radius:10px;background:rgba(239,224,200,.28);font-family:var(--display);font-size:11px;line-height:1.45;color:var(--ash)}.heavens-full-field-map>footer strong{font-family:var(--ui);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.heavens-full-field-map>footer span{min-height:0;padding:0;border:0;background:none}
.heavens-witness-map{margin-top:10px;padding:19px 17px;border:1px solid rgba(91,119,95,.24);border-radius:17px;background:linear-gradient(160deg,rgba(239,244,235,.76),rgba(255,252,247,.74))}.heavens-witness-map>header{display:grid;grid-template-columns:1fr;gap:12px;align-items:end}.heavens-witness-map>header h3{margin-top:5px;font-family:var(--head);font-size:23px;line-height:1.18;color:var(--ink)}.heavens-witness-map>header p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13px;line-height:1.5;color:var(--ash)}.heavens-witness-map>header button{justify-self:start;padding:8px 10px;border:1px solid rgba(91,119,95,.28);border-radius:999px;background:transparent;font-family:var(--ui);font-size:9px;line-height:1.3;letter-spacing:.07em;text-transform:uppercase;color:#52705a}
.heavens-witness-lanes{width:100%;margin-top:15px;border-collapse:separate;border-spacing:0 7px;table-layout:fixed}.heavens-witness-lanes caption{padding:0 0 5px;text-align:left;font-family:var(--ui);font-size:8px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-quiet)}.heavens-witness-lanes thead th{padding:0 3px 4px;text-align:center;font-family:var(--ui);font-size:8px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--ash-quiet)}.heavens-witness-lanes thead th:first-child{width:96px;text-align:left}.heavens-witness-lane>th{padding-right:8px;text-align:left;vertical-align:top;font-family:var(--ui);font-size:8px;line-height:1.35;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}.heavens-witness-lane td{position:relative;padding:2px 0 0;text-align:center;vertical-align:top}.heavens-witness-lane td::before{content:'';position:absolute;left:0;right:0;top:7px;height:1px;background:rgba(82,112,90,.32)}.heavens-witness-lane td:first-of-type::before{left:50%}.heavens-witness-lane td:last-child::before{right:50%}.heavens-witness-lane td>span{position:relative;z-index:1;display:block;min-width:0}.heavens-witness-lane i{display:block;width:10px;height:10px;margin:0 auto 6px;border:2px solid #f2ede3;border-radius:50%;background:#708476;box-shadow:0 0 0 1px rgba(82,112,90,.38)}.heavens-witness-lane small{display:block;padding:0 3px;font-family:var(--display);font-size:9px;line-height:1.25;color:var(--ash)}.heavens-witness-lane .is-selected i{background:#b68a3a;box-shadow:0 0 0 3px rgba(182,138,58,.15),0 0 0 1px rgba(119,84,29,.42)}.heavens-witness-lane.is-posture td::before{background:rgba(108,87,114,.3)}.heavens-witness-lane.is-posture i{background:#78657d;box-shadow:0 0 0 1px rgba(108,87,114,.38)}.heavens-witness-lane.is-life td::before{background:rgba(152,116,60,.32)}.heavens-witness-lane.is-life i{background:#98743c;box-shadow:0 0 0 1px rgba(152,116,60,.38)}
.heavens-witness-detail{margin-top:16px;padding:14px;border:1px solid rgba(91,119,95,.17);border-radius:13px;background:rgba(255,252,247,.72)}.heavens-witness-detail>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.heavens-witness-detail span{padding:10px;border-radius:9px;background:rgba(229,237,225,.46)}.heavens-witness-detail span:last-child{grid-column:1/-1}.heavens-witness-detail strong,.heavens-witness-detail small{display:block}.heavens-witness-detail strong{font-family:var(--ui);font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:#52705a}.heavens-witness-detail small{margin-top:5px;font-family:var(--display);font-size:11px;line-height:1.42;color:var(--ash)}.heavens-witness-map>footer{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.heavens-witness-map>footer p{padding:9px 10px;border-radius:9px;background:rgba(255,252,247,.58);font-family:var(--display);font-size:10.5px;line-height:1.42;color:var(--ash)}.heavens-witness-map>footer strong{color:var(--ink)}
.heavens-witness-walkthrough{margin-top:12px;padding:14px;border:1px solid rgba(91,119,95,.22);border-radius:13px;background:rgba(255,252,247,.74);outline:none}.heavens-witness-windows{display:grid;gap:7px;margin-top:12px}.heavens-witness-windows article{padding:11px;border-left:3px solid #708476;border-radius:9px;background:rgba(229,237,225,.48)}.heavens-witness-windows span,.heavens-witness-windows strong{display:block}.heavens-witness-windows span{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#52705a}.heavens-witness-windows strong{margin-top:4px;font-family:var(--display);font-size:13px;color:var(--ink)}.heavens-witness-windows p{margin-top:5px;font-family:var(--display);font-size:11.5px;line-height:1.45;color:var(--ash)}.heavens-witness-answers{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;padding:0;list-style:none}.heavens-witness-answers li{min-height:0;padding:6px 8px;border:1px solid rgba(91,119,95,.18);border-radius:999px;background:rgba(255,252,247,.72);font-family:var(--ui);font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:#52705a}.heavens-witness-walkthrough>footer{margin-top:10px;padding-top:9px;border-top:1px solid rgba(91,119,95,.17);font-family:var(--display);font-size:11px;line-height:1.45;color:var(--ash)}
.heavens-entry-door:disabled,.heavens-deeper-doors button:disabled,.heavens-keeper-door button:disabled,.heavens-movement-actions button:disabled,.heavens-today-actions button:disabled{border-style:dashed;opacity:.58;cursor:not-allowed;filter:saturate(.65)}
.heavens-deeper-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.heavens-deeper-doors article{display:flex;flex-direction:column;min-height:218px;padding:17px 15px;border:1px solid rgba(140,129,118,.18);border-radius:15px;background:rgba(255,252,247,.66)}.heavens-deeper-doors p:not(.room-label){margin-top:9px;font-family:var(--display);font-size:13px;line-height:1.5;color:var(--ash)}.heavens-deeper-doors button{margin-top:auto;align-self:flex-start}
.heavens-movement-card,.heavens-keeper-door{display:grid;grid-template-columns:1fr auto;gap:17px;align-items:center;margin-top:10px;padding:19px 17px;border-radius:16px}.heavens-movement-card{border:1px solid rgba(91,119,95,.25);background:linear-gradient(145deg,rgba(229,237,225,.62),rgba(255,252,247,.7))}.heavens-movement-card p:not(.room-label),.heavens-keeper-door p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13px;line-height:1.52;color:var(--ash)}.heavens-movement-actions{display:grid;gap:7px}.heavens-keeper-door{grid-template-columns:1fr auto;border:1px solid rgba(210,180,109,.26);background:linear-gradient(145deg,#2c201b,#17100d);color:var(--bone)}.heavens-keeper-door h3{color:#efe0c8}.heavens-keeper-door p:not(.room-label){color:#bfb0a2}.heavens-keeper-door .room-label{color:var(--soft-gold)}.heavens-keeper-door button{border-color:rgba(210,180,109,.34);color:var(--soft-gold)}.heavens-keeper-door small{grid-column:1/-1;font-family:var(--ui);font-size:9px;line-height:1.45;color:#8f8175}
.heavens-keeper-door.is-rollup{grid-template-columns:1fr;gap:11px}.heavens-rollup-preview{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px;border:1px solid rgba(210,180,109,.15);border-radius:12px;background:rgba(255,255,255,.025)}.heavens-rollup-preview .room-label:nth-of-type(2){grid-column:2;grid-row:1}.heavens-rollup-preview ul{padding-left:16px}.heavens-rollup-preview ul:nth-of-type(2){grid-column:2}.heavens-rollup-preview li{margin-top:5px;font-family:var(--display);font-size:10.5px;line-height:1.4;color:#bfb0a2}.heavens-rollup-response{padding:12px;border:1px solid rgba(210,180,109,.12);border-radius:12px}.heavens-rollup-response ol{display:grid;grid-template-columns:1fr 1fr;gap:5px 21px;margin-top:7px;padding-left:18px}.heavens-rollup-response li{font-family:var(--display);font-size:11px;line-height:1.4;color:#c9b9a7}.heavens-rollup-action{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.heavens-rollup-action p{margin:0!important}.heavens-rollup-action p strong{color:#ead7b4}
.heavens-today-frame{max-width:500px;margin:0 auto;padding:22px 17px;border:1px solid rgba(140,129,118,.2);border-radius:24px;background:linear-gradient(160deg,#f6eddf,#e6d5bd)}
.heavens-today-heading{padding:0 4px 14px}.heavens-today-heading h2{margin-top:6px;font-family:var(--head);font-size:29px;color:var(--ink)}.heavens-today-heading>p:last-child{margin-top:6px;font-family:var(--display);font-size:13px;color:var(--ash)}
.heavens-today-sample{padding:19px 17px;border:1px solid rgba(210,180,109,.4);border-radius:17px;background:radial-gradient(circle at 88% 8%,rgba(210,180,109,.17),transparent 29%),#1c1411;color:var(--bone);box-shadow:0 14px 35px rgba(42,28,19,.16)}
.heavens-today-sample header{display:flex;justify-content:space-between;align-items:center}.heavens-today-sample header .room-label{color:var(--soft-gold)}.heavens-today-sample header>span{font-family:var(--ui);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#aa9c8c}.heavens-today-sample h3{margin-top:8px;font-family:var(--head);font-size:24px;line-height:1.14;color:#efe0c7}.heavens-today-window{margin-top:7px;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#9b8b7c}
.heavens-today-truth{display:grid;gap:7px;margin-top:14px}.heavens-today-truth p{padding:10px 11px;border:1px solid rgba(210,180,109,.12);border-radius:9px;font-family:var(--display);font-size:13px;line-height:1.48;color:#c8b8a6}.heavens-today-truth strong{display:block;margin-bottom:3px;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft-gold)}
.heavens-today-foot{display:grid;grid-template-columns:1fr 1.5fr;gap:7px;margin-top:8px}.heavens-today-foot>span{padding:9px;border-radius:8px;background:rgba(244,235,221,.04);font-family:var(--display);font-size:12px;color:#c8b8a6}
.heavens-today-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.heavens-today-actions button{padding:10px 7px;border:1px solid rgba(210,180,109,.28);border-radius:999px;background:transparent;font-family:var(--ui);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--soft-gold)}
.heavens-today-absence{padding:13px 7px 0;font-family:var(--display);font-size:12px;line-height:1.48;color:var(--ash)}.heavens-today-absence strong{color:var(--ink)}
.heavens-today-rules{margin-top:11px;padding:17px;border:1px solid rgba(140,129,118,.18);border-radius:15px;background:rgba(255,252,247,.65)}.heavens-today-rules>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.heavens-today-rules span{padding:11px;border-radius:9px;background:rgba(239,224,200,.32);font-family:var(--display);font-size:12px;line-height:1.48;color:var(--ash)}.heavens-today-rules strong{display:block;margin-bottom:4px;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.heavens-report-list{display:grid;gap:6px}.heavens-report-list article{display:grid;grid-template-columns:36px 1fr;gap:11px;padding:14px 13px;border:1px solid rgba(140,129,118,.16);border-radius:12px;background:rgba(255,252,247,.66)}.heavens-report-list b{font-family:var(--head);font-size:20px;color:rgba(152,116,60,.6)}.heavens-report-list h3{font-size:18px}.heavens-report-list p{margin-top:4px;font-family:var(--display);font-size:13px;line-height:1.5;color:var(--ash)}
.heavens-never-list{margin-top:10px;padding:17px;border:1px solid rgba(138,84,67,.24);border-radius:14px;background:rgba(149,93,74,.06)}.heavens-never-list>p:last-child{margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.58;color:var(--ash)}
body.quiet .heavens-interface-study,body.quiet .heavens-interface-study>header,body.quiet .heavens-reading-card,body.quiet .heavens-field-map,body.quiet .heavens-witness-map,body.quiet .heavens-witness-detail,body.quiet .heavens-deeper-doors article,body.quiet .heavens-today-rules,body.quiet .heavens-report-list article{background:rgba(244,235,221,.035);border-color:rgba(210,180,109,.14)}
body.quiet .heavens-interface-study>header h2,body.quiet .heavens-reading-card h3,body.quiet .heavens-field-map h3,body.quiet .heavens-witness-map>header h3,body.quiet .heavens-deeper-doors h3,body.quiet .heavens-movement-card h3,body.quiet .heavens-report-list h3{color:var(--bone)}
body.quiet .heavens-interface-study>header>div>p:last-child,body.quiet .heavens-study-context p,body.quiet .heavens-reading-card>p:not(.room-label),body.quiet .heavens-witness-map>header p:not(.room-label),body.quiet .heavens-witness-detail small,body.quiet .heavens-witness-map>footer p,body.quiet .heavens-deeper-doors p:not(.room-label),body.quiet .heavens-report-list p,body.quiet .heavens-never-list>p:last-child{color:#b7aaa0}
body.quiet .heavens-study-tabs{background:rgba(210,180,109,.12);border-color:rgba(210,180,109,.14)}
body.quiet .heavens-study-tabs button{background:#251b17;color:#b7aaa0}
body.quiet .heavens-study-tabs button[aria-selected="true"]{background:#120d0b;color:var(--soft-gold)}
body.quiet .heavens-study-seal{border-color:rgba(151,190,157,.38);background:rgba(76,112,82,.2);color:#c9ddc9}
body.quiet .heavens-study-context,body.quiet .heavens-study-key>span,body.quiet .heavens-movement-card,body.quiet .heavens-today-frame,body.quiet .heavens-today-rules span,body.quiet .heavens-four-voices li,body.quiet .heavens-field-map span{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.14)}
body.quiet .heavens-study-key strong,body.quiet .heavens-field-map strong,body.quiet .heavens-today-absence strong,body.quiet .heavens-today-heading h2{color:#f3e6c8}
body.quiet .heavens-study-key small,body.quiet .heavens-field-map small,body.quiet .heavens-four-voices li,body.quiet .heavens-today-absence{color:#b7aaa0}
body.quiet .heavens-reference-cases,body.quiet .heavens-reference-grid article,body.quiet .heavens-reference-grid dl>div,body.quiet .heavens-reference-provenance{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.14)}
body.quiet .heavens-reference-cases>header h3,body.quiet .heavens-reference-grid h4,body.quiet .heavens-reference-grid blockquote{color:#f3e6c8}body.quiet .heavens-reference-provenance,body.quiet .heavens-reference-grid article>p:not(.room-label),body.quiet .heavens-reference-grid dd{color:#b7aaa0}body.quiet .heavens-reference-cases>header>span{border-color:rgba(202,174,211,.28);background:rgba(108,87,114,.18);color:#d8bfdf}
body.quiet .heavens-study-context>span,body.quiet .heavens-reference-grid dt,body.quiet .heavens-reading-card summary,body.quiet .heavens-four-voices span{color:var(--soft-gold)}
body.quiet .heavens-witness-detail span,body.quiet .heavens-witness-map>footer p{background:rgba(244,235,221,.045)}body.quiet .heavens-witness-lane>th,body.quiet .heavens-witness-map>footer strong{color:#f3e6c8}body.quiet .heavens-witness-detail strong{color:#c5d9c6}
body.quiet .heavens-full-field-map{border-color:rgba(210,180,109,.14)}body.quiet .heavens-witness-walkthrough{border-color:rgba(210,180,109,.14);background:#1c1411}body.quiet .heavens-full-field-track article,body.quiet .heavens-full-field-map>footer,body.quiet .heavens-witness-windows article,body.quiet .heavens-witness-answers li{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.14)}body.quiet .heavens-full-field-map h4,body.quiet .heavens-witness-walkthrough h4,body.quiet .heavens-witness-windows strong{color:#f3e6c8}body.quiet .heavens-full-field-map p,body.quiet .heavens-full-field-map small,body.quiet .heavens-full-field-map>footer,body.quiet .heavens-witness-walkthrough p,body.quiet .heavens-witness-walkthrough>footer{color:#b7aaa0}body.quiet .heavens-witness-windows span,body.quiet .heavens-witness-answers li{color:#d8cbbd}
/* The House is permanently capped at 480px even on a wide desktop. Its room
   components therefore take their narrow arrangement by default rather than
   waiting for a viewport query that may never describe the actual container. */
.heavens-study-key{grid-template-columns:1fr 1fr}.heavens-reference-grid,.heavens-reading-grid,.heavens-deeper-doors{grid-template-columns:1fr}.heavens-reference-grid article,.heavens-deeper-doors article{min-height:0}.heavens-season-meta,.heavens-field-map>div{grid-template-columns:1fr 1fr}.heavens-movement-card,.heavens-keeper-door{grid-template-columns:1fr}.heavens-movement-actions{grid-template-columns:1fr 1fr}.heavens-keeper-door small{grid-column:auto}.heavens-today-rules>div{grid-template-columns:1fr}
@media(max-width:520px){.heavens-interface-study>header{display:block}.heavens-study-seal{display:inline-block;margin-top:13px}.heavens-study-tabs button{padding:12px 4px;font-size:9px;letter-spacing:.05em}.heavens-study-context{grid-template-columns:1fr;gap:5px}.heavens-season-card header,.heavens-reference-cases>header{display:block}.heavens-reference-cases>header>span{display:inline-block;margin-top:10px}.heavens-posture{display:inline-block;margin-top:11px}.heavens-season-phases span{font-size:9px}.heavens-season-meta,.heavens-study-key,.heavens-field-map>div,.heavens-today-foot,.heavens-today-actions{grid-template-columns:1fr}.heavens-witness-map>header{grid-template-columns:1fr}.heavens-witness-lanes thead th:first-child{width:74px}.heavens-witness-detail>div,.heavens-witness-map>footer,.heavens-rollup-preview,.heavens-rollup-response ol,.heavens-rollup-action{grid-template-columns:1fr}.heavens-witness-detail span:last-child,.heavens-rollup-preview .room-label:nth-of-type(2),.heavens-rollup-preview ul:nth-of-type(2){grid-column:auto;grid-row:auto}.heavens-movement-actions{grid-template-columns:1fr}}

/* ==========================================================
   BECOMING ELEVATION — The Mirror, not a dashboard
   ========================================================== */
/* v456 overview-first harmonization. The House is capped at 480px, so the
   base composition is the narrow composition even inside a wide viewport. */
.becoming-overview .becoming-tab-hero{margin-bottom:12px}
.becoming-attending{margin-top:18px}
.becoming-section-heading{padding:0 4px 12px}
.becoming-section-heading h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.14;color:var(--ink)}
.becoming-section-heading>p:last-child{margin-top:7px;font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ash)}
.becoming-module-grid{display:grid;grid-template-columns:1fr;gap:10px}
.becoming-module-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;min-height:0;padding:18px 17px 16px;border:1px solid rgba(140,129,118,.2);border-radius:19px;background:linear-gradient(155deg,rgba(255,249,239,.9),rgba(241,229,210,.72));box-shadow:0 15px 34px rgba(42,27,20,.055)}
.becoming-module-card.is-weather{border-color:rgba(182,138,58,.28);background:radial-gradient(circle at 92% 4%,rgba(210,180,109,.16),transparent 36%),linear-gradient(155deg,rgba(255,249,239,.92),rgba(241,229,210,.74))}
.becoming-module-card.is-heavens{border-color:rgba(210,180,109,.28);background:radial-gradient(circle at 90% 5%,rgba(210,180,109,.14),transparent 33%),linear-gradient(150deg,#2d211b,#17110e);color:var(--bone)}
.becoming-module-card.is-record{border-color:rgba(91,119,95,.22);background:radial-gradient(circle at 92% 4%,rgba(91,119,95,.12),transparent 36%),linear-gradient(155deg,rgba(246,248,239,.9),rgba(230,235,220,.72))}
.becoming-module-mark{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(182,138,58,.34);border-radius:50%;font-family:var(--head);font-size:18px;color:var(--label-gold)}
.becoming-module-card.is-heavens .becoming-module-mark{border-color:rgba(210,180,109,.4);color:var(--soft-gold)}
.becoming-module-card.is-record .becoming-module-mark{border-color:rgba(91,119,95,.3);color:#52705a}
.becoming-module-copy{grid-column:2}
.becoming-module-copy h3{margin-top:5px;font-family:var(--head);font-size:22px;line-height:1.16;color:var(--ink)}
.becoming-module-copy>p:last-child{margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.52;color:var(--ash)}
.becoming-module-card.is-heavens .room-label{color:var(--soft-gold)}
.becoming-module-card.is-heavens h3{color:#f0e1c6}
.becoming-module-card.is-heavens .becoming-module-copy>p:last-child{color:#bfb0a2}
.becoming-module-action{grid-column:2;justify-self:start;min-height:44px;margin-top:2px;padding:9px 12px;border:1px solid rgba(140,129,118,.23);border-radius:999px;background:rgba(255,252,247,.48);font-family:var(--ui);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--codex-sepia);cursor:pointer}
.becoming-module-card.is-heavens .becoming-module-action{border-color:rgba(210,180,109,.34);background:rgba(244,235,221,.04);color:var(--soft-gold)}
.becoming-module-card>small{grid-column:2;display:block;font-family:var(--ui);font-size:8.5px;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;color:var(--ash-quiet)}
.becoming-module-card.is-heavens>small{color:#9f9184}
.becoming-secondary-doors{display:grid;grid-template-columns:1fr;gap:7px;margin-top:10px}
.becoming-secondary-doors button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:54px;padding:11px 13px;text-align:left;border:1px solid rgba(140,129,118,.16);border-radius:14px;background:rgba(255,249,239,.55);cursor:pointer}
.becoming-secondary-doors span{font-family:var(--ui);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.becoming-secondary-doors em{font-family:var(--display);font-size:12px;color:var(--ash)}
.becoming-module-action:focus-visible,.becoming-secondary-doors button:focus-visible{outline:2px solid var(--link-ink);outline-offset:3px}
.becoming-interior>.cta{min-height:44px;display:inline-flex;align-items:center}
.becoming-interior-hero,.becoming-record-heading{margin-top:10px;padding:23px 20px;border:1px solid rgba(182,138,58,.28);border-radius:21px;background:radial-gradient(circle at 90% 4%,rgba(210,180,109,.16),transparent 38%),linear-gradient(155deg,rgba(255,249,239,.92),rgba(241,229,210,.75))}
.becoming-interior-hero h1,.becoming-record-heading h1{margin-top:7px;font-family:var(--head);font-size:30px;line-height:1.08;color:var(--ink)}
.becoming-interior-hero>p:not(.room-label),.becoming-record-heading>p:not(.room-label){margin-top:10px;font-family:var(--display);font-size:15.5px;line-height:1.62;color:var(--ash)}
.becoming-interior-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:17px}
.becoming-interior-actions button{min-height:44px;text-align:left}
.becoming-interior-hero>small{display:block;margin-top:11px;font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.becoming-interior .becoming-iw-witness{margin-top:12px;border:1px solid rgba(182,138,58,.24);border-radius:17px;background:rgba(255,249,239,.62)}
body.quiet .becoming-module-card,body.quiet .becoming-secondary-doors button,body.quiet .becoming-interior-hero,body.quiet .becoming-record-heading{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.14);box-shadow:none}
body.quiet .becoming-module-card.is-heavens{background:linear-gradient(150deg,#251b17,#120d0b)}
body.quiet .becoming-section-heading h2,body.quiet .becoming-module-copy h3,body.quiet .becoming-interior-hero h1,body.quiet .becoming-record-heading h1{color:#f3e6c8}
body.quiet .becoming-section-heading>p:last-child,body.quiet .becoming-module-copy>p:last-child,body.quiet .becoming-secondary-doors em,body.quiet .becoming-interior-hero>p:not(.room-label),body.quiet .becoming-record-heading>p:not(.room-label){color:#b7aaa0}
@media(prefers-reduced-motion:reduce){.becoming-module-card,.becoming-module-action,.becoming-secondary-doors button{animation:none!important;transition:none!important}}
/* v559 — The Season is enacted in order: This Chapter first, then the created
   horizon, then Becoming. The primary panel is intentionally unlike the two
   apertures below it so a practitioner never has to guess where to begin. */
.season-room-scripture{margin:16px 0 0;padding:12px 0 0;border-top:1px solid rgba(182,138,58,.26);font-family:var(--display);font-style:italic;font-size:16px;line-height:1.55;color:var(--codex-sepia)}
.season-room-scripture cite{display:block;margin-top:5px;font-family:var(--ui);font-style:normal;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold)}
.season-chapter-primary{position:relative;overflow:hidden;margin-top:2px;padding:22px 18px 18px;border:1px solid rgba(182,138,58,.38);border-radius:23px;background:radial-gradient(circle at 94% 0%,rgba(210,180,109,.25),transparent 34%),linear-gradient(150deg,rgba(255,250,241,.98),rgba(239,225,202,.88));box-shadow:0 20px 48px rgba(42,27,20,.08)}
.season-chapter-primary>header{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}
.season-chapter-primary>header>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(182,138,58,.45);border-radius:50%;font-family:var(--head);font-size:20px;color:var(--label-gold)}
.season-chapter-primary h2{margin-top:6px;font-family:var(--head);font-size:29px;line-height:1.08;color:var(--ink)}
.season-chapter-primary>header p:not(.room-label){margin-top:9px;font-family:var(--display);font-size:14.5px;line-height:1.58;color:var(--ash)}
.season-chapter-name{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:19px;padding-top:16px;border-top:1px solid rgba(140,129,118,.18)}
.season-chapter-name label{grid-column:1/-1;font-family:var(--ui);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--label-gold)}
.season-chapter-name input{min-width:0;padding:12px 13px;border:1px solid rgba(140,129,118,.28);border-radius:13px;background:rgba(255,252,247,.67);font-family:var(--display);font-size:15px;color:var(--ink)}
.season-chapter-name button,.season-witness-open,.season-record-copy{min-height:44px;padding:10px 13px;border:1px solid rgba(182,138,58,.42);border-radius:13px;background:#6c4532;font-family:var(--ui);font-size:8.5px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:#fff7ea;cursor:pointer}
.season-chapter-name button:focus-visible,.season-witness-open:focus-visible,.season-record-copy:focus-visible,.season-note-list button:focus-visible,.season-witness-fit button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.season-note-composer{margin-top:18px;padding:17px 15px;border:1px solid rgba(140,129,118,.2);border-radius:17px;background:rgba(255,252,247,.55)}
.season-note-composer label{display:block;font-family:var(--head);font-size:20px;line-height:1.2;color:var(--ink)}
.season-note-composer label span{display:block;margin-bottom:5px;font-family:var(--ui);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--label-gold)}
.season-note-composer textarea{box-sizing:border-box;width:100%;margin-top:12px;padding:13px;border:1px solid rgba(140,129,118,.24);border-radius:13px;background:rgba(255,255,255,.54);font-family:var(--display);font-size:15px;line-height:1.55;color:var(--ink);resize:vertical}
.season-note-composer>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.season-note-composer>small{display:block;margin-top:10px;font-family:var(--ui);font-size:8.5px;line-height:1.5;letter-spacing:.07em;color:var(--ash-quiet)}
.season-notes-empty{margin:12px 4px 0;font-family:var(--display);font-style:italic;font-size:13px;color:var(--ash-quiet)}
.season-note-list{display:grid;gap:7px;margin-top:12px}.season-note-list article{padding:13px 14px;border-left:2px solid rgba(182,138,58,.45);background:rgba(255,252,247,.42)}.season-note-list article>p{font-family:var(--display);font-size:14px;line-height:1.55;color:var(--link-ink);white-space:pre-wrap}.season-note-list footer{display:flex;align-items:center;gap:9px;margin-top:8px}.season-note-list footer span{margin-right:auto;font-family:var(--ui);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-quiet)}.season-note-list button{padding:5px 2px;border:0;background:none;font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold);cursor:pointer}
.season-weekly-witness{margin-top:18px;padding:17px 15px;border:1px solid rgba(91,119,95,.27);border-radius:18px;background:radial-gradient(circle at 100% 0%,rgba(91,119,95,.14),transparent 35%),rgba(245,247,238,.66)}
.season-weekly-witness>header{display:grid;grid-template-columns:1fr auto;gap:12px}.season-weekly-witness>header>span{font-size:21px;color:#5f7d68}.season-weekly-witness h3{margin-top:5px;font-family:var(--head);font-size:21px;line-height:1.14;color:var(--ink)}.season-weekly-witness header p:not(.room-label){margin-top:7px;font-family:var(--display);font-size:13px;line-height:1.52;color:var(--ash)}
.season-witness-open{width:100%;margin-top:14px;background:#4f6756;border-color:#5f7d68}.season-witness-open:disabled{cursor:default;opacity:.54}
.season-witness-chooser{margin-top:15px;padding-top:14px;border-top:1px solid rgba(91,119,95,.2)}.season-witness-chooser>p:not(.room-label){margin:7px 0 12px;font-size:12.5px;line-height:1.55;color:var(--ash)}.season-witness-chooser label{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;margin-top:7px;padding:10px;border:1px solid rgba(91,119,95,.16);border-radius:11px;background:rgba(255,255,255,.38);font-size:12.5px;line-height:1.4;color:var(--link-ink)}.season-witness-chooser input{margin-top:2px;accent-color:#5f7d68}.season-witness-chooser .sh-cmd{margin-top:13px}.season-witness-chooser .sh-link{margin-top:9px}
.season-source-receipt{margin-top:12px;padding:9px 10px;border-left:2px solid rgba(91,119,95,.48);background:rgba(91,119,95,.07);font-family:var(--ui);font-size:8.5px;line-height:1.55;letter-spacing:.05em;color:#536b59}.season-witness-wait{margin-top:11px;font-family:var(--display);font-style:italic;font-size:13px;line-height:1.55;color:var(--ash)}
.season-witness-result{margin-top:14px;padding-top:14px;border-top:1px solid rgba(91,119,95,.24)}.season-witness-result .label{font-size:8px}.season-witness-discern{margin-top:14px;font-family:var(--display);font-style:italic;font-size:13.5px;color:var(--link-ink)}.season-witness-fit{display:flex;gap:7px;margin-top:9px}.season-witness-fit button{min-height:40px;flex:1;border:1px solid rgba(91,119,95,.28);border-radius:999px;background:rgba(255,255,255,.45);font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#536b59;cursor:pointer}.season-witness-result-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}
.season-latest-witness{margin-top:13px;border-top:1px solid rgba(91,119,95,.2);padding-top:10px}.season-latest-witness summary,.season-record-chapter summary{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center;cursor:pointer}.season-latest-witness summary span,.season-record-chapter summary span{display:grid;gap:2px}.season-latest-witness summary small,.season-record-chapter summary small{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash-quiet)}.season-latest-witness summary strong,.season-record-chapter summary strong{font-family:var(--display);font-size:14px;font-weight:400;color:var(--link-ink)}.season-latest-witness summary i,.season-record-chapter summary i{font-style:normal;color:var(--label-gold)}.season-latest-witness>div{padding:4px 2px 2px}
.season-close-chapter{margin-top:16px;padding-top:13px;border-top:1px solid rgba(140,129,118,.18)}.season-close-chapter summary{cursor:pointer;font-family:var(--ui);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ash)}.season-close-chapter>div{padding:10px 2px 0}.season-close-chapter p{font-family:var(--display);font-size:13px;line-height:1.55;color:var(--ash)}.season-close-chapter button{margin-top:7px}
.season-chapter-primary>footer{display:flex;justify-content:space-between;gap:12px;margin-top:19px;padding-top:14px;border-top:1px solid rgba(182,138,58,.26);font-family:var(--display);font-style:italic;color:var(--codex-sepia)}.season-chapter-primary>footer span{font-family:var(--ui);font-style:normal;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.season-secondary-horizons{margin-top:11px}.season-room-boundary{margin:18px 6px 4px;padding:14px 15px;border:1px solid rgba(140,129,118,.16);border-radius:14px;font-size:11.5px;line-height:1.62;color:var(--ash)}.season-room-boundary strong{color:var(--link-ink)}.season-created-order-note{grid-column:1/-1;margin-top:12px;padding-top:11px;border-top:1px solid rgba(182,138,58,.2);font-family:var(--display);font-size:13px;line-height:1.55;color:var(--ash)}
.season-becoming-record{margin-top:13px;padding:19px 17px;border:1px solid rgba(91,119,95,.24);border-radius:20px;background:linear-gradient(155deg,rgba(246,248,239,.9),rgba(230,235,220,.74))}.season-becoming-record>h2{margin-top:5px;font-family:var(--head);font-size:24px;line-height:1.12;color:var(--ink)}.season-becoming-record>p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ash)}.season-record-chapter{margin-top:12px;padding:13px;border:1px solid rgba(91,119,95,.2);border-radius:14px;background:rgba(255,255,255,.4)}.season-record-chapter>div{padding-top:10px}.season-record-note-lines{display:grid;gap:7px}.season-record-note-lines p{font-family:var(--display);font-size:13px;line-height:1.5;color:var(--link-ink)}.season-record-note-lines span{display:block;font-family:var(--ui);font-size:7.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ash-quiet)}.season-record-count{margin-top:10px;font-family:var(--ui);font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:#536b59}.season-record-release-warning{margin-top:10px;font-size:12px;line-height:1.55;color:#7a3f34}.season-record-current-witnesses{margin-top:12px}.season-record-current-witnesses summary{cursor:pointer;font-family:var(--ui);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:#536b59}.season-record-current-witnesses article{margin-top:9px;padding:12px;border:1px solid rgba(91,119,95,.18);border-radius:12px;background:rgba(255,255,255,.35)}.season-record-copy{width:100%;margin-top:14px;background:#4f6756;border-color:#5f7d68}
body.quiet .season-chapter-primary,body.quiet .season-note-composer,body.quiet .season-note-list article,body.quiet .season-weekly-witness,body.quiet .season-becoming-record,body.quiet .season-record-chapter{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.15);box-shadow:none}body.quiet .season-chapter-primary h2,body.quiet .season-note-composer label,body.quiet .season-weekly-witness h3,body.quiet .season-becoming-record>h2{color:#f3e6c8}body.quiet .season-chapter-primary>header p:not(.room-label),body.quiet .season-weekly-witness header p:not(.room-label),body.quiet .season-becoming-record>p:not(.room-label),body.quiet .season-note-list article>p{color:#b7aaa0}body.quiet .season-chapter-name input,body.quiet .season-note-composer textarea{background:#1b1410;border-color:rgba(210,180,109,.17);color:#f3e6c8}
@media(max-width:520px){.season-chapter-name{grid-template-columns:1fr}.season-chapter-name button{width:100%}.season-chapter-primary>header{grid-template-columns:1fr}.season-chapter-primary>header>span{grid-row:1;justify-self:start}.season-chapter-primary>footer{display:grid}.season-secondary-horizons .becoming-module-card{flex-basis:min(86vw,315px)}}

/* v561 — This Chapter carries the practice and an optional dated sky marker.
   The astronomical lane is association without attribution; the Journal lane
   remains independently consented inside The Chapter's Thread. */
.season-chapter-practice,.season-chapter-sky{margin-top:15px;padding:16px 15px;border:1px solid rgba(182,138,58,.24);border-radius:16px;background:rgba(255,249,239,.58)}
.season-chapter-practice h3,.season-chapter-sky h3{margin-top:5px;font-family:var(--head);font-size:21px;line-height:1.2;color:var(--ink)}
.season-chapter-practice>p:not(.room-label),.season-chapter-sky p{margin-top:7px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}
.season-chapter-practice>label,.season-sky-city{display:grid;gap:6px;margin-top:13px;font-family:var(--ui);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.season-chapter-practice textarea,.season-sky-city input{box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid rgba(140,129,118,.25);border-radius:12px;background:#fffaf2;font-family:var(--display);font-size:15px;line-height:1.5;color:var(--ink)}
.season-chapter-practice .sh-cmd,.season-chapter-sky .sh-cmd{margin-top:10px}
.season-chapter-practice blockquote{margin-top:14px;padding:11px 0 0;border-top:1px solid rgba(182,138,58,.2);font-family:var(--display);font-style:italic;font-size:13.5px;line-height:1.5;color:var(--codex-sepia)}
.season-chapter-practice blockquote cite{display:block;margin-top:4px;font-family:var(--ui);font-style:normal;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-gold)}
.season-chapter-sky{border-color:rgba(80,105,112,.23);background:linear-gradient(150deg,rgba(248,247,238,.82),rgba(229,235,229,.58))}
.season-chapter-sky>summary{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;cursor:pointer}.season-chapter-sky>summary span{display:grid;gap:3px}.season-chapter-sky>summary small{font-family:var(--ui);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#587079}.season-chapter-sky>summary strong{font-family:var(--head);font-size:18px;font-weight:400;color:var(--ink)}.season-chapter-sky>summary i{font-style:normal;color:#587079}.season-chapter-sky>div{padding-top:12px}
.season-sky-scope{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.season-sky-scope label{display:flex;gap:8px;align-items:flex-start;padding:11px;border:1px solid rgba(80,105,112,.2);border-radius:12px;background:rgba(255,255,255,.4)}.season-sky-scope input{margin-top:3px;accent-color:#745020}.season-sky-scope span{display:grid;gap:3px}.season-sky-scope b{font-family:var(--display);font-size:14px;font-weight:400;color:var(--link-ink)}.season-sky-scope small,.season-sky-held{font-size:10px;line-height:1.45;color:var(--ash)}
.season-sky-status{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.season-sky-status span{padding:5px 8px;border:1px solid rgba(80,105,112,.2);border-radius:999px;font-family:var(--ui);font-size:7.5px;letter-spacing:.09em;text-transform:uppercase;color:#587079}

.season-measures-envelope{position:relative;overflow:hidden;margin-top:16px;padding:24px 18px 20px;border:1px solid rgba(210,180,109,.28);border-radius:24px;background:radial-gradient(circle at 50% 18%,rgba(210,180,109,.13),transparent 38%),linear-gradient(145deg,#251913,#120d0b);box-shadow:0 21px 52px -34px rgba(22,13,9,.9);color:#f3e6c8}
.season-measures-copy{max-width:570px;margin:0 auto;text-align:center}.season-measures-copy .room-label{color:#d8b76d}.season-measures-copy h2{margin-top:7px;font-family:var(--head);font-size:clamp(28px,6vw,43px);line-height:1.06;color:#f3e6c8}.season-measures-copy>p:last-child{max-width:54ch;margin:12px auto 0;font-family:var(--display);font-size:15px;line-height:1.6;color:#bdafa3}
.season-measures-figure{max-width:600px;margin:18px auto 0}.season-measures-figure svg{display:block;width:100%;height:auto}.measure-arc{fill:none;stroke-linecap:round}.m-pole{stroke:rgba(210,180,109,.34);stroke-width:1.5}.m-standstill{stroke:rgba(210,180,109,.48);stroke-width:2}.m-year{stroke:rgba(210,180,109,.68);stroke-width:2.6}.m-moon{stroke:#d8b76d;stroke-width:3.2}.measure-open-mark{stroke:#b56a45;stroke-width:3;stroke-linecap:round}.season-measures-figure figcaption{text-align:center;font-family:var(--display);font-style:italic;font-size:12px;color:#9f9184}
.season-measure-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-width:640px;margin:18px auto 0;padding:0;list-style:none}.season-measure-ledger li{display:flex;gap:8px;align-items:flex-start;padding:10px 8px;border-top:1px solid rgba(210,180,109,.28)}.season-measure-ledger li>span{font-family:var(--ui);font-size:8px;letter-spacing:.12em;color:#d8b76d}.season-measure-ledger div{display:grid;gap:3px}.season-measure-ledger b{font-family:var(--head);font-size:16px;font-weight:400;color:#f0e1c6}.season-measure-ledger small{font-size:9.5px;line-height:1.4;color:#9f9184}.season-measures-held{max-width:620px;margin:17px auto 0;padding-top:13px;border-top:1px solid rgba(210,180,109,.2);font-size:10.5px;line-height:1.55;color:#9f9184}.season-measures-held strong{color:#cdbb9e}
.season-whirlwind-envelope{margin-top:16px;padding:24px 20px;border:1px solid rgba(92,111,93,.28);border-radius:22px;background:radial-gradient(circle at 90% 8%,rgba(92,111,93,.14),transparent 35%),linear-gradient(145deg,rgba(247,248,239,.96),rgba(229,234,219,.78));text-align:center}.season-whirlwind-envelope h2{margin-top:6px;font-family:var(--head);font-size:29px;line-height:1.1;color:var(--ink)}.season-whirlwind-envelope blockquote{max-width:500px;margin:18px auto 0;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.6;color:var(--codex-sepia)}.season-whirlwind-envelope blockquote cite{display:block;margin-top:6px;font-family:var(--ui);font-style:normal;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#526f58}.season-whirlwind-envelope>p:not(.room-label){max-width:54ch;margin:16px auto 0;font-family:var(--display);font-size:14px;line-height:1.6;color:var(--ash)}.season-whirlwind-envelope>strong{display:block;max-width:46ch;margin:15px auto 0;font-family:var(--head);font-size:21px;font-weight:400;color:#425a48}

.season-record-practice{margin:12px 0;padding:11px 12px;border-left:2px solid #b28a4b;background:rgba(255,249,239,.46);font-family:var(--display);font-size:14px;line-height:1.5;color:var(--link-ink)}.season-record-practice span{display:block;margin-bottom:4px;font-family:var(--ui);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.season-chapter-scrubber{margin:15px -3px 4px}.season-chapter-scrubber>div{display:flex;gap:8px;overflow-x:auto;padding:4px 3px 11px;scroll-snap-type:x mandatory;scrollbar-width:none}.season-chapter-scrubber>div::-webkit-scrollbar{display:none}.season-chapter-scrubber button{flex:0 0 min(64vw,210px);display:grid;grid-template-columns:auto 1fr;gap:2px 8px;min-height:72px;padding:11px;border:1px solid rgba(91,119,95,.2);border-radius:12px;background:rgba(255,255,255,.38);text-align:left;scroll-snap-align:start;cursor:pointer}.season-chapter-scrubber button>span{grid-row:1/3;font-family:var(--ui);font-size:8px;letter-spacing:.1em;color:#526f58}.season-chapter-scrubber button>b{font-family:var(--display);font-size:14px;font-weight:400;color:var(--link-ink)}.season-chapter-scrubber button>small{font-family:var(--ui);font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-quiet)}.season-chapter-scrubber>p:last-child{margin-top:2px;font-size:9.5px;line-height:1.45;color:var(--ash)}
.season-record-sky{margin-top:11px;padding:13px;border:1px solid rgba(80,105,112,.2);border-radius:13px;background:rgba(240,244,235,.55)}.season-record-sky h4{margin-top:4px;font-family:var(--head);font-size:17px;font-weight:400;color:var(--ink)}.season-record-sky p:not(.room-label){margin-top:6px;font-size:11.5px;line-height:1.5;color:var(--ash)}.season-record-sky>small,.season-record-sky-empty{display:block;margin-top:6px;font-family:var(--ui);font-size:7.5px;letter-spacing:.09em;text-transform:uppercase;color:#587079}
.season-chapter-thread{margin-top:13px;padding:15px;border:1px solid rgba(91,119,95,.22);border-radius:15px;background:linear-gradient(150deg,rgba(247,248,239,.9),rgba(229,235,220,.66))}.season-chapter-thread>header{display:grid;grid-template-columns:1fr auto;gap:10px}.season-chapter-thread>header>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(91,119,95,.3);border-radius:50%;color:#52705a}.season-chapter-thread h3{margin-top:4px;font-family:var(--head);font-size:20px;line-height:1.16;color:var(--ink)}.season-chapter-thread header p:not(.room-label){margin-top:7px;font-family:var(--display);font-size:12.5px;line-height:1.55;color:var(--ash)}.season-thread-chooser{margin-top:12px;padding-top:12px;border-top:1px solid rgba(91,119,95,.18)}.season-thread-chooser h4{margin-top:4px;font-family:var(--head);font-size:19px;font-weight:400;color:var(--ink)}.season-thread-source-fixed{display:grid;gap:3px;margin-top:11px;padding:10px;border:1px solid rgba(91,119,95,.18);border-radius:11px}.season-thread-source-fixed b{font-family:var(--display);font-size:14px;font-weight:400;color:var(--link-ink)}.season-thread-source-fixed small{font-size:10px;color:var(--ash)}.season-thread-chooser details{margin-top:9px}.season-thread-chooser details>summary{cursor:pointer;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#526f58}.season-thread-chooser details>div{display:grid;gap:7px;margin-top:8px}.season-thread-journal{display:flex;gap:8px;padding:9px;border:1px solid rgba(91,119,95,.16);border-radius:10px;background:rgba(255,255,255,.32)}.season-thread-journal input{margin-top:3px;accent-color:#526f58}.season-thread-journal span{display:grid;gap:3px}.season-thread-journal b{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#526f58}.season-thread-journal small{font-family:var(--display);font-size:12px;line-height:1.4;color:var(--ash)}.season-thread-separation{margin-top:11px;padding:9px 10px;border-left:2px solid #587079;font-size:10.5px!important;line-height:1.5!important}.season-thread-result{margin-top:12px;padding:13px;border:1px solid rgba(91,119,95,.2);border-radius:13px;background:rgba(255,255,255,.36)}.season-thread-result article,.season-thread-kept article{margin-top:11px}.season-thread-result article>p:not(.room-label),.season-thread-kept article>p:not(.room-label){margin-top:4px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--link-ink)}.season-thread-citations{display:flex!important;flex-wrap:wrap;gap:5px!important;margin-top:6px!important}.season-thread-citations span{padding:4px 6px;border:1px solid rgba(91,119,95,.18);border-radius:999px;font-family:var(--ui);font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:#526f58}.season-thread-kept{margin-top:11px;padding-top:10px;border-top:1px solid rgba(91,119,95,.18)}.season-thread-kept>summary{display:grid;grid-template-columns:1fr auto;gap:8px;cursor:pointer}.season-thread-kept>summary span{display:grid;gap:2px}.season-thread-kept>summary small{font-family:var(--ui);font-size:7.5px;letter-spacing:.1em;text-transform:uppercase;color:#526f58}.season-thread-kept>summary strong{font-family:var(--display);font-size:13px;font-weight:400;color:var(--link-ink)}.season-thread-kept>summary i{font-style:normal;color:#526f58}
body.quiet .season-chapter-practice,body.quiet .season-chapter-sky,body.quiet .season-chapter-thread,body.quiet .season-thread-result,body.quiet .season-record-sky{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.16)}body.quiet .season-chapter-practice h3,body.quiet .season-chapter-sky h3,body.quiet .season-chapter-thread h3{color:#f3e6c8}body.quiet .season-measures-envelope{background:linear-gradient(145deg,#211712,#100b09)}
@media(max-width:600px){.season-sky-scope,.season-measure-ledger{grid-template-columns:1fr 1fr}.season-measures-envelope{padding:22px 13px 18px}.season-measures-figure{margin-inline:-6px}.season-chapter-thread>header{grid-template-columns:1fr}.season-chapter-thread>header>span{grid-row:1}.season-whirlwind-envelope{padding-inline:15px}}
.today-sanctuary-kicker{margin:0 0 8px;font-family:var(--ui);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--label-gold)}
.sabbath-sanctuary-posture{margin:38px 10px;padding:24px 18px;text-align:center;border:1px solid rgba(182,138,58,.3);border-radius:20px;background:radial-gradient(ellipse at 50% 0%,rgba(210,180,109,.14),transparent 66%),rgba(244,235,221,.72);box-shadow:0 18px 38px rgba(42,27,20,.055)}
.sabbath-sanctuary-posture h2{margin-top:5px;font-family:var(--head);font-size:28px;line-height:1.1;color:var(--ink)}
.sabbath-sanctuary-posture>p:not(.room-label):not(.sabbath-sanctuary-note){margin-top:10px;color:var(--ash);line-height:1.68}
.sabbath-sanctuary-note{margin-top:18px;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.55;color:var(--codex-sepia)}
body.quiet .sabbath-sanctuary-posture{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.2);box-shadow:none}
body.quiet .sabbath-sanctuary-posture h2{color:#f3e6c8}
body.quiet .sabbath-sanctuary-posture>p:not(.room-label):not(.sabbath-sanctuary-note){color:#b7aaa0}
body.quiet .sabbath-sanctuary-note{color:#d8c8a7}
.becoming-framework-rail{position:relative;margin:18px 0 0;padding:18px 16px 16px;border:1px solid rgba(182,138,58,.28);border-radius:21px;background:radial-gradient(circle at 90% 0%,rgba(210,180,109,.16),transparent 33%),linear-gradient(155deg,rgba(255,249,239,.9),rgba(241,229,210,.74));box-shadow:0 18px 40px rgba(42,27,20,.05)}
.becoming-framework-rail>header{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.becoming-framework-rail>header h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.12;color:var(--ink)}
.becoming-framework-rail>header p:not(.room-label){margin-top:7px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}
.becoming-framework-rail>header>span{font-size:24px;color:var(--label-gold)}
.becoming-framework-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}
.becoming-framework-grid article{position:relative;display:flex;flex-direction:column;min-height:184px;padding:14px 13px 13px;border:1px solid rgba(140,129,118,.2);border-top:3px solid var(--muted-gold);border-radius:16px;background:rgba(255,252,247,.64)}
.becoming-framework-grid article.is-walk{border-top-color:#b28a4b;background:linear-gradient(150deg,rgba(255,249,239,.96),rgba(241,229,209,.8))}
.becoming-framework-grid article.is-weather{border-top-color:#5f7d68;background:linear-gradient(150deg,rgba(248,247,238,.96),rgba(235,239,226,.82))}
.becoming-framework-grid article.is-season{border-top-color:#a3784e;background:radial-gradient(circle at 92% 0%,rgba(210,180,109,.14),transparent 38%),linear-gradient(150deg,rgba(255,249,239,.96),rgba(241,229,209,.8))}
.becoming-framework-grid article.is-together{border-top-color:#786184;background:linear-gradient(150deg,rgba(247,242,247,.96),rgba(235,225,237,.82))}
.becoming-framework-grid article.is-becoming{border-top-color:#786184;background:linear-gradient(150deg,rgba(247,242,247,.96),rgba(235,225,237,.82))}
.becoming-framework-glyph{display:grid;place-items:center;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;font-family:var(--head);font-size:17px;color:var(--label-gold);margin-bottom:10px}
.becoming-framework-grid .is-weather .becoming-framework-glyph{color:#5f7d68}.becoming-framework-grid .is-together .becoming-framework-glyph{color:#786184}
.becoming-framework-grid .is-becoming .becoming-framework-glyph{color:#786184}
.becoming-framework-grid .room-label{margin:0 0 5px}
.becoming-framework-grid h3{font-family:var(--head);font-size:19px;line-height:1.12;color:var(--ink)}
.becoming-framework-grid article>p:not(.room-label){margin-top:7px;font-size:12px;line-height:1.5;color:var(--ash)}
.becoming-framework-action{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding:9px 0 0;border:0;background:none;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--label-gold);cursor:pointer}
.becoming-framework-action span{font-size:13px}
.becoming-together-aperture,.sanctuary-together-aperture{position:relative;display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;align-items:center;width:100%;margin-top:10px;padding:13px 14px;border:1px solid rgba(120,97,132,.26);border-radius:14px;background:linear-gradient(145deg,rgba(247,242,247,.9),rgba(235,225,237,.7));text-align:left;color:var(--ink);font:inherit;cursor:pointer}
.becoming-together-aperture>span,.sanctuary-together-aperture>span{grid-row:1 / 3;font-size:20px;color:#786184}
.becoming-together-aperture b,.sanctuary-together-aperture b{font-family:var(--head);font-size:16px;font-weight:500}
.becoming-together-aperture small,.sanctuary-together-aperture small{margin-top:3px;font-size:10.5px;line-height:1.4;color:var(--ash)}
.becoming-together-aperture i,.sanctuary-together-aperture i{grid-column:3;grid-row:1 / 3;font-style:normal;color:#786184}
body.quiet .becoming-framework-rail{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.15);box-shadow:none}
body.quiet .becoming-framework-rail>header h2,body.quiet .becoming-framework-grid h3{color:#f3e6c8}
body.quiet .becoming-framework-rail>header p:not(.room-label),body.quiet .becoming-framework-grid article>p:not(.room-label){color:#b7aaa0}
body.quiet .becoming-framework-grid article{background:rgba(244,235,221,.04)}
@media(max-width:420px){.becoming-framework-grid{grid-template-columns:1fr}.becoming-framework-grid article{min-height:0}}
.becoming-formation-portal{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(150px,.55fr);
  gap:18px;
  align-items:end;
  margin:22px 0 0;
  padding:22px 20px 20px;
  border-radius:21px;
  border:1px solid rgba(182,138,58,.34);
  background:
    radial-gradient(circle at 88% 10%,rgba(210,180,109,.20),transparent 42%),
    linear-gradient(145deg,rgba(255,249,239,.94),rgba(241,229,210,.84));
  box-shadow:0 20px 44px rgba(42,27,20,.08),inset 0 1px 0 rgba(255,255,255,.58);
}
.becoming-formation-copy h2{
  margin:6px 0 8px;
  font-family:var(--head);
  font-size:clamp(24px,5.5vw,32px);
  line-height:1.08;
  color:var(--ink);
}
.becoming-formation-copy>p:last-child{margin:0;color:var(--ash);line-height:1.62}
.becoming-formation-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}
.becoming-formation-actions .sh-cmd,.becoming-formation-actions .sh-link{margin:0;text-align:left}
.becoming-formation-actions small{
  font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)
}
.becoming-iw-witness{
  margin:12px 0 0;
  padding:17px 18px 16px;
  border-left:2px solid rgba(182,138,58,.45);
  border-radius:0 15px 15px 0;
  background:linear-gradient(90deg,rgba(210,180,109,.11),rgba(255,249,239,.48));
}
.becoming-iw-witness>p{margin:0;color:var(--ash);line-height:1.58}
.becoming-iw-witness .becoming-iw-weather{
  margin:5px 0 4px;
  font-family:var(--head);
  font-size:25px;
  line-height:1.1;
  color:var(--ink);
  text-transform:capitalize;
}
.becoming-iw-witness>div{margin-top:12px}
.becoming-iw-witness>div span{
  display:block;
  margin-bottom:3px;
  font-family:var(--ui);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.becoming-iw-witness>div strong{display:block;font-family:var(--display);font-weight:400;color:var(--codex-sepia);line-height:1.5}
.becoming-iw-witness blockquote{margin:13px 0 8px;font-family:var(--display);font-style:italic;color:var(--codex-sepia);line-height:1.55}
.becoming-iw-witness .sh-link{margin-top:4px}

/* INNER WEATHER AT DAY'S CLOSE — the practice returns as a witnessed arc,
   never as a score, streak, or demand for immediate emotional improvement. */
.iw-evening-synthesis{
  margin-top:14px;
  padding:18px 18px 17px;
  border-radius:18px;
  border:1px solid rgba(182,138,58,.27);
  background:
    radial-gradient(circle at 92% 8%,rgba(210,180,109,.15),transparent 40%),
    linear-gradient(145deg,rgba(255,249,239,.82),rgba(241,229,210,.68));
}
.iw-evening-synthesis>.label{margin:0;color:var(--label-gold)}
.iw-evening-weather{margin:12px 0 0;font-family:var(--display);font-size:18px;line-height:1.6;color:var(--codex-sepia)}
.iw-evening-weather strong{font-weight:600;color:var(--ink)}
.iw-evening-pair{margin-top:14px;padding-top:12px;border-top:1px solid rgba(140,129,118,.14)}
.iw-evening-pair span{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold)}
.iw-evening-pair p{margin:5px 0 0;font-family:var(--display);font-size:17px;line-height:1.52;color:var(--codex-sepia)}
.iw-evening-carry{margin:16px 4px 1px;text-align:center;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.55;color:var(--codex-sepia)}
.iw-evening-synthesis-empty{padding:15px 16px}
.iw-evening-synthesis-empty>p:last-child{margin:8px 0 0;font-family:var(--display);font-style:italic;color:var(--ash);line-height:1.55}
.iw-midday-thread{
  margin-top:18px;
  padding:15px 16px 14px;
  border-left:2px solid rgba(182,138,58,.40);
  background:linear-gradient(90deg,rgba(210,180,109,.10),transparent);
}
.iw-midday-thread>.label{margin:0;color:var(--label-gold)}
.iw-midday-thread>p:not(.label){margin:8px 0 0;font-family:var(--display);font-size:16.5px;line-height:1.58;color:var(--codex-sepia)}
.iw-midday-thread>p strong{font-weight:600;color:var(--ink)}
.iw-midday-thread>span{display:block;margin-top:9px;color:var(--ash);font-size:13.5px;line-height:1.5}
.iw-midday-thread>small{display:block;margin-top:7px;font-family:var(--display);font-style:italic;color:var(--ash)}
.path-private-note{margin:8px 2px 0;font-style:italic;text-align:left}
.path-close-scripture{margin-top:22px;text-align:left}

/* Midday Return — a light threshold with a deeper Inner Weather door. */
.midday-return-intro{margin-top:8px;padding:12px 2px 4px}
.midday-return-intro h1{margin-top:8px;font-family:var(--head);font-size:clamp(28px,7vw,36px);line-height:1.06;color:var(--ink)}
.midday-return-intro>p:last-child{max-width:34em;margin-top:10px;font-family:var(--display);font-size:16px;line-height:1.62;color:var(--ash)}
.midday-carried{margin-top:17px;padding:15px 16px;border-left:2px solid rgba(182,138,58,.55);border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(210,180,109,.13),rgba(255,249,239,.36))}
.midday-carried .label{margin:0}
.midday-carried>p:last-child{margin-top:7px;font-family:var(--display);font-style:italic;font-size:17px;line-height:1.5;color:var(--codex-sepia)}
.midday-check{margin-top:22px;padding:21px 18px 19px;border:1px solid rgba(182,138,58,.24);border-radius:19px;background:linear-gradient(160deg,rgba(255,249,239,.78),rgba(244,235,221,.58));box-shadow:0 16px 36px rgba(42,27,20,.05)}
.midday-check>.gprompt{margin-top:0;font-size:23px;line-height:1.25}
.midday-second-prompt{padding-top:24px}
.midday-weather,.midday-movements{gap:8px;margin-top:14px}
.midday-weather .chip,.midday-movements .chip{margin:0;min-height:42px;padding:9px 12px;text-align:left}
.midday-movements{display:grid;grid-template-columns:1fr 1fr}
.midday-private{margin-top:24px;padding-top:14px;border-top:1px solid rgba(140,129,118,.14)}
.midday-private>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;cursor:pointer;font-family:var(--display);font-size:15.5px;color:var(--codex-sepia)}
.midday-private>summary::-webkit-details-marker{display:none}
.midday-private>summary span{font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.midday-private textarea{margin-top:10px}
.midday-private>p{margin-top:7px;font-family:var(--display);font-style:italic;font-size:13px;color:var(--ash)}
.midday-check>.btn-row{margin-top:20px}
.midday-inner-weather-door{display:block;width:100%;margin-top:13px;padding:11px 4px;border:0;background:none;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.45;color:var(--codex-sepia);cursor:pointer}
.midday-witness-card{margin-top:18px;padding:24px 21px 22px;border:1px solid rgba(182,138,58,.38);border-radius:21px;background:radial-gradient(circle at 90% 3%,rgba(210,180,109,.23),transparent 40%),linear-gradient(150deg,rgba(255,249,239,.95),rgba(238,221,194,.78));box-shadow:0 22px 48px rgba(42,27,20,.09)}
.midday-witness-card h1{margin-top:8px;font-family:var(--head);font-size:clamp(27px,7vw,35px);line-height:1.08;color:var(--ink)}
.midday-witness-card>p:last-child{margin-top:12px;font-family:var(--display);font-size:16.5px;line-height:1.68;color:var(--codex-sepia)}
.midday-witness-card>p{margin-top:12px;font-family:var(--display);font-size:16.5px;line-height:1.68;color:var(--codex-sepia);white-space:pre-wrap}
.midday-witness-card>small{display:block;margin-top:14px;padding-top:11px;border-top:1px solid rgba(140,129,118,.15);font-family:var(--ui);font-size:9.5px;line-height:1.5;letter-spacing:.04em;color:var(--ash)}
.midday-witness-card.keeper{border-color:rgba(182,138,58,.58)}
.return-witness-wait{min-height:58vh;display:grid;place-content:center;justify-items:center;gap:12px;padding:40px 20px;text-align:center}
.return-witness-wait>span{width:52px;height:52px;display:grid;place-items:center;border:1px solid rgba(182,138,58,.34);border-radius:50%;font-size:23px;color:var(--muted-gold);animation:kwb 4.8s ease-in-out infinite}
.return-witness-wait>p{font-family:var(--display);font-style:italic;font-size:19px;color:var(--codex-sepia)}
.return-witness-wait>small{max-width:27em;font-family:var(--ui);font-size:10px;line-height:1.55;color:var(--ash)}
.evening-return-witness{margin-top:12px;padding:25px 21px 22px;border:1px solid rgba(182,138,58,.42);border-radius:21px;background:radial-gradient(circle at 90% 3%,rgba(210,180,109,.2),transparent 40%),linear-gradient(150deg,rgba(255,249,239,.96),rgba(238,221,194,.76));box-shadow:0 22px 52px rgba(42,27,20,.09)}
.evening-return-witness.keeper{border-color:rgba(182,138,58,.62)}
.evening-return-witness h1{margin-top:8px;font-family:var(--head);font-size:clamp(28px,7vw,36px);line-height:1.08;color:var(--ink)}
.evening-return-witness>p:not(.label){margin-top:14px;white-space:pre-wrap;font-family:var(--display);font-size:17px;line-height:1.75;color:var(--codex-sepia)}
.evening-return-witness>small{display:block;margin-top:17px;padding-top:12px;border-top:1px solid rgba(140,129,118,.16);font-family:var(--ui);font-size:9.5px;line-height:1.55;color:var(--ash)}
.evening-authored-close{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.evening-authored-close>div{padding:18px 16px;border:1px solid rgba(140,129,118,.17);border-radius:16px;background:rgba(255,249,239,.5)}
.evening-authored-close>div>p:last-child{margin-top:8px;font-family:var(--display);font-style:italic;font-size:16.5px;line-height:1.6;color:var(--codex-sepia)}
.evening-scripture{margin-top:24px;padding:22px 19px;border:1px solid rgba(182,138,58,.28);border-radius:18px;text-align:center;background:rgba(255,249,239,.48)}
.evening-scripture>p:nth-child(2){margin-top:11px;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.62;color:var(--codex-sepia)}
.evening-scripture>small{display:block;margin-top:9px;font-family:var(--ui);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--label-gold)}
.evening-sentence{margin-top:24px}
.evening-journal-choice{margin-top:30px;padding:21px 18px;border-top:1px solid rgba(140,129,118,.18);border-bottom:1px solid rgba(140,129,118,.18)}
.evening-journal-choice>p:not(.label){margin-top:8px;font-family:var(--display);font-size:16px;line-height:1.62;color:var(--codex-sepia)}
.evening-journal-choice>small{display:block;margin-top:10px;font-family:var(--ui);font-size:9.5px;line-height:1.55;color:var(--ash)}
.evening-journal-choice button,.evening-rest button{min-height:44px;margin-top:12px;padding:9px 4px;border:0;background:none;font-family:var(--ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--codex-sepia);cursor:pointer}
.evening-rest{margin-top:25px;text-align:center}
.evening-rest>p{margin-top:5px;font-family:var(--ui);font-size:9.5px;line-height:1.55;color:var(--ash)}
@media(max-width:360px){.evening-authored-close{grid-template-columns:1fr}}
.midday-sentence{margin-top:18px}
.midday-carry-action{display:block;margin:14px auto 0;padding:7px 9px;border:0;background:none;font-family:var(--ui);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-gold);cursor:pointer}
.midday-carry-action:disabled{opacity:.72;cursor:default}
.midday-blessing{margin-top:24px;padding:20px 19px;border-radius:18px;background:linear-gradient(145deg,#34251d,#1e1612);border:1px solid rgba(212,180,109,.48);color:var(--bone)}
.midday-blessing .label{color:#d9b967}
.midday-blessing>p:last-child{margin-top:9px;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.65;color:#eee0c7}
.midday-received-word{margin-top:18px}
.midday-close-actions{flex-direction:column;margin-top:22px}
.midday-deeper-note{text-align:center;margin-top:9px;font-style:italic}
@media(max-width:370px){
  .midday-check{padding:18px 15px}
  .midday-movements{grid-template-columns:1fr}
}
.becoming-door-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:16px 0 4px;
}
.becoming-door-card{
  appearance:none;
  text-align:left;
  padding:14px 14px 13px;
  border-radius:15px;
  border:1px solid rgba(182,138,58,.24);
  background:linear-gradient(180deg,rgba(255,249,239,.78),rgba(244,235,221,.70));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.40);
  cursor:pointer;
}
.becoming-door-card span{
  display:block;
  font-family:var(--ui);
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.becoming-door-card em{
  display:block;
  margin-top:5px;
  font-family:var(--display);
  font-size:14px;
  line-height:1.35;
  color:var(--ash);
}
.becoming-mirror-today{
  margin-top:26px;
  padding:22px 18px 20px;
  border-radius:20px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.16), transparent 62%),
    linear-gradient(180deg, rgba(255,249,239,.86), rgba(244,235,221,.78));
  border:1px solid rgba(182,138,58,.30);
  box-shadow:0 22px 48px rgba(42,27,20,.075), inset 0 1px 0 rgba(255,255,255,.45);
}
.becoming-mirror-today h2{
  margin:4px 0 0;
  font-family:var(--head);
  font-size:24px;
  line-height:1.13;
  color:var(--ink);
}
.becoming-mirror-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:16px;
}
.becoming-mirror-grid div{
  padding:13px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.34);
  border:1px solid rgba(140,129,118,.12);
}
.becoming-mirror-grid span{
  display:block;
  font-family:var(--ui);
  font-size:9.5px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.becoming-mirror-grid strong{
  display:block;
  margin-top:5px;
  font-family:var(--display);
  font-size:15.5px;
  line-height:1.35;
  color:var(--codex-sepia);
  font-weight:500;
}
.becoming-mirror-seal{
  margin:16px auto 0;
  max-width:300px;
  text-align:center;
  font-family:var(--display);
  font-style:italic;
  color:var(--ash);
  line-height:1.5;
}
.becoming-thread-note{
  margin:12px 4px 12px;
  padding:16px 16px 15px;
  border-radius:16px;
  border:1px solid rgba(182,138,58,.18);
  background:rgba(255,249,239,.58);
}
.becoming-thread-note p:last-child{
  margin-top:5px;
  color:var(--ash);
  line-height:1.62;
  font-size:14.5px;
}
.becoming-thread-note strong{color:var(--codex-sepia);font-weight:500}
.becoming-witness-mirror{
  margin:14px 0 0;
  padding:18px 16px 18px;
  border-radius:22px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.16), transparent 60%),
    linear-gradient(160deg,#261913,#140e0a 76%);
  border:1px solid rgba(210,180,109,.24);
  box-shadow:0 26px 56px rgba(42,27,20,.15);
  color:var(--bone);
}
.becoming-witness-mirror .eyebrow,
.becoming-witness-mirror .label{
  color:var(--soft-gold)!important;
}
.becoming-witness-mirror .sh-sect{
  background:rgba(244,235,221,.07)!important;
  border:1px solid rgba(210,180,109,.15)!important;
  border-radius:16px;
  box-shadow:none!important;
}
.becoming-witness-mirror .sh-sect p,
.becoming-witness-mirror .ghint,
.becoming-witness-mirror ul{
  color:#d6c6a9!important;
}
.becoming-witness-mirror strong,
.becoming-witness-mirror em,
.becoming-witness-mirror li{
  color:#f2e3bf!important;
}
.becoming-witness-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid rgba(210,180,109,.18);
}
.becoming-witness-actions span{
  width:100%;
  text-align:center;
  font-family:var(--ui);
  font-size:9.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--soft-gold);
}
.becoming-witness-actions a{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(210,180,109,.18);
  background:rgba(244,235,221,.06);
  color:#f2e3bf;
  font-family:var(--display);
  font-style:italic;
  text-decoration:none;
}
.becoming-letter-card{
  margin:12px 4px 0;
  padding:18px 17px;
  border-radius:18px;
  border:1px solid rgba(182,138,58,.28);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.13), transparent 62%),
    linear-gradient(180deg,rgba(255,249,239,.84),rgba(244,235,221,.80));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}
.becoming-letter-card p{
  margin:0 0 14px;
  color:var(--ash);
  line-height:1.65;
}
@media (max-width:420px){
  .becoming-formation-portal,.becoming-door-row,.becoming-mirror-grid{grid-template-columns:1fr}
  .becoming-formation-portal{align-items:stretch;padding:19px 17px 17px}
}
body.quiet .becoming-formation-portal,
body.quiet .becoming-iw-witness,
body.quiet .iw-evening-synthesis,
body.quiet .iw-midday-thread,
body.quiet .midday-carried,
body.quiet .midday-check,
body.quiet .midday-witness-card,
body.quiet .evening-return-witness,
body.quiet .evening-authored-close>div,
body.quiet .evening-scripture,
body.quiet .becoming-door-card,
body.quiet .becoming-mirror-today,
body.quiet .becoming-thread-note,
body.quiet .becoming-letter-card{
  background:rgba(244,235,221,.06);
  border-color:rgba(210,180,109,.14);
  box-shadow:none;
}
body.quiet .becoming-formation-copy h2{color:#f3e6c8}
body.quiet .becoming-formation-copy>p:last-child{color:#b7aaa0}
body.quiet .becoming-iw-witness .becoming-iw-weather,
body.quiet .becoming-iw-witness>div strong,
body.quiet .becoming-iw-witness blockquote,
body.quiet .iw-evening-weather,
body.quiet .iw-evening-pair p,
body.quiet .iw-evening-carry,
body.quiet .iw-midday-thread>p:not(.label){color:#f3e6c8}
body.quiet .becoming-iw-witness>p,
body.quiet .iw-evening-synthesis-empty>p:last-child,
body.quiet .iw-midday-thread>span,
body.quiet .iw-midday-thread>small,
body.quiet .midday-return-intro>p:last-child,
body.quiet .midday-carried>p:last-child,
body.quiet .midday-private>p{color:#b7aaa0}
body.quiet .becoming-mirror-today h2,
body.quiet .becoming-mirror-grid strong,
body.quiet .midday-return-intro h1,
body.quiet .midday-witness-card h1,
body.quiet .midday-witness-card>p,
body.quiet .evening-return-witness h1,
body.quiet .evening-return-witness>p:not(.label),
body.quiet .evening-authored-close>div>p:last-child,
body.quiet .evening-scripture>p:nth-child(2),
body.quiet .evening-journal-choice>p:not(.label),
body.quiet .evening-journal-choice button,
body.quiet .evening-rest button,
body.quiet .midday-inner-weather-door,
body.quiet .midday-private>summary{color:#f3e6c8}
body.quiet .becoming-door-card em,
body.quiet .becoming-thread-note p:last-child,
body.quiet .becoming-mirror-seal,
body.quiet .becoming-letter-card p{color:#b7aaa0}
body.quiet .evening-return-witness>small,
body.quiet .evening-journal-choice>small,
body.quiet .evening-rest>p{color:#b7aaa0}
body.quiet .becoming-mirror-grid div{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.10)}
body.quiet .becoming-witness-mirror{box-shadow:none;border-color:rgba(210,180,109,.16)}
body.quiet .midday-blessing{background:#17100d;border-color:rgba(210,180,109,.16)}

/* ==========================================================
   SETTINGS ELEVATION — The Keys to the House
   Consent, memory, rhythm, privacy, and safety as a trust room.
   ========================================================== */
.settings-hero{
  margin:6px 0 22px;
  padding:24px 20px 20px;
  border-radius:22px;
  color:var(--bone);
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.20), transparent 58%),
    radial-gradient(ellipse at 50% 100%, rgba(201,122,84,.12), transparent 62%),
    linear-gradient(160deg,#241814,#120d09 78%);
  border:1px solid rgba(210,180,109,.22);
  box-shadow:0 24px 52px rgba(42,27,20,.12);
}
.settings-kicker{
  margin:0;
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.20em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.settings-kicker span{
  float:right;
  font-family:var(--display);
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
  color:var(--label-gold);
}
.settings-hero h1{
  margin:9px 0 0;
  font-family:var(--head);
  font-size:29px;
  line-height:1.06;
  color:#F4E6C6;
}
.settings-hero p:not(.settings-kicker){
  margin:10px 0 0;
  max-width:360px;
  color:#d7c29e;
  font-family:var(--display);
  font-size:16px;
  line-height:1.55;
}
.settings-state-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:18px;
}
.settings-chip{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:10px 11px;
  border-radius:13px;
  background:rgba(255,249,239,.06);
  border:1px solid rgba(210,180,109,.16);
  color:#F4E6C6;
  font-family:var(--ui);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.settings-chip em{
  color:#d8c29b;
  font-family:var(--display);
  font-style:italic;
  font-size:14px;
  letter-spacing:0;
  text-transform:none;
}
.settings-setup,
.settings-current,
.settings-chamber,
.settings-release{
  margin-top:20px;
  padding:20px 18px;
  border-radius:19px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.09), transparent 62%),
    rgba(244,235,221,.76);
  border:1px solid rgba(182,138,58,.20);
  box-shadow:0 18px 38px rgba(42,27,20,.055), inset 0 1px 0 rgba(255,255,255,.38);
}
.settings-setup h2,
.settings-chamber h3,
.settings-release h3{
  margin:7px 0 0;
  font-family:var(--head);
  font-size:23px;
  line-height:1.15;
  color:var(--ink);
}
.settings-setup > p:not(.settings-kicker),
.settings-copy,
.settings-release p:not(.settings-kicker){
  margin-top:8px;
  color:var(--ash);
  line-height:1.66;
}
.settings-setup-step{
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid rgba(140,129,118,.13);
}
.settings-setup-step strong,
.settings-subhead{
  display:block;
  color:var(--codex-sepia);
  font-family:var(--ui);
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.settings-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.settings-pill{
  border:1px solid rgba(182,138,58,.24);
  border-radius:999px;
  background:rgba(255,249,239,.56);
  color:var(--codex-sepia);
  padding:9px 12px;
  font-family:var(--display);
  font-size:14px;
  cursor:pointer;
}
.settings-pill.is-on{
  background:rgba(182,138,58,.14);
  border-color:rgba(182,138,58,.48);
  box-shadow:0 0 0 4px rgba(182,138,58,.07);
}
.settings-primary,
.settings-release button{
  width:100%;
  margin-top:18px;
  border:0;
  border-radius:10px;
  background:#6a402b;
  color:#fff8ec;
  padding:13px 14px;
  font-family:var(--ui);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}
.settings-current-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.settings-current-list div{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  padding:11px 12px;
  border-radius:13px;
  background:rgba(255,255,255,.28);
  border:1px solid rgba(140,129,118,.12);
}
.settings-current-list strong{
  color:var(--codex-sepia);
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.settings-current-list span{color:var(--ash);line-height:1.45}
.settings-door-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.settings-door-grid.lower{margin-top:24px}
.settings-door{
  display:block;
  width:100%;
  min-height:164px;
  text-align:left;
  border:1px solid rgba(182,138,58,.20);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,249,239,.80), rgba(244,235,221,.72));
  padding:16px 14px;
  cursor:pointer;
  font:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38);
}
.settings-door-kicker{
  display:block;
  min-height:12px;
  color:var(--label-gold);
  font-family:var(--ui);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.settings-door strong{
  display:block;
  margin-top:7px;
  color:var(--codex-sepia);
  font-family:var(--head);
  font-size:19px;
  line-height:1.12;
  font-weight:400;
}
.settings-door p{
  margin:8px 0 0;
  color:var(--ash);
  line-height:1.46;
  font-size:13.5px;
}
.settings-door em{
  display:inline-block;
  margin-top:11px;
  color:var(--label-gold);
  font-family:var(--ui);
  font-style:normal;
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.settings-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:15px;
}
.settings-actions.wrap{gap:8px}
.settings-actions button{
  flex:1 1 auto;
  border:1px solid rgba(182,138,58,.24);
  border-radius:11px;
  background:rgba(255,249,239,.58);
  color:var(--codex-sepia);
  padding:10px 12px;
  font-family:var(--ui);
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer;
}
.settings-note{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(140,129,118,.12);
  color:var(--ash);
  line-height:1.58;
  font-size:13.5px;
}
.settings-boundary{
  display:grid;
  gap:5px;
  margin-top:15px;
  padding:13px 13px 12px;
  border-radius:14px;
  border:1px solid rgba(182,138,58,.16);
  background:rgba(182,138,58,.06);
}
.settings-boundary strong{
  color:var(--label-gold);
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.settings-boundary span{color:var(--ash);line-height:1.55}
.settings-bell-grid{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.settings-bell-grid label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border-radius:13px;
  background:rgba(255,255,255,.26);
  border:1px solid rgba(140,129,118,.12);
  color:var(--codex-sepia);
  font-family:var(--display);
  cursor:pointer;
}
.settings-bell-grid input{accent-color:#b68a3a}
.settings-subhead{margin-top:16px}
.settings-release{
  border-color:rgba(154,59,38,.22);
  background:linear-gradient(180deg, rgba(255,249,239,.78), rgba(244,235,221,.76));
}
.settings-release .settings-kicker{color:#9a3b26}
/* The hero behind this is linear-gradient(160deg,#17100d,#0e0907) in every
   mode, and both kicker colours were tuned for a light page: --label-gold
   measured 2.65:1 there and the clay 2.25:1. Measured 5 August 2026. */
.settings-hero .settings-kicker{color:var(--soft-gold)}
.settings-release button{background:#5d3025}
.settings-footer{margin-top:36px!important}
@media(max-width:420px){
  .settings-door-grid{grid-template-columns:1fr}
  .settings-state-grid{grid-template-columns:1fr 1fr}
  .settings-door{min-height:auto}
  .settings-actions{flex-direction:column}
  .settings-actions button{width:100%}
}
body.quiet .settings-hero{box-shadow:none;background:radial-gradient(ellipse at 50% 0%,rgba(210,180,109,.10),transparent 58%),linear-gradient(160deg,#17100d,#0e0907)}
body.quiet .settings-setup,
body.quiet .settings-current,
body.quiet .settings-chamber,
body.quiet .settings-release,
body.quiet .settings-door{
  background:rgba(244,235,221,.06);
  border-color:rgba(210,180,109,.14);
  box-shadow:none;
}
body.quiet .settings-current-list div,
body.quiet .settings-boundary,
body.quiet .settings-bell-grid label,
body.quiet .settings-pill,
body.quiet .settings-actions button{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.10)}
body.quiet .settings-setup h2,
body.quiet .settings-chamber h3,
body.quiet .settings-release h3,
body.quiet .settings-door strong{color:#f3e6c8}
body.quiet .settings-copy,
body.quiet .settings-current-list span,
body.quiet .settings-door p,
body.quiet .settings-note,
body.quiet .settings-boundary span,
body.quiet .settings-setup > p:not(.settings-kicker),
body.quiet .settings-release p:not(.settings-kicker){color:#b7aaa0}
/* Stillness keeps the settings-door/-chamber card backgrounds nearly
   transparent over the dark screen, so the light-mode contrast fix above
   (--muted-gold -> --label-gold, tuned for the ivory card background) would
   under-contrast on that dark ground. Restore --muted-gold here, which was
   already legible against dark backgrounds elsewhere in Stillness. */
body.quiet .settings-kicker span,
body.quiet .settings-door em{color:var(--muted-gold)}

/* ==========================================================
   BECOMING GROUND + SANCTUARY MOMENTS
   ========================================================== */
.sanctuary-moment.room-section{
  margin-top:22px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,249,239,.80), rgba(244,235,221,.74));
  border-color:rgba(182,138,58,.22);
}
.sanctuary-moment .room-body{
  max-width:360px;
  margin-left:auto;
  margin-right:auto;
}
.sanctuary-unnamed{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(140,129,118,.13);
  text-align:center;
}
.becoming-ground-objective{
  margin:10px 4px 0;
  padding:16px 16px 14px;
  border-radius:16px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.10), transparent 60%),
    rgba(255,249,239,.66);
  border:1px solid rgba(182,138,58,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36);
}
.becoming-ground-objective p{
  margin:0;
  color:var(--ash);
  line-height:1.68;
  font-size:15px;
}
body.quiet .sanctuary-moment.room-section,
body.quiet .becoming-ground-objective{
  background:rgba(244,235,221,.06);
  border-color:rgba(210,180,109,.14);
  box-shadow:none;
}
body.quiet .becoming-ground-objective p,
body.quiet .sanctuary-unnamed .ghint{color:#b7aaa0}


/* ==========================================================
   COMPANION — transformed Nine Doors UI
   ========================================================== */
.companion-page-list{gap:18px}
.comp-nine-shell{
  position:relative;
  margin:6px 2px 0;
  padding:38px 22px 24px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(247,241,231,.92), rgba(242,235,223,.88));
  border:1px solid rgba(214,194,160,.95);
  box-shadow:0 18px 44px rgba(63,41,24,.07), inset 0 1px 0 rgba(255,255,255,.65);
  overflow:visible;
}
.comp-nine-shell::after{
  content:'';
  position:absolute;
  inset:8px;
  border-radius:22px;
  border:1px solid rgba(222,205,173,.65);
  pointer-events:none;
}
.comp-nine-orn{
  position:absolute;
  top:-16px;
  left:50%;
  transform:translateX(-50%);
  width:36px;
  height:36px;
  border:2px solid rgba(223,187,116,.95);
  background:linear-gradient(180deg,#f8f3ea,#eee4d3);
  transform-origin:center;
  rotate:45deg;
  border-radius:3px;
  box-shadow:0 6px 16px rgba(63,41,24,.08);
}
.comp-nine-orn span{
  position:absolute;
  inset:7px;
  border:1.5px solid rgba(223,187,116,.85);
  border-radius:2px;
}
.comp-nine-kicker{
  margin:0;
  font-family:var(--ui);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.comp-nine-title{
  margin:14px 0 0;
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:34px;
  line-height:1.05;
  color:var(--ink);
}
.comp-nine-lede{
  margin:18px 0 24px;
  font-family:var(--display);
  font-size:19px;
  line-height:1.56;
  color:var(--ash);
}
.comp-nine-list{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-bottom:6px;
}
.comp-nine-list::before{
  content:'';
  position:absolute;
  left:35px;
  top:18px;
  bottom:18px;
  width:1.5px;
  background:rgba(215,192,151,.92);
}
.comp-door-step{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:16px;
  align-items:center;
}
.comp-door-node{
  position:relative;
  z-index:1;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1.5px solid rgba(215,196,164,.92);
  background:linear-gradient(180deg,#f7f1e8,#f0e7d8);
  box-shadow:0 1px 0 rgba(255,255,255,.55), inset 0 1px 0 rgba(255,255,255,.5);
}
.comp-door-node-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(212,184,128,.94);
}
.comp-door-card{
  width:100%;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:96px;
  padding:16px 18px 16px 20px;
  border-radius:20px;
  border:1.5px dashed rgba(223,209,184,.82);
  background:rgba(255,253,249,.44);
  color:inherit;
  font:inherit;
  box-shadow:none;
}
button.comp-door-card{cursor:pointer}
.comp-door-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;min-width:0}
.comp-door-title{
  /* same phantom as .mo-row .mo-title above: 'EB Garamond' is loaded by
     nothing and has always rendered as Georgia. */
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:25px;
  line-height:1.2;
  color:rgba(90,78,60,.56);
}
.comp-door-tag{
  font-family:var(--ui);
  font-size:10.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(182,138,58,.95);
  white-space:nowrap;
}
.comp-door-arrow{
  flex:none;
  font-size:34px;
  line-height:1;
  color:rgba(167,121,44,.95);
  padding-right:4px;
}
.comp-door-step.is-next .comp-door-node,
.comp-door-step.is-open:not(.is-locked) .comp-door-node{
  border-color:rgba(200,159,79,.95);
  box-shadow:0 0 0 6px rgba(219,193,145,.14);
}
.comp-door-step.is-next .comp-door-node-dot,
.comp-door-step.is-open:not(.is-locked) .comp-door-node-dot{background:rgba(199,154,62,.98)}
.comp-door-step.is-open .comp-door-card{
  border-style:solid;
  border-color:rgba(213,177,104,.96);
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(251,247,239,.92));
  box-shadow:0 14px 28px rgba(72,48,30,.06);
}
.comp-door-step.is-open .comp-door-title{color:var(--codex-sepia)}
.comp-door-step.is-done .comp-door-card{
  border-style:solid;
  border-color:rgba(223,206,177,.92);
  background:rgba(255,252,246,.55);
}
.comp-door-step.is-done .comp-door-title{color:rgba(97,78,56,.75)}
.comp-door-tag.is-done{color:rgba(146,130,102,.82)}
.comp-door-step.is-locked .comp-door-card{pointer-events:none}
.comp-door-step.is-locked .comp-door-tag{display:none}
@media (max-width: 480px){
  .comp-nine-shell{padding:34px 18px 22px;border-radius:24px}
  .comp-nine-title{font-size:30px}
  .comp-nine-lede{font-size:17px;margin-bottom:22px}
  .comp-nine-list::before{left:30px}
  .comp-door-step{grid-template-columns:44px minmax(0,1fr);gap:14px}
  .comp-door-node{width:44px;height:44px}
  .comp-door-card{min-height:84px;padding:14px 16px}
  .comp-door-title{font-size:20px}
  .comp-door-arrow{font-size:28px}
}
body.quiet .comp-nine-shell{
  background:linear-gradient(180deg, rgba(34,27,22,.94), rgba(24,19,16,.96));
  border-color:rgba(210,180,109,.20);
  box-shadow:none;
}
body.quiet .comp-nine-shell::after{border-color:rgba(210,180,109,.12)}
body.quiet .comp-nine-orn{background:linear-gradient(180deg,#241d18,#17120f);border-color:rgba(210,180,109,.72)}
body.quiet .comp-nine-kicker{color:var(--soft-gold)}
body.quiet .comp-nine-title{color:var(--bone)}
body.quiet .comp-nine-lede{color:#b7aaa0}
body.quiet .comp-nine-list::before{background:rgba(210,180,109,.24)}
body.quiet .comp-door-node{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.18);box-shadow:none}
body.quiet .comp-door-node-dot{background:rgba(210,180,109,.62)}
body.quiet .comp-door-card{background:rgba(244,235,221,.03);border-color:rgba(210,180,109,.12)}
body.quiet .comp-door-title{color:#a99b8c}
body.quiet .comp-door-step.is-open .comp-door-card{background:rgba(244,235,221,.07);border-color:rgba(210,180,109,.30)}
body.quiet .comp-door-step.is-open .comp-door-title{color:#f3e6c8}
body.quiet .comp-door-arrow, body.quiet .comp-door-tag{color:#d3bf97}


/* ==========================================================
   FINAL MAJOR-TAB POLISH PASS
   Today · Companion · Walk · Becoming · Together
   ========================================================== */
.major-tab-hero{
  position:relative;
  margin:6px 0 18px;
  padding:24px 20px 20px;
  border-radius:24px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.13), transparent 60%),
    linear-gradient(180deg, rgba(255,249,239,.90), rgba(244,235,221,.84));
  border:1px solid rgba(214,194,160,.88);
  box-shadow:0 18px 42px rgba(42,27,20,.07), inset 0 1px 0 rgba(255,255,255,.54);
  overflow:hidden;
}
.major-tab-hero::after{
  content:'';
  position:absolute;
  inset:8px;
  border-radius:18px;
  border:1px solid rgba(222,205,173,.62);
  pointer-events:none;
}
.major-tab-kicker{
  margin:0;
  font-family:var(--ui);
  font-size:10.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.major-tab-hero h1{
  margin:10px 0 0;
  font-family:var(--head);
  font-size:29px;
  line-height:1.06;
  color:var(--ink);
}
.major-tab-lede{
  margin:10px 0 0;
  font-family:var(--display);
  font-size:17px;
  line-height:1.58;
  color:var(--ash);
  max-width:38ch;
}
.practice-engine-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:20px 0 0;padding:0;list-style:none}
.practice-engine-steps li{min-width:0;padding:11px 9px 10px;border:1px solid rgba(182,138,58,.22);border-radius:13px;background:rgba(255,249,239,.58)}
.practice-engine-steps li>span{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.12em;color:var(--label-gold)}
.practice-engine-steps strong{display:block;margin-top:5px;font-family:var(--display);font-size:14px;line-height:1.25;font-weight:500;color:var(--codex-sepia)}
.practice-engine-steps small{display:block;margin-top:4px;font-family:var(--ui);font-size:8.5px;line-height:1.35;color:var(--ash)}
.practice-engine-boundary{margin:13px 0 0;padding-top:11px;border-top:1px solid rgba(182,138,58,.2);font-family:var(--ui);font-size:10px;line-height:1.55;color:var(--ash)}
.practice-engine-boundary strong{color:var(--label-gold);letter-spacing:.08em;text-transform:uppercase}
.practice-fruit-proof{margin-top:18px;padding:18px 16px 15px;border:1px solid rgba(182,138,58,.25);border-top:3px solid var(--muted-gold);background:linear-gradient(145deg,rgba(255,249,239,.72),rgba(235,225,237,.34))}.practice-fruit-proof h2{margin-top:6px;font-family:var(--display);font-size:22px;line-height:1.2;font-weight:500;color:var(--codex-sepia)}.practice-fruit-proof>p:not(.room-label){margin-top:9px;font-size:12.5px;line-height:1.58;color:var(--ash)}.practice-fruit-triad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:13px;border:1px solid rgba(182,138,58,.2);background:rgba(182,138,58,.2)}.practice-fruit-triad span{padding:8px 5px;background:rgba(255,249,239,.66);text-align:center;font-family:var(--ui);font-size:8px;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--label-gold)}.practice-fruit-proof ul{display:grid;gap:6px;margin:13px 0 0;padding:0;list-style:none}.practice-fruit-proof li{padding-left:12px;position:relative;font-family:var(--display);font-size:13.5px;line-height:1.45;color:var(--codex-sepia)}.practice-fruit-proof li::before{content:'·';position:absolute;left:0;color:var(--label-gold)}.practice-fruit-proof>small{display:block;margin-top:12px;padding-top:10px;border-top:1px solid rgba(182,138,58,.18);font-family:var(--ui);font-size:8.5px;line-height:1.5;color:var(--ash)}
body.quiet .practice-engine-steps li{background:rgba(244,235,221,.045);border-color:rgba(212,180,109,.16)}
body.quiet .practice-engine-steps strong{color:#eadabd}
body.quiet .practice-engine-steps small,body.quiet .practice-engine-boundary{color:#b7aaa0}
body.quiet .practice-fruit-proof{background:rgba(244,235,221,.035);border-color:rgba(212,180,109,.18)}body.quiet .practice-fruit-proof h2,body.quiet .practice-fruit-proof li{color:#eadabd}body.quiet .practice-fruit-proof>p:not(.room-label),body.quiet .practice-fruit-proof>small{color:#b7aaa0}body.quiet .practice-fruit-triad span{background:rgba(244,235,221,.035)}
.major-tab-linkcard{
  display:block;
  width:100%;
  text-align:left;
  background:linear-gradient(180deg, rgba(255,251,245,.86), rgba(246,238,227,.82));
  border:1px solid rgba(214,194,160,.75);
  border-radius:19px;
  padding:18px 18px 16px;
  box-shadow:0 12px 26px rgba(42,27,20,.05), inset 0 1px 0 rgba(255,255,255,.48);
  cursor:pointer;
  font:inherit;
}
.major-tab-linkcard + .rule{ margin-top:26px; }
.major-tab-linkcard h3{margin-top:4px}
.major-tab-linkcopy{color:var(--ash);margin-top:6px;line-height:1.65}
.major-tab-linkcue{display:inline-block;margin-top:9px;padding-left:0}
.path-hero-scripture{
  margin-top:16px;
  padding:16px 16px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(214,194,160,.72);
  max-width:360px;
}
.path-hero-scripture .t{
  font-family:var(--display);
  font-size:19px;
  line-height:1.45;
  color:var(--codex-sepia);
}
.path-hero-scripture .r{
  margin-top:8px;
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.walk-tab-body,
.becoming-screen #bcBody{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.walk-tab-hero .open-sentence{
  margin-top:16px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(214,194,160,.72);
}
.becoming-tab-hero .becoming-door-row{ margin-top:18px; }
.together-screen .major-tab-hero{ margin-bottom:10px; }
.together-screen .vessel-card,
.together-screen .room-section{
  margin-top:18px;
}

/* ==========================================================
   TOGETHER GROUP SURFACES — v492
   Three forms of company now have three visual grammars: a warm local
   invitation, an ember-bounded pair, and the Field Atlas for a named table.
   ========================================================== */
.together-group-card{position:relative;overflow:hidden;box-shadow:0 18px 40px rgba(42,27,20,.065),inset 0 1px 0 rgba(255,255,255,.42)}
.together-group-head{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}
.together-group-glyph{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(182,138,58,.42);border-radius:50%;font-family:var(--head);font-size:22px;color:var(--label-gold);background:rgba(255,252,247,.45)}
.together-companion-card{margin-top:20px!important;padding:19px 18px 18px!important;border:1px solid rgba(182,138,58,.36)!important;border-radius:22px!important;background:radial-gradient(circle at 0% 0%,rgba(210,180,109,.18),transparent 42%),linear-gradient(155deg,rgba(255,250,241,.98),rgba(241,229,210,.78))!important}
.together-companion-card .room-title{margin-top:4px;font-size:22px}
.together-companion-card .room-body{margin-top:13px;max-width:520px}
.together-crucible-card{border-color:rgba(138,79,31,.36)!important;border-radius:21px!important;background:radial-gradient(circle at 96% 0%,rgba(210,180,109,.16),transparent 36%),linear-gradient(160deg,rgba(255,248,237,.98),rgba(239,222,199,.82))!important}
.together-crucible-card .together-crucible-title{margin-top:5px;font-family:var(--head);font-size:26px;line-height:1.1;color:var(--ink)}
.together-crucible-card .vessel-title{font-size:26px}
.together-crucible-card .together-weather-preview{border-top-color:rgba(138,79,31,.22)}
.together-circle-card{margin-top:20px!important}
.together-circle-card .circle-field-atlas-head h2{font-size:29px}
.together-circle-card .circle-field-layers{margin-top:18px}
.together-circle-primary{min-height:43px}
.together-circle-roster{margin-top:15px;padding:12px 12px 2px;border:1px solid rgba(120,97,132,.18);border-radius:14px;background:rgba(255,252,247,.52)}
.together-circle-roster::before{content:"Circles already carrying your name";display:block;font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#786184}
.together-circle-instance{margin-top:3px;padding:2px 7px 8px;border-bottom:1px solid rgba(120,97,132,.13)}
.together-circle-instance:last-child{border-bottom:0}
.together-circle-instance.is-stirred{margin-left:-3px;margin-right:-3px;padding-left:10px;padding-right:10px;border-radius:10px;background:rgba(210,180,109,.11);box-shadow:0 0 0 1px rgba(182,138,58,.28)}
.together-circle-instance button{margin-top:13px!important}
.together-circle-empty{margin-top:8px;padding:4px 0 8px;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.5;color:var(--ash)}
.tg-room-card--crucible{border-left:3px solid #8a4f1f!important;background:linear-gradient(155deg,rgba(255,248,237,.94),rgba(239,222,199,.74))!important}
.tg-room-card--circle{border-left:3px solid #786184!important;background:linear-gradient(155deg,rgba(253,249,244,.94),rgba(235,224,220,.74))!important}
body.quiet .together-companion-card,body.quiet .together-crucible-card{background:linear-gradient(155deg,rgba(28,22,18,.94),rgba(18,14,11,.96))!important;border-color:rgba(210,180,109,.16)!important;box-shadow:none}
body.quiet .together-group-glyph{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.2);color:#d8c8a7}
body.quiet .together-crucible-card .together-crucible-title,body.quiet .together-crucible-card .vessel-title{color:#f3e6c8}
body.quiet .together-circle-roster{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.14)}
body.quiet .together-circle-roster::before{color:#d8c8a7}
body.quiet .together-circle-empty{color:#b7aaa0}
@media(max-width:520px){
  .together-group-head{grid-template-columns:36px 1fr;gap:10px}
  .together-group-glyph{width:34px;height:34px;font-size:20px}
  .together-circle-card .circle-field-atlas-head h2{font-size:26px}
}
.crucible-screen .major-tab-hero{margin-bottom:12px}
.crucible-screen .crucible-bond-shell{margin-top:18px}
.crucible-weather-rehearsal{position:relative;margin-top:18px;padding:19px 17px;border:1px solid rgba(138,79,31,.28);border-radius:19px;background:radial-gradient(circle at 96% 0%,rgba(210,180,109,.17),transparent 36%),linear-gradient(155deg,rgba(255,249,239,.92),rgba(241,229,210,.74));box-shadow:0 15px 34px rgba(42,27,20,.055)}
.crucible-interior-preview{position:relative;margin-top:20px;padding:19px 17px;border:1px solid rgba(138,79,31,.34);border-radius:21px;background:radial-gradient(circle at 12% 0%,rgba(210,180,109,.2),transparent 36%),linear-gradient(160deg,rgba(255,250,242,.97),rgba(238,223,200,.78));box-shadow:0 18px 40px rgba(42,27,20,.08)}
.crucible-interior-preview-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.crucible-interior-preview-head h3{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.12;color:var(--ink)}.crucible-interior-preview-head p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}.crucible-interior-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(138,79,31,.34);border-radius:50%;font-family:var(--head);font-size:20px;color:#8a4f1f}
.crucible-interior-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:7px;align-items:stretch;margin-top:17px}.crucible-interior-node{padding:11px 9px;border:1px solid rgba(140,129,118,.22);border-radius:11px;background:rgba(255,252,247,.68)}.crucible-interior-node.is-shared{border-color:rgba(138,79,31,.36);background:rgba(138,79,31,.08)}.crucible-interior-node span,.crucible-interior-node strong,.crucible-interior-node small{display:block}.crucible-interior-node span{font-family:var(--ui);font-size:8px;letter-spacing:.12em;color:var(--label-gold)}.crucible-interior-node strong{margin-top:4px;font-family:var(--display);font-size:14px;color:var(--ink)}.crucible-interior-node small{margin-top:5px;font-size:10.5px;line-height:1.4;color:var(--ash)}.crucible-interior-join{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.crucible-heavens-module{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:16px;padding:14px 13px;border-radius:13px;background:linear-gradient(145deg,#21150f,#382117);border:1px solid rgba(210,180,109,.25);color:#f4e6c6}.crucible-heavens-module .room-label{color:#e0b45a}.crucible-heavens-module h4{margin-top:5px;font-family:var(--head);font-size:19px;line-height:1.18;color:#f4e6c6}.crucible-heavens-module p:not(.room-label){margin-top:7px;font-family:var(--display);font-size:12.5px;line-height:1.52;color:#cdbb9f}.crucible-heavens-status{align-self:start;padding:6px 8px;border:1px solid rgba(224,180,90,.32);border-radius:999px;font-family:var(--ui);font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:#e0b45a;white-space:nowrap}
.crucible-interior-utility{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.crucible-interior-utility article{padding:11px 10px;border-top:2px solid rgba(138,79,31,.5);background:rgba(255,252,247,.52)}.crucible-interior-utility h4{margin-top:4px;font-family:var(--display);font-size:14px;color:var(--ink)}.crucible-interior-utility p:not(.room-label){margin-top:5px;font-size:11px;line-height:1.42;color:var(--ash)}
.crucible-interior-touchpoints{margin-top:16px;padding-top:13px;border-top:1px solid rgba(140,129,118,.18)}.crucible-interior-touchpoints>div{display:grid;gap:8px;margin-top:8px}.crucible-interior-touchpoints span{display:grid;grid-template-columns:94px 1fr;gap:8px;align-items:baseline}.crucible-interior-touchpoints strong{font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.crucible-interior-touchpoints small{font-size:11.5px;line-height:1.4;color:var(--ash)}.crucible-interior-held{margin-top:14px;padding-top:12px;border-top:1px solid rgba(140,129,118,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.04em;color:var(--ash-quiet)}.crucible-interior-held strong{color:var(--label-ink)}
.crucible-weather-rehearsal-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.crucible-weather-rehearsal h3{margin-top:5px;font-family:var(--head);font-size:24px;line-height:1.14;color:var(--ink)}.crucible-weather-rehearsal-head p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}.crucible-weather-seal{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(138,79,31,.3);border-radius:50%;font-family:var(--head);font-size:18px;color:#8a4f1f}
.crucible-weather-consent{display:grid;gap:11px;margin-top:15px;padding:13px;border:1px solid rgba(182,138,58,.2);border-radius:13px;background:rgba(255,252,247,.58)}.crucible-weather-consent strong,.crucible-weather-consent span{display:block}.crucible-weather-consent strong{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.crucible-weather-consent span{margin-top:5px;font-family:var(--display);font-size:12px;line-height:1.45;color:var(--ash)}.crucible-weather-consent-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.crucible-weather-consent-steps span{padding:8px;border-radius:8px;background:rgba(239,224,200,.38);font-family:var(--ui);font-size:8.5px;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--label-gold)}.crucible-weather-consent-steps i{display:block;margin-bottom:4px;font-style:normal;color:var(--ink)}.crucible-weather-held{margin-top:12px;padding-top:12px;border-top:1px solid rgba(140,129,118,.16)}.crucible-weather-held p:not(.sh-glabel){margin-top:6px;font-family:var(--display);font-size:12px;line-height:1.48;color:var(--ash)}.crucible-weather-held .sh-cmd{margin-top:12px;min-height:44px}.crucible-weather-windows{display:grid;gap:7px;margin-top:13px;padding-top:13px;border-top:1px solid rgba(140,129,118,.16)}.crucible-weather-window{padding:11px 12px;border-left:3px solid #8a4f1f;border-radius:9px;background:rgba(255,252,247,.68)}.crucible-weather-window span,.crucible-weather-window strong,.crucible-weather-window small{display:block}.crucible-weather-window span{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.crucible-weather-window strong{margin-top:4px;font-family:var(--display);font-size:14px;line-height:1.42;color:var(--ink)}.crucible-weather-window small{margin-top:7px;font-family:var(--ui);font-size:8px;line-height:1.4;letter-spacing:.05em;text-transform:uppercase;color:var(--ash-quiet)}.together-weather-preview{margin-top:16px;padding-top:14px;border-top:1px solid rgba(140,129,118,.16)}.together-weather-preview-title{margin-top:4px;font-family:var(--head);font-size:20px;line-height:1.18;color:var(--ink)}.together-weather-preview-copy{margin-top:6px;font-family:var(--display);font-size:12.5px;line-height:1.52;color:var(--ash)}.together-weather-preview-note{margin-top:8px;font-family:var(--ui);font-size:8.5px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-quiet)}
.crucible-weather-keeper-rehearsal{margin-top:14px;padding-top:14px;border-top:1px solid rgba(140,129,118,.16)}.crucible-weather-keeper-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.crucible-weather-keeper-head h4{margin-top:4px;font-family:var(--head);font-size:19px;line-height:1.2;color:var(--ink)}.crucible-weather-keeper-head p:not(.room-label){margin-top:6px;font-family:var(--display);font-size:12.5px;line-height:1.5;color:var(--ash)}.crucible-weather-keeper-head>span{font-family:var(--head);font-size:19px;color:#8a4f1f}.crucible-weather-keeper-boundary{display:grid;gap:3px;margin-top:11px;padding:10px 11px;border-radius:10px;background:rgba(182,138,58,.08)}.crucible-weather-keeper-boundary strong{font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.crucible-weather-keeper-boundary span{font-family:var(--display);font-size:11.5px;line-height:1.45;color:var(--ash)}.crucible-weather-keeper-rehearsal>.sh-cmd{margin-top:11px;min-height:42px}.crucible-weather-keeper-result{margin-top:13px;padding-top:13px;border-top:1px solid rgba(140,129,118,.16)}.crucible-weather-keeper-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.crucible-weather-keeper-result-head>span{font-family:var(--ui);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-quiet)}.crucible-weather-keeper-claim{margin-top:9px;padding:10px 11px;border-left:3px solid #8a4f1f;border-radius:9px;background:rgba(255,252,247,.68)}.crucible-weather-keeper-claim>span{display:block;font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.crucible-weather-keeper-claim p{margin-top:4px;font-family:var(--display);font-size:13px;line-height:1.45;color:var(--ink)}.crucible-weather-keeper-claim small{display:block;margin-top:6px;font-family:var(--ui);font-size:8px;line-height:1.35;letter-spacing:.05em;text-transform:uppercase;color:var(--ash-quiet)}.crucible-weather-keeper-question{margin-top:12px;padding:10px 11px;border-radius:9px;background:rgba(182,138,58,.08);font-family:var(--display);font-size:13px;line-height:1.48;color:var(--ink)}.crucible-weather-keeper-question span{display:block;margin-bottom:4px;font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.crucible-weather-keeper-note{margin-top:10px;font-family:var(--ui);font-size:8.5px;line-height:1.45;letter-spacing:.04em;text-transform:uppercase;color:var(--ash-quiet)}
.crucible-weather-sitting-rehearsal{margin-top:14px;padding-top:14px;border-top:1px solid rgba(140,129,118,.16)}.crucible-weather-sitting-steps{display:grid;gap:8px;margin-top:12px}.crucible-weather-sitting-steps>div{display:grid;gap:2px;padding:9px 10px;border-left:2px solid rgba(138,79,31,.55);background:rgba(182,138,58,.06);border-radius:0 9px 9px 0}.crucible-weather-sitting-steps strong{font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold)}.crucible-weather-sitting-steps span{font-family:var(--display);font-size:12px;line-height:1.4;color:var(--ash)}
.together-screen #secInvites{
  margin-top:18px;
  padding:18px 18px 14px;
  border-radius:19px;
  background:linear-gradient(180deg, rgba(255,250,243,.88), rgba(246,238,226,.82));
  border:1px solid rgba(214,194,160,.72);
  box-shadow:0 12px 26px rgba(42,27,20,.05);
}
/* the major tabs run tighter than the default screen, but must still clear the
   fixed tab bar — measured live: 34px flat left the last sentences beneath it.
   The buffer derives from --tabbar-h so it can never fall out of step again. */
body[data-majortab="today"] .screen,
body[data-majortab="path"] .screen,
body[data-majortab="codex"] .screen,
body[data-majortab="practice"] .screen,
body[data-majortab="becoming"] .screen,
body[data-majortab="together"] .screen{
  padding-bottom:calc(var(--tabbar-h) + 44px + var(--safe-bot));
}
body.quiet .major-tab-hero,
body.quiet .major-tab-linkcard,
body.quiet .together-screen #secInvites{
  background:linear-gradient(180deg, rgba(28,22,18,.94), rgba(18,14,11,.96));
  border-color:rgba(210,180,109,.14);
  box-shadow:none;
}
body.quiet .crucible-weather-rehearsal{background:linear-gradient(155deg,rgba(39,28,21,.94),rgba(20,14,11,.97));border-color:rgba(210,180,109,.2);box-shadow:none}.quiet .crucible-weather-rehearsal h3,.quiet .together-weather-preview-title,.quiet .crucible-weather-keeper-head h4{color:#f3e6c8}.quiet .crucible-weather-rehearsal-head p:not(.room-label),.quiet .crucible-weather-consent span,.quiet .crucible-weather-held p:not(.sh-glabel),.quiet .crucible-weather-window strong,.quiet .together-weather-preview-copy,.quiet .crucible-weather-keeper-head p:not(.room-label),.quiet .crucible-weather-keeper-boundary span,.quiet .crucible-weather-keeper-claim p,.quiet .crucible-weather-keeper-question{color:#b7aaa0}.quiet .crucible-weather-consent{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.14)}.quiet .crucible-weather-window,.quiet .crucible-weather-keeper-claim{background:rgba(244,235,221,.05);border-color:#d2b46d}.quiet .together-weather-preview,.quiet .crucible-weather-keeper-rehearsal,.quiet .crucible-weather-keeper-result{border-color:rgba(210,180,109,.14)}.quiet .crucible-weather-keeper-boundary,.quiet .crucible-weather-keeper-question{background:rgba(212,180,109,.08)}
.quiet .crucible-weather-sitting-rehearsal{border-color:rgba(210,180,109,.14)}.quiet .crucible-weather-sitting-steps>div{background:rgba(244,235,221,.05);border-color:#d2b46d}.quiet .crucible-weather-sitting-steps span{color:#b7aaa0}
body.quiet .major-tab-hero::after{ border-color:rgba(210,180,109,.10); }
body.quiet .major-tab-kicker,
body.quiet .path-hero-scripture .r{ color:var(--soft-gold); }
body.quiet .major-tab-hero h1,
body.quiet .path-hero-scripture .t{ color:#f3e6c8; }
body.quiet .major-tab-lede,
body.quiet .major-tab-linkcopy{ color:#b7aaa0; }
body.quiet .major-tab-linkcard,
body.quiet .path-hero-scripture,
body.quiet .walk-tab-hero .open-sentence{ background:rgba(244,235,221,.05); border-color:rgba(210,180,109,.12); }
@media (max-width: 480px){
  .major-tab-hero{padding:22px 16px 18px;border-radius:22px}
  .major-tab-hero h1{font-size:27px}
  .major-tab-lede{font-size:16px}
  .major-tab-linkcard{padding:16px 15px 15px}
  .path-hero-scripture{padding:14px 14px 12px}
  .path-hero-scripture .t{font-size:17px}
  .crucible-weather-rehearsal-head{grid-template-columns:1fr}.crucible-weather-seal{display:none}.crucible-weather-consent-steps{grid-template-columns:1fr}.crucible-weather-keeper-head{grid-template-columns:1fr}.crucible-weather-keeper-head>span{display:none}.crucible-weather-keeper-result-head{display:block}.crucible-weather-keeper-result-head>span{display:block;margin-top:4px}.crucible-interior-preview-head{grid-template-columns:1fr}.crucible-interior-mark{display:none}.crucible-interior-flow{grid-template-columns:1fr;gap:5px}.crucible-interior-join{writing-mode:horizontal-tb;min-height:20px}.crucible-heavens-module{grid-template-columns:1fr}.crucible-heavens-status{justify-self:start}.crucible-interior-utility{grid-template-columns:1fr}.crucible-interior-touchpoints span{grid-template-columns:1fr;gap:2px}
}


/* ==========================================================
   GOLDEN COMPANION RESTORE — exact source transplant
   ========================================================== */
/* ==========================================================
   WALK / COMPANION HARMONIZATION
   One sanctuary grammar for the two primary solo rooms.
   ========================================================== */
.journey-hero{
  position:relative;
  margin:2px -2px 24px;
  padding:18px 0 22px;
  border-bottom:1px solid rgba(182,138,58,.18);
}
.journey-hero::after{
  content:"";
  display:block;
  width:64px;
  height:1px;
  margin:20px auto 0;
  background:linear-gradient(90deg,transparent,rgba(182,138,58,.55),transparent);
}
.journey-kicker{
  font-family:var(--ui);
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--label-gold);
  margin:0;
}
.journey-hero h1{
  margin:8px 0 0;
  font-family:var(--head);
  font-size:27px;
  line-height:1.12;
  color:var(--ink);
}
.journey-lede{
  margin:10px 0 0;
  max-width:430px;
  font-family:var(--display);
  font-style:italic;
  font-size:18px;
  line-height:1.58;
  color:var(--ash);
}
.journey-carried{
  margin-top:16px;
}
.journey-carried p{
  margin-top:0!important;
}
.journey-hero-companion{
  margin-bottom:20px;
}
.journey-hero-companion .journey-kicker,
.journey-hero-walk .journey-kicker{
  color:var(--label-gold);
}
#prBody > .room-section:first-child,
.companion-doors-section{
  margin-top:18px;
}
.companion-doors-section{
  padding:22px 18px 22px;
}
.companion-door-list{
  position:relative;
  margin-top:18px;
  display:flex;
  flex-direction:column;
  gap:13px;
}
.companion-door-list::before{
  content:"";
  position:absolute;
  left:22px;
  top:18px;
  bottom:18px;
  width:1px;
  background:linear-gradient(180deg,rgba(182,138,58,.10),rgba(182,138,58,.48),rgba(182,138,58,.10));
}
.companion-door-list .mo-row{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:13px;
  align-items:center;
  width:100%;
  min-height:68px;
  text-align:left;
  margin:0;
  padding:12px 13px 12px 0;
  border:0;
  background:transparent;
  box-shadow:none!important;
}
.companion-door-list .mo-row .mo-num{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(140,129,118,.28);
  background:var(--bone);
  color:var(--ash);
  font-family:var(--smallcaps);
  font-size:13px;
  letter-spacing:.08em;
}
.companion-door-list .mo-row .mo-title{
  min-height:56px;
  padding:13px 16px;
  border-radius:14px;
  background:rgba(255,249,239,.68);
  border:1px solid rgba(140,129,118,.18);
  color:var(--codex-sepia);
  font-family:var(--display);
  font-size:18px;
  line-height:1.3;
}
.companion-door-list .mo-row .mo-state{
  color:var(--label-gold);
  font-size:18px;
  padding-right:2px;
}
.companion-door-list .mo-row:not(.locked):not(.done) .mo-num{
  color:var(--ink);
  border-color:var(--soft-gold);
  box-shadow:0 0 0 4px rgba(210,180,109,.12),0 0 24px rgba(210,180,109,.25);
}
.companion-door-list .mo-row:not(.locked):not(.done) .mo-title{
  background:radial-gradient(ellipse at 0% 0%,rgba(210,180,109,.16),transparent 62%),var(--warm-ivory);
  border-color:rgba(182,138,58,.46);
}
.companion-door-list .mo-row.done .mo-num{
  border-color:rgba(182,138,58,.45);
  color:var(--label-gold);
  background:radial-gradient(circle,rgba(210,180,109,.18),var(--bone) 68%);
}
.companion-door-list .mo-row.done .mo-title{
  color:var(--ash);
  background:rgba(255,249,239,.52);
}
.companion-door-list .mo-row.locked{
  /* .55 opacity uniformly diluted --ash text toward the card background to
     ~2.3:1 (measured), well under AA even before factoring day/evening/night.
     .68 + a darker pre-opacity token (--ink, below) restores >=4.5:1 while
     keeping locked doors visibly quieter than the open/next door (which
     reads at full opacity, ~9:1) — the "not yet" feel is opacity + dashed
     border + no chevron, not illegibility. */
  opacity:.68;
  cursor:default;
}
.companion-door-list .mo-row.locked .mo-title{
  color:var(--ink);
  border-style:dashed;
  background:rgba(255,249,239,.38);
}
.chapter-practice-section{
  margin-top:28px;
  padding:22px 18px 22px;
}
.chapter-ground,
.chapter-act{
  margin-top:16px;
  padding:16px 16px 15px;
  border-radius:15px;
  background:rgba(255,249,239,.66);
  border:1px solid rgba(140,129,118,.14);
}
.chapter-act{
  background:radial-gradient(ellipse at 50% 0%,rgba(210,180,109,.12),transparent 64%),rgba(255,249,239,.72);
  border-color:rgba(182,138,58,.20);
}
.chapter-label{
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--label-gold);
  margin:0;
}
.chapter-teaching{
  margin:9px 0 0;
  font-family:var(--display);
  font-style:italic;
  font-size:17.5px;
  line-height:1.65;
  color:var(--codex-sepia);
}
.chapter-teaching strong{color:var(--codex-sepia)}
.chapter-note{
  margin:8px 0 0;
  color:var(--ash);
  font-size:14px;
  line-height:1.55;
}
.chapter-act-text{
  margin:9px 0 0;
  font-family:var(--display);
  font-size:18px;
  line-height:1.62;
  color:var(--codex-sepia);
}
.chapter-breath em{color:var(--codex-sepia)}
.chapter-return-note{
  margin-top:16px!important;
  text-align:center;
  line-height:1.65;
}
@media (max-width:420px){
  .journey-hero h1{font-size:25px}
  .journey-lede{font-size:17px}
  .companion-door-list .mo-row{grid-template-columns:42px 1fr auto;gap:10px}
  .companion-door-list .mo-row .mo-num{width:40px;height:40px}
  .companion-door-list::before{left:20px}
  .companion-door-list .mo-row .mo-title{font-size:17px;padding:12px 14px}
}
body.quiet .journey-hero{border-color:rgba(210,180,109,.14)}
body.quiet .journey-hero h1{color:var(--bone)}
body.quiet .journey-lede{color:#b7aaa0}
body.quiet .companion-door-list .mo-row .mo-num,
body.quiet .companion-door-list .mo-row .mo-title,
body.quiet .chapter-ground,
body.quiet .chapter-act{
  background:rgba(244,235,221,.06);
  border-color:rgba(210,180,109,.14);
}
body.quiet .companion-door-list .mo-row:not(.locked):not(.done) .mo-title,
body.quiet .companion-door-list .mo-row.done .mo-title{
  background:rgba(244,235,221,.08);
}
body.quiet .companion-door-list .mo-row .mo-title,
body.quiet .chapter-teaching,
body.quiet .chapter-act-text{color:#f3e6c8}
body.quiet .chapter-note,
body.quiet .chapter-return-note{color:#b7aaa0}
/* the "Next door" badge is inline-styled (--label-gold, tuned for the ivory
   card background) and would under-contrast on Stillness's dark, near-
   transparent door card; restore --muted-gold, already legible on that dark
   ground, the same way the Settings equivalent is restored above. */
body.quiet .companion-door-list .mo-title span{color:var(--muted-gold)!important}


/* ==========================================================
   FORCED GOLDEN CRUCIBLE RESTORE
   Appended after later page-wide styles so the uploaded golden
   Crucible design wins the cascade.
   ========================================================== */
/* ==========================================================
   FINAL ELEVATION — The Crucible Pathway
   Makes the relational walk feel equal in depth to the individual Threshold map.
   ========================================================== */
.crucible-bond-shell.room-section{
  padding:0 0 22px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(201,122,84,.12), transparent 58%),
    rgba(244,235,221,.76);
  border-color:rgba(138,79,31,.26);
}
.crucible-bond-shell.room-section::before{display:none}
.crucible-hero{
  position:relative;
  padding:26px 22px 24px;
  text-align:center;
  color:var(--bone);
  background:
    radial-gradient(ellipse at 50% 112%, rgba(244,216,150,.18), transparent 55%),
    radial-gradient(ellipse at 50% 0%, rgba(201,122,84,.18), transparent 62%),
    linear-gradient(160deg,#241611,#130d09 72%);
  border-bottom:1px solid rgba(210,180,109,.18);
}
.crucible-hero .room-label{color:#E0B45A;margin-bottom:10px}
.crucible-hero h2{
  font-family:var(--head);
  font-size:27px;
  line-height:1.08;
  margin:10px 0 0;
  color:#F4E6C6;
}
.crucible-hero-line{
  margin:10px auto 0;
  max-width:320px;
  font-family:var(--display);
  font-size:16px;
  line-height:1.55;
  color:#D8C29B;
}
.crucible-hero-line strong{color:#F3D991;font-weight:400}
.crucible-hero-sub{
  margin:8px auto 0;
  max-width:330px;
  font-size:12.5px;
  line-height:1.55;
  color:#AFA086;
}
.crucible-rings{position:relative;width:62px;height:36px;margin:0 auto;display:block}
.crucible-rings span{position:absolute;top:2px;width:32px;height:32px;border-radius:50%;box-shadow:0 0 16px rgba(224,180,90,.18)}
.crucible-rings span:first-child{left:2px;border:1.7px solid #E0B45A}
.crucible-rings span:nth-child(2){right:2px;border:1.7px solid #C07A54}
.crucible-rings i{position:absolute;left:28px;top:15px;width:6px;height:6px;border-radius:50%;background:#F6E6C8;box-shadow:0 0 18px rgba(246,230,200,.65)}
.crucible-bond-shell > .sh-sect,
.crucible-bond-shell > .room-section,
.crucible-bond-shell > .crucible-pathway,
.crucible-bond-shell > div:not(.crucible-hero){
  margin-left:16px;
  margin-right:16px;
}
.crucible-pathway.room-section{
  padding:18px 0 20px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.crucible-pathway.room-section::before{display:none}
.crucible-map-panel{
  position:relative;
  padding:20px 12px 14px;
  border-radius:20px;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(224,180,90,.11), transparent 58%),
    linear-gradient(160deg,#20130d,#110c07 74%);
  border:1px solid rgba(210,180,109,.22);
  box-shadow:0 24px 52px rgba(42,27,20,.16);
  color:#F4E6C6;
}
.crucible-map-panel .room-label{color:#E0B45A;text-align:center}
.crucible-map-panel h3{
  margin:5px 0 0;
  text-align:center;
  font-family:var(--head);
  font-size:23px;
  color:#F4E6C6;
}
.crucible-map-panel svg{margin-top:14px;box-shadow:inset 0 0 0 1px rgba(210,180,109,.06)}
.crucible-being-met{
  margin-top:18px;
  padding:17px 16px;
  border-radius:15px;
  background:rgba(255,249,239,.72);
  border:1px solid rgba(182,138,58,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}
.crucible-being-met p:not(.room-label){
  color:var(--ash);
  line-height:1.65;
  margin-top:5px;
}
.crucible-being-met strong,.crucible-being-met em{color:var(--codex-sepia)}
.crucible-rhythm{
  margin-top:18px;
  padding:20px 17px;
  border-radius:16px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.12), transparent 62%),
    rgba(244,235,221,.82);
  border:1px solid rgba(140,129,118,.18);
}
.crucible-rhythm .room-label{text-align:center}
.crucible-rhythm h3{
  margin:5px auto 0;
  max-width:300px;
  text-align:center;
  font-family:var(--head);
  font-size:21px;
  line-height:1.16;
  color:var(--ink);
}
.crhythm-row{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:10px;
  align-items:start;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid rgba(140,129,118,.14);
}
.crhythm-row span{
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.crhythm-row p{margin:0;color:var(--ash);line-height:1.55;font-size:14px}
.crucible-pact{
  margin-top:18px;
  padding:17px 16px 16px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,249,239,.78),rgba(244,235,221,.76));
  border:1px solid rgba(140,129,118,.18);
}
.crucible-pact > div{
  padding:0 0 12px;
  margin-bottom:12px;
  border-bottom:1px solid rgba(140,129,118,.13);
}
.crucible-pact > div p:last-child{
  margin-top:4px;
  color:var(--ash);
  line-height:1.56;
  font-size:14px;
}
.crucible-pact-seal{
  margin:2px auto 0;
  max-width:320px;
  text-align:center;
  font-family:var(--display);
  font-style:italic;
  color:var(--codex-sepia);
  line-height:1.55;
}
body.quiet .crucible-bond-shell.room-section{background:rgba(244,235,221,.06);border-color:rgba(210,180,109,.14)}
body.quiet .crucible-hero{background:radial-gradient(ellipse at 50% 100%,rgba(210,180,109,.08),transparent 58%),linear-gradient(160deg,#17100d,#0e0907)}
body.quiet .crucible-being-met,body.quiet .crucible-rhythm,body.quiet .crucible-pact{background:rgba(244,235,221,.06);border-color:rgba(210,180,109,.14)}
body.quiet .crhythm-row p,body.quiet .crucible-pact > div p:last-child,body.quiet .crucible-being-met p:not(.room-label){color:#b7aaa0}
body.quiet .crucible-map-panel{box-shadow:none;border-color:rgba(210,180,109,.16)}

/* ==========================================================
   ACTIVE CRUCIBLE PATHWAY — native SVG, no static background overlay
   ========================================================== */
.crucible-map-panel{padding:20px 12px 18px}
.crux-active-map{margin-top:14px}
.crux-active-svg{
  display:block;
  width:100%;
  border-radius:20px;
  border:1px solid rgba(210,180,109,.20);
  box-shadow:0 22px 52px rgba(17,12,7,.18), inset 0 0 0 1px rgba(210,180,109,.04);
  background:#130f09;
}
.crux-click-node circle,
.crux-click-node text{transition:opacity .18s ease, fill .18s ease, stroke .18s ease, transform .18s ease}
.crux-click-node:hover circle{opacity:1}
.crux-click-node:hover text{opacity:.96}
.crux-active-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  margin:13px 0 0;
  font-family:var(--display);
  font-size:14px;
  color:#cbb68c;
}
.crux-active-legend span{display:inline-flex;align-items:center;gap:7px}
.crux-active-legend i{display:inline-block;width:13px;height:13px;border-radius:50%}
.crux-active-legend .you{background:#F0CE82;box-shadow:0 0 14px rgba(240,206,130,.58)}
.crux-active-legend .them{background:#D78A61;box-shadow:0 0 14px rgba(215,138,97,.58)}
.crux-active-legend .grace{background:#FBE7AE;box-shadow:0 0 18px rgba(251,231,174,.72)}
.crux-active-focus{
  margin-top:15px;
  padding:18px 16px 16px;
  border-radius:18px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(210,180,109,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,249,239,.84), rgba(244,235,221,.78));
  border:1px solid rgba(182,138,58,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.46);
}
.crux-active-card-copy h3{
  margin:6px 0 0;
  font-family:var(--head);
  font-size:24px;
  line-height:1.12;
  color:var(--ink);
}
.crux-active-seal{
  margin:7px 0 0;
  font-family:var(--display);
  font-style:italic;
  font-size:18px;
  line-height:1.42;
  color:var(--codex-sepia);
}
.crux-active-body{
  margin:10px 0 0;
  color:var(--ash);
  line-height:1.68;
}
.crux-active-status{
  margin:14px 0 0;
  padding:12px 12px 11px;
  border-radius:14px;
  background:rgba(255,255,255,.36);
  border:1px solid rgba(140,129,118,.15);
}
.crux-active-status span{
  display:block;
  font-family:var(--ui);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--label-gold);
}
.crux-active-status p{
  margin:6px 0 0;
  color:var(--ash);
  line-height:1.56;
}
.crux-active-focus .sh-cmd,
.crux-active-focus .sh-link{margin-top:14px}
.crhythm-row{grid-template-columns:98px 1fr}
body.quiet .crux-active-svg{box-shadow:none;border-color:rgba(210,180,109,.14)}
body.quiet .crux-active-focus{background:rgba(244,235,221,.06);border-color:rgba(210,180,109,.14);box-shadow:none}
body.quiet .crux-active-card-copy h3{color:var(--bone)}
body.quiet .crux-active-seal{color:#d8c8a7}
body.quiet .crux-active-body,
body.quiet .crux-active-status p{color:#b7aaa0}
body.quiet .crux-active-status{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.10)}

/* ============================================================
   INNER WEATHER — iw-flow.js — the six-movement flow.
   Scoped entirely under .iwf-* so it cannot collide with or be
   affected by any existing House class. Reached from the Sanctuary
   ("Inner Weather" link) or window.IWFlow.open(). Renders as a
   full-viewport dark scrim (.iwf-overlay) holding the SAME centered
   phone column the rest of the House uses (.iwf-frame mirrors
   .app-frame's max-width/background/shadow token-for-token) so the
   flow sits inside "the House" instead of behind/beside it. Every
   rule below reuses existing House tokens/components (.eyebrow,
   .gprompt/.ghint, .mom-chip, .chip.wide, .kr-heard/.stratum,
   .sentence, .scrip, .th-rail) rather than inventing a separate
   visual language.
   ============================================================ */
.iwf-overlay{position:fixed;inset:0;z-index:20000;background:#0c0806;display:flex;justify-content:center;overflow:hidden}
.iwf-frame{position:relative;width:100%;max-width:480px;height:100%;background:var(--warm-ivory);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 80px -20px rgba(0,0,0,.6)}
.iwf-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(var(--safe-top) + 14px) 20px 14px;background:rgba(255,249,239,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid rgba(140,129,118,.18);flex:0 0 auto}
.iwf-topbar-danger{justify-content:center;background:var(--bone)}
.iwf-navbtn{background:none;border:none;font-family:var(--ui);font-size:12.5px;letter-spacing:.04em;color:var(--codex-sepia);cursor:pointer;padding:10px 8px;min-height:44px}
.iwf-fear-threshold-line{
  margin:10px 0 18px;padding:13px 15px;border-left:2px solid var(--muted-gold);
  font-family:var(--display);font-size:19px;line-height:1.5;font-style:italic;color:var(--codex-sepia)
}
.iwf-fear-arc{list-style:none;margin:20px 0 22px;padding:0;display:grid;gap:0}
.iwf-fear-arc li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center;min-height:48px;color:var(--ash)}
.iwf-fear-arc li:not(:last-child)::after{content:"";position:absolute;left:16px;top:39px;bottom:-9px;width:1px;background:rgba(182,138,58,.30)}
.iwf-fear-arc li>span{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(182,138,58,.34);background:var(--warm-ivory);font-family:var(--ui);font-size:10px;color:var(--muted-gold)}
.iwf-fear-arc li>strong{font-family:var(--display);font-size:16px;font-weight:400;line-height:1.3}
.iwf-fear-arc li.active>span{background:var(--codex-sepia);border-color:var(--codex-sepia);color:var(--bone);box-shadow:0 0 0 5px rgba(182,138,58,.12)}
.iwf-fear-arc li.active>strong{color:var(--ink);font-weight:600}
.iwf-fear-anchors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.iwf-fear-anchors article{padding:15px 14px;border-radius:15px;border:1px solid rgba(182,138,58,.22);background:rgba(255,249,239,.56)}
.iwf-fear-anchors span{font-family:var(--ui);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--label-gold)}
.iwf-fear-anchors p{margin:7px 0 0;font-family:var(--display);font-size:14.5px;line-height:1.55;color:var(--ash)}
.iwf-fear-keeper{font-size:17px;line-height:1.7}
@media(max-width:420px){.iwf-fear-anchors{grid-template-columns:1fr}}
body.quiet .iwf-fear-threshold-line{color:#d8c8a7}
body.quiet .iwf-fear-arc li>span{background:var(--ink);border-color:rgba(210,180,109,.25)}
body.quiet .iwf-fear-arc li.active>span{background:var(--muted-gold);color:#1e1612}
body.quiet .iwf-fear-arc li.active>strong{color:var(--bone)}
body.quiet .iwf-fear-anchors article{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.12)}
body.quiet .iwf-fear-anchors p{color:#b7aaa0}
.lr-editorial-collection{margin:18px 2px 16px;border:1px solid rgba(182,138,58,.30);border-radius:20px;background:linear-gradient(155deg,rgba(255,249,239,.90),rgba(241,229,210,.76));overflow:hidden;box-shadow:0 18px 38px rgba(42,27,20,.06)}
.lr-editorial-collection>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:14px 17px;cursor:pointer;font-family:var(--ui);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.lr-editorial-collection>summary::-webkit-details-marker{display:none}
.lr-editorial-collection>summary em{font-style:normal;font-size:9px;color:var(--ash)}
.lr-editorial-body{padding:5px 18px 21px;border-top:1px solid rgba(182,138,58,.18)}
.lr-editorial-body h2{margin:7px 0 9px;font-family:var(--head);font-size:27px;line-height:1.1;color:var(--ink)}
.lr-editorial-body>p:not(.room-label){color:var(--ash);line-height:1.68}
.lr-editorial-arc{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:13px 0 15px;scrollbar-width:none}
.lr-editorial-arc span{flex:0 0 auto;padding:8px 10px;border:1px solid rgba(182,138,58,.25);border-radius:999px;font-family:var(--ui);font-size:9px;letter-spacing:.06em;color:var(--codex-sepia);background:rgba(255,255,255,.35)}
.lr-editorial-arc b{font-weight:400;color:var(--muted-gold)}
.lr-editorial-note{font-family:var(--display);font-style:italic;font-size:14px}
body.quiet .lr-editorial-collection{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.15);box-shadow:none}
body.quiet .lr-editorial-body h2{color:var(--bone)}
body.quiet .lr-editorial-body>p:not(.room-label){color:#b7aaa0}
/* the flow's title tag — same treatment as the House's own .topbar-title */
.iwf-devtag{font-family:var(--smallcaps);font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--codex-sepia)}
.iwf-body{flex:1 1 auto;overflow-y:auto;padding:20px 20px calc(28px + var(--safe-bot));width:100%;box-sizing:border-box}
/* movement rail — same dot/label idiom as the House's own .th-rail/.th-step
   (the Threshold Gate's living movement rail) */
.iwf-rail{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 20px 0;flex:0 0 auto}
.iwf-rail-step{width:8px;height:8px;border-radius:50%;border:none;padding:0;margin:0;background:rgba(140,129,118,.3);display:inline-block;flex:0 0 auto}
.iwf-rail-step.done{background:var(--muted-gold)}
.iwf-rail-step.on{width:11px;height:11px;background:var(--soft-gold);box-shadow:0 0 8px rgba(212,180,109,.7)}
.iwf-rail-l{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-gold);margin-left:5px;white-space:nowrap}
/* step question — same treatment as the House's own .gprompt (step header) */
.iwf-q{font-family:var(--head);font-size:24px;line-height:1.3;margin-top:8px;color:var(--ink)}
/* step hint/note — same treatment as the House's own .ghint */
.iwf-note{font-family:var(--display);font-style:italic;font-size:15px;color:var(--ash);margin-top:8px;line-height:1.55}
.iwf-context{font-family:var(--display);font-style:italic;font-size:14.5px;color:var(--codex-sepia);opacity:.85;margin-top:6px;margin-bottom:2px;line-height:1.6}
.iwf-disclosure{font-size:12.5px;line-height:1.55;opacity:.62;margin-top:12px;padding-top:10px;border-top:1px solid rgba(140,129,118,.16)}
/* Canon v0.4.0-draft narrative surfacing (light touch, canon-only copy):
   m1_entry's introNarrative.grounding line — carries the SAME quiet
   .iwf-note voice already used throughout the flow (no new visual
   language), this class is purely an identification hook for tests/QA. */
.iwf-intro-grounding{margin-top:10px}
/* Inner Weather badge over Today */
.iw-daybadge{max-width:440px;margin:20px auto 4px;padding:14px 16px;border:1px solid rgba(202,168,92,.34);border-radius:14px;background:rgba(202,168,92,.06);text-align:left}
.iw-daybadge-eye{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--label-gold,#caa85c);margin:0}
.iw-daybadge-care{color:var(--ink);line-height:1.6;margin-top:7px;font-size:14.5px}
.iw-daybadge-carry{font-family:var(--display);font-style:italic;font-size:15px;line-height:1.5;color:var(--codex-sepia);margin-top:8px}
.iw-daybadge-row{display:flex;gap:16px;margin-top:11px;flex-wrap:wrap}
.iw-daybadge-row button{background:none;border:none;padding:0;cursor:pointer;font-family:var(--ui);font-size:12px;letter-spacing:.06em;color:var(--codex-sepia)}
.iw-daybadge-row button.quiet{color:var(--ash);opacity:.8}
/* the weather-shift capture overlay */
.iwshift-wrap{max-width:520px;margin:0 auto;padding:42px 24px 56px;min-height:100%;box-sizing:border-box;display:flex;flex-direction:column}
.iwshift-leave{background:none;border:none;color:#857a68;font-family:var(--ui);font-size:12px;letter-spacing:.06em;cursor:pointer;padding:6px 0;align-self:flex-start}
.iwshift-eye{font-family:var(--ui);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft-gold,#D2B46D);margin:18px 0 0}
.iwshift-q{font-family:var(--display);font-size:24px;line-height:1.35;color:#ece3d2;margin-top:10px}
.iwshift-note{color:#9a8f7e;font-size:13.5px;line-height:1.6;margin-top:8px}
.iwshift-in{width:100%;box-sizing:border-box;margin-top:16px;background:rgba(255,255,255,.05);border:1px solid rgba(202,168,92,.3);border-radius:12px;color:#ece3d2;font-family:inherit;font-size:16px;padding:13px 15px}
.iwshift-ta{width:100%;box-sizing:border-box;margin-top:14px;background:rgba(255,255,255,.05);border:1px solid rgba(202,168,92,.3);border-radius:12px;color:#ece3d2;font-family:inherit;font-size:16px;line-height:1.6;padding:13px 15px;min-height:90px;resize:vertical}
.iwshift-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.iwshift-chip{background:rgba(255,255,255,.04);border:1px solid rgba(202,168,92,.28);border-radius:999px;color:#cfc4b3;font-family:var(--ui);font-size:13px;padding:8px 14px;cursor:pointer}
.iwshift-chip.on{background:rgba(202,168,92,.18);border-color:rgba(202,168,92,.6);color:#ece3d2}
.iwshift-btn{display:block;width:100%;box-sizing:border-box;font-family:var(--display);font-style:italic;font-size:15px;color:#a89d8b;background:none;border:none;cursor:pointer;padding:10px;margin-top:10px;text-align:center;opacity:.85}
.iwshift-btn.solid{font-family:var(--ui);font-style:normal;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#d8bd77;opacity:1;padding:14px 9px;margin-top:20px;border:1px solid rgba(216,189,119,.4);border-radius:12px}
.iwf-turn-group{display:block;margin:22px 0 8px;font-family:var(--display);font-style:italic;font-size:14.5px;letter-spacing:0;text-transform:none;color:var(--codex-sepia);opacity:.92}
.iwf-twoways{margin:14px 0 2px;padding:12px 14px;border-radius:12px;background:rgba(122,83,32,0.055)}
.iwf-twoways-intro{font-family:var(--display);font-style:italic;font-size:13.5px;color:var(--ash);margin:0 0 6px}
.iwf-twoway{font-family:var(--display);font-size:14px;color:var(--ash);line-height:1.55;margin:5px 0}
.iwf-twoway-name{color:var(--codex-sepia);font-style:italic}
body.quiet .iwf-twoways{background:rgba(233,220,192,0.06)}
.iwf-fam{margin-top:18px}
/* group label — same treatment as the House's own .eyebrow */
.iwf-fam-label{font-family:var(--ui);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--label-gold);font-weight:500;margin-bottom:8px}
.iwf-chipgrid{display:flex;flex-wrap:wrap;gap:8px 18px}
/* WEATHER FIELD (Build B1) — ten equal weather tiles (iw-weather-art.js),
   a non-hierarchical grid: no family visually above/ranked over another.
   Tapping a tile expands ONLY that family's members inline (the member
   list spans the full grid row); tapping the same tile again collapses
   it. Selected state uses a ring (.has-selected) + a numeric count
   (.iwf-tile-count), never color alone. Expand/collapse is a plain
   re-render — no measured-height animation — so it is already instant in
   every motion state; the file's own global reduced-motion rule further
   below silences any incidental transition regardless. */
.iwf-field{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 12px;margin-top:18px}
.iwf-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px 10px;border:2px solid transparent;border-radius:16px;background:none;cursor:pointer;position:relative;min-height:44px}
.iwf-tile-art{width:100%;aspect-ratio:1/1;display:block}
.iwf-tile-art svg{width:100%;height:100%;display:block}
/* painted glyph tiles (kit measurement-model increment) — the hand-painted
   360px webp is the primary tile art; .iwf-tile-art-fallback (the engine's
   own micro SVG field, unchanged) is hidden by inline style and only ever
   revealed by the <img>'s own onerror handler (iw-flow.js), so a failed
   image load never leaves a broken-image icon or an empty tile. */
.iwf-tile-glyph{width:100%;height:100%;display:block;object-fit:contain}
.iwf-tile-art-fallback{width:100%;height:100%;display:block}
/* label ink is the tile's own IW_WEATHER_INK[id] (set as an inline custom
   property per tile), paired with the matching IW_WEATHER_TINT baked into
   the SVG's own background rect — a self-contained, theme-independent
   badge, so it reads correctly in both the light and .quiet (dark) House
   themes without a per-family dark-mode override. */
.iwf-tile-label{font-family:var(--ui);font-size:10px;font-weight:500;letter-spacing:.05em;text-align:center;line-height:1.25;color:var(--iwf-tile-ink,var(--codex-sepia))}
.iwf-tile.has-selected{border-color:var(--muted-gold)}
.iwf-tile.expanded{border-color:var(--soft-gold);box-shadow:0 0 0 3px rgba(212,180,109,.2)}
.iwf-tile:focus-visible{outline:2px solid var(--soft-gold);outline-offset:2px}
.iwf-tile-count{position:absolute;top:2px;right:8px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--codex-sepia);color:var(--warm-ivory);font-family:var(--ui);font-size:10.5px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}
.iwf-tile-members{grid-column:1 / -1;padding:14px 12px;margin-top:-2px;border-radius:14px;background:rgba(182,138,58,.06);display:flex;flex-wrap:wrap;gap:8px 14px}
/* option chip — the House's own toggle-pill idiom (.mom-chip on the Becoming
   Ledger): quiet outline at rest, solid sepia fill when chosen (aria-pressed
   carries the state — never color alone: fill + border + text color change
   together). */
.iwf-chip{font-family:var(--ui);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:11px 16px;min-height:44px;line-height:1.2;border-radius:18px;border:1px solid rgba(140,129,118,.55);background:transparent;color:var(--ash);cursor:pointer;transition:background .2s,color .2s,border-color .2s;display:inline-flex;align-items:center}
.iwf-chip:hover{border-color:var(--muted-gold)}
.iwf-chip[aria-pressed="true"]{background:var(--codex-sepia);color:var(--warm-ivory);border-color:var(--codex-sepia)}
.iwf-chip-suggested{border-color:var(--muted-gold);border-style:dashed}
.iwf-chip-suggested[aria-pressed="true"]{border-style:solid}
/* wide/single-sentence chip (one deliberate choice, not a survey field) —
   the House's own bare-word "altar" idiom (.chip.wide): an underline, not a
   box, gold when chosen. */
.iwf-chip.wide{display:block;width:100%;min-height:44px;text-align:left;font-family:var(--display);font-size:16.5px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.4;padding:13px 4px;border-radius:0;border:none;border-bottom:1px solid rgba(140,129,118,.16);background:none;color:var(--codex-sepia);opacity:.82;transition:color .25s,opacity .25s,border-color .25s}
.iwf-chip.wide:hover{opacity:1}
.iwf-chip.wide[aria-pressed="true"]{opacity:1;color:var(--muted-gold);border-bottom-color:rgba(182,138,58,.5);background:none}
.iwf-cap-msg{font-size:12.5px;color:var(--burnished-clay);margin-top:8px;opacity:0;transition:opacity .3s}
.iwf-custom-row{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;align-items:flex-end}
/* free word entry — the House's own "journal line" input affordance */
.iwf-custom-row input{flex:1;min-width:160px;border:none;border-bottom:1.5px solid rgba(182,138,58,.5);border-radius:5px 5px 0 0;background:rgba(182,138,58,.05);padding:12px 12px;min-height:44px;font-family:var(--display);font-size:16px;color:var(--ink);outline:none;transition:border-color .3s ease,background .3s ease;box-sizing:border-box}
.iwf-custom-row input:focus{border-bottom-color:var(--soft-gold);background:rgba(212,180,109,.1)}
.iwf-slider-wrap{margin-top:20px}
.iwf-range{width:100%;height:44px}
.iwf-slider-val{font-family:var(--display);font-size:26px;text-align:center;color:var(--muted-gold);margin-top:4px}
.iwf-slider-labels{display:flex;justify-content:space-between;font-family:var(--ui);font-size:11.5px;color:var(--ash);margin-top:2px}
/* MEASURES SCREEN — "How it sits with you" (kit measurement-model
   increment). The live engine field sits above six independent sliders;
   .iwf-measures-field:empty collapses to nothing (same empty-state idiom as
   .iwf-witness-ring etc. below) when there is no resolvable primary family.
   No numeric readout is ever rendered next to a slider (covenant) — only a
   label + a quiet italic sublabel, same voice as the rest of the flow's
   .iwf-note copy. */
.iwf-measures-field{display:flex;justify-content:center;margin:18px auto 4px;width:168px}
.iwf-measures-field:empty{width:0;margin:0}
.iwf-measures-list{margin-top:14px}
.iwf-measure{margin-top:22px}
.iwf-measure:first-child{margin-top:0}
.iwf-measure-label{display:block;font-family:var(--ui);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--codex-sepia)}
.iwf-measure-sublabel{font-family:var(--display);font-style:italic;font-size:13.5px;line-height:1.5;color:var(--ash);margin:2px 0 8px}
/* the reading sliders wear the House's own sepia-and-gold, never browser blue */
.iwf-measure input[type="range"]{width:100%;min-height:44px;accent-color:var(--codex-sepia);background:transparent}
body.quiet .iwf-measure input[type="range"]{accent-color:var(--soft-gold)}
/* free-text answer — the House's own journal-line textarea */
.iwf-textarea{width:100%;min-height:110px;border:none;border-bottom:1.5px solid rgba(182,138,58,.5);border-radius:5px 5px 0 0;background:rgba(182,138,58,.05);padding:12px 12px;font-family:var(--display);font-size:16px;line-height:1.6;color:var(--ink);margin-top:12px;box-sizing:border-box;outline:none;resize:vertical;transition:border-color .3s ease,background .3s ease}
.iwf-textarea:focus{border-bottom-color:var(--soft-gold);background:rgba(212,180,109,.1)}
.iwf-footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.iwf-footer .btn{flex:1;min-width:140px;min-height:44px}
.iwf-skip{background:none;border:none;font-family:var(--ui);font-size:12.5px;color:var(--ash);text-decoration:underline;cursor:pointer;padding:10px 4px;min-height:44px}
/* Optional synthesis calibration. Device-local until the distinct Share
   control is pressed; visually subordinate to the reflection it follows. */
.iw-feedback{margin-top:22px;padding-top:16px;border-top:1px solid rgba(140,129,118,.18)}
.iw-feedback-label{font-family:var(--display);font-size:14.5px;line-height:1.5;color:var(--codex-sepia)}
.iw-feedback-choices,.iw-feedback-categories{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.iw-feedback-choices button,.iw-feedback-categories button{min-height:40px;padding:8px 13px;border:1px solid rgba(140,129,118,.4);border-radius:999px;background:transparent;color:var(--ash);font-family:var(--ui);font-size:11.5px;cursor:pointer}
.iw-feedback-choices button[aria-pressed="true"],.iw-feedback-categories button[aria-pressed="true"]{background:var(--codex-sepia);border-color:var(--codex-sepia);color:var(--warm-ivory)}
.iw-feedback-choices button:disabled,.iw-feedback-categories button:disabled,.iw-feedback-note:disabled{cursor:default;opacity:.68}
.iw-feedback-status{margin-top:9px;font-family:var(--ui);font-size:11.5px;line-height:1.5;color:var(--ash)}
.iw-feedback-prompt{margin-top:14px;font-family:var(--ui);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold)}
.iw-feedback-prompt span{letter-spacing:0;text-transform:none;color:var(--ash)}
.iw-feedback-note{width:100%;box-sizing:border-box;min-height:76px;margin-top:10px;padding:10px 11px;border:1px solid rgba(182,138,58,.28);border-radius:8px;background:rgba(182,138,58,.05);color:var(--ink);font-family:var(--display);font-size:14.5px;line-height:1.5;resize:vertical}
.iw-feedback-share{margin-top:11px;padding:8px 0;min-height:40px;border:0;background:none;color:var(--codex-sepia);font-family:var(--ui);font-size:11.5px;text-decoration:underline;cursor:pointer}
.iw-feedback-share:disabled{opacity:.55;cursor:default}
body.quiet .iw-feedback-label,body.quiet .iw-feedback-share{color:#d8c8a7}
body.quiet .iw-feedback-choices button,body.quiet .iw-feedback-categories button{color:#b7aaa0;border-color:rgba(210,180,109,.2)}
body.quiet .iw-feedback-choices button[aria-pressed="true"],body.quiet .iw-feedback-categories button[aria-pressed="true"]{background:var(--codex-sepia);color:var(--bone);border-color:var(--codex-sepia)}
body.quiet .iw-feedback-note{background:rgba(244,235,221,.04);color:var(--bone);border-color:rgba(210,180,109,.2)}
/* safety pause — the House's own quiet threshold-door card (.sanctuary-door) */
.iwf-safety{margin-top:30px;padding:24px 20px;border:1px solid rgba(182,138,58,.32);border-radius:16px;background:linear-gradient(180deg,rgba(255,249,239,.88),rgba(244,235,221,.68));box-shadow:0 20px 52px rgba(42,27,20,.07), inset 0 1px 0 rgba(255,255,255,.5);text-align:center;font-family:var(--display);font-size:16px;line-height:1.6;color:var(--ink)}
/* Canon v0.4.0-draft — the family's tagline, the Witness card's opening
   line (m3_keeper), rendered ABOVE the .iwf-keeper quote-cards below it.
   Display italic per spec, deliberately WITHOUT the .iwf-keeper card's
   own border-left/background treatment — a heading-like line introducing
   the card, not one more witness sentence living inside it. */
.iwf-witness-tagline{margin-top:18px;font-family:var(--display);font-style:italic;font-size:18px;line-height:1.5;color:var(--codex-sepia)}
body.quiet .iwf-witness-tagline{color:var(--soft-gold)}
/* the Keeper's reflection — the House's own quiet quote-card idiom
   (.stratum's border-left card + .kr-heard's italic display voice) */
.iwf-keeper{margin-top:20px;padding:16px 18px;border-left:2px solid var(--muted-gold);background:var(--bone);border-radius:0 4px 4px 0;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.6;color:var(--burnished-clay)}
.iwf-seam{position:relative;margin:24px 0;padding:18px 17px 16px;border:1px solid rgba(182,138,58,.34);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(232,216,191,.36));box-shadow:0 18px 38px -25px rgba(42,27,20,.35),inset 0 1px 0 rgba(255,255,255,.62)}
.iwf-seam::after{content:"";position:absolute;right:15px;top:14px;width:44px;height:44px;border:1px solid rgba(182,138,58,.24);border-radius:50%;pointer-events:none}
.iwf-seam-head{position:relative;z-index:1;display:flex;align-items:center;gap:11px}
.iwf-seam-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(182,138,58,.52);border-radius:50%;font-size:15px;color:var(--label-gold);background:rgba(255,249,239,.58)}
.iwf-seam-kicker{margin:0;font-family:var(--ui);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}
.iwf-seam-title{margin:3px 0 0;font-family:var(--display);font-size:18px;line-height:1.2;color:var(--codex-sepia)}
.iwf-seam-copy{position:relative;z-index:1;margin-top:14px;padding:14px 15px;border-left:2px solid var(--muted-gold);border-radius:0 10px 10px 0;background:rgba(255,249,239,.68);font-family:var(--display);font-style:italic;font-size:17px;line-height:1.56;color:var(--burnished-clay)}
.iwf-seam-status{position:relative;z-index:1;margin:11px 0 0;font-family:var(--ui);font-size:10px;line-height:1.45;letter-spacing:.04em;color:var(--ash)}
.iwf-seam-deeper{position:relative;z-index:1;margin-top:13px;padding:6px 0;border:0;background:none;color:var(--link-ink);font-family:var(--ui);font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-underline-offset:.22em;cursor:pointer}
.iwf-seam-deeper:hover{color:var(--cta-hover-ink)}
.iwf-benediction-lede{margin:22px 0 4px;padding:14px 15px;border-top:1px solid rgba(182,138,58,.25);border-bottom:1px solid rgba(182,138,58,.18);font-family:var(--display);font-style:italic;font-size:15px;line-height:1.55;text-align:center;color:var(--ash)}
/* the guided practice's spoken/written text — same card, the House's own
   .codex-x quote color (a quieter register than the Keeper's direct voice) */
.iwf-keeper-ph{margin-top:16px;padding:16px 18px;border-left:2px solid var(--muted-gold);background:var(--bone);border-radius:0 4px 4px 0;font-family:var(--display);font-style:italic;font-size:16px;line-height:1.65;color:var(--codex-sepia)}
/* practice narration (Build B2) — plain native control, never autoplayed
   (no autoplay attribute anywhere); the text_script above always stays
   visible regardless of playback (audio/text parity, §21). A missing
   audio file at play time simply renders the browser's ordinary inert
   control — never probed/network-checked. */
.iwf-audio{margin-top:16px}
.iwf-audio-label{font-family:var(--ui);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--label-gold);margin-bottom:6px}
.iwf-audio audio{width:100%;height:40px;display:block}
/* Stabilize-only breathing guide (Build B2) — CSS-only ~4s-in/~6s-out
   circle (@keyframes iwfBreathe below), no JS timer of any kind.
   prefers-reduced-motion swaps to a static circle + a plain caption; both
   states are handled entirely in CSS, so the markup never branches on JS. */
.iwf-breath{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.iwf-breath-circle{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(212,180,109,.55),rgba(182,138,58,.26) 72%);border:1px solid rgba(182,138,58,.4);animation:iwfBreathe 10s ease-in-out infinite}
@keyframes iwfBreathe{0%{transform:scale(.72)}40%{transform:scale(1)}100%{transform:scale(.72)}}
.iwf-breath-cue{font-family:var(--ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}
.iwf-breath-static{display:none;font-family:var(--ui);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}
@media (prefers-reduced-motion: reduce){
  .iwf-breath-circle{animation:none!important;transform:scale(.86)}
  .iwf-breath-cue{display:none}
  .iwf-breath-static{display:block}
}
/* the practice record's own scripture anchor — the House's own .scrip block */
.iwf-scripture{border:1px solid var(--muted-gold);background:var(--bone);padding:18px 20px;margin-top:16px;text-align:center;border-radius:2px}
.iwf-scripture-label{font-family:var(--smallcaps);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}
.iwf-scripture-text{font-family:var(--display);font-style:italic;font-size:17px;line-height:1.6;color:var(--ink);margin-top:8px}
/* the sentence carried out of the flow — the House's own .sentence card */
.iwf-carry{border:1px solid var(--muted-gold);background:var(--warm-ivory);padding:18px 20px;margin-top:16px;text-align:center;border-radius:2px;font-family:var(--display);font-style:italic;font-size:20px;line-height:1.5;color:var(--codex-sepia)}
/* Inner Weather shared engine (inner-weather-engine.global.js, canonical,
   unmodified) placements — small, centered mount points only; the engine's
   own inner-weather-motion.css and rootStyle() own everything about the SVG
   itself (size, motion, distress-safe, reduced-motion). Empty/inert until
   iw-engine-bridge.js fills them, so they take up no space when a session
   has no resolvable family (a custom/unmapped primary word). */
.iwf-witness-ring,.iwf-posture,.iwf-carry-seal{display:flex;justify-content:center;margin:0 auto}
.iwf-witness-ring:empty,.iwf-posture:empty,.iwf-carry-seal:empty{width:0;margin:0}
.iwf-posture{width:84px;margin-top:18px}
.iwf-carry-seal{width:72px;margin-top:16px}
.iwf-witness-ring{width:56px;margin-top:12px}
/* Canon v0.4.0-draft — the accompanying line for Placement C's aria-hidden
   Held->Given-form glyph (.iwf-posture above): a REAL, visible/announced
   paragraph (family.postureNarratives.formed), centered under the glyph
   like the breath caption beneath it. */
.iwf-posture-narrative{text-align:center;margin-top:10px}
.iwf-reach-stub{display:inline-block;margin-top:16px;font-family:var(--ui);font-size:13px;color:var(--label-gold);text-decoration:underline}
.iwf-delete-link{display:block;margin-top:26px;font-family:var(--ui);font-size:11.5px;color:var(--ash);opacity:.7;text-decoration:underline;background:none;border:none;cursor:pointer;padding:8px 0}
@media (prefers-reduced-motion: reduce){.iwf-overlay *{transition:none!important;animation:none!important}}
body.quiet .iwf-frame{background:var(--blackened-sepia)}
body.quiet .iwf-topbar{background:rgba(30,22,18,.92);border-bottom-color:rgba(210,180,109,.18)}
body.quiet .iwf-topbar-danger{background:rgba(30,22,18,.98)}
body.quiet .iwf-devtag{color:var(--soft-gold)}
body.quiet .iwf-navbtn{color:#d8c8a7}
body.quiet .iwf-q{color:var(--bone)}
body.quiet .iwf-note{color:#b7aaa0}
body.quiet .iwf-context{color:#c9b892;opacity:.9}
body.quiet .iwf-fam-label{color:#caa85c}
body.quiet .iwf-chip{background:rgba(244,235,221,.06);color:#d8c8a7;border-color:rgba(210,180,109,.2)}
body.quiet .iwf-chip[aria-pressed="true"]{background:var(--codex-sepia);color:var(--bone);border-color:var(--codex-sepia)}
body.quiet .iwf-chip.wide{color:#d8c8a7;border-bottom-color:rgba(210,180,109,.16)}
body.quiet .iwf-chip.wide[aria-pressed="true"]{color:var(--soft-gold);border-bottom-color:rgba(210,180,109,.4)}
body.quiet .iwf-textarea,body.quiet .iwf-custom-row input{background:rgba(244,235,221,.06);color:var(--bone);border-color:rgba(210,180,109,.2)}
body.quiet .iwf-safety{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.18);color:#d8c8a7}
body.quiet .iwf-keeper,body.quiet .iwf-keeper-ph{background:rgba(244,235,221,.05);border-left-color:rgba(210,180,109,.4);color:#d8c8a7}
body.quiet .iwf-seam{background:linear-gradient(145deg,rgba(244,235,221,.07),rgba(244,235,221,.03));border-color:rgba(212,180,109,.26);box-shadow:0 18px 38px -25px rgba(0,0,0,.5)}
body.quiet .iwf-seam-mark{background:rgba(244,235,221,.04);border-color:rgba(212,180,109,.35);color:var(--soft-gold)}
body.quiet .iwf-seam-title,body.quiet .iwf-seam-copy{color:#eadabd}
body.quiet .iwf-seam-copy{background:rgba(244,235,221,.05);border-left-color:rgba(212,180,109,.45)}
body.quiet .iwf-seam-status,body.quiet .iwf-benediction-lede{color:#cdbfa8;border-color:rgba(212,180,109,.18)}
body.quiet .iwf-seam-deeper{color:var(--soft-gold)}
body.quiet .iwf-scripture{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.3)}
body.quiet .iwf-scripture-text{color:#d8c8a7}
body.quiet .iwf-carry{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.3);color:#d8c8a7}
body.quiet .iwf-tile-members{background:rgba(244,235,221,.05)}
body.quiet .iwf-tile-count{background:var(--soft-gold);color:var(--blackened-sepia)}
body.quiet .iwf-measure-label{color:var(--soft-gold)}
body.quiet .iwf-measure-sublabel{color:#b7aaa0}
body.quiet .iwf-audio-label{color:#caa85c}
body.quiet .iwf-breath-cue,body.quiet .iwf-breath-static{color:#b7aaa0}
body.quiet .iwf-breath-circle{background:radial-gradient(circle at 35% 30%,rgba(210,180,109,.45),rgba(210,180,109,.16) 72%);border-color:rgba(210,180,109,.3)}

/* ============================================================
   ENTRY CONSOLIDATION (m1_entry) — replaces the old m1_emotions /
   m1_primary / m1_activation / m1_measures screens with ONE screen.
   Founder UI restructure (layout/order only — same data model): a
   SINGLE flowing column at every viewport, top to bottom —
     1. family strip (painted glyph tiles, horizontally-scrollable)
        + the "Tap a family above…" instruction line AFTER the strip
        + a collapsible panel (word chips + first own-word input)
        directly beneath, shown only while a tile is expanded;
     2. the living engine field as HERO — significantly larger than
        the strip/panel above it, centered;
     3. the six "How it sits with you" readings (no numeric readout);
     4. a second "Name your own word" input, bottom placement;
     5. the Still-mode toggle;
     6. "Delete this draft and start over";
     7. the sticky/anchored footer (Continue + the equal-weight skip),
        with the non-sticky "Privacy & data settings" link below it.
   Mobile-first (the House is a ~390px phone column, .iwf-frame,
   everywhere else in the flow); on >=760px this ONE screen's own
   frame widens modestly (.iwf-frame-wide, toggled only while
   ENTRY_STEP is showing — iw-flow.js _render()) to give the hero
   field room, centering a wider version of the SAME single column —
   the earlier two-column .micro-shell-style split this restructure
   replaced is gone. Every other screen in the flow keeps the House's
   ordinary fixed 480px column untouched.
   ============================================================ */
.iwf-frame.iwf-frame-wide{max-width:480px}
@media(min-width:760px){
  .iwf-frame.iwf-frame-wide{max-width:560px}
}
/* the living field (item 2) — HERO-sized: ~78% of the viewport width
   on mobile, capped at 340px, centered; a bit larger still once the
   modestly-widened desktop frame gives it room. No numeric readout of
   any kind lives in this container — it is a rendered SVG
   (window.iwEngine.renderField), never text. The base .iwf-entry-field
   rule below is kept (still referenced verbatim, defensively) but is
   always overridden by the more specific .iwf-entry-field-hero pairing
   that iw-flow.js now renders. */
.iwf-entry-field{width:100%;max-width:200px;margin:16px auto 6px;aspect-ratio:1/1}
.iwf-entry-field:empty{max-width:0;margin:0;aspect-ratio:auto}
.iwf-entry-field svg{width:100%;height:100%;display:block}
.iwf-entry-field.iwf-entry-field-hero{max-width:min(78vw,340px);margin:22px auto 8px}
/* :empty must win over the two-class hero rule above despite the tied
   (0,2,0) specificity — without this, an empty hero field (no family
   resolved yet) would still reserve its hero-sized margin/max-width box
   even though it renders nothing, opening a dead gap above the readings.
   Three matched classes (.iwf-entry-field.iwf-entry-field-hero:empty)
   outweighs the two-class rule regardless of source order. */
.iwf-entry-field.iwf-entry-field-hero:empty{max-width:0;margin:0;aspect-ratio:auto}
@media(min-width:760px){.iwf-entry-field.iwf-entry-field-hero{max-width:380px}}
/* the family selector (item 1) — the SAME painted glyph .iwf-tile as
   the old 3-column .iwf-field grid, just in a horizontally-scrollable
   flex strip (keeps the tiles; deliberately NOT the lab's <select>
   dropdown). 44px min-height carries over from .iwf-tile unchanged. */
.iwf-entry-strip{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding:4px 2px 8px;margin-top:6px}
.iwf-entry-strip .iwf-tile{flex:0 0 76px;scroll-snap-align:start}
/* the fixed instruction line (renders AFTER the strip — it refers
   upward) and the collapsible panel beneath it. The panel reuses
   .iwf-tile-members' (.iwf-entry-words) own card treatment for the
   chips, so the wrapper itself stays a plain spacing rule — no second
   nested card. Expand/collapse is the file's ordinary plain re-render
   (no measured-height animation), same idiom as every other
   expand/collapse in this flow. */
.iwf-entry-hint{margin-top:14px}
.iwf-entry-panel{margin-top:2px}
.iwf-entry-words{margin-top:14px}
/* the second "Name your own word" chance (item 4), set apart from the
   readings above it with a quiet rule, so it reads as its own small
   section rather than a stray leftover control. */
.iwf-entry-custom-bottom{margin-top:28px;padding-top:20px;border-top:1px solid rgba(140,129,118,.16)}
body.quiet .iwf-entry-custom-bottom{border-top-color:rgba(210,180,109,.16)}
/* the readings' own narrative line (item 3) — same .iwf-note voice,
   just a little extra clearance under the hero field above it. */
.iwf-entry-readings-lede{margin-top:26px}
/* Still-mode toggle (item 5) — a real checkbox, 44px+ hit target both
   ways (the input itself and the label's own row height). */
.iwf-stillmode{display:flex;align-items:center;gap:12px;margin-top:24px;font-family:var(--ui);font-size:12.5px;letter-spacing:.04em;color:var(--codex-sepia);cursor:pointer;min-height:44px}
.iwf-stillmode-note{margin-top:4px;font-size:12.5px}
body.quiet .iwf-stillmode{color:#d8c8a7}
/* item 7 — the footer anchors to the bottom of the viewport on mobile
   (respecting the House's own safe-area-inset-bottom token) rather
   than scrolling away with the rest of the content; #iwfBody is the
   scroll container itself (app.css, above), so a plain CSS sticky
   rule is sufficient — no JS/measured positioning of any kind. The
   gradient backing keeps scrolled content from visibly passing behind
   the now-opaque footer. Scoped to ENTRY_STEP only (iw-flow.js
   _render() adds the class) — every other screen's footer stays
   part of the ordinary scroll, unchanged. */
#iwfBody.iwf-body-sticky-footer{padding-bottom:0}
#iwfBody.iwf-body-sticky-footer .iwf-footer{position:sticky;bottom:0;left:0;right:0;margin:22px -20px 0;padding:14px 20px calc(14px + var(--safe-bot));background:linear-gradient(180deg,rgba(255,249,239,0) 0,var(--warm-ivory) 20px,var(--warm-ivory) 100%);z-index:2}
body.quiet #iwfBody.iwf-body-sticky-footer .iwf-footer{background:linear-gradient(180deg,rgba(30,22,18,0) 0,var(--blackened-sepia) 20px,var(--blackened-sepia) 100%)}
/* the small-print links below the (sticky) footer are NOT part of the
   sticky element — they render after it in source order (iw-flow.js)
   and simply scroll with the rest of the body's content beneath it. */

/* ============================================================
   V390 · THE LIVING HOUSE
   Plain actions in the dock, poetic room names inside. One carried
   sentence crosses every room; secondary UI recedes until invited.
   ============================================================ */
:root{--carry-h:48px}
.tabbar{--tab-count:5;padding:7px 5px calc(7px + var(--safe-bot));gap:1px}
.tab{min-width:0;min-height:52px;gap:4px;padding:5px 1px;border-radius:16px;color:#bdb0a5}
.tab .tab-i{width:22px;height:22px;display:grid;place-items:center;color:rgba(212,180,109,.58)}
.tab .tab-i svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.tab .tab-l,.tabbar.has-together .tab-l{font-size:9px;line-height:1;letter-spacing:.065em;font-weight:500}
.tab.active{color:#f0dca9;background:rgba(212,180,109,.08)}
.tab.active .tab-i{color:#e4c77f;transform:none}
.tab-today{position:relative}
.tab-today::before{content:"";position:absolute;inset:2px 7px;border:1px solid rgba(212,180,109,.2);border-radius:16px;background:radial-gradient(circle at 50% 20%,rgba(212,180,109,.12),transparent 68%);pointer-events:none}
.tab-today>*{position:relative}
.tab-today.active::before{border-color:rgba(212,180,109,.48);background:rgba(212,180,109,.11)}
.tab-walk-outward{position:relative}.tab-walk-outward::before{content:"";position:absolute;inset:2px 7px;border:1px solid rgba(95,125,104,.26);border-radius:16px;background:linear-gradient(150deg,rgba(95,125,104,.08),transparent 70%);pointer-events:none}.tab-walk-outward>*{position:relative}.tab-walk-outward .tab-i{color:rgba(134,172,143,.72)}.tab-walk-outward.active::before{border-color:rgba(134,172,143,.56);background:rgba(95,125,104,.16)}.tab-walk-outward.active .tab-i{color:#9fc2a6}
.topbar-title{font-size:13px;letter-spacing:.115em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}
.topbar-icon{min-width:44px;min-height:44px;display:grid;place-items:center;margin:-10px -10px -10px 0;border-radius:50%}
.carry-ribbon{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-bot));transform:translateX(-50%);z-index:19;width:100%;max-width:480px;padding:0 10px;pointer-events:none}
.carry-ribbon-button{pointer-events:auto;width:100%;min-height:var(--carry-h);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 12px;border:1px solid rgba(182,138,58,.24);border-radius:14px 14px 0 0;background:rgba(255,249,239,.96);backdrop-filter:blur(14px);box-shadow:0 -8px 28px rgba(42,27,20,.08);text-align:left;color:var(--codex-sepia)}
.carry-ribbon-label{font-family:var(--ui);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold)}
.carry-ribbon-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-style:italic;font-size:13px;color:var(--codex-sepia)}
.carry-ribbon-cue{font-size:20px;color:var(--muted-gold)}
body.has-carry-ribbon .screen{padding-bottom:calc(var(--tabbar-h) + var(--carry-h) + 54px + var(--safe-bot))}
body.quiet .carry-ribbon-button{background:rgba(30,22,18,.96);border-color:rgba(212,180,109,.22)}
body.quiet .carry-ribbon-text{color:#e7d8bd}

.return-invitation{width:100%;margin:30px auto 0;padding:24px 20px;border:1px solid rgba(182,138,58,.32);border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.48),rgba(232,216,191,.28));box-shadow:0 24px 60px rgba(42,27,20,.08);text-align:left}
.return-invitation h2{margin-top:5px;font-family:var(--head);font-size:29px;line-height:1.08;color:var(--codex-sepia)}
.return-invitation>p:not(.room-label){margin-top:10px;font-size:15px;line-height:1.65;color:var(--ash)}
.return-invitation>.btn{margin-top:18px;min-height:49px}
.return-weather-portal{
  width:100%;
  margin:18px auto 0;
  padding:24px 20px 20px;
  border:1px solid rgba(182,138,58,.46);
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 8%,rgba(210,180,109,.22),transparent 38%),
    linear-gradient(145deg,rgba(255,249,239,.96),rgba(239,223,197,.82));
  box-shadow:0 22px 52px rgba(42,27,20,.10),inset 0 1px 0 rgba(255,255,255,.62);
  text-align:left;
}
.return-weather-portal h2{margin:5px 0 0;font-family:var(--head);font-size:clamp(25px,6.6vw,32px);line-height:1.08;color:var(--ink)}
.return-weather-intro{margin-top:10px;color:var(--ash);font-size:14.5px;line-height:1.65}
.return-weather-path{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px 8px;margin:20px 0 0;padding:0;list-style:none}
.return-weather-path::before{content:none}
.return-weather-path li{position:relative;z-index:1;min-width:0;text-align:center}
.return-weather-path span{width:31px;height:31px;margin:0 auto 7px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(182,138,58,.58);background:var(--warm-ivory);color:var(--label-gold);font-family:var(--ui);font-size:9px}
.return-weather-path strong,.return-weather-path small{display:block}
.return-weather-path strong{font-family:var(--display);font-size:14px;font-weight:500;color:var(--codex-sepia)}
.return-weather-path small{margin-top:2px;font-family:var(--ui);font-size:8px;line-height:1.35;color:var(--ash)}
@media(max-width:480px){.return-weather-path{grid-template-columns:repeat(2,minmax(0,1fr))}}
.return-weather-fear{margin-top:18px;padding-top:14px;border-top:1px solid rgba(140,129,118,.16);font-family:var(--display);font-style:italic;font-size:14px;line-height:1.55;color:var(--ash)}
.return-weather-fear strong{color:var(--codex-sepia);font-weight:600}
.return-weather-enter{margin-top:16px;min-height:49px}
.return-weather-portal .iw-daybadge{margin:18px 0 0;box-shadow:none}
.return-weather-portal.compact{margin:16px 0 22px;padding:19px 17px 17px;border-radius:18px;box-shadow:0 15px 36px rgba(42,27,20,.08)}
.return-weather-portal.compact h2{font-size:25px}
.return-weather-portal.compact .return-weather-intro{font-size:14px}
.return-weather-portal.compact .return-weather-path{margin-top:17px}
.return-weather-portal.compact .return-weather-fear{margin-top:15px;padding-top:12px}
.lr-editorial-actions{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.lr-editorial-actions .sh-link{margin:0}
.open-house{width:100%;margin:16px auto 0;text-align:left}
.open-house>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ui);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--label-gold)}
.open-house>summary::-webkit-details-marker{display:none}
.open-house[open]>summary span{transform:rotate(180deg)}
.open-house-body{padding:4px 0 8px}
.open-house-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 4px;border:0;border-bottom:1px solid var(--sh-line);background:none;text-align:left;color:var(--codex-sepia)}
.open-house-row strong{display:block;font-family:var(--display);font-size:16px;font-weight:500}
.open-house-row small{display:block;margin-top:3px;font-family:var(--ui);font-size:11px;line-height:1.45;color:var(--ash)}
.open-house-row b{font-size:20px;font-weight:400;color:var(--muted-gold)}
.open-house-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:14px}
.open-house-actions button{min-height:42px;border:0;background:none;font-family:var(--ui);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--codex-sepia)}
body.quiet .return-invitation{background:rgba(244,235,221,.05);border-color:rgba(212,180,109,.2)}
body.quiet .return-invitation h2,body.quiet .open-house-row,body.quiet .open-house-actions button{color:#eadabd}
body.quiet .open-house-row{border-bottom-color:rgba(212,180,109,.13)}

/* ============================================================
   TODAY — the intelligent threshold, never a productivity dashboard.
   One inverted movement leads; everything else orients, continues, or
   gathers a genuine response without turning the House into an inbox.
   ============================================================ */
.today-header{padding:16px 3px 18px;text-align:left}
.today-header .h-date{font-family:var(--ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}
.today-header .h-greet{margin-top:7px;font-size:clamp(30px,8vw,40px);line-height:1.04}
.today-orienting{max-width:32em;margin-top:9px;font-family:var(--display);font-size:16px;line-height:1.58;color:var(--ash)}
.today-primary{margin:4px 0 16px}
.practice-primary{margin:0 0 16px}
.faithful-movement{position:relative;overflow:hidden;padding:25px 21px 22px;border:1px solid rgba(212,180,109,.5);border-radius:22px;background:radial-gradient(circle at 92% 4%,rgba(212,180,109,.2),transparent 42%),linear-gradient(145deg,#34251d,#1e1612);box-shadow:0 24px 54px rgba(42,27,20,.2);color:var(--bone)}
.faithful-movement::after{content:"";position:absolute;inset:auto -38px -66px auto;width:150px;height:150px;border:1px solid rgba(212,180,109,.15);border-radius:50%;pointer-events:none}
.faithful-movement>*{position:relative;z-index:1}
.faithful-movement .room-label{color:#d9b967}
.faithful-movement h2{margin-top:7px;font-family:var(--head);font-size:clamp(27px,7vw,34px);line-height:1.08;color:#fff8e9}
.faithful-movement>p:not(.room-label){margin-top:11px;font-size:15px;line-height:1.65;color:#ddd0bd}
/* THE CTA MUST BE READABLE, AND IT LOST A SPECIFICITY ARGUMENT.

   This rule is (0,2,0). Further down the sheet sit `.screen .btn.solid`
   (0,3,0) and `body.quiet .btn.solid` (0,3,1), both later and both setting
   background alone — so they took the dark fill while this rule kept setting
   the dark TEXT that was only ever correct on a cream button. The result was
   #2d2019 lettering on a #54402c field: the single most important control on
   the first screen of the House, effectively unreadable.

   Both properties now travel together at a weight nothing later can outrank,
   in both modes. A rule that sets a colour without owning its background is
   an accident waiting for someone to append a stylesheet. */
.faithful-movement>.btn{margin-top:19px;min-height:50px}
.screen .faithful-movement>.btn.solid{border-color:#d9b967;background:#f4e8cf;color:#33231b;box-shadow:none}
body.quiet .screen .faithful-movement>.btn.solid{border-color:#d9b967;background:#ead9ba;color:#2d2019;box-shadow:none}
/* where you stand in the day, said inside the card that asks for the next
   movement — quieter than the call, and legible on the dark field */
.faithful-movement .today-rhythm-line{margin-top:15px;padding-top:13px;border-top:1px solid rgba(212,180,109,.22);
  font-family:var(--ui);font-size:12px;letter-spacing:.05em;line-height:1.85;color:#c3b39c}
.faithful-movement .today-rhythm-line b{color:#f0e2c6;font-weight:600}
.practice-primary .practice-primary-meta{margin-top:9px;font-family:var(--ui);font-size:9.5px;line-height:1.45;letter-spacing:.14em;text-transform:uppercase;color:#d9b967}
.practice-whole-way-link{display:block;width:100%;margin-top:13px;padding:8px 4px 1px;border:0;background:none;font-family:var(--ui);font-size:9.5px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:#d9b967;cursor:pointer}
.today-section{margin-top:14px;padding:19px 18px 17px;border:1px solid rgba(140,129,118,.2);border-radius:18px;background:rgba(255,249,239,.56)}
.today-rhythm{padding-bottom:20px}
.today-rhythm-row{display:flex;align-items:center;margin-top:15px}
.today-rhythm-step{display:grid;flex:0 0 72px;justify-items:center;gap:3px;border:0;background:none;color:var(--ash);cursor:pointer;padding:2px}
.today-rhythm-step strong{font-family:var(--display);font-size:14px;font-weight:500;color:var(--codex-sepia)}
.today-rhythm-step small{font-family:var(--ui);font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:var(--ash)}
.today-rhythm-node{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(182,138,58,.35);border-radius:50%;background:var(--warm-ivory);font-family:var(--ui);font-size:10px;color:var(--muted-gold)}
.today-rhythm-step.open .today-rhythm-node{border-color:var(--muted-gold);background:var(--codex-sepia);color:var(--bone);box-shadow:0 0 0 5px rgba(182,138,58,.1)}
.today-rhythm-step.received .today-rhythm-node{background:rgba(182,138,58,.12);color:var(--label-gold)}
.today-rhythm-line{height:1px;flex:1 1 auto;min-width:8px;background:linear-gradient(90deg,rgba(182,138,58,.18),rgba(182,138,58,.42),rgba(182,138,58,.18))}
.today-awaiting{border-color:rgba(182,138,58,.32);background:linear-gradient(145deg,rgba(255,249,239,.78),rgba(241,229,210,.56))}
.today-awaiting-row{display:grid;width:100%;grid-template-columns:11px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:11px 0;border:0;border-top:1px solid rgba(140,129,118,.14);background:none;text-align:left;color:var(--codex-sepia);cursor:pointer}
.today-awaiting-row:first-of-type{margin-top:8px}
.today-awaiting-mark{width:7px;height:7px;border-radius:50%;background:var(--muted-gold);box-shadow:0 0 0 4px rgba(182,138,58,.1)}
.today-awaiting-row>span:nth-child(2){font-family:var(--display);font-size:15.5px;line-height:1.4}
.today-awaiting-row strong{font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold)}
.today-section-link{display:block;margin:12px 0 0 auto;padding:8px 0;border:0;background:none;font-family:var(--display);font-style:italic;font-size:14px;color:var(--codex-sepia);cursor:pointer}
.today-continue-grid{display:grid;gap:9px;margin-top:12px}
.today-continue-card{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:14px 15px;border:1px solid rgba(140,129,118,.17);border-radius:14px;background:rgba(255,255,255,.34);text-align:left;color:var(--codex-sepia);cursor:pointer}
.today-continue-card .room-label,.today-continue-card>strong,.today-continue-card>small{grid-column:1}
.today-continue-card>strong{margin-top:4px;font-family:var(--display);font-size:17px;font-weight:500;line-height:1.35}
.today-continue-card>small{margin-top:4px;font-size:12.5px;line-height:1.5;color:var(--ash)}
.today-continue-card>em{grid-column:2;grid-row:1/4;align-self:center;font-family:var(--ui);font-size:9px;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;text-align:right;color:var(--label-gold)}
.today-carrying{border-left:2px solid rgba(182,138,58,.5);background:linear-gradient(90deg,rgba(210,180,109,.12),rgba(255,249,239,.5))}
.today-carrying blockquote{margin:12px 2px 0;font-family:var(--display);font-style:italic;font-size:20px;line-height:1.55;color:var(--codex-sepia)}
/* the person a walker named in the Morning Return — shown back, never asked about */
.today-carrying-toward{margin:10px 2px 0;font-size:14px;color:var(--ash);letter-spacing:.01em}
/* the first thread — a newcomer's three doors. Stones orient, never score:
   the same idiom as the Inner Weather rail and the Path day-dots. */
.today-thread{border-left:2px solid rgba(182,138,58,.35)}
/* .today-thread-stones was a class no markup has ever carried — two rules
   styling an element that does not exist, including a ::before that pinned a
   44px rule to an outer element the rule no longer lives on. Removed rather
   than updated: dead CSS that LOOKS load-bearing is worse than none, because
   the next person adjusts it and wonders why nothing moves. */
.today-thread .stones{padding:2px 0 12px}
.today-thread h2{margin:6px 0 0;font-size:21px;line-height:1.35}
.today-thread p{margin:8px 0 0;color:var(--ash);line-height:1.6}
.today-thread .btn{margin-top:16px}
.today-thread-carry{font-family:var(--display);font-style:italic}
.today-thread-carry span{color:var(--codex-sepia)}
body.quiet .today-thread h2{color:#f5ead4}
body.quiet .today-thread p{color:#c8b9a5}
/* a keep the journal lock refused — said plainly, on the screen they are on */
.iwf-keep-blocked{border:1px solid rgba(214,138,74,.55);border-radius:10px;padding:14px;margin-top:6px;background:rgba(214,138,74,.07)}
.iwf-keep-blocked p{margin:0 0 8px;font-size:14.5px;line-height:1.5}
.iwf-keep-blocked .iwf-note{margin-bottom:12px}
.today-carrying-toward span{font-family:var(--display);font-style:italic;color:var(--codex-sepia)}
body.quiet .today-carrying-toward{color:#c8b9a5}
body.quiet .today-carrying-toward span{color:#eadabd}
.today-weather-entry{
  background:
    radial-gradient(circle at 92% 4%,rgba(210,180,109,.16),transparent 42%),
    rgba(255,249,239,.62);
  border-color:rgba(182,138,58,.34);
}
.today-weather-entry h2{margin-top:6px;font-family:var(--head);font-size:25px;line-height:1.12;color:var(--codex-sepia)}
.today-weather-entry>p:not(.room-label){margin-top:9px;font-size:14px;line-height:1.62;color:var(--ash)}
.today-weather-entry>.sh-cmd{margin-top:15px}
.today-weather-entry>.iw-daybadge{margin:16px 0 0;box-shadow:none}
.today-keeper h2{margin-top:8px;font-family:var(--head);font-size:23px;color:var(--codex-sepia)}
.today-keeper>p:not(.room-label){margin-top:7px;line-height:1.6;color:var(--ash)}
body.quiet .today-header .h-greet,body.quiet .faithful-movement h2,body.quiet .today-carrying blockquote,body.quiet .today-keeper h2,body.quiet .today-weather-entry h2{color:#f5ead4}
body.quiet .today-orienting,body.quiet .faithful-movement>p:not(.room-label),body.quiet .today-continue-card>small,body.quiet .today-keeper>p:not(.room-label){color:#c8b9a5}
body.quiet .today-section,body.quiet .today-awaiting,body.quiet .today-continue-card{background:rgba(244,235,221,.05);border-color:rgba(212,180,109,.16)}
body.quiet .faithful-movement{background:radial-gradient(circle at 92% 4%,rgba(212,180,109,.16),transparent 42%),#17100d;border-color:rgba(212,180,109,.38)}
/* superseded by .screen .faithful-movement>.btn.solid above, which owns
   background and colour together in both modes */
body.quiet .today-rhythm-step strong,body.quiet .today-awaiting-row,body.quiet .today-section-link,body.quiet .today-continue-card,body.quiet .today-carrying blockquote{color:#eadabd}
body.quiet .today-rhythm-node{background:#241814;border-color:rgba(212,180,109,.28)}
/* Small light-mode labels under-contrast on Stillness's dark ground.
   Restore the dark-ground gold and a readable ash, as Practice and
   Settings do for their equivalent microcopy. */
body.quiet .today-header .h-date,
body.quiet .today-section .room-label,
body.quiet .today-awaiting-row strong,
body.quiet .today-continue-card>em,
body.quiet .today-rhythm-step.received .today-rhythm-node{color:var(--muted-gold)}
body.quiet .today-rhythm-step small{color:#c8b9a5}
@media(max-width:370px){
  .today-rhythm-step{flex-basis:64px}
  .today-continue-card{grid-template-columns:1fr}
  .today-continue-card>em{grid-column:1;grid-row:auto;margin-top:9px;text-align:left}
  .today-awaiting-row{grid-template-columns:10px minmax(0,1fr)}
  .today-awaiting-row strong{grid-column:2}
}
body.quiet .return-weather-portal{background:rgba(244,235,221,.06);border-color:rgba(212,180,109,.24);box-shadow:none}
body.quiet .return-weather-portal h2,body.quiet .return-weather-path strong,body.quiet .return-weather-fear strong{color:#f3e6c8}
body.quiet .return-weather-intro,body.quiet .return-weather-path small,body.quiet .return-weather-fear{color:#b7aaa0}
body.quiet .return-weather-path span{background:#241814;color:var(--soft-gold);border-color:rgba(212,180,109,.42)}
.formation-rhythm{display:flex;align-items:center;justify-content:center;gap:clamp(2px,1.5vw,7px);margin-top:20px;padding:10px 8px;border-top:1px solid rgba(140,129,118,.14);border-bottom:1px solid rgba(140,129,118,.14)}
.formation-rhythm button{border:0;background:none;padding:5px 2px;font-family:var(--ui);font-size:clamp(8px,2.3vw,9.5px);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);opacity:.72}
.formation-rhythm button.active{color:var(--label-gold);opacity:1;font-weight:600}
.formation-rhythm span{font-family:var(--ui);font-size:11px;color:rgba(182,138,58,.52)}
body.quiet .formation-rhythm{border-color:rgba(212,180,109,.13)}
body.quiet .formation-rhythm button{color:#b7aaa0}
body.quiet .formation-rhythm button.active{color:var(--soft-gold)}
@media(max-width:370px){.formation-rhythm{justify-content:space-between;gap:2px}.formation-rhythm span{display:none}}

/* The House must always show where the keyboard is. */
:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--muted-gold);outline-offset:3px}
.tab:focus-visible{outline-color:var(--soft-gold);outline-offset:-2px}
.iwf-custom-row input:focus-visible,.iwf-textarea:focus-visible,.ledger-input:focus-visible{outline:2px solid var(--muted-gold);outline-offset:2px}

@media(max-width:360px){
  .tab .tab-l,.tabbar.has-together .tab-l{font-size:8px;letter-spacing:.035em}
  .tab .tab-i svg{width:19px;height:19px}
  .carry-ribbon-label{display:none}
  .carry-ribbon-button{grid-template-columns:minmax(0,1fr) auto}
  .return-weather-portal{padding:20px 15px 17px}
  .return-weather-path{gap:3px}
  .return-weather-path strong{font-size:12.5px}
  .return-weather-path small{font-size:7.5px}
  .practice-engine-steps{grid-template-columns:1fr;gap:6px}
  .practice-engine-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:7px;align-items:baseline}
  .practice-engine-steps li>span{grid-row:1 / span 2}
  .practice-engine-steps strong{margin-top:0}
  .practice-engine-steps small{grid-column:2;margin-top:2px}
}

/* ============================================================
   V390 · DEEP-ROOM HARMONIZATION
   Older rooms keep their content and behavior, but now speak the
   same control grammar as the five principal rooms.
   ============================================================ */
.screen button.cta{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-left:-8px;
  padding:8px;
  border-radius:12px;
  font-family:var(--ui);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--label-gold);
  transition:background .2s ease,color .2s ease;
}
.screen button.cta:hover{background:rgba(182,138,58,.08);color:var(--codex-sepia)}
.screen .btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  font-family:var(--ui);
  font-size:13px;
  font-weight:500;
  line-height:1.25;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38);
}
.screen .btn:not(.solid):not(.light){background:rgba(255,249,239,.56)}
.screen .btn.solid{box-shadow:0 12px 28px rgba(42,27,20,.11),inset 0 1px 0 rgba(255,255,255,.12)}
.screen .sh-cmd{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 13px;
  border:1px solid rgba(182,138,58,.24);
  border-radius:12px;
  background:rgba(255,249,239,.48);
  font-size:10.5px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.085em;
  text-align:center;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.screen .sh-cmd:hover{background:rgba(182,138,58,.09);border-color:rgba(182,138,58,.46)}
.screen .sh-cmd.full{display:flex}
.screen .sh-link{
  min-height:44px;
  padding:10px 8px;
  font-family:var(--ui);
  font-size:11px;
  letter-spacing:.06em;
  color:var(--ash);
}
body.quiet .screen button.cta{color:var(--soft-gold)}
body.quiet .screen button.cta:hover{background:rgba(212,180,109,.08);color:#f3e6c8}
body.quiet .screen .btn:not(.solid),body.quiet .screen .sh-cmd{background:rgba(244,235,221,.045);border-color:rgba(212,180,109,.18);color:#eadabd;box-shadow:none}
body.quiet .screen .btn.solid{background:var(--soft-gold);border-color:var(--soft-gold);color:var(--ink)}

/* Listening is a practice, not another catalog to keep up with. */
.listening-room-hero{margin-bottom:14px}
.listening-room-covenant{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}
.listening-room-covenant span{padding:11px 9px;border:1px solid rgba(182,138,58,.18);border-radius:12px;background:rgba(255,249,239,.58);font-family:var(--ui);font-size:9.5px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--label-gold)}
body.quiet .listening-room-covenant span{background:rgba(244,235,221,.04);border-color:rgba(212,180,109,.13);color:var(--soft-gold)}
@media(max-width:360px){.listening-room-covenant{grid-template-columns:1fr}.listening-room-covenant span{min-height:40px;display:grid;place-items:center}}

/* Inner Weather begins with meaning, then reveals instrumentation only
   when the walker asks for it. Family choices scan as a field, not a
   carousel, and the final Witness Card reads like a human summary. */
.iwf-orientation{margin:0 0 28px;padding:22px 19px;border:1px solid rgba(182,138,58,.28);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.52),rgba(232,216,191,.26));box-shadow:0 18px 44px rgba(42,27,20,.06)}
.iwf-orientation>p:not(.eyebrow):not(.iwf-note){margin-top:10px;font-family:var(--display);font-size:16px;line-height:1.62;color:var(--codex-sepia)}
.iwf-framework{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.iwf-framework>div{padding:11px 10px;border:1px solid rgba(182,138,58,.2);border-radius:12px;background:rgba(255,249,239,.7)}
.iwf-framework dt{font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.iwf-framework dd{margin:3px 0 0;font-family:var(--display);font-size:17px;color:var(--codex-sepia)}
.iwf-biblical-core{margin-top:18px;padding:14px 14px 12px;border-left:3px solid var(--muted-gold);background:rgba(255,249,239,.5);font-family:var(--display);font-size:14px;line-height:1.58;color:var(--codex-sepia)}
.iwf-biblical-core p{margin:0}.iwf-biblical-core strong{font-family:var(--ui);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--label-gold)}.iwf-biblical-core-ref{margin-top:9px!important;font-family:var(--ui);font-size:9.5px;letter-spacing:.08em;color:var(--ash);text-transform:uppercase}
.iwf-entry-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:visible;padding:4px 0 8px;scroll-snap-type:none}
.iwf-entry-strip .iwf-tile{min-width:0;width:100%;min-height:76px;display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;text-align:left}
.iwf-entry-strip .iwf-tile-glyph{margin:0}
.iwf-readings{margin-top:26px;border-top:1px solid rgba(140,129,118,.16);border-bottom:1px solid rgba(140,129,118,.16)}
.iwf-readings>summary{list-style:none;cursor:pointer;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--ui);font-size:11px;line-height:1.45;letter-spacing:.07em;text-transform:uppercase;color:var(--label-gold)}
.iwf-readings>summary::-webkit-details-marker{display:none}
.iwf-readings>summary::after{content:"+";font-family:var(--display);font-size:22px;font-weight:400;color:var(--muted-gold)}
.iwf-readings[open]>summary::after{content:"−"}
.iwf-readings .iwf-entry-readings-lede{margin-top:7px}
.iwf-readings .iwf-measures-list{padding-bottom:18px}
.iwf-witness-card{margin-top:14px;padding:20px 17px;border:1px solid rgba(182,138,58,.3);border-radius:18px;background:linear-gradient(155deg,rgba(255,255,255,.55),rgba(232,216,191,.24));box-shadow:0 22px 52px rgba(42,27,20,.07)}
.iwf-witness-row{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid rgba(140,129,118,.14)}
.iwf-witness-row span,.iwf-witness-label{display:block;font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.iwf-witness-row strong{display:block;margin-top:5px;font-family:var(--display);font-size:17px;line-height:1.45;font-weight:500;color:var(--codex-sepia)}
.iwf-witness-label{margin-top:20px;text-align:center}
.iwf-keeper-gathering,.iwf-keeper-benediction{margin-top:18px;padding:4px 0}
.iwf-keeper-gathering .iwf-witness-label,.iwf-keeper-benediction .iwf-witness-label{margin-top:0}
.iwf-witness-card-heading{margin-top:34px}
.iwf-keeper-thread{display:flex;flex-direction:column;gap:22px;margin-top:22px}
.iwf-keeper-turn{margin-top:0}
.iwf-keeper-turn>span,.iwf-keeper-you>span{display:block;margin-bottom:7px;font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.iwf-keeper-turn>p,.iwf-keeper-you>p{margin:0;white-space:pre-wrap}
.iwf-keeper-you{margin-left:18px;padding-left:14px;border-left:2px solid rgba(182,138,58,.28);font-family:var(--display);font-style:italic;font-size:16px;line-height:1.62;color:var(--ash)}
body.quiet .iwf-orientation,body.quiet .iwf-witness-card{background:rgba(244,235,221,.05);border-color:rgba(212,180,109,.2)}
body.quiet .iwf-orientation>p:not(.eyebrow):not(.iwf-note),body.quiet .iwf-framework dd,body.quiet .iwf-witness-row strong{color:#eadabd}
body.quiet .iwf-framework>div{background:rgba(244,235,221,.04);border-color:rgba(212,180,109,.15)}
body.quiet .iwf-biblical-core{background:rgba(244,235,221,.04);border-color:rgba(212,180,109,.28);color:#eadabd}
body.quiet .iwf-biblical-core-ref{color:#cdbfa8}
body.quiet .iwf-readings,body.quiet .iwf-witness-row{border-color:rgba(212,180,109,.13)}
body.quiet .iwf-keeper-you{border-color:rgba(212,180,109,.22);color:#cdbfa8}
body.has-carry-ribbon #shelterPill,body.has-carry-ribbon #shelterPanel .shelter-sheet{bottom:calc(var(--tabbar-h,64px) + var(--carry-h) + var(--safe-bot,0px))!important;z-index:21!important}
@media(min-width:480px){.iwf-entry-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.iwf-entry-strip .iwf-tile{grid-template-columns:1fr;text-align:center}.iwf-framework{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ============================================================
   A-019 · INNER WEATHER REFLECTION CHARTER
   Four doors, five stones, an authored Fork, and the final duet.
   ============================================================ */
.iwf-threshold-frame{animation:iwfThresholdOpen 1.8s ease both}
@keyframes iwfThresholdOpen{from{opacity:0}to{opacity:1}}
.iwf-four-doors,.iwf-arrive-choices{display:grid;gap:10px;margin-top:24px}
.iwf-door{width:100%;min-height:92px;padding:17px 16px;border:1px solid rgba(182,138,58,.25);border-radius:16px;background:linear-gradient(150deg,rgba(255,255,255,.58),rgba(232,216,191,.18));text-align:left;color:var(--codex-sepia);cursor:pointer}
.iwf-door strong,.iwf-door span{display:block}
.iwf-door strong{font-family:var(--display);font-size:21px;line-height:1.2;font-weight:600}
.iwf-door span{margin-top:6px;font-family:var(--ui);font-size:12.5px;line-height:1.55;color:var(--ash)}
.iwf-door:hover{border-color:rgba(182,138,58,.55);background:rgba(182,138,58,.08)}
.iwf-door-person{border-color:rgba(120,85,63,.42)}
.iwf-five-stones{position:relative;justify-content:center;gap:22px;padding:17px 26px 3px}
.iwf-five-stones::before{content:"";position:absolute;left:52px;right:52px;top:22px;height:1px;background:rgba(182,138,58,.26)}
.iwf-five-stones .iwf-rail-step{position:relative;z-index:1;width:10px;height:10px;background:var(--warm-ivory);border:1px solid rgba(182,138,58,.52)}
.iwf-five-stones .iwf-rail-step.done{background:var(--muted-gold)}
.iwf-five-stones .iwf-rail-step.on{width:13px;height:13px;background:var(--codex-sepia);border-color:var(--soft-gold)}
.iwf-five-stones .iwf-rail-step.fork{border-radius:1px;transform:rotate(45deg)}
.iwf-five-stones .iwf-rail-l{flex-basis:100%;margin:1px 0 0;text-align:center}
.iwf-canon-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:1px 20px 0;padding:0 0 8px}
.iwf-canon-step{position:relative;padding-top:7px;text-align:center;font-family:var(--ui);font-size:8px;line-height:1.25;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-quiet);white-space:nowrap}
.iwf-canon-step::before{content:"";display:block;width:4px;height:4px;margin:0 auto 4px;border:1px solid rgba(140,129,118,.32);border-radius:50%;background:var(--warm-ivory)}
.iwf-canon-step.done{color:var(--label-gold)}
.iwf-canon-step.done::before{background:var(--muted-gold);border-color:var(--muted-gold)}
.iwf-canon-step.on{color:var(--codex-sepia);font-weight:600}
.iwf-canon-step.on::before{width:7px;height:7px;margin-top:-2px;margin-bottom:3px;background:var(--soft-gold);border-color:var(--codex-sepia);box-shadow:0 0 0 3px rgba(212,180,109,.18)}
.iwf-fork-screen{padding:10px 0 4px}
.iwf-impulse-card{margin:23px 0 18px;padding:19px 18px;border-left:3px solid var(--muted-gold);border-radius:0 13px 13px 0;background:rgba(182,138,58,.1);font-family:var(--display);font-size:21px;line-height:1.5;color:var(--codex-sepia)}
.iwf-impulse-card span{display:block;margin-bottom:7px;font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.iwf-fork-mark{position:relative;width:152px;height:52px;margin:8px auto 24px}
.iwf-fork-mark::before{content:"";position:absolute;left:14px;top:25px;width:54px;border-top:2px solid rgba(182,138,58,.7)}
.iwf-fork-mark .reaction,.iwf-fork-mark .choice{position:absolute;left:66px;top:25px;width:70px;transform-origin:left center}
.iwf-fork-mark .reaction{border-top:2px dotted rgba(140,129,118,.42);transform:rotate(-24deg)}
.iwf-fork-mark .choice{border-top:2px solid var(--muted-gold);transform:rotate(24deg)}
.iwf-duet{display:grid;gap:14px;margin-top:21px}
.iwf-duet-you,.iwf-duet-keeper{padding:19px 17px;border:1px solid rgba(182,138,58,.25);border-radius:17px;background:rgba(255,255,255,.4)}
.iwf-duet .iwf-witness-label{margin:0 0 9px;text-align:left}
.iwf-duet blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:23px;line-height:1.5;color:var(--codex-sepia)}
.iwf-keep-choices{display:grid;gap:6px;margin:0;padding:14px 16px 16px;border:1px solid var(--lift-line);border-radius:var(--r-md);background:var(--lift-ground);box-shadow:inset 0 1px 0 var(--lift-edge)}
.iwf-keep-choices legend{padding:0 7px;font-family:var(--ui);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-gold)}
.iwf-keep-choices label{display:flex;align-items:center;gap:10px;min-height:36px;font-family:var(--ui);font-size:13px;color:var(--codex-sepia)}
.iwf-keep-choices input{width:20px;height:20px;accent-color:var(--codex-sepia)}
/* Family names must remain readable; the engine's ten categories never become
   five squeezed columns on a phone-width House. */
@media(min-width:480px){
  .iwf-entry-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .iwf-entry-strip .iwf-tile{grid-template-columns:35px minmax(0,1fr);text-align:left}
}
@media(prefers-reduced-motion:reduce){.iwf-threshold-frame{animation:none}}
body.quiet .iwf-door,body.quiet .iwf-duet-you,body.quiet .iwf-duet-keeper{background:rgba(244,235,221,.05);border-color:rgba(212,180,109,.2);color:#eadabd}
body.quiet .iwf-door strong,body.quiet .iwf-duet blockquote,body.quiet .iwf-keep-choices label{color:#eadabd}
body.quiet .iwf-five-stones .iwf-rail-step{background:var(--blackened-sepia)}
body.quiet .iwf-canon-step{color:#a99b8e}
body.quiet .iwf-canon-step.done{color:var(--soft-gold)}
body.quiet .iwf-canon-step::before{background:var(--blackened-sepia);border-color:rgba(212,180,109,.26)}
body.quiet .iwf-canon-step.done::before{background:var(--muted-gold);border-color:var(--muted-gold)}
body.quiet .iwf-canon-step.on{color:#eadabd}
body.quiet .iwf-canon-step.on::before{background:var(--soft-gold);border-color:var(--soft-gold)}
@media(max-width:360px){.iwf-canon-rail{margin-left:14px;margin-right:14px}.iwf-canon-step{font-size:7px;letter-spacing:.04em}}

/* Mark a Moment → Pocket Walk. The oar is the memory icon; the form keeps
   the three questions written out in full. */
.pocket-walk-mark{width:58px;height:58px;margin:4px 0 14px;color:var(--muted-gold)}
.pocket-walk-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pocket-prompt{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:11px;margin-top:25px;color:var(--codex-sepia)}
.pocket-prompt>span{grid-row:1/3;width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(182,138,58,.45);border-radius:50%;font-family:var(--ui);font-size:10px;color:var(--label-gold)}
.pocket-prompt strong{font-family:var(--display);font-size:21px;line-height:1.2}
.pocket-prompt small{margin-top:3px;font-family:var(--ui);font-size:11.5px;line-height:1.45;color:var(--ash)}
.pocket-prompt+.journal-line{margin-top:9px}
.pocket-teaching{margin-top:27px;padding:17px 16px;border-left:3px solid var(--muted-gold);background:rgba(182,138,58,.08)}
.pocket-teaching strong,.pocket-teaching span,.pocket-teaching small{display:block}
.pocket-teaching strong{font-family:var(--display);font-size:19px;color:var(--codex-sepia)}
.pocket-teaching span{margin-top:5px;font-family:var(--ui);font-size:12px;line-height:1.55;color:var(--codex-sepia)}
.pocket-teaching small{margin-top:5px;font-family:var(--ui);font-size:10.5px;line-height:1.5;color:var(--ash)}
body.quiet .pocket-prompt,body.quiet .pocket-teaching strong,body.quiet .pocket-teaching span{color:#eadabd}

/* V554 · INNER WEATHER AS A FOUR-BEAT WALK
   The experience now moves from signal to embodied return. These surfaces
   remain editorial and spacious; candidate words are instruments, not mood
   scores, and the Keeper's gathering is visibly tentative. */
.iwf-core-rail{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px;padding-bottom:12px}
.iwf-core-card{margin-top:18px;padding:18px 16px;border:1px solid rgba(182,138,58,.25);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(232,216,191,.2))}
.iwf-core-label{margin:0 0 10px;font-family:var(--ui);font-size:9.5px;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold)}
.iwf-selected-words{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 15px}
.iwf-selected-words span{padding:7px 10px;border-left:2px solid var(--muted-gold);background:rgba(182,138,58,.07);font-family:var(--display);font-size:16px;color:var(--codex-sepia)}
.iwf-selected-empty{margin:8px 0 14px;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.5;color:var(--ash)}
.iwf-core-custom{margin-top:12px}
.iwf-core-question{display:grid;gap:4px;margin-top:22px;color:var(--codex-sepia)}
.iwf-core-question strong{font-family:var(--display);font-size:19px;line-height:1.35;font-weight:500}
.iwf-core-question span{font-family:var(--ui);font-size:10.5px;line-height:1.5;color:var(--ash)}
.iwf-essence-impulses{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.iwf-impulse-field{margin-top:20px}
.iwf-storm-anchor{margin:20px 0;padding:19px 17px;border-left:3px solid var(--muted-gold);background:linear-gradient(145deg,rgba(55,39,28,.97),rgba(30,22,18,.98));color:#eadabd;box-shadow:0 20px 46px rgba(42,27,20,.12)}
.iwf-storm-anchor .iwf-core-label{color:var(--soft-gold)}
.iwf-storm-anchor blockquote{margin:10px 0 12px;font-family:var(--display);font-style:italic;font-size:23px;line-height:1.4;color:#f3e6c8}
.iwf-storm-anchor>p:last-child{margin:0;font-family:var(--display);font-size:15px;line-height:1.62;color:#cdbfa8}
.iwf-truth-field{margin-top:24px;padding-top:18px;border-top:1px solid rgba(182,138,58,.2)}
.iwf-truth-choices{display:grid;gap:8px}
.iwf-truth-choice{width:100%;min-height:52px;padding:12px 14px;border:1px solid rgba(182,138,58,.28);border-radius:13px;background:rgba(255,249,239,.62);text-align:left;font-family:var(--display);font-size:17px;line-height:1.35;color:var(--codex-sepia);cursor:pointer}
.iwf-truth-choice:hover,.iwf-truth-choice:focus-visible{border-color:rgba(182,138,58,.62);background:rgba(182,138,58,.08)}
.iwf-truth-choice[aria-pressed="true"]{border-color:var(--muted-gold);background:rgba(182,138,58,.12);box-shadow:0 0 0 3px rgba(182,138,58,.09)}
.iwf-footer .btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
/* Today keeps its audio as a genuinely distinct listening envelope. This
   selector deliberately outranks the later shared .today-section lift so the
   light card treatment cannot wash the dark listening room back out. */
.today-section.today-listening{background:radial-gradient(circle at 90% 4%,rgba(210,180,109,.14),transparent 38%),linear-gradient(145deg,#251813,#160f0c);border-color:rgba(210,180,109,.34);color:#f4ebdd;box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 38px -31px rgba(25,16,12,.9)}
.today-section.today-listening>h2{color:#f4ebdd}
.today-section.today-listening>.room-label{color:#d9b967}
.today-section.today-listening .today-continue-card{background:rgba(255,255,255,.045);border-color:rgba(210,180,109,.24);color:#f4ebdd}
.today-section.today-listening .today-continue-card .room-label{color:#d9b967}
.today-section.today-listening .today-continue-card>strong{color:#f4ebdd}
.today-section.today-listening .today-continue-card>small{color:#c8b9a5}
.today-section.today-listening .today-continue-card>em{color:#d9b967}
body.quiet .today-section.today-listening{background:radial-gradient(circle at 90% 4%,rgba(210,180,109,.12),transparent 38%),linear-gradient(145deg,#211612,#130d0a);border-color:rgba(210,180,109,.3)}
.iwf-received-word{margin:19px 0;padding:17px 16px;border-left:3px solid var(--muted-gold);background:rgba(182,138,58,.08);font-family:var(--display);font-style:italic;font-size:21px;line-height:1.5;color:var(--codex-sepia)}
.iwf-movement-choices{display:grid;gap:9px;margin-top:20px}
.iwf-movement-choice{display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;align-items:center;width:100%;min-height:64px;padding:12px 14px;border:1px solid rgba(182,138,58,.24);border-radius:14px;background:rgba(255,249,239,.55);text-align:left;color:var(--codex-sepia);cursor:pointer}
.iwf-movement-choice>span{width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(182,138,58,.42);border-radius:50%;font-family:var(--ui);font-size:9px;color:var(--label-gold)}
.iwf-movement-choice>strong{font-family:var(--display);font-size:16px;line-height:1.4;font-weight:500}
.iwf-movement-choice[aria-pressed="true"]{border-color:var(--muted-gold);background:rgba(182,138,58,.1);box-shadow:0 0 0 3px rgba(182,138,58,.09)}
.iwf-return-consent{display:grid;grid-template-columns:23px minmax(0,1fr);gap:11px;margin-top:22px;padding:15px 14px;border:1px solid rgba(182,138,58,.22);border-radius:14px;background:rgba(255,249,239,.45)}
.iwf-return-consent input{width:20px;height:20px;accent-color:var(--codex-sepia)}
.iwf-return-consent span,.iwf-return-consent strong,.iwf-return-consent small{display:block}
.iwf-return-consent strong{font-family:var(--display);font-size:16px;color:var(--codex-sepia)}
.iwf-return-consent small{margin-top:3px;font-family:var(--ui);font-size:10px;line-height:1.5;color:var(--ash)}
.iwf-line-input{width:100%;min-height:46px;margin-top:9px;padding:11px 12px;border:0;border-bottom:1.5px solid rgba(182,138,58,.5);border-radius:5px 5px 0 0;background:rgba(182,138,58,.05);box-sizing:border-box;font-family:var(--display);font-size:17px;color:var(--ink)}
.iwf-lament-frame{--warm-ivory:#201713;--ink:#f1e5d1;--codex-sepia:#eadabd;--ash:#c3b4a4;--ash-quiet:#a9998b;background:radial-gradient(circle at 50% 0,rgba(105,67,43,.22),transparent 38%),#201713}
.iwf-lament-frame .iwf-topbar{background:rgba(29,21,18,.94);border-color:rgba(212,180,109,.15)}
.iwf-lament-frame .iwf-devtag,.iwf-lament-frame .iwf-navbtn{color:#d8c8a7}
.iwf-lament-frame .iwf-textarea,.iwf-lament-frame .iwf-line-input{background:rgba(244,235,221,.055);border-color:rgba(212,180,109,.24);color:#f1e5d1}
.iwf-lament-frame .iwf-mode-note{background:rgba(244,235,221,.04)}
body.quiet .iwf-core-card,body.quiet .iwf-truth-choice,body.quiet .iwf-movement-choice,body.quiet .iwf-return-consent{background:rgba(244,235,221,.045);border-color:rgba(212,180,109,.17)}
body.quiet .iwf-selected-words span,body.quiet .iwf-core-question,body.quiet .iwf-core-question strong,body.quiet .iwf-truth-choice,body.quiet .iwf-received-word,body.quiet .iwf-movement-choice,body.quiet .iwf-return-consent strong{color:#eadabd}

/* A Mark can begin with a wordless category. The cards are anchors, not
   filters, and remain deliberately lighter than the full Inner Weather door. */
.mark-kind-field{margin-top:22px;padding:15px 14px;border:1px solid rgba(182,138,58,.2);border-radius:16px;background:rgba(255,249,239,.48)}
.mark-kind-field>.label span{font-weight:400;color:var(--ash);text-transform:none;letter-spacing:0}
.mark-kind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.mark-kind-grid button{min-height:70px;padding:11px 10px;border:1px solid rgba(182,138,58,.2);border-radius:12px;background:rgba(255,255,255,.42);text-align:left;color:var(--codex-sepia);cursor:pointer}
.mark-kind-grid strong,.mark-kind-grid small{display:block}
.mark-kind-grid strong{font-family:var(--display);font-size:15px;line-height:1.25;font-weight:500}
.mark-kind-grid small{margin-top:4px;font-family:var(--ui);font-size:9px;line-height:1.35;color:var(--ash)}
.mark-kind-grid button.selected{border-color:var(--muted-gold);background:rgba(182,138,58,.1);box-shadow:0 0 0 3px rgba(182,138,58,.08)}
body.quiet .mark-kind-field,body.quiet .mark-kind-grid button{background:rgba(244,235,221,.04);border-color:rgba(212,180,109,.15)}
body.quiet .mark-kind-grid strong{color:#eadabd}
@media(max-width:360px){.mark-kind-grid{grid-template-columns:1fr}.iwf-core-rail .iwf-canon-step{font-size:6.8px}}

/* The account door: the one row in Settings people arrive looking for.
   Given weight rather than a badge — it should read as the front door of
   this page, not as an alert. */
.settings-door.settings-door-primary{border-color:rgba(138,100,53,.45);background:#FBF3E2}
.settings-door.settings-door-primary .settings-door-kicker{color:var(--label-gold,#876225)}
.settings-door.settings-door-primary em{color:var(--codex-sepia,#6E4F26);font-style:normal;font-weight:600}

/* ============================================================
   THE STONES — one orientation idiom for every walk in the House.
   Harmonised 1 August 2026.

   Four idioms existed: the Inner Weather rail, the Path day-dots, the four
   R's, and the Practice beats rendered as inline-styled bullets. They said
   the same thing four ways. This is the one way.

   Stones ORIENT, they never SCORE. They say where you are in a walk — the
   same service a milestone does on a road — and they never count, rank, or
   congratulate. Becoming's rule is seasons, not scores, and that rule reaches
   the progress indicators too.
   ============================================================ */
/* The rule is drawn on .stones-rail, which is only as wide as the stones, and
   runs from the centre of the first to the centre of the last — so it never
   passes behind the label and never claims road beyond the final milestone.
   The label sits on its own line beneath, which is also what .iwf-five-stones
   already did; these two now agree. */
.stones{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:2px 0 10px}
.stones-rail{display:inline-flex;align-items:center;gap:18px;position:relative;padding:5px 0}
.stones-rail::before{content:"";position:absolute;left:5px;right:5px;top:50%;height:1px;background:rgba(182,138,58,.26)}
.stone{position:relative;z-index:1;width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--warm-ivory);border:1px solid rgba(182,138,58,.52)}
.stone.done{background:var(--muted-gold)}
.stone.on{width:13px;height:13px;background:var(--codex-sepia);border-color:var(--soft-gold)}
.stone.fork{border-radius:1px;transform:rotate(45deg)}
.stones-l{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-gold);margin-left:0;white-space:nowrap}
.stones.centred{align-items:center;text-align:center}
body.quiet .stone{background:var(--blackened-sepia)}
body.quiet .stone.done{background:var(--muted-gold)}

/* ============================================================
   THE ELEVATION LAYER — harmonised 1 August 2026.

   The House's voice was already right: warm ivory, sepia, muted gold,
   editorial type. What had drifted was the CHROME — a 2px-radius primary
   button from an earlier era, sixteen bare browser checkboxes, chips that
   signalled selection by opacity alone, and backdrop-filter used four times
   in four thousand lines while the rest stayed flat.

   This layer modernises the primitives without touching the palette. Every
   surface that a finger can act on now has the same lit treatment: a soft
   translucent ground, a hairline warm border, and a highlight along the top
   edge so it reads as lifted rather than drawn. Nothing here introduces a
   new colour.

   Deliberately NOT done: rounding everything to a capsule, adding shadows
   with visible offsets, or animating on load. This is a House, not a
   dashboard — the depth should be felt rather than noticed.
   ============================================================ */

:root{
  --lift-edge: rgba(255,255,255,.55);
  --lift-line: rgba(182,138,58,.30);
  --lift-ground: rgba(255,249,239,.62);
  --lift-shadow: 0 1px 2px rgba(58,42,28,.05), 0 8px 22px -14px rgba(58,42,28,.30);
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 18px;
}

/* ---- buttons: lifted, not drawn ---------------------------------------- */
.btn{
  border-radius:var(--r-md);
  padding:15px 22px;
  background:var(--lift-ground);
  backdrop-filter:saturate(1.15) blur(10px);
  -webkit-backdrop-filter:saturate(1.15) blur(10px);
  border:1px solid var(--lift-line);
  box-shadow:inset 0 1px 0 var(--lift-edge), 0 6px 18px -16px rgba(58,42,28,.42);
  transition:transform .18s cubic-bezier(.2,.8,.3,1), box-shadow .25s, background .25s, color .25s;
}
.btn:active{transform:scale(.975);box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 1px 3px rgba(58,42,28,.10)}
/* Tuned 2 August 2026 to part two's register. This ran #4a3728 -> sepia, a
   ramp you could see, which read as a control rather than a surface. It is now
   flat colour with a whisper of light laid over the top edge — the same
   instrument the reading surfaces use, at the same volume. */
.btn.solid{
  background:var(--codex-sepia) linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0));
  border-color:rgba(58,42,28,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11), 0 6px 18px -16px rgba(58,42,28,.42);
}
.btn.light{background:rgba(255,255,255,.10);border-color:rgba(212,180,109,.45)}
.btn.solid.light{background:var(--soft-gold) linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0));border-color:rgba(212,180,109,.5)}
.btn:focus-visible{outline:2px solid var(--muted-gold);outline-offset:3px}

/* ---- the uppercase command link, given the same lift when it is full ---- */
.sh-cmd.full{
  border-radius:var(--r-md);padding:14px 18px;
  background:var(--lift-ground);
  backdrop-filter:saturate(1.15) blur(10px);
  -webkit-backdrop-filter:saturate(1.15) blur(10px);
  border:1px solid var(--lift-line);
  box-shadow:inset 0 1px 0 var(--lift-edge), var(--lift-shadow);
}
.sh-cmd:focus-visible{outline:2px solid var(--muted-gold);outline-offset:3px;border-radius:6px}

/* ---- chips: a selected chip should look pressed, not merely darker ------ */
.chip{
  border-radius:999px;padding:9px 16px;
  border:1px solid transparent;background:rgba(255,249,239,.45);
  opacity:1;color:var(--ash);
  transition:transform .18s cubic-bezier(.2,.8,.3,1), background .25s, color .25s, border-color .25s, box-shadow .25s;
}
.chip:active{transform:scale(.97)}
.chip.selected{
  background:var(--lift-ground) linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0));
  border-color:var(--lift-line);color:var(--codex-sepia);
  box-shadow:inset 0 1px 0 var(--lift-edge), 0 2px 9px -7px rgba(58,42,28,.30);
}
.chip.wide{border-radius:var(--r-md);text-align:left;padding:13px 15px}

/* ---- panels and cards: one ground, one hairline ------------------------- */
.today-section, .sh-sect > .card, .scrip, .sentence{
  border-radius:var(--r-lg);
}
.today-section{
  border-color:var(--lift-line);
  background:var(--lift-ground);
  backdrop-filter:saturate(1.1) blur(12px);
  -webkit-backdrop-filter:saturate(1.1) blur(12px);
  box-shadow:inset 0 1px 0 var(--lift-edge);
}

/* ---- THE SWITCH — sixteen bare checkboxes become one control ------------ */
.switch{display:flex;align-items:flex-start;gap:12px;margin-top:12px;cursor:pointer;font-size:14.5px;line-height:1.5;color:var(--ash)}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch-track{
  position:relative;flex:0 0 auto;width:46px;height:28px;border-radius:999px;margin-top:1px;
  background:rgba(140,129,118,.26);
  border:1px solid rgba(140,129,118,.22);
  box-shadow:inset 0 1px 3px rgba(58,42,28,.14);
  transition:background .28s cubic-bezier(.2,.8,.3,1), border-color .28s;
}
.switch-track::after{
  content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;
  background:#fff;box-shadow:0 1px 2.5px rgba(58,42,28,.24), 0 0 0 .5px rgba(58,42,28,.05);
  transition:transform .28s cubic-bezier(.2,.8,.3,1);
}
/* Tuned 2 August 2026: the glow was 12px at .55 and the fill a visible ramp,
   which together read as a device. Flat gold, a hairline of light along the
   top, and about a third of the glow — enough to say ON across a room, not
   enough to announce itself. */
.switch input:checked + .switch-track{
  background:var(--muted-gold) linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,0));
  border-color:rgba(182,138,58,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 0 8px -4px rgba(212,180,109,.34);
}
.switch input:checked + .switch-track::after{transform:translateX(18px)}
.switch input:focus-visible + .switch-track{outline:2px solid var(--muted-gold);outline-offset:3px}
.switch input:disabled + .switch-track{opacity:.45}
.switch-l{padding-top:3px}

/* ---- selects: the last browser default in the House --------------------- */
select{
  -webkit-appearance:none;appearance:none;
  font-family:var(--ui);font-size:14.5px;color:var(--codex-sepia);
  padding:12px 38px 12px 14px;border-radius:var(--r-md);
  background:var(--lift-ground) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238c8176' stroke-width='1.5' stroke-linecap='round'/></svg>") no-repeat right 14px center;
  border:1px solid var(--lift-line);
  box-shadow:inset 0 1px 0 var(--lift-edge);
}
select:focus-visible{outline:2px solid var(--muted-gold);outline-offset:2px}

/* ---- the quiet register keeps every one of these legible ---------------- */
body.quiet{--lift-edge:rgba(255,255,255,.10);--lift-line:rgba(212,180,109,.28);--lift-ground:rgba(46,34,26,.55)}
body.quiet .chip{background:rgba(46,34,26,.45);color:#c8b9a5}
body.quiet .chip.selected{background:rgba(74,55,40,.88) linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0));color:#f5ead4}
body.quiet .switch{color:#c8b9a5}
body.quiet .switch-track{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.10)}
body.quiet .btn.solid{background:#54402c linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0))}

@media (prefers-reduced-motion: reduce){
  .btn, .chip, .switch-track, .switch-track::after{transition:none}
  .btn:active, .chip:active{transform:none}
}

/* ============================================================
   THE ELEVATION LAYER, PART TWO — the reading surfaces.
   2 August 2026.

   Part one lifted everything a finger acts on. This lifts everything the eye
   rests on: the card, the scripture, the carried sentence, the continue card.
   All three of the first were still at border-radius:2px with a flat fill —
   the most-seen surfaces in the House wearing the oldest geometry in it.

   These are NOT buttons and are deliberately not treated as such. No gradient
   fill, no press, no hover. What they get is paper with light falling on it:
   a soft ground, a hairline, and a single highlight along the top edge. The
   difference should read as depth of field rather than as interface.
   ============================================================ */

.card{
  border-radius:var(--r-lg);
  border-color:rgba(140,129,118,.20);
  background:linear-gradient(180deg, rgba(255,255,255,.42), var(--lift-ground));
  box-shadow:inset 0 1px 0 var(--lift-edge), 0 6px 18px -16px rgba(58,42,28,.42);
}

/* Scripture and the carried sentence share a form on purpose — both are words
   the practitioner is receiving rather than composing. The gold hairline is
   what marks them as given. */
.scrip, .sentence{
  border-radius:var(--r-lg);
  border-color:var(--lift-line);
  box-shadow:inset 0 1px 0 var(--lift-edge), 0 6px 20px -16px rgba(58,42,28,.40);
}
.scrip{background:linear-gradient(180deg, rgba(255,255,255,.50), rgba(244,235,221,.72))}
.sentence{background:linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,249,239,.86))}

.today-continue-card{
  border-color:var(--lift-line);
  background:var(--lift-ground);
  backdrop-filter:saturate(1.1) blur(10px);
  -webkit-backdrop-filter:saturate(1.1) blur(10px);
  box-shadow:inset 0 1px 0 var(--lift-edge), var(--lift-shadow);
  transition:transform .18s cubic-bezier(.2,.8,.3,1), box-shadow .25s;
}
.today-continue-card:active{transform:scale(.99)}

/* The "opening soon" panel was bare centred text — the one screen in the
   House that announces something not yet built should still look built. */
.soon{
  padding:30px 22px;border-radius:var(--r-lg);
  border:1px solid var(--lift-line);
  background:var(--lift-ground);
  backdrop-filter:saturate(1.1) blur(12px);
  -webkit-backdrop-filter:saturate(1.1) blur(12px);
  box-shadow:inset 0 1px 0 var(--lift-edge);
}
.soon .tag{
  display:inline-block;font-family:var(--ui);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:#876225;border:1px solid var(--lift-line);border-radius:999px;padding:5px 12px;margin-bottom:14px;
  background:rgba(255,255,255,.45);
}

body.quiet .card{background:linear-gradient(180deg, rgba(70,52,38,.55), rgba(46,34,26,.62))}
body.quiet .scrip{background:linear-gradient(180deg, rgba(70,52,38,.50), rgba(40,29,22,.66))}
body.quiet .sentence{background:linear-gradient(180deg, rgba(80,60,42,.55), rgba(46,34,26,.70))}
/* .55 stands. It was raised to .82 on 12 August 2026 on the theory that the
   blurred backdrop was what made the ground under this card's text uneven —
   the audit measured a spread of 86 out of 255 there and refused to report a
   ratio. Raising it changed 48 grounds across the app and moved that spread by
   one point, 86 to 87. So the translucency was not the cause, and a change
   that cost ten readings a little contrast for no gain does not get to stay on
   the strength of a story about it. Whatever is uneven inside that rectangle
   is still unfound. */
body.quiet .soon, body.quiet .today-continue-card{background:rgba(46,34,26,.55)}
body.quiet .soon .tag{background:rgba(255,255,255,.06);color:var(--soft-gold)}

@media (prefers-reduced-motion: reduce){ .today-continue-card{transition:none} .today-continue-card:active{transform:none} }

/* ---- the surfaces part two missed, caught by sweeping for the old radius ----
   .principle belongs to the scripture/sentence family — words received.
   .iwf-scripture and .iwf-carry are Inner Weather's own two, and leaving the
   House's central practice on the oldest geometry in the House while every
   other room was lifted would have been the most visible miss of the pass.
   .path-row is a list row rather than a card, so it gets the hairline and the
   ground without the highlight — rows should not look like they float.
   (.comp-nine-orn keeps its 2px: it is a drawn ornament, not a surface.) */
.principle, .iwf-scripture, .iwf-carry{
  border-radius:var(--r-lg);
  border-color:var(--lift-line);
  box-shadow:inset 0 1px 0 var(--lift-edge), 0 6px 20px -16px rgba(58,42,28,.40);
}
.principle, .iwf-scripture{background:linear-gradient(180deg, rgba(255,255,255,.50), rgba(244,235,221,.72))}
.iwf-carry{background:linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,249,239,.86))}
.path-row{
  border-radius:var(--r-md);
  border-color:rgba(140,129,118,.20);
  background:rgba(255,249,239,.50);
  transition:transform .18s cubic-bezier(.2,.8,.3,1), background .25s;
}
.path-row:active{transform:scale(.995)}
body.quiet .principle, body.quiet .iwf-scripture{background:linear-gradient(180deg, rgba(70,52,38,.50), rgba(40,29,22,.66))}
body.quiet .iwf-carry{background:linear-gradient(180deg, rgba(80,60,42,.55), rgba(46,34,26,.70))}
body.quiet .path-row{background:rgba(46,34,26,.45)}
@media (prefers-reduced-motion: reduce){ .path-row{transition:none} .path-row:active{transform:none} }

/* ============================================================
   TOGETHER · WHERE YOU STAND
   The membership report reuses .today-continue-card wholesale — the same
   lifted row Today uses for "here is a thread you have already begun",
   which is exactly what a room you belong to is. Only two things are
   added: the gold room-label these rows carry, and a stirred state that
   marks a room where something has happened since you last looked.
   The stirred ring says SOMETHING IS NEW. It never says how much.
   ============================================================ */
.tg-room-card{margin-top:10px}
.tg-room-card .room-label{color:var(--muted-gold)}
.tg-room-stirred{border-color:rgba(182,138,58,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 0 0 1px rgba(182,138,58,.18)}
.tg-room-stirred>em{color:var(--muted-gold)}
body.quiet .tg-room-stirred{border-color:rgba(212,180,109,.42);box-shadow:0 0 0 1px rgba(212,180,109,.16)}

/* ============================================================
   V562 · TOGETHER, RELATIONSHIP FIRST
   The hub reports the rooms already inhabited, then offers the two enduring
   relationship shapes. Crucible is a contextual practice, never a third
   vessel. Teaching studies remain with stewards and out of the daily room.
   ============================================================ */
.together-tab-hero{padding-bottom:24px}
.together-hero-boundary{margin-top:15px;padding-top:14px;border-top:1px solid rgba(182,138,58,.28);font-family:var(--ui);font-size:9.5px;line-height:1.55;letter-spacing:.11em;text-transform:uppercase;color:var(--label-ink)}
.together-gather{margin-top:28px;padding:23px 20px 20px;border:1px solid rgba(140,129,118,.22);border-radius:22px;background:linear-gradient(150deg,rgba(255,252,246,.95),rgba(244,234,218,.7));box-shadow:0 18px 36px rgba(42,27,20,.055)}
.together-gather>h2{margin-top:7px;font-family:var(--head);font-size:29px;font-weight:400;line-height:1.08;color:var(--ink)}
.together-gather-lede{margin-top:7px;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.55;color:var(--ash)}
.together-gather-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
.together-gather-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:11px;width:100%;min-height:0;padding:16px 15px;text-align:left;border:1px solid rgba(140,129,118,.24);border-radius:16px;background:rgba(255,252,247,.78);color:var(--ink);cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.6);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.together-gather-card:hover,.together-gather-card:focus-visible{transform:translateY(-2px);box-shadow:0 12px 25px rgba(42,27,20,.08),inset 0 1px 0 rgba(255,255,255,.7)}
.together-gather-card>span{grid-row:1/5;display:grid;place-items:center;width:32px;height:32px;border:1px solid currentColor;border-radius:50%;font-family:var(--head);font-size:17px}
.together-gather-card>small{font-family:var(--ui);font-size:8.5px;line-height:1.35;letter-spacing:.12em;text-transform:uppercase}
.together-gather-card>strong{margin-top:8px;font-family:var(--head);font-size:21px;font-weight:400;line-height:1.1;color:var(--ink)}
.together-gather-card>em{margin-top:7px;font-family:var(--display);font-size:12.5px;font-style:normal;line-height:1.48;color:var(--ash)}
.together-gather-card>i{align-self:end;margin-top:14px;font-family:var(--ui);font-size:9px;font-style:normal;letter-spacing:.11em;text-transform:uppercase}
.together-gather-card.is-hearth{border-top:3px solid #a66d50;color:#8a4f1f;background:linear-gradient(145deg,rgba(255,251,244,.96),rgba(244,226,207,.68))}
.together-gather-card.is-circle{border-top:3px solid #786184;color:#684f74;background:linear-gradient(145deg,rgba(255,252,248,.96),rgba(236,226,235,.68))}
.together-companion-brief{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;margin-top:14px;padding:16px 2px 1px;border-top:1px solid rgba(140,129,118,.18)}
.together-companion-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(182,138,58,.48);border-radius:50%;font-family:var(--head);font-size:19px;color:var(--label-gold)}
.together-companion-brief h3{margin-top:4px;font-family:var(--display);font-size:18px;font-weight:400;color:var(--ink)}
.together-companion-brief p:not(.room-label){margin-top:5px;font-family:var(--display);font-size:12.5px;line-height:1.52;color:var(--ash)}
.together-companion-brief .sh-link{margin-top:5px;padding-left:0}
.together-context-door{margin-top:22px;border-top:1px solid rgba(139,75,55,.25);border-bottom:1px solid rgba(139,75,55,.2)}
.together-context-door>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 2px;cursor:pointer;list-style:none}.together-context-door>summary::-webkit-details-marker{display:none}
.together-context-door>summary span{display:grid;gap:3px}.together-context-door>summary small{font-family:var(--ui);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:#8b4b37}.together-context-door>summary strong{font-family:var(--display);font-size:18px;font-weight:400;color:var(--ink)}.together-context-door>summary i{font-style:normal;color:#8b4b37}.together-context-door[open]>summary i{transform:rotate(180deg)}
.together-context-door>div{padding:2px 15px 18px;border-left:2px solid rgba(139,75,55,.48)}
.together-context-door h3{font-family:var(--head);font-size:24px;font-weight:400;color:var(--ink)}.together-context-door p{margin-top:7px;font-family:var(--display);font-size:14px;line-height:1.6;color:var(--ash)}.together-context-door .sh-cmd{margin-top:10px;padding-left:0}
.together-more-circles{margin-top:10px;border-top:1px solid rgba(120,97,132,.18)}.together-more-circles>summary{display:flex;align-items:center;justify-content:space-between;padding:13px 3px;cursor:pointer;list-style:none;font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#684f74}.together-more-circles>summary::-webkit-details-marker{display:none}.together-more-circles>summary span{display:grid;place-items:center;width:23px;height:23px;border:1px solid rgba(120,97,132,.35);border-radius:50%;font-size:9px}.together-more-circles>div{padding-bottom:3px}
.tg-room-card--hearth{border-left:3px solid #a66d50!important;background:linear-gradient(155deg,rgba(255,248,237,.94),rgba(239,222,199,.62))!important}
.together-closing-covenant{margin-top:34px!important;font-style:italic;line-height:1.55}
body.quiet .together-gather,body.quiet .together-gather-card{background:#251c16;border-color:rgba(210,180,109,.18);box-shadow:none}
body.quiet .together-gather>h2,body.quiet .together-gather-card>strong,body.quiet .together-companion-brief h3,body.quiet .together-context-door>summary strong,body.quiet .together-context-door h3{color:#f3e6c8}
body.quiet .together-gather-card.is-circle{color:#d7bddf}body.quiet .together-gather-card.is-hearth{color:#dcb69b}
body.quiet .together-context-door{border-color:rgba(210,180,109,.16)}body.quiet .together-context-door>div{border-left-color:rgba(210,180,109,.3)}
@media(max-width:520px){
  .together-gather{padding:20px 15px 17px}
  .together-gather-grid{grid-template-columns:1fr}
  .together-gather-card{min-height:0}
  .together-gather>h2{font-size:26px}
  .together-companion-brief{grid-template-columns:34px minmax(0,1fr)}
}

/* ---- the household ask, on Today --------------------------------- */
/* Deliberately the same row as every other continuation. It is not an alert
   and must not be painted as one: a person who never answers it still gets
   the honest international fallback, which is a worse safety route but not
   a broken one. What it may not do is disappear — so it stays until it is
   answered, and reads as unfinished rather than as overdue. */
.today-continue-household .room-label{color:var(--muted-gold)}

/* ============================================================
   THE THRESHOLD

   Grouped inset cards on a warm tint, in the manner of a settings sheet
   rather than a form: nothing is boxed by a border, the lift comes from a
   hairline and a soft shadow, and the eye groups by shape. The alternative —
   a stack of rules and dividers — reads as paperwork, and the first thing a
   newcomer meets should not read as paperwork.

   Every target here is at least 50px. Thumbs, not cursors.

   The action bar is fixed and translucent so the page reads THROUGH it rather
   than ending at it, and so the one press is reachable from anywhere on a
   page this long without a scroll to the bottom.
   ============================================================ */
.thr{--thr-page:#F3E9DA;--thr-card:#FFFDF7;--thr-field:#FBF4E7;
  margin:-18px -18px 0;padding:0 0 150px;background:var(--thr-page);min-height:100dvh}
.thr-mast{padding:44px 24px 24px}
.thr-kick{font-family:var(--ui);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold)}
.thr-h1{font-family:var(--head);font-size:38px;line-height:1.08;font-weight:300;color:var(--codex-sepia);margin-top:12px;letter-spacing:-.005em}
.thr-sub{font-family:var(--display);font-size:16px;line-height:1.62;color:var(--ash);margin-top:14px;max-width:34ch}
.thr-sub strong{color:var(--codex-sepia);font-weight:500}
.thr-private{margin-top:14px;padding-left:12px;border-left:2px solid var(--muted-gold);font-family:var(--display);font-style:italic;font-size:14px;line-height:1.55;color:var(--codex-sepia)}
.thr-meta{display:flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--ui);font-size:12px;color:var(--veil-gray);letter-spacing:.02em}
.thr-meta i{width:4px;height:4px;border-radius:50%;background:var(--soft-gold);display:inline-block}
.thr-callname{margin:0 14px 12px;padding:17px 19px;background:rgba(255,253,247,.62);border:1px solid rgba(140,129,118,.13);border-radius:16px}
.thr-callname .thr-hint{margin-top:8px}

.thr-g{margin:0 14px 12px;background:var(--thr-card);border-radius:20px;overflow:hidden;
  box-shadow:0 1px 2px rgba(90,57,38,.045),0 6px 18px -8px rgba(90,57,38,.13)}
.thr-h{display:flex;align-items:flex-start;gap:12px;padding:19px 19px 0}
.thr-n{flex:0 0 auto;width:23px;height:23px;border-radius:50%;border:1px solid rgba(182,138,58,.42);
  background:rgba(210,180,109,.1);display:grid;place-items:center;font-family:var(--ui);font-size:10.5px;
  font-weight:500;color:var(--label-gold);margin-top:3px;transition:.25s}
.thr-g.done .thr-n{background:var(--muted-gold);border-color:var(--muted-gold);color:#fff;font-size:12px}
.thr-t{font-family:var(--head);font-size:24px;line-height:1.16;color:var(--codex-sepia);font-weight:400;margin:0}
.thr-why{font-family:var(--display);font-size:14px;line-height:1.6;color:var(--ash);padding:8px 19px 0 54px;margin:0}
.thr-b{padding:15px 19px 19px}

.thr-f{display:block;font-family:var(--ui);font-size:10.5px;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--label-gold);margin-bottom:7px}
.thr-f span{text-transform:none;letter-spacing:0;font-weight:400;color:var(--veil-gray);font-style:italic}
.thr-in{width:100%;font-family:var(--body);font-size:17px;color:var(--ink);background:var(--thr-field);
  border:1px solid transparent;border-radius:13px;padding:14px 15px;outline:none;transition:.16s;
  -webkit-appearance:none;appearance:none;min-height:50px}
select.thr-in{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23876225' stroke-width='1.5' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 15px center}
.thr-in::placeholder{color:#BCAF9F}
.thr-in:focus{background:#fff;border-color:var(--muted-gold);box-shadow:0 0 0 4px rgba(210,180,109,.2)}
.thr-code{font-family:var(--ui);font-size:26px;letter-spacing:.34em;text-align:center;padding:16px 15px}
.thr-two{display:grid;grid-template-columns:1.25fr 1fr;gap:10px}
.thr-hint{font-family:var(--display);font-size:12.5px;line-height:1.6;color:var(--veil-gray);margin-top:10px;font-style:italic}
.thr-say{font-family:var(--ui);font-size:12.5px;line-height:1.5;margin-top:8px;min-height:1px;color:var(--ash)}
.thr-say.ok{color:var(--label-gold)}
.thr-say.no{color:var(--burnished-clay)}
.thr-help{margin-top:13px;border-top:1px solid rgba(140,129,118,.14)}
.thr-help summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 0 0;list-style:none;cursor:pointer;font-family:var(--ui);font-size:11.5px;color:var(--label-gold)}
.thr-help summary::-webkit-details-marker{display:none}.thr-help summary span{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid rgba(182,138,58,.48);border-radius:50%;font-family:var(--ui);font-size:12px;line-height:1;color:var(--label-gold);padding:0 0 1px}
.thr-help[open] summary{color:var(--codex-sepia)}.thr-help>p{padding:3px 0 4px 28px;font-size:12.5px;line-height:1.65;color:var(--ash)}

.thr-check{display:flex;gap:12px;align-items:center;margin-top:12px;width:100%;text-align:left;cursor:pointer;
  padding:11px 12px;border:0;border-radius:13px;background:var(--thr-field);min-height:50px;transition:.16s;
  font-family:var(--body);font-size:15.5px;color:var(--ink)}
.thr-box{width:21px;height:21px;border-radius:7px;border:1.5px solid rgba(182,138,58,.5);background:#fff;
  flex:0 0 auto;position:relative;transition:.16s}
.thr-box::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;
  border-width:0 2px 2px 0;transform:rotate(45deg) scale(.5);opacity:0;transition:.16s}
.thr-check.on .thr-box{background:var(--muted-gold);border-color:var(--muted-gold)}
.thr-check.on .thr-box::after{opacity:1;transform:rotate(45deg) scale(1)}

.thr-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.thr-side{position:relative;text-align:left;background:var(--thr-field);border:1.5px solid transparent;
  border-radius:15px;padding:14px 13px 15px;font-family:var(--body);cursor:pointer;
  transition:.18s cubic-bezier(.3,.7,.4,1);display:block;min-height:50px}
.thr-side.on{background:linear-gradient(180deg,#FFFBF1,#FDF4E3);border-color:var(--muted-gold);
  box-shadow:0 2px 10px -3px rgba(182,138,58,.4)}
.thr-tick{position:absolute;top:11px;right:11px;width:19px;height:19px;border-radius:50%;
  border:1.5px solid rgba(140,129,118,.3);background:#fff;transition:.18s}
.thr-tick::after{content:"";position:absolute;left:6px;top:2px;width:4px;height:9px;border:solid #fff;
  border-width:0 2px 2px 0;transform:rotate(45deg) scale(.5);opacity:0;transition:.16s}
.thr-side.on .thr-tick{background:var(--muted-gold);border-color:var(--muted-gold)}
.thr-side.on .thr-tick::after{opacity:1;transform:rotate(45deg) scale(1)}
.thr-side-t{font-family:var(--head);font-size:19px;color:var(--codex-sepia);line-height:1.18;display:block;padding-right:24px}
.thr-side-b{font-size:12.8px;line-height:1.5;color:var(--ash);display:block;margin-top:6px}

.thr-await{display:flex;align-items:center;gap:9px;font-family:var(--ui);font-size:11px;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--muted-gold);margin:0 0 10px}
.thr-await::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--soft-gold);animation:thrPulse 2.4s ease-in-out infinite}
@keyframes thrPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}

.thr-pitch{background:linear-gradient(168deg,#FBF2E0,#FFFBF2);border-radius:16px;padding:18px;
  margin-bottom:15px;border:1px solid rgba(182,138,58,.16)}
.thr-pitch h4{font-family:var(--head);font-size:21px;font-weight:400;color:var(--codex-sepia);line-height:1.2;margin:0}
.thr-pitch p{font-size:14.6px;line-height:1.68;color:#4A4038;margin-top:11px}
.thr-pitch .last{font-family:var(--display);font-style:italic;color:var(--codex-sepia);margin-top:13px;
  padding-top:13px;border-top:1px solid rgba(182,138,58,.2);font-size:14.5px}
.thr-disc{font-family:var(--ui);font-size:12px;line-height:1.68;color:var(--veil-gray);margin-top:14px}
.thr-disc strong{color:var(--ash);font-weight:500}
.thr-transmission{margin-top:13px;padding:11px 12px;border-left:2px solid var(--muted-gold);background:rgba(255,253,247,.7);font-family:var(--ui);font-size:11.5px;line-height:1.55;color:var(--ash)}

/* the quiet door — a refusal must be findable without being advertised. It
   was a dashed box, which reads as a developer's placeholder and gave the
   refusal the same visual weight as the invitation. */
.thr-quiet{margin:22px 24px 0;text-align:center}
.thr-quiet>button{background:none;border:0;font-family:var(--ui);font-size:13.5px;color:var(--label-gold);
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(135,98,37,.35);
  padding:12px;cursor:pointer;min-height:44px}
.thr-costs{max-height:0;overflow:hidden;transition:max-height .34s cubic-bezier(.3,.7,.4,1);text-align:left}
.thr-costs.open{max-height:620px}
.thr.has-costs-open{padding-bottom:300px}
.thr-costs-in{background:rgba(255,253,247,.72);border:1px solid rgba(90,57,38,.1);border-radius:16px;padding:17px 18px;margin-top:6px}
.thr-costs-in p{font-size:14px;line-height:1.6;color:var(--ash)}
.thr-costs-in ul{list-style:none;margin-top:12px;padding:0}
.thr-costs-in li{font-size:13.5px;line-height:1.55;color:var(--ash);padding-left:17px;position:relative;margin-top:9px}
.thr-costs-in li::before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%;background:rgba(182,138,58,.5)}
.thr-go{width:100%;margin-top:16px;background:none;border:1px solid rgba(140,129,118,.35);border-radius:13px;
  padding:13px;font-family:var(--ui);font-size:14.5px;color:var(--codex-sepia);min-height:50px;cursor:pointer}

.thr-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;z-index:40;
  padding:14px 16px calc(18px + var(--safe-bot));
  background:linear-gradient(180deg,rgba(243,233,218,0),rgba(243,233,218,.93) 22%,rgba(243,233,218,.99));
  -webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}
.thr-cta{width:100%;font-family:var(--ui);font-size:16px;font-weight:500;border-radius:15px;padding:16px;
  min-height:54px;border:0;background:var(--codex-sepia);color:#FFF6E6;letter-spacing:.01em;cursor:pointer;
  box-shadow:0 2px 5px rgba(90,57,38,.2),0 10px 24px -10px rgba(90,57,38,.5);transition:.2s}
/* a disabled control still has to be READABLE — the previous one was a grey
   nobody could make out, which is how "not yet" became "broken" */
.thr-cta:disabled{background:#DFD2C0;color:#6E6154;box-shadow:none;cursor:default}
.thr-note{font-family:var(--display);font-size:12.5px;font-style:italic;color:var(--ash);text-align:center;margin-top:10px;line-height:1.5}


/* ============================================================
   MEASURED CORRECTIONS — 5 August 2026
   tools/contrast-audit.mjs, seven screens x five modes, sampling the rendered
   pixel beneath each line. Every rule here answers one reading, and the
   reading is named. Placed last so source order settles the ties.
   ============================================================ */

/* The palette's own rule, enforced where it had been broken: small label TEXT
   on a light ground is --label-gold; --muted-gold is for borders and accents.
   These three measured 2.62-2.85:1. */
.together-screen .label,
.tg-room-card .room-label,
.today-continue-household .room-label{color:var(--label-gold)}

/* Stillness, second pass. The first pass took 106 readings below AA down to
   30; these are the thirty. .sh-sect is rgba(244,235,221,.58) - a nearly
   opaque cream panel that survives into a near-black mode as a mid-grey
   #9A9187, with light text on it at 1.37:1. The rest are links and labels the
   first pass's selectors did not reach. */
body.quiet .screen .sh-sect{background:rgba(244,235,221,.08);border-color:rgba(210,180,109,.16)}
body.quiet .screen a{color:var(--soft-gold)}
body.quiet .screen .becoming-door-card span{color:var(--soft-gold)}
body.quiet .screen .settings-kicker{color:var(--soft-gold)}


/* ---- two tokens for text the app writes inline ----
   app.js builds its HTML as strings, and 446 of those strings carried
   `style="color:var(--codex-sepia)"` or `...var(--muted-gold)`. An inline
   style outranks every stylesheet rule, so Stillness could repaint the ground
   near-black and those lines stayed where they were: 1.52:1 for a link in the
   sanctuary, 2.46:1 for "Why a Keeper".

   This is the same defect the website had on 5 August 2026, in the same shape
   — a correction written into the stylesheet and silently undone by inline
   styles in the template that renders over it.

   So the inline styles now name a token that can move. Outside Stillness
   --link-ink IS --codex-sepia and nothing changes. --label-ink resolves to
   --label-gold rather than --muted-gold, which is what the palette has said
   all along: "deeper gold for small label/eyebrow TEXT on light — borders and
   accents keep --muted-gold". Inline labels had been using the accent gold,
   and measured 2.62-2.85:1 for it. */
:root{--link-ink:var(--codex-sepia);--label-ink:var(--label-gold)}
body.quiet{--link-ink:var(--soft-gold);--label-ink:var(--soft-gold)}

/* The shelter sheet keeps its light ground in Stillness — it is the one panel
   that must stay bright when someone reaches for it. So the gold the rest of
   this mode uses would land on cream: measured 1.91:1 after the first pass,
   a defect this work introduced and the next run of the audit caught. */
body.quiet .screen .shelter-sheet button,
body.quiet .screen .shelter-sheet a,
body.quiet .screen .shelter-sheet span{color:var(--codex-sepia)}


/* ---- QUIET TEXT IS A COLOUR, NOT AN OPACITY ----
   Measured 11 August 2026, once tools/contrast-audit.mjs stopped setting
   deliberate opacity aside and started compositing it. Forty-seven of the
   fifty-one readings below AA were text dimmed with `opacity` — .72 on every
   .sh-link, .75 on the feedback invitation, .6 on the version stamp.

   Opacity is the one way of making text quieter that always costs contrast,
   because it drags the ink toward the paper. A lighter colour does not.

   --ash-quiet is #6B6155, which is the colour --ash itself was until the same
   audit moved it to #60574C six days ago. So the House already knows this
   colour; it is simply no longer carrying the weight of body text. */
:root{--ash-quiet:#6B6155}
body.quiet{--ash-quiet:#A79A8F}

/* ---- STILLNESS: THE BAR RECEDES, ITS TEXT DOES NOT ----
   `body.quiet .topbar,.tabbar{opacity:.52}` faded the whole chrome to make it
   retreat, and took the settings gear down to 1.39:1 and "Today" to 2.64:1
   with it. The intent was right and the instrument was wrong: what should
   recede is the bar, not the words on it. So the bar gives up its ground and
   its shadow, and the words keep their strength. */
/* NOT transparent: the frame behind these bars is --warm-ivory, so clearing
   their ground drops light text onto light paper — 1.82:1, worse than the
   fade it replaced. Measured, not guessed. They take the Stillness ground
   itself, which is how a bar recedes without taking its words with it. */
body.quiet .topbar,
body.quiet .tabbar{opacity:1;background:#1E1612;box-shadow:none;border-color:rgba(210,180,109,.10)}
body.quiet .topbar-icon,
body.quiet .topbar-title,
body.quiet .tab,
body.quiet .tab-l{color:var(--veil-gray)}

/* ---- THE LAST FOUR, NUDGED ----
   9 to 12px labels that sat at 4.31-4.41:1 against a 4.5 threshold. Small
   type is where a few percent decides whether a word is read or guessed. */
.settings-primary,
body.quiet .screen .settings-primary{color:#DCC184}

/* ---- A CLASS DOING TWO JOBS ----
   .today-rhythm-line is a 1px gradient divider between the rhythm nodes, and
   it is ALSO the class on two paragraphs of actual prose — "Midday and Evening
   will come.", "The <name> Return has been received." Those paragraphs
   therefore inherited height:1px, a gradient background, and no colour of
   their own, and measured 1.05:1 on 11 August 2026. Invisible, in all three
   daylight modes.

   They only appeared in the audit at all because the Today screen renders
   different rhythm text depending on the hour, and the clock had moved since
   the previous run — which is why the app profile now pins its clock.

   Scoped to p, so the divider keeps its styling and the prose gets its own. */
p.today-rhythm-line{height:auto;min-width:0;background:none;color:var(--ash-quiet);font-family:var(--body);font-size:14px;line-height:1.6;margin-top:10px}
@media (max-width:520px){.crucible-mantel-study>header{grid-template-columns:1fr}.crucible-mantel-study>header>span{display:none}.crucible-mantel-purpose{grid-template-columns:1fr}}
.crucible-mantel-study{position:relative;margin-top:18px;padding:19px 17px;border:1px solid rgba(182,138,58,.34);border-radius:19px;background:linear-gradient(155deg,rgba(255,250,241,.95),rgba(242,230,207,.76));box-shadow:0 15px 34px rgba(42,27,20,.055)}.crucible-mantel-study>header{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.crucible-mantel-study>header h3{margin-top:5px;font-family:var(--head);font-size:24px;line-height:1.14;color:var(--ink)}.crucible-mantel-study>header p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}.crucible-mantel-study>header>span{font-size:24px;color:var(--label-gold);padding:5px 8px}.crucible-mantel-purpose{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.crucible-mantel-purpose article{padding:12px;border-top:2px solid rgba(182,138,58,.55);background:rgba(255,252,247,.58)}.crucible-mantel-purpose h4{margin-top:4px;font-family:var(--display);font-size:16px;color:var(--ink)}.crucible-mantel-purpose p:not(.room-label){margin-top:5px;font-size:11.5px;line-height:1.48;color:var(--ash)}.crucible-mantel-bedtime{margin-top:14px;padding:14px 13px;border-radius:12px;background:rgba(50,32,21,.06);border:1px solid rgba(140,129,118,.18)}.crucible-mantel-bedtime blockquote{margin-top:8px;font-family:var(--display);font-style:italic;font-size:17px;line-height:1.5;color:var(--link-ink)}.crucible-mantel-bedtime p:last-child{margin-top:8px;font-size:12px;line-height:1.5;color:var(--ash)}.crucible-mantel-heavens{margin-top:14px;padding:13px;border-radius:12px;background:linear-gradient(145deg,#241711,#392118);border:1px solid rgba(210,180,109,.25);color:#f4e6c6}.crucible-mantel-heavens p:not(.room-label){margin-top:6px;font-family:var(--display);font-size:12.5px;line-height:1.52;color:#cdbb9f}.crucible-mantel-heavens .room-label{color:#e0b45a}.crucible-mantel-heavens>span{display:inline-block;margin-top:9px;font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#e0b45a}.crucible-mantel-choice{margin-top:13px;padding-top:11px;border-top:1px solid rgba(140,129,118,.18)}.crucible-mantel-choice summary{cursor:pointer;font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}.crucible-mantel-choice ol{margin:10px 0 0 19px;color:var(--ash);font-size:12px;line-height:1.55}.crucible-mantel-held{margin-top:13px;padding-top:11px;border-top:1px solid rgba(140,129,118,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.04em;color:var(--ash-quiet)}.crucible-mantel-held strong{color:var(--label-ink)}
/* v482 Field Baseline and Full-Field Care rehearsal */
.heavens-field-atlas{position:relative;margin-top:18px;padding:21px 18px;border:1px solid rgba(106,83,118,.28);border-radius:22px;background:radial-gradient(circle at 90% 0%,rgba(174,139,181,.16),transparent 34%),linear-gradient(160deg,rgba(253,249,244,.98),rgba(235,224,220,.76));box-shadow:0 18px 40px rgba(42,27,20,.07)}.heavens-field-atlas-head{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:start}.heavens-field-atlas-head h2{margin-top:5px;font-family:var(--head);font-size:27px;line-height:1.12;color:var(--ink)}.heavens-field-atlas-head p:not(.room-label){margin-top:9px;font-family:var(--display);font-size:13.5px;line-height:1.56;color:var(--ash)}.heavens-field-atlas-head>span{font-size:26px;color:#786184;padding:5px 7px}.heavens-field-atlas-movements{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:17px}.heavens-field-atlas-movements article{display:flex;flex-direction:column;min-height:187px;padding:12px 10px;border-top:3px solid #786184;background:rgba(255,252,247,.62)}.heavens-field-atlas-movements article:nth-child(2){border-color:#8b6885}.heavens-field-atlas-movements article:nth-child(3){border-color:#a3784e}.heavens-field-atlas-movements article:nth-child(4){border-color:#52705a}.heavens-field-atlas-movements article:nth-child(5){border-color:#6a7480}.heavens-field-atlas-movements b{font-family:var(--head);font-size:19px;color:rgba(120,97,132,.58)}.heavens-field-atlas-movements .room-label{margin-top:7px}.heavens-field-atlas-movements h3{margin-top:4px;font-family:var(--display);font-size:16px;line-height:1.2;color:var(--ink)}.heavens-field-atlas-movements p:not(.room-label){margin-top:7px;font-size:11px;line-height:1.46;color:var(--ash)}.heavens-field-atlas-utility{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:15px}.heavens-field-atlas-utility article{padding:12px 10px;border:1px solid rgba(140,129,118,.18);border-radius:10px;background:rgba(255,252,247,.56)}.heavens-field-atlas-utility h3{margin-top:4px;font-family:var(--display);font-size:15px;color:var(--ink)}.heavens-field-atlas-utility p:not(.room-label){margin-top:6px;font-size:10.5px;line-height:1.45;color:var(--ash)}.heavens-field-atlas-listen{display:grid;grid-template-columns:1fr auto;gap:13px;align-items:center;margin-top:15px;padding:13px 12px;border-radius:12px;background:linear-gradient(145deg,#241711,#392118);border:1px solid rgba(210,180,109,.25)}.heavens-field-atlas-listen h3{margin-top:4px;font-family:var(--display);font-size:18px;color:#f4e6c6}.heavens-field-atlas-listen p:not(.room-label){margin-top:6px;font-family:var(--display);font-size:12px;line-height:1.5;color:#cdbb9f}.heavens-field-atlas-listen .room-label{color:#e0b45a}.heavens-field-atlas-listen>span{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#e0b45a}.heavens-field-atlas>footer{display:grid;gap:3px;margin-top:13px;padding-top:11px;border-top:1px solid rgba(140,129,118,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.04em;color:var(--ash-quiet)}.heavens-field-atlas>footer strong{color:var(--label-ink)}.heavens-field-atlas>footer span{font-family:var(--ui)}
@media (max-width:700px){.heavens-field-atlas-movements{grid-template-columns:repeat(2,1fr)}.heavens-field-atlas-movements article{min-height:0}.heavens-field-atlas-utility{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.heavens-field-atlas-head{grid-template-columns:1fr}.heavens-field-atlas-head>span{display:none}.heavens-field-atlas-movements,.heavens-field-atlas-utility{grid-template-columns:1fr}.heavens-field-atlas-listen{grid-template-columns:1fr}.heavens-field-atlas-listen>span{justify-self:start}}
.crucible-field-baseline{position:relative;margin-top:20px;padding:20px 17px;border:1px solid rgba(101,83,117,.28);border-radius:21px;background:radial-gradient(circle at 88% 0%,rgba(174,139,181,.16),transparent 34%),linear-gradient(160deg,rgba(253,249,244,.98),rgba(235,224,220,.78));box-shadow:0 18px 40px rgba(42,27,20,.07)}.crucible-field-baseline-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.crucible-field-baseline-head h3{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.12;color:var(--ink)}.crucible-field-baseline-head p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}.crucible-field-baseline-head>span{font-size:25px;color:#786184;padding:4px 8px}.crucible-field-layers{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}.crucible-field-card{padding:13px 12px;border:1px solid rgba(140,129,118,.22);border-top:2px solid rgba(120,97,132,.55);background:rgba(255,252,247,.66)}.crucible-field-card.is-shared{border-color:rgba(120,97,132,.34);border-top-color:#786184;background:rgba(120,97,132,.08)}.crucible-field-card h4{margin-top:4px;font-family:var(--display);font-size:17px;color:var(--ink)}.crucible-field-card p:not(.room-label){margin-top:7px;font-size:12px;line-height:1.5;color:var(--ash)}.crucible-field-card small{display:block;margin-top:10px;font-family:var(--ui);font-size:8.5px;line-height:1.45;letter-spacing:.04em;color:var(--ash-quiet)}.crucible-field-practice{margin-top:16px;padding-top:13px;border-top:1px solid rgba(140,129,118,.18)}.crucible-field-practice>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.crucible-field-practice span{display:block;padding:10px 9px;background:rgba(255,252,247,.58);border-top:2px solid rgba(120,97,132,.42)}.crucible-field-practice strong{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#786184}.crucible-field-practice small{display:block;margin-top:5px;font-size:10.5px;line-height:1.4;color:var(--ash)}.crucible-field-consent{margin-top:16px;padding:13px;border-radius:13px;background:rgba(50,32,21,.055);border:1px solid rgba(140,129,118,.18)}.crucible-field-consent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.crucible-field-consent-grid article{padding:11px 10px;border:1px solid rgba(140,129,118,.2);background:rgba(255,252,247,.62)}.crucible-field-consent-grid article.is-active{border-color:rgba(120,97,132,.55);box-shadow:inset 0 2px 0 #786184}.crucible-field-consent-grid strong{display:block;font-family:var(--display);font-size:14px;color:var(--ink)}.crucible-field-consent-grid span{display:block;margin-top:5px;font-size:10.5px;line-height:1.42;color:var(--ash)}.crucible-field-consent-note{margin-top:10px;font-size:11px;line-height:1.5;color:var(--ash)}.crucible-field-care{margin-top:16px;padding:14px;border-radius:14px;background:linear-gradient(145deg,#241711,#392118);border:1px solid rgba(210,180,109,.25);color:#f4e6c6}.crucible-field-care-head{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.crucible-field-care h4{margin-top:4px;font-family:var(--display);font-size:19px;color:#f4e6c6}.crucible-field-care-head p:not(.room-label){margin-top:6px;font-family:var(--display);font-size:12.5px;line-height:1.52;color:#cdbb9f}.crucible-field-care-head>span{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#e0b45a}.crucible-field-care .room-label{color:#e0b45a}.crucible-field-care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.crucible-field-care-grid article{padding:10px;background:rgba(255,243,212,.08);border-top:1px solid rgba(224,180,90,.38)}.crucible-field-care-grid strong{font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#e0b45a}.crucible-field-care-grid p{margin-top:6px;font-size:11px;line-height:1.45;color:#ead9bb}.crucible-field-weekend{margin-top:13px;padding-top:12px;border-top:1px solid rgba(224,180,90,.22)}.crucible-field-weekend blockquote{margin-top:7px;font-family:var(--display);font-style:italic;font-size:16px;line-height:1.48;color:#f4e6c6}.crucible-field-weekend p:last-child{margin-top:8px;font-size:11px;line-height:1.5;color:#cdbb9f}.crucible-field-ladder{margin-top:16px;padding-top:13px;border-top:1px solid rgba(140,129,118,.18)}.crucible-field-ladder>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.crucible-field-ladder span{font-size:10.5px;line-height:1.4;color:var(--ash)}.crucible-field-ladder b{display:block;margin-bottom:3px;font-family:var(--ui);font-size:9px;letter-spacing:.1em;color:var(--label-ink)}.crucible-field-held{margin-top:14px;padding-top:12px;border-top:1px solid rgba(140,129,118,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.04em;color:var(--ash-quiet)}.crucible-field-held strong{color:var(--label-ink)}
@media (max-width:520px){.crucible-field-baseline-head{grid-template-columns:1fr}.crucible-field-baseline-head>span{display:none}.crucible-field-layers,.crucible-field-practice>div,.crucible-field-consent-grid,.crucible-field-care-grid,.crucible-field-ladder>div{grid-template-columns:1fr}.crucible-field-care-head{grid-template-columns:1fr}.crucible-field-care-head>span{margin-top:2px}}
/* v484 Becoming Field Atlas Harmonization */
.becoming-field-atlas{position:relative;margin-top:18px;padding:21px 18px;border:1px solid rgba(182,138,58,.30);border-radius:22px;background:radial-gradient(circle at 92% 0%,rgba(210,180,109,.16),transparent 34%),linear-gradient(160deg,rgba(255,250,241,.98),rgba(239,227,208,.78));box-shadow:0 18px 40px rgba(42,27,20,.07)}
.becoming-field-atlas-head{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:start}.becoming-field-atlas-head h2{margin-top:5px;font-family:var(--head);font-size:28px;line-height:1.1;color:var(--ink)}.becoming-field-atlas-head p:not(.room-label){margin-top:9px;font-family:var(--display);font-size:14px;line-height:1.58;color:var(--ash)}.becoming-field-atlas-head>span{font-size:27px;color:var(--label-gold);padding:5px 7px}
.becoming-field-movements{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:18px}.becoming-field-movements article{display:flex;flex-direction:column;min-height:178px;padding:12px 10px;border-top:3px solid var(--muted-gold);background:rgba(255,252,247,.62)}.becoming-field-movements article:nth-child(2){border-color:#8b6885}.becoming-field-movements article:nth-child(3){border-color:#a3784e}.becoming-field-movements article:nth-child(4){border-color:#52705a}.becoming-field-movements article:nth-child(5){border-color:#6a7480}.becoming-field-movements b{font-family:var(--head);font-size:19px;color:rgba(135,98,37,.60)}.becoming-field-movements .room-label{margin-top:7px}.becoming-field-movements h3{margin-top:4px;font-family:var(--display);font-size:16px;line-height:1.2;color:var(--ink)}.becoming-field-movements p:not(.room-label){margin-top:7px;font-size:11px;line-height:1.47;color:var(--ash)}
.becoming-field-utility{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:15px}.becoming-field-utility article{padding:12px 10px;border:1px solid rgba(140,129,118,.20);border-radius:10px;background:rgba(255,252,247,.58)}.becoming-field-utility h3{margin-top:4px;font-family:var(--display);font-size:15px;color:var(--ink)}.becoming-field-utility p:not(.room-label){margin-top:6px;font-size:10.5px;line-height:1.45;color:var(--ash)}
.field-atlas-layers{margin-top:16px;padding:16px 14px;border:1px solid rgba(91,119,95,.24);border-radius:16px;background:rgba(246,248,239,.64)}.field-atlas-layers>header{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.field-atlas-layers>header h2{margin-top:4px;font-family:var(--head);font-size:22px;line-height:1.15;color:var(--ink)}.field-atlas-seal{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#52705a}.field-atlas-layer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.field-atlas-layer-grid article{padding:12px 10px;border-top:3px solid #52705a;background:rgba(255,252,247,.68)}.field-atlas-layer-grid article.is-current{border-color:#a3784e}.field-atlas-layer-grid article.is-relational{border-color:#786184}.field-atlas-layer-grid h3{margin-top:4px;font-family:var(--display);font-size:16px;color:var(--ink)}.field-atlas-layer-grid p:not(.room-label){margin-top:6px;font-size:11.5px;line-height:1.48;color:var(--ash)}.field-atlas-layer-grid small{display:block;margin-top:9px;font-family:var(--ui);font-size:8.5px;line-height:1.4;letter-spacing:.04em;color:var(--ash-quiet)}.field-atlas-layers>footer{display:grid;gap:3px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(91,119,95,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.04em;color:var(--ash-quiet)}.field-atlas-layers>footer strong{color:#52705a}
.field-atlas-guardrail{margin-top:18px;padding:17px 15px;border:1px solid rgba(182,138,58,.28);border-radius:17px;background:linear-gradient(155deg,rgba(255,249,239,.92),rgba(241,229,210,.68))}.field-atlas-guardrail h3{margin-top:5px;font-family:var(--head);font-size:23px;line-height:1.15;color:var(--ink)}.field-atlas-guardrail ul{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.field-atlas-guardrail li{position:relative;padding-left:17px;font-size:12px;line-height:1.48;color:var(--ash)}.field-atlas-guardrail li::before{content:"·";position:absolute;left:3px;top:-1px;font-family:var(--head);font-size:22px;color:var(--label-gold)}.field-atlas-guardrail>footer{margin-top:12px;padding-top:10px;border-top:1px solid rgba(140,129,118,.18);font-family:var(--display);font-style:italic;font-size:12px;line-height:1.5;color:var(--ash)}
.field-atlas-threshold-ritual{margin-top:0;padding:14px;border:1px solid rgba(182,138,58,.22);border-radius:13px;background:rgba(255,252,247,.58)}.field-atlas-threshold-ritual>header{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.field-atlas-threshold-ritual h3{margin-top:4px;font-family:var(--display);font-size:18px;line-height:1.2;color:var(--ink)}.field-atlas-threshold-ritual p:not(.room-label){margin-top:6px;font-size:11.5px;line-height:1.48;color:var(--ash)}.field-atlas-threshold-ritual>header>span{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.field-atlas-threshold-ritual ol{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 0;padding:0;list-style:none}.field-atlas-threshold-ritual li{padding:9px 8px;border-top:2px solid rgba(182,138,58,.45);background:rgba(255,252,247,.64)}.field-atlas-threshold-ritual b{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}.field-atlas-threshold-ritual small{display:block;margin-top:5px;font-size:10px;line-height:1.4;color:var(--ash)}.field-atlas-threshold-ritual>footer{margin-top:10px;font-family:var(--ui);font-size:9px;line-height:1.45;color:var(--ash-quiet)}.field-atlas-today-door{margin-top:12px;border-top:1px solid rgba(140,129,118,.18);border-bottom:1px solid rgba(140,129,118,.18)}.field-atlas-today-door>summary{cursor:pointer;min-height:49px;display:flex;align-items:center;justify-content:space-between;font-family:var(--ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold);list-style:none}.field-atlas-today-door>summary::-webkit-details-marker{display:none}.field-atlas-today-door>summary::after{content:"+";font-family:var(--display);font-size:22px;color:var(--muted-gold)}.field-atlas-today-door[open]>summary::after{content:"−"}.field-atlas-today-door .field-atlas-threshold-ritual{margin-bottom:14px}
.becoming-field-atlas-foot{display:grid;gap:3px;margin-top:14px;padding:11px 2px 0;border-top:1px solid rgba(140,129,118,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.04em;color:var(--ash-quiet)}.becoming-field-atlas-foot strong{color:var(--label-ink)}
body.quiet .becoming-field-atlas,body.quiet .field-atlas-guardrail,body.quiet .field-atlas-layers,body.quiet .field-atlas-today-door,body.quiet .field-atlas-threshold-ritual{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.16);box-shadow:none}body.quiet .becoming-field-atlas-head h2,body.quiet .field-atlas-layers>header h2,body.quiet .field-atlas-guardrail h3,body.quiet .field-atlas-threshold-ritual h3{color:#f3e6c8}body.quiet .becoming-field-atlas-head p:not(.room-label),body.quiet .becoming-field-movements p:not(.room-label),body.quiet .becoming-field-utility p:not(.room-label),body.quiet .field-atlas-layer-grid p:not(.room-label),body.quiet .field-atlas-guardrail li,body.quiet .field-atlas-guardrail>footer,body.quiet .field-atlas-threshold-ritual p:not(.room-label),body.quiet .field-atlas-threshold-ritual small,body.quiet .field-atlas-threshold-ritual>footer{color:#b7aaa0}body.quiet .becoming-field-movements article,body.quiet .becoming-field-utility article,body.quiet .field-atlas-layer-grid article{background:rgba(244,235,221,.04)}body.quiet .field-atlas-layers>footer,body.quiet .becoming-field-atlas-foot{color:#a79a8f}body.quiet .field-atlas-layers>footer strong,body.quiet .field-atlas-guardrail li::before,body.quiet .field-atlas-guardrail .room-label,body.quiet .field-atlas-today-door>summary{color:#d8c8a7}
@media (max-width:760px){.becoming-field-movements{grid-template-columns:repeat(2,1fr)}.becoming-field-movements article{min-height:0}.becoming-field-utility{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.becoming-field-atlas-head,.field-atlas-layers>header,.field-atlas-threshold-ritual>header{grid-template-columns:1fr}.becoming-field-atlas-head>span,.field-atlas-seal{display:none}.becoming-field-movements,.becoming-field-utility,.field-atlas-layer-grid,.field-atlas-threshold-ritual ol{grid-template-columns:1fr}.becoming-field-movements article{min-height:0}}

/* v503 — a missing live care projection holds the Keeper, not the person's
   private deterministic Inner Weather floor. */
.iwf-mode-note{display:grid;gap:5px;margin:16px 0;padding:13px 14px;border:1px solid rgba(182,138,58,.28);border-radius:14px;background:linear-gradient(135deg,rgba(255,250,240,.88),rgba(239,233,218,.68));color:var(--ash);font-size:12px;line-height:1.48}
.iwf-mode-note strong{font-family:var(--ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--codex-sepia)}
.iwf-mode-note span{font-family:var(--display);font-size:15px;color:var(--ash)}
body.quiet .iwf-mode-note{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.2);color:#b7aaa0}
body.quiet .iwf-mode-note strong,body.quiet .iwf-mode-note span{color:#d8c8a7}

/* v485 Individual Field Atlas activation preparation */
.heavens-activation-prep{margin-top:18px;padding:19px 17px;border:1px solid rgba(120,97,132,.25);border-radius:20px;background:linear-gradient(155deg,rgba(250,246,239,.98),rgba(236,228,218,.74));box-shadow:0 14px 34px rgba(42,27,20,.055)}
.heavens-activation-prep>header{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.heavens-activation-prep>header h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.12;color:var(--ink)}.heavens-activation-prep>header p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13px;line-height:1.55;color:var(--ash)}.heavens-activation-prep>header>span{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#786184;padding:5px 0}
.heavens-activation-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.heavens-activation-mode{padding:12px 10px;border-top:3px solid #786184;background:rgba(255,252,247,.7)}.heavens-activation-mode:nth-child(2){border-color:#a3784e}.heavens-activation-mode:nth-child(3){border-color:#52705a}.heavens-activation-mode h3{margin-top:4px;font-family:var(--display);font-size:16px;line-height:1.25;color:var(--ink)}.heavens-activation-mode p:not(.room-label){margin-top:6px;font-size:11px;line-height:1.48;color:var(--ash)}.heavens-activation-mode>span{display:block;margin-top:10px;font-family:var(--ui);font-size:8.5px;line-height:1.35;letter-spacing:.04em;color:var(--ash-quiet)}.heavens-activation-prep details{margin-top:13px;border-top:1px solid rgba(140,129,118,.18);border-bottom:1px solid rgba(140,129,118,.18)}.heavens-activation-prep summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#786184;list-style:none}.heavens-activation-prep summary::-webkit-details-marker{display:none}.heavens-activation-prep summary::after{content:"+";font-family:var(--display);font-size:21px;color:#a3784e}.heavens-activation-prep details[open] summary::after{content:"−"}.heavens-activation-steps{display:grid;gap:7px;margin:0 0 13px;padding:0;list-style:none}.heavens-activation-steps li{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;padding:9px;background:rgba(255,252,247,.58)}.heavens-activation-steps b{font-family:var(--ui);font-size:9px;letter-spacing:.1em;color:#a3784e}.heavens-activation-steps strong{display:block;font-family:var(--display);font-size:14px;color:var(--ink)}.heavens-activation-steps small{display:block;margin-top:3px;font-size:10.5px;line-height:1.42;color:var(--ash)}.heavens-activation-note{margin:0 0 14px;font-size:10.5px;line-height:1.45;color:var(--ash)}.heavens-activation-note strong{color:var(--label-ink)}.heavens-activation-prep>footer{display:grid;gap:3px;margin-top:13px;padding-top:10px;border-top:1px solid rgba(140,129,118,.18);font-family:var(--ui);font-size:9px;line-height:1.48;letter-spacing:.03em;color:var(--ash-quiet)}.heavens-activation-prep>footer strong{color:#786184}
body.quiet .heavens-activation-prep{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.16);box-shadow:none}body.quiet .heavens-activation-prep>header h2,body.quiet .heavens-activation-mode h3{color:#f3e6c8}body.quiet .heavens-activation-prep>header p:not(.room-label),body.quiet .heavens-activation-mode p:not(.room-label),body.quiet .heavens-activation-mode>span,body.quiet .heavens-activation-steps small,body.quiet .heavens-activation-note,body.quiet .heavens-activation-prep>footer{color:#b7aaa0}body.quiet .heavens-activation-mode,body.quiet .heavens-activation-steps li{background:rgba(244,235,221,.04)}body.quiet .heavens-activation-prep summary{color:#d8c8a7}
@media (max-width:520px){.heavens-activation-prep>header{grid-template-columns:1fr}.heavens-activation-prep>header>span{display:none}.heavens-activation-modes{grid-template-columns:1fr}}

/* v486 Field Atlas Public Reframe and Inner Weather Composition */
.becoming-field-composition{margin-top:18px;padding:18px 16px;border:1px solid rgba(91,119,95,.26);border-radius:20px;background:linear-gradient(155deg,rgba(246,248,239,.94),rgba(238,228,214,.72))}.becoming-field-composition>header{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.becoming-field-composition>header h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.14;color:var(--ink)}.becoming-field-composition>header p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13px;line-height:1.55;color:var(--ash)}.becoming-field-composition>header>span{font-size:24px;color:#52705a;padding:5px}.becoming-field-composition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.becoming-field-composition-grid article{padding:13px 11px;border-top:3px solid #52705a;background:rgba(255,252,247,.68)}.becoming-field-composition-grid article.is-sky{border-color:#a3784e}.becoming-field-composition-grid article.is-between{border-color:#786184}.becoming-field-composition-grid h3{margin-top:5px;font-family:var(--display);font-size:16px;line-height:1.25;color:var(--ink)}.becoming-field-composition-grid p:not(.room-label){margin-top:7px;font-size:11.5px;line-height:1.5;color:var(--ash)}.becoming-field-composition-grid small{display:block;margin-top:10px;font-family:var(--ui);font-size:8.5px;line-height:1.4;letter-spacing:.04em;color:var(--ash-quiet)}.becoming-field-composition>footer{display:grid;gap:3px;margin-top:13px;padding-top:10px;border-top:1px solid rgba(91,119,95,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.03em;color:var(--ash-quiet)}.becoming-field-composition>footer strong{color:#52705a}body.quiet .becoming-field-composition{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.16)}body.quiet .becoming-field-composition>header h2,body.quiet .becoming-field-composition-grid h3{color:#f3e6c8}body.quiet .becoming-field-composition>header p:not(.room-label),body.quiet .becoming-field-composition-grid p:not(.room-label),body.quiet .becoming-field-composition-grid small,body.quiet .becoming-field-composition>footer{color:#b7aaa0}body.quiet .becoming-field-composition-grid article{background:rgba(244,235,221,.04)}@media(max-width:520px){.becoming-field-composition>header{grid-template-columns:1fr}.becoming-field-composition>header>span{display:none}.becoming-field-composition-grid{grid-template-columns:1fr}}

/* v487 Today Field Atlas Roll-up — message first, field second, movement third */
.today-field-atlas{position:relative;margin:2px 0 18px;padding:18px 16px;border:1px solid rgba(91,119,95,.28);border-radius:22px;background:radial-gradient(circle at 91% 0%,rgba(210,180,109,.18),transparent 30%),linear-gradient(158deg,rgba(246,248,239,.96),rgba(238,228,214,.78));box-shadow:0 18px 38px rgba(42,27,20,.055)}
.today-field-atlas-head{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.today-field-atlas-head h2{margin-top:5px;font-family:var(--head);font-size:26px;line-height:1.12;color:var(--ink)}.today-field-atlas-head p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13px;line-height:1.55;color:var(--ash)}.today-field-atlas-head>span{font-size:25px;color:var(--label-gold);padding:4px 7px}
.today-field-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:15px}.today-field-layers article{position:relative;min-height:194px;padding:13px 11px;border-top:3px solid #52705a;background:rgba(255,252,247,.68)}.today-field-layers article.is-current{border-color:#a3784e;background:radial-gradient(circle at 92% 5%,rgba(210,180,109,.16),transparent 42%),rgba(255,252,247,.7)}.today-field-layers article.is-between{border-color:#786184;background:rgba(242,237,244,.62)}.today-field-glyph{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(82,112,90,.38);border-radius:50%;font-family:var(--head);font-size:19px;color:#52705a}.today-field-layers .is-current .today-field-glyph{border-color:rgba(163,120,78,.48);color:#a3784e}.today-field-layers .is-between .today-field-glyph{border-color:rgba(120,97,132,.45);color:#786184}.today-field-layers .room-label{margin-top:10px}.today-field-layers h3{margin-top:4px;font-family:var(--display);font-size:17px;line-height:1.2;color:var(--ink)}.today-field-layers article>div>p:not(.room-label){margin-top:7px;font-size:11.2px;line-height:1.48;color:var(--ash)}.today-field-link{display:block;margin-top:11px;padding:0;border:0;background:none;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-ink);cursor:pointer}.today-field-link span{font-size:13px}.today-field-voices{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px}.today-field-voices span{display:grid;gap:3px;padding:8px 7px;border-top:2px solid #52705a;background:rgba(246,248,239,.62)}.today-field-voices span.is-sky{border-color:#a3784e;background:rgba(248,239,222,.62)}.today-field-voices b{font-family:var(--ui);font-size:8.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--label-ink)}.today-field-voices small{font-size:9.5px;line-height:1.35;color:var(--ash-quiet)}.today-field-atlas-note{margin:13px 2px 0;padding-top:10px;border-top:1px solid rgba(91,119,95,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.03em;color:var(--ash-quiet)}.today-field-atlas-note strong{color:#52705a}
.today-field-atlas .field-atlas-today-door{margin-top:13px;border:1px solid rgba(210,180,109,.28);border-radius:13px;background:linear-gradient(145deg,#241711,#392118)}.today-field-atlas .field-atlas-today-door>summary{padding:0 12px;color:#e0b45a}.today-field-atlas .field-atlas-today-door>summary::after{color:#e0b45a}.today-field-atlas .field-atlas-today-door .field-atlas-threshold-ritual{margin:0 7px 7px;background:rgba(255,252,247,.94);border-color:rgba(210,180,109,.35)}
body.quiet .today-field-atlas{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.16);box-shadow:none}body.quiet .today-field-atlas-head h2,body.quiet .today-field-layers h3{color:#f3e6c8}body.quiet .today-field-atlas-head p:not(.room-label),body.quiet .today-field-layers article>div>p:not(.room-label),body.quiet .today-field-voices small,body.quiet .today-field-atlas-note{color:#b7aaa0}body.quiet .today-field-layers article{background:rgba(244,235,221,.04)}body.quiet .today-field-layers article.is-current{background:rgba(244,235,221,.05)}body.quiet .today-field-layers article.is-between{background:rgba(120,97,132,.08)}body.quiet .today-field-atlas-note strong{color:#d8c8a7}
@media(max-width:700px){.today-field-layers{grid-template-columns:1fr 1fr}.today-field-layers article.is-current{grid-column:span 2;min-height:0}.today-field-layers article.is-current>div{max-width:32em}}
@media(max-width:520px){.today-field-atlas-head{grid-template-columns:1fr}.today-field-atlas-head>span{display:none}.today-field-layers{grid-template-columns:1fr}.today-field-layers article.is-current{grid-column:auto}.today-field-layers article{min-height:0}.today-field-voices{grid-template-columns:1fr 1fr}}

/* v489 Today Rhythm and Movement Harmonization — one faithful movement, one
   envelope, with the day’s three stations returned inside the card. */
.faithful-movement .today-rhythm-inline{margin-top:19px;padding-top:14px;border-top:1px solid rgba(212,180,109,.22)}
.faithful-movement .today-rhythm-inline .room-label{color:#d9b967}
.today-rhythm-row{display:flex;align-items:flex-start;justify-content:space-between;margin-top:14px;gap:4px}
.today-rhythm-station{display:grid;min-width:0;flex:1 1 0;justify-items:center;gap:4px;text-align:center;color:#d6c7b0}
.today-rhythm-station .today-rhythm-node{width:28px;height:28px;border-color:rgba(212,180,109,.38);background:rgba(255,248,233,.04);color:#d9b967;font-size:11px}
.today-rhythm-station.open .today-rhythm-node{border-color:#d9b967;background:#f4e8cf;color:#33231b;box-shadow:0 0 0 5px rgba(212,180,109,.11)}
.today-rhythm-station.received .today-rhythm-node{border-color:rgba(212,180,109,.72);background:rgba(212,180,109,.18);color:#f0dfbd}
.today-rhythm-station.available .today-rhythm-node{border-color:rgba(212,180,109,.55);color:#e2c995}
.today-rhythm-station.later .today-rhythm-node{opacity:.72}
.today-rhythm-station strong{font-family:var(--display);font-size:13px;font-weight:500;color:#f1e2c7}
.today-rhythm-station small{font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#c3b39c}
.today-rhythm-join{align-self:start;flex:1 1 20px;min-width:8px;height:1px;margin-top:14px;background:linear-gradient(90deg,rgba(212,180,109,.18),rgba(212,180,109,.42),rgba(212,180,109,.18))}
body.quiet .faithful-movement .today-rhythm-inline{border-top-color:rgba(212,180,109,.2)}
body.quiet .today-rhythm-station strong{color:#eadabd}
body.quiet .today-rhythm-station small{color:#c8b9a5}
@media(max-width:370px){.today-rhythm-station strong{font-size:12px}.today-rhythm-station small{font-size:7px}.today-rhythm-join{min-width:4px}}

/* v490 CTA hover and inner-room harmonization.
   Every actionable surface gets one unmistakable response: a warm-gold lift
   for controls, and a quiet gold wash for larger doors/cards. The content and
   covenant language stay unchanged; this is a legibility and orientation pass. */
:root{
  --cta-hover-fill:#d2b46d;
  --cta-hover-border:#e0c98b;
  --cta-hover-ink:#2a1b14;
  --cta-hover-surface:rgba(212,180,109,.16);
  --cta-hover-shadow:0 10px 24px -14px rgba(42,27,20,.52);
}
.screen :where(.btn,.sh-cmd,button.cta,.today-field-link,.today-section-link,.practice-whole-way-link,.major-tab-linkcue,.heavens-field-map button,.heavens-witness-map>header button,.heavens-deeper-doors button,.heavens-keeper-door button,.heavens-movement-actions button,.heavens-today-actions button):not(:disabled):hover{
  background:var(--cta-hover-fill);
  border-color:var(--cta-hover-border);
  color:var(--cta-hover-ink);
  box-shadow:var(--cta-hover-shadow);
  transform:translateY(-1px);
}
.screen :where(.tap,.today-continue-card,.major-tab-linkcard,.comp-door-card,.settings-door,.iwf-door,.becoming-module-card):not(:disabled):hover{
  background:var(--cta-hover-surface);
  border-color:var(--cta-hover-border);
  box-shadow:var(--cta-hover-shadow);
  transform:translateY(-2px);
}
.screen :where(.sh-link,.cta):not(:disabled):hover{
  color:var(--cta-hover-border);
  text-decoration:underline;
  text-underline-offset:.24em;
}
.screen .faithful-movement>.btn.solid:hover{
  background:#f7dfa8;
  border-color:#e6bd63;
  color:#2a1b14;
  box-shadow:0 12px 26px -14px rgba(212,180,109,.68);
  transform:translateY(-1px);
}
.screen :where(.btn,.sh-cmd,.today-field-link,.today-section-link,.practice-whole-way-link,.major-tab-linkcue,.heavens-field-map button,.heavens-witness-map>header button,.heavens-deeper-doors button,.heavens-keeper-door button,.heavens-movement-actions button,.heavens-today-actions button):focus-visible,
.screen :where(.tap,.today-continue-card,.major-tab-linkcard,.comp-door-card,.settings-door,.iwf-door,.becoming-module-card):focus-visible{
  outline:2px solid var(--cta-hover-border);
  outline-offset:3px;
}
/* Inner rooms now read as one family of envelopes while retaining their
   existing copy, controls, and room-specific colour registers. */
.screen :where(.journey-hero,.major-tab-hero,.iwf-orientation,.becoming-interior-hero,.heavens-interface-study){
  border-radius:var(--r-lg);
  box-shadow:0 14px 30px -22px rgba(42,27,20,.28);
}
.screen :where(.journey-hero,.major-tab-hero,.iwf-orientation){
  padding-left:18px;
  padding-right:18px;
}
body.quiet .screen :where(.btn,.sh-cmd,button.cta,.today-field-link,.today-section-link,.practice-whole-way-link,.major-tab-linkcue,.heavens-field-map button,.heavens-witness-map>header button,.heavens-deeper-doors button,.heavens-keeper-door button,.heavens-movement-actions button,.heavens-today-actions button):not(:disabled):hover{
  background:var(--cta-hover-fill);
  border-color:var(--cta-hover-border);
  color:var(--cta-hover-ink);
  box-shadow:0 10px 24px -14px rgba(212,180,109,.58);
}
body.quiet .screen :where(.tap,.today-continue-card,.major-tab-linkcard,.comp-door-card,.settings-door,.iwf-door,.becoming-module-card):not(:disabled):hover{
  background:rgba(212,180,109,.14);
  border-color:rgba(224,201,139,.75);
  box-shadow:0 10px 24px -14px rgba(212,180,109,.38);
}

/* v498 private interactivity — the field may answer a quiet hover or focus
   with one restrained water-ring. It is a visual orientation cue, not a
   notification, score, or ambient animation. */
.today-field-layers article.is-current,
.becoming-field-composition-grid article.is-lived,
.field-atlas-layer-grid article.is-current{position:relative;overflow:hidden;isolation:isolate}
.today-field-layers article.is-current::after,
.becoming-field-composition-grid article.is-lived::after,
.field-atlas-layer-grid article.is-current::after{content:"";position:absolute;inset:18% 22%;border:1px solid rgba(163,120,78,.38);border-radius:50%;opacity:0;transform:scale(.24);pointer-events:none;z-index:-1}
.today-field-layers article.is-current:hover::after,
.today-field-layers article.is-current:focus-within::after,
.becoming-field-composition-grid article.is-lived:hover::after,
.becoming-field-composition-grid article.is-lived:focus-within::after,
.field-atlas-layer-grid article.is-current:hover::after,
.field-atlas-layer-grid article.is-current:focus-within::after{animation:shFieldRipple .9s ease-out both}
@keyframes shFieldRipple{0%{opacity:.42;transform:scale(.24)}70%{opacity:.12}100%{opacity:0;transform:scale(1.25)}}

/* v498 — private, session-only Codex Map sentence field */
.map-ephemeral-sentence{margin-top:18px;padding:18px 16px;border:1px solid rgba(182,138,58,.28);border-radius:18px;background:linear-gradient(155deg,rgba(255,249,239,.78),rgba(242,230,207,.54))}
.map-ephemeral-sentence h2{margin-top:5px;font-family:var(--head);font-size:22px;line-height:1.18;color:var(--ink)}
.map-ephemeral-lede{margin-top:7px;font-size:12.5px;line-height:1.55;color:var(--ash)}
.map-ephemeral-sentence textarea{display:block;width:100%;min-height:86px;margin-top:13px;padding:12px 13px;border:1px solid rgba(140,129,118,.28);border-radius:11px;background:rgba(255,252,247,.78);font-family:var(--display);font-size:16px;line-height:1.55;color:var(--ink);resize:vertical}
.map-ephemeral-sentence textarea:focus{border-color:rgba(182,138,58,.65);outline:2px solid rgba(182,138,58,.18);outline-offset:2px}
.map-ephemeral-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}
.map-ephemeral-actions .btn{width:auto;min-height:42px;padding-inline:16px}
.map-ephemeral-quote{margin-top:10px;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.55;color:var(--link-ink)}
.map-ephemeral-link{display:inline-block;margin-top:10px;padding:0;border:0;background:none;color:var(--link-ink);font-family:var(--ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.map-ephemeral-contract{margin-top:12px;padding-top:10px;border-top:1px solid rgba(140,129,118,.18);font-family:var(--ui);font-size:9px;line-height:1.5;letter-spacing:.03em;color:var(--ash-quiet)}
.map-ephemeral-contract strong{color:var(--label-ink)}
body.quiet .map-ephemeral-sentence{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.18)}
body.quiet .map-ephemeral-sentence h2,body.quiet .map-ephemeral-quote{color:#f3e6c8}
body.quiet .map-ephemeral-lede,body.quiet .map-ephemeral-contract{color:#b7aaa0}
body.quiet .map-ephemeral-sentence textarea{background:rgba(244,235,221,.06);color:#f3e6c8;border-color:rgba(210,180,109,.24)}
@media (prefers-reduced-motion:reduce){
  .today-field-layers article.is-current:hover::after,
  .today-field-layers article.is-current:focus-within::after,
  .becoming-field-composition-grid article.is-lived:hover::after,
  .becoming-field-composition-grid article.is-lived:focus-within::after,
  .field-atlas-layer-grid article.is-current:hover::after,
  .field-atlas-layer-grid article.is-current:focus-within::after{animation:none;opacity:.12;transform:scale(1)}
}
@media (max-width:520px){.map-ephemeral-actions{align-items:stretch;flex-direction:column}.map-ephemeral-actions .btn,.map-ephemeral-actions .map-ephemeral-link{width:100%;text-align:center}}

/* v507 — The Season is a secondary, shared-present room. Its envelopes use
   the same quiet field grammar as Becoming without adding a sixth tab. */
.today-field-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.today-field-actions .today-field-link{margin-top:0}
.sanctuary-compass{display:grid;grid-template-columns:1.35fr repeat(2,minmax(0,1fr));gap:6px;margin-top:16px;padding:9px;border:1px solid rgba(91,119,95,.2);border-radius:15px;background:rgba(255,252,247,.48)}
.sanctuary-compass-intro{display:flex;flex-direction:column;justify-content:center;padding:3px 7px 4px}
.sanctuary-compass-intro strong{margin-top:5px;font-family:var(--head);font-size:16px;line-height:1.12;color:var(--ink)}
.sanctuary-compass-intro small{margin-top:5px;font-size:9.5px;line-height:1.4;color:var(--ash-quiet)}
.sanctuary-compass button{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:75px;padding:9px 8px 8px;border:0;border-top:2px solid #5f7d68;background:rgba(246,248,239,.7);text-align:left;cursor:pointer;color:var(--ink);font:inherit}
.sanctuary-compass button.is-season{border-top-color:#a3784e;background:rgba(248,239,222,.7)}
.sanctuary-compass button.is-walk{border-top-color:#b28a4b;background:rgba(255,249,239,.72)}
.sanctuary-compass button.is-together{border-top-color:#786184;background:rgba(242,237,244,.68)}
.sanctuary-compass button.is-becoming{border-top-color:#786184;background:rgba(242,237,244,.68)}
.sanctuary-compass button span{font-family:var(--ui);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.sanctuary-compass button b{margin-top:6px;font-family:var(--head);font-size:15px;line-height:1.05;font-weight:500}
.sanctuary-compass button small{margin-top:4px;font-size:9px;line-height:1.25;color:var(--ash-quiet)}
.sanctuary-compass button i{position:absolute;right:7px;bottom:6px;font-style:normal;font-size:12px;color:var(--label-ink);opacity:.75}
.sanctuary-compass button:hover{box-shadow:inset 0 0 0 1px rgba(178,138,75,.42),0 5px 12px rgba(42,27,20,.07);transform:translateY(-1px)}
.sanctuary-season-handoff{border-color:rgba(178,138,75,.3);background:linear-gradient(145deg,rgba(255,249,239,.92),rgba(248,239,222,.74))}.sanctuary-season-handoff>span,.sanctuary-season-handoff i{color:#a3784e}
.today-rhythm-covenant{margin-top:10px;font-family:var(--ui);font-size:9px;line-height:1.45;letter-spacing:.03em;color:rgba(245,235,221,.68)}
.keeper-framework-aperture{margin-top:10px;padding:10px 12px;border-left:2px solid rgba(120,97,132,.56);font-size:11.5px;line-height:1.5;color:var(--ash)}
body.quiet .becoming-together-aperture,body.quiet .sanctuary-together-aperture{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.16);color:#f3e6c8}
body.quiet .becoming-together-aperture small,body.quiet .sanctuary-together-aperture small,body.quiet .keeper-framework-aperture{color:#b7aaa0}
.season-scripture{margin:18px 0 0;padding:13px 14px 11px;border-left:2px solid rgba(210,180,109,.76);background:rgba(255,249,239,.08);font-family:var(--display);font-style:italic;font-size:16px;line-height:1.48;color:#e8d9c4}
.season-scripture cite{display:block;margin-top:7px;font-family:var(--ui);font-style:normal;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft-gold)}
.today-season-envelope{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;margin:16px 0 20px;padding:20px 18px;border:1px solid rgba(178,138,75,.32);border-top:3px solid #b28a4b;border-radius:18px;background:linear-gradient(145deg,rgba(252,245,231,.94),rgba(243,228,204,.72));box-shadow:0 13px 28px -24px rgba(42,27,20,.35)}
.today-season-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(178,138,75,.66);border-radius:50%;font-size:19px;color:#8a5d1b}
.today-season-envelope h2{margin-top:5px;font-family:var(--head);font-size:24px;line-height:1.12;color:var(--ink)}
.today-season-envelope>div:last-child>p:not(.room-label){margin-top:7px;line-height:1.55;color:var(--ash)}
.today-season-envelope .today-field-link{display:inline-block;margin-top:11px}
.season-room{max-width:720px;margin:0 auto;padding:16px 0 70px}
.season-back{margin-bottom:18px}
.season-hero{padding:28px 22px 30px;border-radius:24px;background:radial-gradient(circle at 85% 10%,rgba(210,180,109,.2),transparent 34%),linear-gradient(145deg,#2a1b14,#17100d);color:var(--bone);box-shadow:0 18px 42px -28px rgba(42,27,20,.7)}
.season-hero h1{margin-top:8px;font-family:var(--head);font-size:clamp(34px,7vw,55px);line-height:1.02;color:var(--bone)}
.season-hero .lede{margin-top:12px;color:var(--soft-gold);font-family:var(--display);font-style:italic;font-size:18px;line-height:1.45}
.season-hero-copy{max-width:54ch;margin-top:17px;font-family:var(--display);font-size:17px;line-height:1.66;color:#d7cabc}
.season-fact-envelope,.season-clocks-envelope,.season-witness-envelope,.season-boundary-envelope{margin-top:16px;padding:22px 18px;border:1px solid rgba(164,135,96,.28);border-radius:20px;background:linear-gradient(145deg,rgba(255,250,241,.94),rgba(246,234,215,.74));box-shadow:0 13px 28px -24px rgba(42,27,20,.25)}
.season-fact-envelope{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;border-top:3px solid #b28a4b}
.season-live-sky-envelope{margin-top:16px;padding:22px 18px;border:1px solid rgba(178,138,75,.38);border-top:3px solid #b28a4b;border-radius:20px;background:radial-gradient(circle at 90% 12%,rgba(210,180,109,.16),transparent 34%),linear-gradient(145deg,rgba(249,241,224,.96),rgba(241,226,201,.8));box-shadow:0 13px 28px -24px rgba(42,27,20,.28)}
.season-live-sky-envelope h2{margin-top:5px;font-family:var(--head);font-size:26px;line-height:1.12;color:var(--ink)}
.season-live-observations{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}.season-live-observations li{padding:12px 12px;border-left:2px solid rgba(178,138,75,.66);background:rgba(255,249,239,.58)}.season-live-observations span{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}.season-live-observations p{margin-top:5px;line-height:1.5;color:var(--codex-sepia)}.season-live-question{margin-top:15px;padding-top:13px;border-top:1px solid rgba(178,138,75,.28);line-height:1.55;color:var(--codex-sepia)}
.season-fact-glyph{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b28a4b;border-radius:50%;color:#8a5d1b}
.season-fact-envelope h2,.season-clocks-envelope h2,.season-witness-envelope h2,.season-boundary-envelope h2{margin-top:5px;font-family:var(--head);font-size:26px;line-height:1.12;color:var(--ink)}
.season-fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.season-fact-grid p{padding:11px 10px;border-top:2px solid rgba(178,138,75,.54);background:rgba(255,249,239,.58)}
.season-fact-grid b,.season-fact-grid span{display:block}.season-fact-grid b{font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}.season-fact-grid span{margin-top:6px;font-family:var(--display);font-size:15px;line-height:1.35;color:var(--codex-sepia)}
.season-section-lede{margin-top:8px;line-height:1.6;color:var(--ash)}
.season-clocks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 0;padding:0;list-style:none}
.season-clocks li{min-height:118px;padding:12px 9px;border-top:2px solid rgba(178,138,75,.5);background:rgba(255,249,239,.62)}
.season-clock-number{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.12em;color:var(--label-gold)}
.season-clocks b{display:block;margin-top:12px;font-family:var(--head);font-size:19px;color:var(--codex-sepia)}.season-clocks small{display:block;margin-top:5px;font-size:12px;line-height:1.42;color:var(--ash)}
.season-witness-envelope{border-top:3px solid #5f7d68}
.season-witness-envelope textarea{display:block;width:100%;min-height:90px;margin-top:14px;padding:12px 13px;border:1px solid rgba(140,129,118,.28);border-radius:12px;background:rgba(255,252,247,.78);font-family:var(--display);font-size:17px;line-height:1.5;color:var(--ink);resize:vertical}
.season-witness-envelope textarea:focus{border-color:rgba(95,125,104,.7);outline:2px solid rgba(95,125,104,.18);outline-offset:2px}
.season-witness-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.season-witness-actions .btn{width:auto;min-height:42px;padding-inline:15px}.season-keeper-link{border:0;background:none;padding:8px 2px;color:var(--link-ink);font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.season-boundary-envelope{border-top:3px solid #786184;background:linear-gradient(145deg,rgba(246,238,247,.78),rgba(239,229,239,.7))}.season-boundary-envelope ul{margin:15px 0 0;padding-left:19px;color:var(--ash);line-height:1.7}.season-boundary-close{margin-top:15px;padding-top:13px;border-top:1px solid rgba(120,97,132,.24);font-family:var(--display);font-style:italic;line-height:1.55;color:var(--codex-sepia)}
.season-room-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.season-room-actions .btn{width:auto;min-height:44px;padding-inline:16px}
body.quiet .today-season-envelope,body.quiet .season-fact-envelope,body.quiet .season-clocks-envelope,body.quiet .season-witness-envelope,body.quiet .season-boundary-envelope{background:rgba(244,235,221,.05);border-color:rgba(210,180,109,.2);color:#e9dbc5}.season-room:focus-within .season-fact-envelope{box-shadow:0 0 0 1px rgba(210,180,109,.2),0 16px 36px -25px rgba(210,180,109,.42)}
body.quiet .sanctuary-compass{background:rgba(244,235,221,.045);border-color:rgba(210,180,109,.16)}body.quiet .sanctuary-compass-intro strong,body.quiet .sanctuary-compass button b{color:#f3e6c8}body.quiet .sanctuary-compass-intro small,body.quiet .sanctuary-compass button small{color:#b7aaa0}body.quiet .sanctuary-compass button{background:rgba(244,235,221,.04)}body.quiet .season-scripture{background:rgba(255,249,239,.04);color:#e8d9c4}
@media (max-width:600px){.sanctuary-compass{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.sanctuary-compass-intro{grid-column:1 / -1;min-height:0;padding:4px 5px 9px}.season-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-clocks{grid-template-columns:repeat(2,minmax(0,1fr))}.season-clocks li:last-child{grid-column:1 / -1}.today-field-actions{flex-direction:column}.today-field-actions .today-field-link{width:100%}}
@media (max-width:380px){.sanctuary-compass{grid-template-columns:1fr}.sanctuary-compass-intro{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.season-room *{scroll-behavior:auto}}

/* v524 — Upper Room architecture.
   The shared room is visually related to Today without flattening the
   distinction between the Sanctuary within, Together between, and the Walk
   outward. These are orientation surfaces, not a new score or dashboard. */
.upper-room-bridge{position:relative;margin:16px 0 20px;padding:20px 16px 16px;border:1px solid rgba(182,138,58,.28);border-radius:22px;background:radial-gradient(circle at 94% 0%,rgba(210,180,109,.16),transparent 32%),linear-gradient(150deg,rgba(255,250,241,.94),rgba(242,232,215,.76));box-shadow:0 16px 34px -24px rgba(42,27,20,.28);overflow:hidden}
.upper-room-bridge header{position:relative;z-index:1}
.upper-room-bridge h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.1;color:var(--ink)}
.upper-room-bridge header>p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}
.upper-room-lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}
.upper-room-lanes article{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;min-height:126px;padding:12px 10px;border-top:3px solid #52705a;background:rgba(255,252,247,.68)}
.upper-room-lanes article.is-between{border-color:#786184;background:rgba(242,237,244,.62)}
.upper-room-lanes article.is-outward{border-color:#a3784e;background:rgba(248,239,222,.62)}
.upper-room-lane-mark{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;font-family:var(--head);font-size:17px;color:#52705a}
.upper-room-lanes .is-between .upper-room-lane-mark{color:#786184}.upper-room-lanes .is-outward .upper-room-lane-mark{color:#a3784e}
.upper-room-lanes .room-label{margin-top:1px}.upper-room-lanes h3{margin-top:3px;font-family:var(--display);font-size:16px;line-height:1.18;color:var(--ink)}
.upper-room-lanes article>div>p:not(.room-label){margin-top:6px;font-size:10.5px;line-height:1.45;color:var(--ash)}
.upper-room-bridge-note{margin:13px 2px 0;padding-top:10px;border-top:1px solid rgba(182,138,58,.2);font-family:var(--ui);font-size:9.5px;line-height:1.5;letter-spacing:.02em;color:var(--ash-quiet)}
.upper-room-bridge-note strong{color:#52705a}
.together-upper-room{position:relative;margin:8px 0 20px;padding:18px 16px 15px;border:1px solid rgba(120,97,132,.28);border-radius:22px;background:radial-gradient(circle at 4% 0%,rgba(120,97,132,.12),transparent 36%),linear-gradient(150deg,rgba(247,242,247,.94),rgba(235,225,237,.76));box-shadow:0 16px 36px -24px rgba(42,27,20,.28);overflow:hidden}
.together-upper-room-lintel h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.1;color:var(--ink)}
.together-upper-room-lintel p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}
.together-upper-room-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:6px;align-items:stretch;margin-top:16px}
.together-upper-room-flow>div:not(.flow-join){padding:11px 9px;border-top:2px solid #52705a;background:rgba(255,252,247,.6)}
.together-upper-room-flow>div.is-between{border-color:#786184;background:rgba(120,97,132,.08)}
.together-upper-room-flow>div.is-outward{border-color:#a3784e;background:rgba(163,120,78,.08)}
.together-upper-room-flow span,.together-upper-room-flow strong,.together-upper-room-flow small{display:block}.together-upper-room-flow span{font-family:var(--ui);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.together-upper-room-flow strong{margin-top:4px;font-family:var(--display);font-size:15px;color:var(--ink)}.together-upper-room-flow small{margin-top:5px;font-size:10px;line-height:1.35;color:var(--ash)}
.together-upper-room-flow .flow-join{display:grid;place-items:center;font-family:var(--head);font-size:19px;color:var(--label-gold)}
.together-upper-room-boundary{margin:12px 1px 0;padding-top:10px;border-top:1px solid rgba(120,97,132,.18);font-family:var(--ui);font-size:9.5px;line-height:1.5;letter-spacing:.02em;color:var(--ash-quiet)}
.together-upper-room-boundary strong{color:#786184}
body.quiet .upper-room-bridge{background:linear-gradient(150deg,rgba(28,22,18,.94),rgba(18,14,11,.96));border-color:rgba(210,180,109,.16);box-shadow:none}
body.quiet .upper-room-bridge h2,body.quiet .together-upper-room-lintel h2{color:#f3e6c8}
body.quiet .upper-room-bridge header>p:not(.room-label),body.quiet .together-upper-room-lintel p:not(.room-label),body.quiet .upper-room-lanes article>div>p:not(.room-label),body.quiet .together-upper-room-flow small,body.quiet .upper-room-bridge-note,body.quiet .together-upper-room-boundary{color:#b7aaa0}
body.quiet .upper-room-lanes article,body.quiet .together-upper-room-flow>div:not(.flow-join){background:rgba(244,235,221,.05)}
body.quiet .upper-room-lanes article.is-between,body.quiet .together-upper-room-flow>div.is-between{background:rgba(120,97,132,.08)}
body.quiet .upper-room-lanes article.is-outward,body.quiet .together-upper-room-flow>div.is-outward{background:rgba(163,120,78,.08)}
body.quiet .upper-room-bridge-note strong{color:#d8c8a7}.quiet .together-upper-room{background:linear-gradient(150deg,rgba(28,22,18,.94),rgba(18,14,11,.96));border-color:rgba(210,180,109,.16);box-shadow:none}.quiet .together-upper-room-boundary strong{color:#d8c8a7}
@media(max-width:520px){.upper-room-lanes{grid-template-columns:1fr}.upper-room-lanes article{min-height:0}.together-upper-room-flow{grid-template-columns:1fr;gap:5px}.together-upper-room-flow .flow-join{min-height:16px}.together-upper-room-flow>div:not(.flow-join){min-height:0}}

/* v530 — mobile envelope deck.
   The House is read with a thumb before it is read with a mouse. On narrow
   screens competing envelopes become a calm, horizontal sequence: one card
   holds the reader's attention, the next card gives the hand a reason to
   continue, and nothing is compressed into an unreadable miniature grid. The
   desktop composition remains unchanged. */
.mobile-deck-cue{display:none}
@media (max-width:600px){
  .screen{overflow-x:hidden}
  .today-field-atlas{padding-inline:12px}
  .mobile-deck-cue{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:10px 2px 0;font-family:var(--ui);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ash-quiet)}
  .mobile-deck-cue span{font-size:14px;color:var(--label-gold)}

  /* The field atlas is the primary example: three voices, three full cards. */
  .today-field-layers,.sanctuary-compass,.upper-room-lanes,.becoming-framework-grid,.becoming-field-composition-grid,.becoming-field-movements,.becoming-field-utility,.season-clocks,.circle-field-layers,.field-atlas-layer-grid,.crucible-field-layers,.crucible-field-practice>div,.crucible-field-consent-grid,.crucible-field-care-grid,.crucible-field-ladder>div,.heavens-entry-doors,.heavens-reference-grid,.heavens-deeper-doors,.iwf-entry-strip,.iwf-framework,.iwf-fear-anchors{display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;gap:10px;padding:3px 3px 13px;margin-inline:-3px;scroll-snap-type:x mandatory;scroll-padding-inline:3px;overscroll-behavior-inline:contain;scrollbar-width:none}
  .today-field-layers::-webkit-scrollbar,.sanctuary-compass::-webkit-scrollbar,.upper-room-lanes::-webkit-scrollbar,.becoming-framework-grid::-webkit-scrollbar,.becoming-field-composition-grid::-webkit-scrollbar,.becoming-field-movements::-webkit-scrollbar,.becoming-field-utility::-webkit-scrollbar,.season-clocks::-webkit-scrollbar,.circle-field-layers::-webkit-scrollbar,.field-atlas-layer-grid::-webkit-scrollbar,.crucible-field-layers::-webkit-scrollbar,.crucible-field-practice>div::-webkit-scrollbar,.crucible-field-consent-grid::-webkit-scrollbar,.crucible-field-care-grid::-webkit-scrollbar,.crucible-field-ladder>div::-webkit-scrollbar,.heavens-entry-doors::-webkit-scrollbar,.heavens-reference-grid::-webkit-scrollbar,.heavens-deeper-doors::-webkit-scrollbar,.iwf-entry-strip::-webkit-scrollbar,.iwf-framework::-webkit-scrollbar,.iwf-fear-anchors::-webkit-scrollbar{display:none}
  .today-field-layers article{display:flex;flex:0 0 min(84vw,310px);flex-direction:column;min-height:292px;padding:16px 14px;border-radius:16px;scroll-snap-align:start;box-sizing:border-box}
  .today-field-layers article.is-current{grid-column:auto;min-height:292px}
  .today-field-layers article>div{display:flex;flex:1;flex-direction:column}
  .today-field-layers article>div>p:not(.room-label){font-size:13px;line-height:1.55}
  .today-field-layers h3{font-size:20px}
  .today-field-layers .today-field-actions{margin-top:auto}

  /* The orientation rail is a deck of its own; the intro is a first card,
     followed by four named doors. */
  .sanctuary-compass{padding:8px 6px 12px;margin-inline:-1px}
  .sanctuary-compass-intro,.sanctuary-compass button{flex:0 0 min(78vw,280px);min-height:132px;scroll-snap-align:start;box-sizing:border-box}
  .sanctuary-compass-intro{padding:14px 13px;border:1px solid rgba(91,119,95,.18);border-top:2px solid #5f7d68;border-radius:13px;background:rgba(255,252,247,.6)}
  .sanctuary-compass-intro strong{font-size:20px}
  .sanctuary-compass-intro small{font-size:11px;line-height:1.45}
  .sanctuary-compass button{padding:14px 13px;border-top-width:3px;border-radius:13px}
  .sanctuary-compass button b{font-size:19px}
  .sanctuary-compass button small{font-size:11px;line-height:1.35}
  .sanctuary-compass button i{right:13px;bottom:11px;font-size:17px}

  /* The same card rhythm carries through Becoming, the shared room, and the
     Season so a person learns one gesture and can use it everywhere. */
  .becoming-framework-grid article,.becoming-field-composition-grid article,.becoming-field-movements article,.becoming-field-utility article{flex:0 0 min(82vw,300px);min-height:205px;scroll-snap-align:start;box-sizing:border-box}
  .becoming-framework-grid article{min-height:220px}
  .becoming-field-composition-grid article{min-height:230px}
  .becoming-field-movements article,.becoming-field-utility article{min-height:190px}
  .upper-room-lanes article{flex:0 0 min(82vw,300px);min-height:150px;scroll-snap-align:start;box-sizing:border-box}
  .season-clocks li{flex:0 0 min(72vw,250px);min-height:132px;scroll-snap-align:start;box-sizing:border-box}
  .season-clocks li:last-child{grid-column:auto}

  /* Every multi-voice field now uses the same thumb-sized envelope. A card
     remains readable at 320px, while the next card stays visible as an
     invitation rather than collapsing into a tiny desktop grid. */
  .circle-field-layer,.field-atlas-layer-grid article,.crucible-field-card,.crucible-field-practice>div>span,.crucible-field-consent-grid article,.crucible-field-care-grid article,.crucible-field-ladder>div>span,.heavens-entry-doors>*,.heavens-reference-grid article,.heavens-deeper-doors article{flex:0 0 min(82vw,300px);min-height:180px;scroll-snap-align:start;box-sizing:border-box}
  .circle-field-layer{min-height:210px;padding:14px 13px}
  .field-atlas-layer-grid article{min-height:210px;padding:15px 13px}
  .crucible-field-card{min-height:190px;padding:15px 13px}
  .crucible-field-practice>div>span{min-height:150px;padding:14px 13px}
  .crucible-field-consent-grid article{min-height:170px;padding:14px 13px}
  .crucible-field-care-grid article{min-height:150px;padding:14px 13px}
  .crucible-field-ladder>div>span{min-height:120px;padding:12px 10px}
  .heavens-entry-doors>*,.heavens-reference-grid article,.heavens-deeper-doors article{min-height:220px;padding:16px 14px}
  .heavens-reference-grid article{min-height:300px}
  .heavens-entry-doors,.heavens-reference-grid,.heavens-deeper-doors{padding-inline:3px}
  .iwf-entry-strip .iwf-tile,.iwf-framework>div,.iwf-fear-anchors article{flex:0 0 min(78vw,280px);min-height:132px;scroll-snap-align:start;box-sizing:border-box}
  .iwf-entry-strip .iwf-tile{min-width:0;width:auto;display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;text-align:left}
  .iwf-framework>div{padding:14px 13px}
  .iwf-fear-anchors article{padding:16px 14px}

  /* The Crucible's utility lanes should read as a sequence, not a stack of
     equal-weight controls. The first card is the invitation; the rest are
     deliberate next steps. */
  .crucible-field-practice>div,.crucible-field-consent-grid,.crucible-field-care-grid,.crucible-field-ladder>div{margin-inline:-3px}
  .crucible-field-practice>div>span strong{font-size:10px}
  .crucible-field-practice>div>span small,.crucible-field-care-grid article p,.crucible-field-ladder>div>span{font-size:11px;line-height:1.5}
}
@media (prefers-reduced-motion:reduce){
  .sanctuary-compass button,.today-field-layers article,.circle-field-layer,.field-atlas-layer-grid article,.crucible-field-card,.crucible-field-practice>div>span,.crucible-field-consent-grid article,.crucible-field-care-grid article,.crucible-field-ladder>div>span,.heavens-entry-doors>*,.heavens-reference-grid article,.heavens-deeper-doors article,.iwf-entry-strip .iwf-tile,.iwf-framework>div,.iwf-fear-anchors article{scroll-snap-align:none}
}

/* v530 — Keeper framework bridge + Season in Together.
   The Keeper is an interpretive companion, not a sixth framework. This bridge
   makes its posture visible before a person offers words; the shared-present
   card gives Together a usable seasonal handoff without importing private sky
   or treating a quiet member as a problem. */
.keeper-framework-bridge{position:relative;margin:20px 0 22px;padding:20px 16px 15px;border:1px solid rgba(182,138,58,.3);border-top:3px solid #b28a4b;border-radius:20px;background:radial-gradient(circle at 94% 0%,rgba(210,180,109,.16),transparent 35%),linear-gradient(150deg,rgba(255,250,241,.96),rgba(244,233,214,.78));box-shadow:0 16px 34px -24px rgba(42,27,20,.28);overflow:hidden}
.keeper-framework-bridge header h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.1;color:var(--ink)}
.keeper-framework-bridge header>p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ash)}
.keeper-framework-voices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:16px}
.keeper-framework-voices article{min-height:112px;padding:11px 9px;border-top:2px solid #5f7d68;background:rgba(255,252,247,.68)}
.keeper-framework-voices article.is-season{border-color:#a3784e;background:rgba(248,239,222,.72)}
.keeper-framework-voices article.is-walk{border-color:#b28a4b;background:rgba(246,236,218,.65)}
.keeper-framework-voices article.is-between{border-color:#786184;background:rgba(242,237,244,.68)}
.keeper-framework-voices article>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid currentColor;border-radius:50%;font-family:var(--head);font-size:15px;color:#5f7d68}
.keeper-framework-voices .is-season>span{color:#a3784e}.keeper-framework-voices .is-walk>span{color:#b28a4b}.keeper-framework-voices .is-between>span{color:#786184}
.keeper-framework-voices .room-label{margin-top:9px}.keeper-framework-voices h3{margin-top:3px;font-family:var(--display);font-size:16px;line-height:1.12;color:var(--ink)}.keeper-framework-voices small{display:block;margin-top:5px;font-size:10px;line-height:1.35;color:var(--ash)}
.keeper-season-offering{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:12px;padding:13px 12px;border:1px solid rgba(178,138,75,.28);border-radius:13px;background:rgba(255,249,239,.62)}
.keeper-season-offering h3{margin-top:4px;font-family:var(--head);font-size:20px;line-height:1.12;color:var(--ink)}.keeper-season-offering p:not(.room-label){margin-top:6px;font-family:var(--display);font-size:13px;line-height:1.48;color:var(--ash)}
.keeper-depth{margin-top:24px;padding:15px 14px;border:1px solid rgba(120,97,132,.24);border-radius:16px;background:linear-gradient(145deg,rgba(247,242,247,.86),rgba(239,231,241,.62))}
.keeper-depth>p:not(.room-label){margin-top:5px;font-family:var(--display);font-size:13.5px;line-height:1.48;color:var(--ash)}
.keeper-depth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.keeper-depth-grid button{display:flex;flex-direction:column;align-items:flex-start;min-height:70px;padding:10px 11px;border:1px solid rgba(120,97,132,.2);border-radius:12px;background:rgba(255,252,247,.66);color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.keeper-depth-grid button.is-active{border-color:#786184;background:#33263a;color:#f4e9f6;box-shadow:0 7px 20px rgba(68,44,78,.16)}
.keeper-depth-grid b{font-family:var(--head);font-size:15px;font-weight:500}
.keeper-depth-grid small{margin-top:5px;font-size:10px;line-height:1.35;color:var(--ash)}
.keeper-depth-grid button.is-active small{color:#d9c7df}
body.quiet .keeper-depth{background:rgba(244,235,221,.04);border-color:rgba(210,180,109,.16)}body.quiet .keeper-depth>p:not(.room-label){color:#b7aaa0}body.quiet .keeper-depth-grid button{background:rgba(244,235,221,.04);color:#f3e6c8;border-color:rgba(210,180,109,.16)}body.quiet .keeper-depth-grid button.is-active{background:#4b3653;border-color:#a887b8}body.quiet .keeper-depth-grid small{color:#b7aaa0}
@media(max-width:390px){.keeper-depth-grid{grid-template-columns:1fr}}
.keeper-framework-action,.together-season-action{border:0;background:none;padding:8px 1px;font-family:var(--ui);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-ink);cursor:pointer;white-space:nowrap}.keeper-framework-action:hover,.together-season-action:hover{color:var(--ink)}
.keeper-framework-boundary{margin:12px 1px 0;padding-top:10px;border-top:1px solid rgba(182,138,58,.2);font-family:var(--ui);font-size:9.5px;line-height:1.52;color:var(--ash-quiet)}.keeper-framework-boundary strong{color:#a3784e}
.together-season-offering{margin:20px 0;padding:19px 16px 15px;border:1px solid rgba(178,138,75,.34)!important;border-top:3px solid #a3784e!important;border-radius:21px!important;background:radial-gradient(circle at 94% 0%,rgba(210,180,109,.16),transparent 34%),linear-gradient(150deg,rgba(255,250,241,.96),rgba(242,229,208,.78))!important;box-shadow:0 16px 36px -24px rgba(42,27,20,.26)}
.together-season-offering>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.together-season-offering h2{margin-top:5px;font-family:var(--head);font-size:25px;line-height:1.1;color:var(--ink)}.together-season-offering header p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--ash)}.together-season-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(178,138,75,.66);border-radius:50%;font-size:19px;color:#8a5d1b}
.together-season-clocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0 0;padding:0;list-style:none}.together-season-clocks li{min-height:91px;padding:11px 10px;border-top:2px solid rgba(178,138,75,.58);background:rgba(255,249,239,.62)}.together-season-clocks b,.together-season-clocks span{display:block}.together-season-clocks b{font-family:var(--head);font-size:16px;color:var(--codex-sepia)}.together-season-clocks span{margin-top:5px;font-size:10.5px;line-height:1.4;color:var(--ash)}
.together-season-host{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:12px;padding:13px 12px;border:1px solid rgba(178,138,75,.24);border-radius:13px;background:rgba(255,249,239,.56)}.together-season-host h3{margin-top:4px;font-family:var(--head);font-size:20px;line-height:1.12;color:var(--ink)}.together-season-host p:not(.room-label){margin-top:6px;font-family:var(--display);font-size:13px;line-height:1.5;color:var(--ash)}
.together-season-offering footer{margin-top:12px;padding-top:10px;border-top:1px solid rgba(178,138,75,.2);font-family:var(--ui);font-size:9.5px;line-height:1.5;color:var(--ash-quiet)}.together-season-offering footer strong{color:#a3784e}
body.quiet .keeper-framework-bridge,body.quiet .together-season-offering{background:linear-gradient(150deg,rgba(28,22,18,.94),rgba(18,14,11,.96))!important;border-color:rgba(210,180,109,.18)!important;box-shadow:none}body.quiet .keeper-framework-bridge h2,body.quiet .keeper-season-offering h3,body.quiet .together-season-offering h2,body.quiet .together-season-host h3{color:#f3e6c8}body.quiet .keeper-framework-bridge header>p:not(.room-label),body.quiet .keeper-framework-voices small,body.quiet .keeper-season-offering p:not(.room-label),body.quiet .keeper-framework-boundary,body.quiet .together-season-offering header p:not(.room-label),body.quiet .together-season-clocks span,body.quiet .together-season-host p:not(.room-label),body.quiet .together-season-offering footer{color:#b7aaa0}body.quiet .keeper-framework-voices article,body.quiet .keeper-season-offering,body.quiet .together-season-clocks li,body.quiet .together-season-host{background:rgba(244,235,221,.05)}
@media(max-width:600px){
  .keeper-framework-voices,.together-season-clocks{display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;gap:9px;margin-inline:-3px;padding:3px 3px 11px;scroll-snap-type:x mandatory;scroll-padding-inline:3px;scrollbar-width:none;overscroll-behavior-inline:contain}
  .keeper-framework-voices::-webkit-scrollbar,.together-season-clocks::-webkit-scrollbar{display:none}
  .keeper-framework-voices article{flex:0 0 min(72vw,250px);min-height:132px;scroll-snap-align:start;box-sizing:border-box;padding:14px 13px}.together-season-clocks li{flex:0 0 min(72vw,250px);min-height:118px;scroll-snap-align:start;box-sizing:border-box;padding:14px 13px}
  .keeper-season-offering,.together-season-host{grid-template-columns:1fr;gap:7px}.keeper-framework-action,.together-season-action{justify-self:start;padding-left:0}.together-season-offering>header{grid-template-columns:minmax(0,1fr) auto}
}
@media(prefers-reduced-motion:reduce){.keeper-framework-voices,.together-season-clocks{scroll-snap-type:none}.keeper-framework-voices article,.together-season-clocks li{scroll-snap-align:none}}

/* ============================================================
   V545 · ACCESSIBLE STILLNESS FOR THE NEW DAILY HIERARCHY
   Stillness lowers the room, not the words. New translucent light panels
   must become dark surfaces before the shared dark-mode text tokens apply.
   ============================================================ */
body.quiet .today-more-room-grid button,
body.quiet .library-active-arc,
body.quiet .library-active-arc .room-section,
body.quiet .today-current-studies,
body.quiet .library-current-studies,
body.quiet .library-shelf,
body.quiet .library-study-card,
body.quiet .settings-covenant-receipt,
body.quiet .season-architecture-door>summary{
  background:#251c16;
  border-color:rgba(210,180,109,.18);
  box-shadow:none;
}
body.quiet .today-more-room-grid button>span,
body.quiet .today-more-room-grid strong,
body.quiet .library-active-arc h2,
body.quiet .library-active-arc .room-title,
body.quiet .today-current-studies h2,
body.quiet .today-current-studies .today-continue-card>strong,
body.quiet .library-current-studies h2,
body.quiet .library-shelf h2,
body.quiet .library-study-card strong,
body.quiet .season-architecture-door>summary strong{
  color:#f3e6c8;
}
body.quiet .today-more-room-grid small,
body.quiet .library-active-arc>p:not(.room-label),
body.quiet .library-active-arc .room-body,
body.quiet .today-current-studies .today-continue-card>small,
body.quiet .library-current-studies>p:not(.room-label),
body.quiet .library-shelf>p:not(.room-label),
body.quiet .library-study-card small,
body.quiet .settings-covenant-receipt p{
  color:#c8b9a5;
}
body.quiet .today-sanctuary-kicker,
body.quiet .today-continue-card>strong,
body.quiet .library-active-arc .room-label,
body.quiet .settings-covenant-receipt .settings-kicker,
body.quiet .settings-covenant-receipt span,
body.quiet .season-architecture-door>summary small,
body.quiet .season-architecture-door>summary i,
body.quiet .becoming-secondary-doors span,
body.quiet .practice-engine-steps li>span,
body.quiet .practice-fruit-triad span{
  color:var(--soft-gold);
}
body.quiet .practice-fruit-triad span{background:#2b211b}
body.quiet .becoming-module-action{background:#251c16;color:#f3e6c8;border-color:rgba(210,180,109,.22)}
body.quiet .becoming-module-action span,
body.quiet .becoming-module-mark{color:var(--soft-gold)}

/* Small colored glyphs remain decorative, but when they carry a visible
   character the character still meets the same contrast floor as text. */
.together-screen .circle-field-layer.is-weather .circle-field-glyph{color:#74451f}
.keeper-framework-voices .is-walk>span{color:#74451f}
.keeper-framework-voices .is-season>span{color:#754a2a}
.keeper-framework-boundary strong{color:#74451f}
.library-study-door .card .label,
.together-study-door .together-weather-preview .room-label{color:var(--codex-sepia)}
body.quiet .together-screen .circle-field-glyph,
body.quiet .together-screen .circle-field-layer.is-weather .circle-field-glyph,
body.quiet .together-screen .circle-field-atlas-head>span,
body.quiet .keeper-framework-voices article>span,
body.quiet .keeper-framework-voices .is-walk>span,
body.quiet .keeper-framework-voices .is-season>span,
body.quiet .keeper-framework-boundary strong,
body.quiet .library-study-door .card .label,
body.quiet .together-study-door .together-weather-preview .room-label{
  color:var(--soft-gold);
}
.keeper-framework-voices article>span{color:#49634d}
body.quiet .becoming-framework-rail>header>span,
body.quiet .becoming-module-card.is-record .becoming-module-mark{color:var(--soft-gold)}
.settings-actions button{background:var(--warm-ivory);color:var(--ink)}
body.quiet .settings-actions button{background:#251c16;color:#f3e6c8}

/* ============================================================
   V546 · TOGETHER AS SHARED RETURN + SETTINGS AS A QUIET HOME
   ============================================================ */
.hearth-holding,.hearth-crucible,.circle-huddle,.common-table{margin:18px 0;padding:18px 16px;border:1px solid rgba(140,129,118,.23);border-radius:18px;background:linear-gradient(145deg,rgba(255,252,246,.94),rgba(246,236,220,.72))}
.hearth-holding{border-top:3px solid #a66d50}.hearth-crucible{border-top:3px solid #8b4b37}.circle-huddle{border-top:3px solid #786184}.common-table{border-top:3px solid #b28a4b}
.hearth-holding h3,.hearth-crucible h3,.circle-huddle h2,.common-table h2{margin-top:5px;font-family:var(--head);font-size:23px;line-height:1.14;color:var(--ink)}
.hearth-holding>p:not(.room-label),.hearth-crucible>p:not(.room-label),.circle-huddle>p,.common-table>p{margin-top:7px;font-family:var(--display);font-size:14px;line-height:1.6;color:var(--ash)}
.hearth-holding-row,.circle-huddle-row,.common-table-row,.hearth-crucible-state{margin-top:12px;padding:12px;border:1px solid rgba(140,129,118,.2);border-radius:12px;background:rgba(255,252,247,.72)}
.hearth-holding-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.hearth-holding-row strong,.hearth-holding-row span,.hearth-holding-row small{display:block}.hearth-holding-row span{margin-top:3px;font-family:var(--display);font-size:15px;color:var(--ink)}.hearth-holding-row small{margin-top:3px;color:var(--ash)}
.hearth-holding details,.hearth-crucible details,.circle-huddle details,.common-table details{margin-top:13px}.hearth-holding summary,.hearth-crucible summary,.circle-huddle summary,.common-table summary{cursor:pointer;font-family:var(--ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-ink);padding:7px 0}
.hearth-holding select,.hearth-holding input,.hearth-crucible textarea,.circle-huddle input,.common-table select,.common-table textarea{display:block;width:100%;box-sizing:border-box;margin-top:9px;padding:11px 12px;border:1px solid rgba(140,129,118,.28);border-radius:10px;background:rgba(255,252,247,.72);font:15px/1.45 var(--display);color:var(--ink)}
.circle-huddle-row h3{margin-top:3px;font-family:var(--display);font-size:18px;color:var(--ink)}.circle-huddle-row p,.hearth-crucible-state p{margin-top:5px;color:var(--ash);line-height:1.55}.circle-huddle-row small{display:block;margin-top:6px;color:var(--ash-quiet)}
.common-table-row>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.common-table-row>div span{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-ink)}.common-table-row>div strong{font-family:var(--display);font-size:14px;color:var(--ash)}.common-table-row>p{margin-top:8px;font-family:var(--display);font-size:16px;line-height:1.55;color:var(--ink)}
.together-repair-card{border-top:3px solid #8b4b37;background:linear-gradient(145deg,rgba(255,249,242,.94),rgba(244,229,218,.72))}

.settings-chamber{margin:10px 0;border:1px solid rgba(140,129,118,.22);border-radius:15px;background:rgba(255,252,247,.72);overflow:hidden}
.settings-chamber>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:64px;padding:13px 15px;cursor:pointer;list-style:none}.settings-chamber>summary::-webkit-details-marker{display:none}.settings-chamber>summary span,.settings-chamber>summary small,.settings-chamber>summary strong{display:block}.settings-chamber>summary small{font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-ink)}.settings-chamber>summary strong{margin-top:3px;font-family:var(--display);font-size:18px;color:var(--ink)}.settings-chamber>summary em{font-family:var(--ui);font-size:10px;font-style:normal;color:var(--ash);text-align:right}.settings-chamber>summary:after{content:"+";grid-column:3;grid-row:1;font-family:var(--head);font-size:19px;color:var(--label-ink)}.settings-chamber[open]>summary:after{content:"−"}.settings-chamber-body{padding:0 15px 16px;border-top:1px solid rgba(140,129,118,.16)}.settings-chamber-body>.settings-copy{margin-top:13px}
.settings-consent-standard{margin:12px 0 18px;padding:0 14px;border-left:2px solid rgba(182,138,58,.5)}.settings-consent-standard>summary{padding:8px 0;cursor:pointer;font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}.settings-consent-standard>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:7px 0 12px}.settings-consent-standard p{font-size:11px;line-height:1.45;color:var(--ash)}.settings-consent-standard strong{color:var(--ink)}
.settings-covenant-receipt .sh-link{display:block;margin-top:9px}

button,a,input,select,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(132,92,32,.62);outline-offset:3px}.sh-cmd,.sh-link,.settings-pill,.settings-actions button{min-height:44px}
body.quiet .hearth-holding,body.quiet .hearth-crucible,body.quiet .circle-huddle,body.quiet .common-table,body.quiet .hearth-holding-row,body.quiet .circle-huddle-row,body.quiet .common-table-row,body.quiet .hearth-crucible-state,body.quiet .settings-chamber{background:#251c16;border-color:rgba(210,180,109,.18)}
body.quiet .hearth-holding h3,body.quiet .hearth-crucible h3,body.quiet .circle-huddle h2,body.quiet .common-table h2,body.quiet .hearth-holding-row span,body.quiet .circle-huddle-row h3,body.quiet .common-table-row>p,body.quiet .settings-chamber>summary strong{color:#f3e6c8}
@media(max-width:390px){.settings-consent-standard>div{grid-template-columns:1fr}.hearth-holding-row{grid-template-columns:1fr}.settings-chamber>summary{grid-template-columns:minmax(0,1fr) auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ============================================================
   V555 · THE MORNING TEACHING LETTER
   Two authors remain visibly distinct: the practitioner's unedited words and
   the House's finite, Keeper-prepared teaching story.
   ============================================================ */
.evening-house-letter{margin-top:22px;padding:20px 17px;border:1px solid rgba(101,72,48,.48);background:radial-gradient(circle at 100% 0,rgba(182,138,58,.16),transparent 42%),linear-gradient(150deg,#2b1c17,#1c1411);color:#f4ecdf}
.evening-house-letter .return-movement-label{color:#d8b96d}.evening-house-letter h4{margin-top:8px;font-family:var(--head);font-size:25px;font-weight:400;color:#fff8eb}
.evening-house-letter>p:not(.return-movement-label){margin-top:8px;font-family:var(--display);font-size:15px;line-height:1.65;color:#d8cbbd}
.evening-house-letter .return-quiet-action{margin-top:17px;border-color:rgba(216,185,109,.58);color:#f3dfad;background:rgba(255,255,255,.025)}
.evening-house-letter .evening-draft-note{color:#b9aa9b;font-size:12px}.evening-letter-sealed{display:grid;grid-template-columns:34px 1fr;gap:2px 11px;margin-top:18px;padding:15px 14px;border:1px solid rgba(216,185,109,.34);background:rgba(255,255,255,.035)}
.evening-letter-sealed>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(216,185,109,.6);border-radius:50%;color:#d8b96d}.evening-letter-sealed strong{font-family:var(--display);font-size:16px;font-weight:500;color:#fff8eb}.evening-letter-sealed small{font-family:var(--ui);font-size:10px;letter-spacing:.06em;color:#b9aa9b}
.evening-letter-sealed.is-waiting>span{animation:return-letter-pulse 1.7s ease-in-out infinite}.evening-letter-unavailable{margin-top:17px;padding:13px;border-left:2px solid #bd8c46;background:rgba(255,255,255,.035)}.evening-letter-unavailable strong,.evening-letter-unavailable span{display:block}.evening-letter-unavailable strong{font-family:var(--display);font-size:15px;color:#fff8eb}.evening-letter-unavailable span{margin-top:4px;font-family:var(--ui);font-size:11px;color:#c7b9a9}
@keyframes return-letter-pulse{50%{opacity:.42;transform:scale(.92)}}
.morning-letter-reception{width:100%;margin-top:27px;padding:20px 17px;border:1px solid rgba(182,138,58,.32);background:linear-gradient(145deg,rgba(255,252,245,.86),rgba(240,229,211,.7));box-shadow:0 16px 34px rgba(68,43,29,.07)}
.morning-letter-reception>h3{margin-top:6px;font-family:var(--head);font-size:27px;font-weight:400;line-height:1.08;color:var(--codex-sepia)}.morning-letter-reception>p:not(.return-movement-label){margin-top:7px;font-family:var(--display);font-size:14.5px;line-height:1.6;color:var(--ash)}
.morning-letter-envelopes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:17px}.morning-letter-envelope{position:relative;min-height:166px;padding:17px 15px 15px;border:1px solid rgba(140,129,118,.3);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.morning-letter-envelope:hover,.morning-letter-envelope:focus-visible{transform:translateY(-2px);border-color:rgba(182,138,58,.75);box-shadow:0 10px 24px rgba(68,43,29,.1);outline:none}.morning-letter-envelope>span{display:block;font-family:var(--ui);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.morning-letter-envelope>strong{display:block;margin-top:12px;font-family:var(--head);font-size:20px;font-weight:400;line-height:1.12}.morning-letter-envelope>small{display:block;margin-top:8px;font-family:var(--display);font-style:italic;font-size:12.5px;line-height:1.45}.morning-letter-envelope>i{position:absolute;bottom:14px;left:15px;font-family:var(--ui);font-size:9px;font-style:normal;letter-spacing:.12em;text-transform:uppercase}
.morning-letter-envelope.is-self{background:#fffaf1;color:var(--codex-sepia)}.morning-letter-envelope.is-self>span,.morning-letter-envelope.is-self>i{color:var(--label-gold)}.morning-letter-envelope.is-self>small{color:var(--ash)}
.morning-letter-envelope.is-house{background:radial-gradient(circle at 100% 0,rgba(182,138,58,.18),transparent 44%),#241813;color:#f7eedf;border-color:rgba(182,138,58,.52)}.morning-letter-envelope.is-house>span,.morning-letter-envelope.is-house>i{color:#d8b96d}.morning-letter-envelope.is-house>small{color:#c8b9a9}
.morning-letter-open{width:100%;margin-top:27px;padding:23px 19px;border:1px solid rgba(182,138,58,.36)}.morning-letter-open.is-self{background:linear-gradient(145deg,#fffaf1,#f3e8d6)}.morning-letter-open.is-house{background:radial-gradient(circle at 100% 0,rgba(182,138,58,.15),transparent 34%),linear-gradient(150deg,#2b1c17,#1b1310);color:#f7eedf;border-color:rgba(182,138,58,.62);box-shadow:0 18px 36px rgba(36,24,19,.16)}
.morning-letter-open>h3{margin-top:8px;font-family:var(--head);font-size:29px;font-weight:400;line-height:1.08}.morning-letter-open.is-self>h3{color:var(--codex-sepia)}.morning-letter-open.is-house>h3{color:#fff8eb}.morning-letter-body{margin-top:20px}.morning-letter-body p{font-family:var(--display);font-size:17px;line-height:1.72}.morning-letter-body p+p{margin-top:15px}.morning-letter-open.is-self .morning-letter-body{font-style:italic;color:var(--ink)}.morning-letter-open.is-house .morning-letter-body{color:#e4d8ca}
.morning-letter-provenance{margin-top:22px;padding-top:14px;border-top:1px solid rgba(182,138,58,.25);font-family:var(--ui);font-size:9.5px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}.morning-letter-open.is-self .morning-letter-provenance{color:var(--ash)}.morning-letter-open.is-house .morning-letter-provenance{color:#bcae9f}.morning-letter-open .return-quiet-action{margin-top:17px}.morning-letter-open.is-house .return-quiet-action{border-color:rgba(216,185,109,.54);color:#f3dfad;background:rgba(255,255,255,.02)}
@media(max-width:430px){.morning-letter-envelopes{grid-template-columns:1fr}.morning-letter-envelope{min-height:140px}.morning-letter-body p{font-size:16.5px}.evening-house-letter{padding:18px 15px}}

/* ============================================================
   V563 · THE HEARTH — THE MAXIMALLY CONSENTED PAIR
   One enduring room, one mutually visible field, two whole persons.
   ============================================================ */
.hearth-tab-hero{
  position:relative;overflow:hidden;
  background:radial-gradient(circle at 84% 8%,rgba(205,163,86,.16),transparent 34%),linear-gradient(150deg,#2d2019,#1c1411 66%);
  border-color:rgba(194,153,78,.46);box-shadow:0 20px 44px rgba(47,30,22,.14)
}
.hearth-tab-hero:after{content:"";position:absolute;right:-95px;bottom:-118px;width:270px;height:270px;border:1px solid rgba(209,172,100,.15);border-radius:50%;box-shadow:0 0 0 34px rgba(209,172,100,.06),0 0 0 69px rgba(209,172,100,.035);pointer-events:none}
.hearth-governing-word{position:relative;z-index:1;margin:24px 0 0;padding:18px 0 0;border-top:1px solid rgba(218,184,113,.24);font-family:var(--display);font-size:18px;font-style:italic;line-height:1.55;color:#f3e6ce}
.hearth-governing-word cite{display:block;margin-top:8px;font-family:var(--ui);font-size:9px;font-style:normal;letter-spacing:.16em;text-transform:uppercase;color:#c8aa66}
.hearth-home{margin-top:24px}.hearth-pair-hero{position:relative;padding:25px 20px 23px;border:1px solid rgba(144,98,62,.38);border-radius:22px;background:linear-gradient(145deg,rgba(255,251,243,.96),rgba(241,225,204,.8));box-shadow:0 15px 32px rgba(61,40,27,.08);overflow:hidden}
.hearth-pair-hero h2{font-family:var(--head);font-size:32px;font-weight:400;line-height:1.05;color:var(--codex-sepia)}
.hearth-pair-hero .crucible-hero-line{margin-top:14px;font-family:var(--display);font-size:18px;line-height:1.55;color:var(--ink)}
.hearth-pair-hero .crucible-hero-sub{margin-top:8px;font-family:var(--display);font-style:italic;font-size:15px;line-height:1.55;color:var(--ash)}
.hearth-field,.hearth-movements,.hearth-more,.hearth-boundary,.hearth-pact,.hearth-empty,.hearth-invitation{margin-top:18px;padding:20px 17px;border:1px solid rgba(140,106,73,.28);border-radius:19px;background:linear-gradient(145deg,rgba(255,252,246,.96),rgba(246,235,218,.72));box-shadow:0 12px 26px rgba(55,36,25,.055)}
.hearth-field{border-top:3px solid #9a7052}.hearth-field>h3,.hearth-movements>h3,.hearth-more>h3{margin-top:6px;font-family:var(--head);font-size:26px;font-weight:400;line-height:1.08;color:var(--codex-sepia)}
.hearth-field-intro,.hearth-movements>p:not(.room-label),.hearth-more>p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:15px;line-height:1.62;color:var(--ash)}
.hearth-field-consent{margin-top:16px;padding:17px 15px;border:1px solid rgba(159,111,70,.34);background:rgba(255,249,238,.75)}
.hearth-field-consent strong{display:block;font-family:var(--display);font-size:19px;font-weight:500;color:var(--ink)}.hearth-field-consent p{margin-top:7px;font-size:13.5px;line-height:1.58;color:var(--ash)}
.hearth-primary-action{width:100%;min-height:48px;margin-top:14px;border:1px solid #6f4935;border-radius:12px;background:linear-gradient(145deg,#7a523b,#5d392b);box-shadow:0 10px 20px rgba(74,46,32,.14);font:11px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:#fff7e9;cursor:pointer}
.hearth-field-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.hearth-field-person{min-width:0;border:1px solid rgba(140,106,73,.24);background:rgba(255,252,247,.72)}
.hearth-field-person>header{display:flex;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid rgba(140,106,73,.18)}.hearth-field-person>header span{font-family:var(--ui);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-ink)}.hearth-field-person>header small{font-size:9px;color:var(--ash-quiet)}
.hearth-field-source{padding:12px}.hearth-field-source+.hearth-field-source{border-top:1px solid rgba(140,106,73,.16)}.hearth-field-source h4{font-family:var(--display);font-size:17px;font-weight:500;color:var(--codex-sepia)}.hearth-field-source p{margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.45;color:var(--ink)}.hearth-field-source p span{display:block;margin-bottom:2px;font-family:var(--ui);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}
.hearth-field-empty{margin-top:15px;padding:14px;border-left:2px solid rgba(157,111,69,.48);font-family:var(--display);font-style:italic;color:var(--ash)}
.hearth-field-controls{margin-top:15px;border-top:1px solid rgba(140,106,73,.18)}.hearth-field-controls>summary,.hearth-boundary>summary,.hearth-pact>summary{padding:14px 0 7px;cursor:pointer;font-family:var(--ui);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-ink)}.hearth-field-controls>p{margin:4px 0 10px;font-size:12.5px;line-height:1.5;color:var(--ash)}
.hearth-veil-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:9px 11px;border:1px solid rgba(140,106,73,.2);background:rgba(255,252,247,.7);color:var(--ink);cursor:pointer}.hearth-veil-toggle+.hearth-veil-toggle{margin-top:6px}.hearth-veil-toggle span{font-family:var(--display);font-size:15px}.hearth-veil-toggle em{font-family:var(--ui);font-size:8px;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:#6c795e}.hearth-veil-toggle.is-veiled{opacity:.72}.hearth-veil-toggle.is-veiled em{color:var(--ash)}
.hearth-movements{border-top:3px solid #7f654d}.hearth-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.hearth-mode-grid>button{min-height:188px;padding:18px 15px;border:1px solid rgba(126,91,60,.34);border-radius:15px;background:linear-gradient(150deg,#fffaf1,#f3e5d0);text-align:left;color:var(--ink);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.hearth-mode-grid>button:hover,.hearth-mode-grid>button:focus-visible{transform:translateY(-2px);border-color:#9a6b43;box-shadow:0 12px 22px rgba(67,42,27,.1)}
.hearth-mode-grid span,.hearth-mode-grid strong,.hearth-mode-grid em,.hearth-mode-grid i{display:block}.hearth-mode-grid span{font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-ink)}.hearth-mode-grid strong{margin-top:12px;font-family:var(--display);font-size:18px;font-weight:500;line-height:1.35;color:var(--codex-sepia)}.hearth-mode-grid em{margin-top:8px;font-family:var(--display);font-size:13px;font-style:normal;line-height:1.5;color:var(--ash)}.hearth-mode-grid i{margin-top:17px;font-family:var(--ui);font-size:9px;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#744a31}
.hearth-awaiting{display:grid;grid-template-columns:32px 1fr;gap:3px 10px;margin-top:16px;padding:15px;border:1px solid rgba(153,111,68,.3);background:rgba(255,248,236,.72)}.hearth-awaiting>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border:1px solid #a67c4a;border-radius:50%;color:#9a6b35}.hearth-awaiting strong{font-family:var(--display);font-size:17px;font-weight:500;color:var(--ink)}.hearth-awaiting p{font-size:13px;line-height:1.5;color:var(--ash)}.hearth-close-link{margin-top:12px;text-align:center}.hearth-close-link a{font-family:var(--display);font-style:italic;color:var(--ash)}
.hearth-holding{box-shadow:0 12px 26px rgba(55,36,25,.045)}
.hearth-more{padding-bottom:12px;border-top:3px solid #9a7a42}.hearth-secondary{margin-top:11px;border:1px solid rgba(140,106,73,.22);border-radius:13px;background:rgba(255,252,247,.7);overflow:hidden}.hearth-secondary>summary{display:block;padding:14px 40px 14px 14px;position:relative;cursor:pointer;list-style:none}.hearth-secondary>summary::-webkit-details-marker{display:none}.hearth-secondary>summary:after{content:"+";position:absolute;right:15px;top:18px;font-family:var(--head);font-size:20px;color:var(--label-ink)}.hearth-secondary[open]>summary:after{content:"−"}.hearth-secondary>summary span,.hearth-secondary>summary strong{display:block}.hearth-secondary>summary span{font-family:var(--ui);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--label-ink)}.hearth-secondary>summary strong{margin-top:5px;font-family:var(--display);font-size:16px;font-weight:500;line-height:1.35;color:var(--ink)}
.hearth-secondary-body{padding:15px;border-top:1px solid rgba(140,106,73,.18)}.hearth-secondary-body>p{font-size:14px;line-height:1.55;color:var(--ash)}.hearth-secondary-body label{display:block;margin-top:12px;font-family:var(--ui);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}.hearth-secondary-body textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:11px;border:1px solid rgba(140,106,73,.28);border-radius:10px;background:#fffaf2;font:15px/1.5 var(--display);color:var(--ink)}.hearth-secondary-body blockquote{padding:12px 13px;border-left:2px solid #a47548;font-family:var(--display);font-size:17px;font-style:italic;line-height:1.55;color:var(--codex-sepia);background:rgba(161,117,71,.055)}.hearth-secondary-body blockquote cite{display:block;margin-top:7px;font-family:var(--ui);font-size:8px;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--ash)}
.hearth-study-options{display:grid;gap:8px;margin-top:12px}.hearth-study-options button{padding:13px;border:1px solid rgba(140,106,73,.24);background:#fffaf2;text-align:left;cursor:pointer}.hearth-study-options strong,.hearth-study-options span{display:block}.hearth-study-options strong{font-family:var(--display);font-size:16px;color:var(--ink)}.hearth-study-options span{margin-top:4px;font-size:12px;line-height:1.45;color:var(--ash)}.hearth-shared-word{margin:13px 0;padding:12px;border-left:2px solid #a57b45;background:rgba(165,123,69,.06)}.hearth-shared-word span{font-family:var(--ui);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-ink)}.hearth-shared-word p{margin-top:6px;font-family:var(--display);font-style:italic;color:var(--ink)}
.hearth-boundary,.hearth-pact{padding:2px 16px 14px;background:rgba(247,239,228,.72);box-shadow:none}.hearth-boundary p,.hearth-pact p{margin-top:8px;font-size:13px;line-height:1.58;color:var(--ash)}.hearth-boundary .sh-link{margin:12px 12px 0 0}.hearth-invitation,.hearth-empty{border-top:3px solid #9a7052}
.hearth-room-field{margin-top:15px;border:1px solid rgba(140,106,73,.24);background:rgba(255,252,247,.78)}.hearth-room-field>summary{padding:13px;cursor:pointer;font-family:var(--ui);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--label-ink)}.hearth-room-field>p{padding:0 13px 12px;font-size:12px;line-height:1.5;color:var(--ash)}.hearth-room-field-person{padding:12px 13px;border-top:1px solid rgba(140,106,73,.17)}.hearth-room-field-person>strong{font-family:var(--display);font-size:16px;font-weight:500;color:var(--ink)}.hearth-room-field-person .hearth-field-source{padding:10px 0}
/* v593 — hearth-conversation-* rules, hearth-thread* rules, hearth-
   composer, hearth-word-starters and hearth-keeper-boundary all retired
   with renderHearth; nothing renders them any more. */
body.quiet .hearth-pair-hero,body.quiet .hearth-field,body.quiet .hearth-movements,body.quiet .hearth-more,body.quiet .hearth-field-person,body.quiet .hearth-secondary,body.quiet .hearth-secondary-body,body.quiet .hearth-mode-grid>button,body.quiet .hearth-room-field{background:#251c16;border-color:rgba(210,180,109,.2)}
body.quiet .hearth-pair-hero h2,body.quiet .hearth-pair-hero .crucible-hero-line,body.quiet .hearth-field>h3,body.quiet .hearth-movements>h3,body.quiet .hearth-more>h3,body.quiet .hearth-field-source h4,body.quiet .hearth-field-source p,body.quiet .hearth-mode-grid strong,body.quiet .hearth-secondary>summary strong,body.quiet .hearth-room-field-person>strong{color:#f3e6c8}
@media(max-width:470px){.hearth-field-people,.hearth-mode-grid{grid-template-columns:1fr}.hearth-mode-grid>button{min-height:154px}.hearth-pair-hero h2{font-size:28px}}

/* ============================================================
   V564 · THE HEARTH — TRUST-FIRST RELATIONAL INSTRUMENT
   The pair is primary; shared data and the Keeper remain subordinate.
   ============================================================ */
.hearth-movements{border-top-width:4px;box-shadow:0 16px 34px rgba(55,36,25,.085)}
.hearth-field-receipt{margin-top:12px;padding:10px 12px;border-left:2px solid #a77b42;background:rgba(167,123,66,.07);font:12px/1.5 var(--ui);color:var(--ash)}
.hearth-field-receipt.is-error{border-color:#8b4b37;background:rgba(139,75,55,.07);color:#6e392d}
.hearth-open-mode{margin-top:16px;padding:18px 16px;border:1px solid rgba(126,91,60,.34);border-radius:15px;background:linear-gradient(150deg,#fffaf1,#f3e5d0)}
.hearth-open-mode>span,.hearth-open-mode>strong{display:block}.hearth-open-mode>span{font:9px/1.3 var(--ui);letter-spacing:.13em;text-transform:uppercase;color:var(--label-ink)}.hearth-open-mode>strong{margin-top:8px;font:500 19px/1.35 var(--display);color:var(--codex-sepia)}
.hearth-seat-selector{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px;padding:11px;border:1px solid rgba(140,106,73,.22);background:rgba(255,252,247,.7)}
.hearth-seat-selector>span{grid-column:1/-1;font:9px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--label-ink)}
.hearth-seat-selector>button{min-height:42px;padding:8px;border:1px solid rgba(140,106,73,.24);border-radius:9px;background:transparent;font:15px/1.25 var(--display);color:var(--ash);cursor:pointer}.hearth-seat-selector>button.is-on{border-color:#9b6d3c;background:#fff7e9;box-shadow:inset 0 0 0 1px #d3ad67;color:var(--ink)}
.hearth-close-without{margin:5px auto 0}.hearth-closed{margin-top:24px;padding:30px 22px;border:1px solid rgba(182,138,58,.48);background:radial-gradient(circle at 100% 0,rgba(182,138,58,.16),transparent 35%),linear-gradient(150deg,#2d2019,#1c1411);text-align:center}.hearth-closed h1{margin-top:10px;font:400 34px/1.08 var(--head);color:#fff8eb}.hearth-closed>p:not(.eyebrow){margin-top:16px;font:17px/1.65 var(--display);color:#d8cbbd}.hearth-closed blockquote{margin:24px 0 5px;padding:18px 0;border-top:1px solid rgba(218,184,113,.26);border-bottom:1px solid rgba(218,184,113,.26);font:italic 20px/1.65 var(--display);color:#f3e6ce}.hearth-closed .hearth-primary-action{border-color:#b28a4b;background:rgba(255,255,255,.035);color:#f3dfad}
/* v593 — hearth-permission rules retired with hearthPermissionHTML; nothing renders them any more. */
body.quiet .hearth-open-mode,body.quiet .hearth-seat-selector,body.quiet .hearth-seat-selector>button{background:#251c16;border-color:rgba(210,180,109,.2)}
body.quiet .hearth-open-mode>strong,body.quiet .hearth-seat-selector>button.is-on{color:#f3e6c8}
@media(max-width:390px){.hearth-seat-selector{grid-template-columns:1fr}.hearth-seat-selector>span{grid-column:1}.hearth-closed{padding:26px 17px}.hearth-closed h1{font-size:30px}}

/* ============================================================
   V565 · CIRCLES — TRUSTED FRIENDSHIP AT THE LONG TABLE
   Conversation is primary. The Keeper, Huddle, Table, study, and keeping
   remain visibly subordinate to the friends themselves.
   ============================================================ */
.circle-v565{margin-top:22px;padding-bottom:36px}.circle-v565>*+*{margin-top:17px}
.circle-v565-people,.circle-v565-conversation,.circle-v565-huddle,.circle-v565-huddle-call,.circle-v565-table,.circle-v565-movement,.circle-v565-study,.circle-v565-keeping,.circle-v565-forming{border:1px solid rgba(145,105,67,.28);background:linear-gradient(145deg,rgba(255,252,246,.97),rgba(246,235,218,.72));box-shadow:0 12px 28px rgba(55,36,25,.055)}
.circle-v565-people{padding:17px 15px;border-top:3px solid #8c6848}.circle-v565-people>div{display:flex;gap:9px;overflow-x:auto;padding:13px 0 8px}.circle-v565-person{display:grid;grid-template-columns:36px auto;grid-template-rows:18px 15px;gap:0 8px;min-width:max-content;align-items:center}.circle-v565-person b{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border:1px solid #b68a3a;border-radius:50%;background:#fffaf1;font:500 15px/1 var(--display);color:#6b472f}.circle-v565-person em{font:normal 15px/1.2 var(--display);color:var(--ink)}.circle-v565-person small{font:8px/1 var(--ui);letter-spacing:.11em;text-transform:uppercase;color:var(--label-ink)}
.circle-v565-forming{padding:16px;border-left:4px solid #b68a3a}.circle-v565-forming p:last-child{margin-top:6px;font:15px/1.55 var(--display);color:var(--ash)}
.circle-v565-conversation{padding:22px 17px;border-top:4px solid #7a543d}.circle-v565-conversation h2,.circle-v565-huddle h2,.circle-v565-table h2,.circle-v565-movement h2,.circle-v565-study h2{margin-top:7px;font:400 29px/1.08 var(--head);color:var(--codex-sepia)}.circle-v565-conversation>p:not(.room-label),.circle-v565-huddle>p:not(.room-label):not(.ghint),.circle-v565-table>p:not(.room-label):not(.ghint),.circle-v565-movement>p:not(.room-label),.circle-v565-study>p:not(.room-label){margin-top:8px;font:15px/1.6 var(--display);color:var(--ash)}.circle-v565-conversation>.circle-room-messages{min-height:100px;margin-top:17px;padding:15px;border:1px solid rgba(140,106,73,.22);background:rgba(255,253,248,.8)}
.circle-v565-conversation>textarea,.circle-v565-huddle textarea,.circle-v565-bring textarea,.circle-v565-table textarea{display:block;width:100%;box-sizing:border-box;margin-top:12px;padding:13px;border:1px solid rgba(132,91,56,.34);border-radius:11px;background:#fffaf2;font:16px/1.55 var(--display);color:var(--ink)}
.circle-v565-keeper{display:grid;grid-template-columns:31px 1fr auto;gap:4px 10px;align-items:center;margin-top:17px;padding:13px;border:1px solid rgba(182,138,58,.3);background:rgba(182,138,58,.055)}.circle-v565-keeper>span{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border:1px solid #b68a3a;border-radius:50%;color:#9a7135}.circle-v565-keeper p:not(.room-label){margin-top:3px;font:12.5px/1.48 var(--ui);color:var(--ash)}.circle-v565-keeper button{padding:7px 9px;border:1px solid rgba(140,106,73,.28);background:transparent;font:9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--label-ink);cursor:pointer}.circle-v565-keeper .is-pause{grid-column:3}.circle-v565-keeper.is-paused{opacity:.78}
.circle-v565-bring{margin-top:14px;border-top:1px solid rgba(140,106,73,.18)}.circle-v565-bring>summary,.circle-v565-huddle-call>summary,.circle-v565-table details>summary,.circle-v565-movement details>summary,.circle-v565-study details>summary,.circle-v565-keeping>summary{position:relative;display:flex;justify-content:space-between;gap:8px;padding:14px 2px;cursor:pointer;list-style:none;font:10px/1.3 var(--ui);letter-spacing:.11em;text-transform:uppercase;color:var(--label-ink)}.circle-v565-bring>summary span,.circle-v565-huddle-call>summary span,.circle-v565-keeping>summary span{font-size:8px;color:var(--ash)}.circle-v565-bring>p,.circle-v565-huddle-call>p{font-size:12.5px;line-height:1.5;color:var(--ash)}.circle-v565-bring select,.circle-v565-table select,.circle-v565-study select,.circle-v565-keeping input,.circle-v565-keeping select,.circle-v565-huddle-call input,.circle-v565-proposal input{width:100%;box-sizing:border-box;margin-top:9px;padding:11px;border:1px solid rgba(140,106,73,.28);background:#fffaf2;font:15px/1.3 var(--display);color:var(--ink)}.circle-v565-brought article{position:relative;padding:10px 0;border-bottom:1px solid rgba(140,106,73,.16)}.circle-v565-brought span{font:8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}.circle-v565-brought p{margin-top:5px;font:15px/1.5 var(--display);color:var(--ink)}.circle-v565-brought button{border:0;background:transparent;font:italic 12px/1 var(--display);color:var(--ash)}
.circle-v565-huddle{padding:22px 17px;border:2px solid #9a6c40;border-top:5px solid #9a6c40;background:radial-gradient(circle at 100% 0,rgba(182,138,58,.14),transparent 32%),linear-gradient(145deg,#fffaf1,#efdfc6);box-shadow:0 18px 38px rgba(62,39,24,.11)}.circle-v565-movements{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:17px}.circle-v565-movements span{padding:7px 2px;border-top:2px solid rgba(140,106,73,.2);font:7px/1.25 var(--ui);letter-spacing:.04em;text-align:center;text-transform:uppercase;color:var(--ash)}.circle-v565-movements .is-here{border-color:#966331;background:rgba(182,138,58,.11);color:#6b4327}.circle-v565-movements .is-past{border-color:#7b8064;color:#59644f}.circle-v565-huddle-prompt{margin-top:15px;padding:16px;border-left:3px solid #9a6c40;background:rgba(255,252,247,.65)}.circle-v565-huddle-prompt small{font:9px/1 var(--ui);letter-spacing:.13em;text-transform:uppercase;color:var(--label-ink)}.circle-v565-huddle-prompt p{margin-top:7px;font:italic 18px/1.5 var(--display);color:var(--ink)}.circle-v565-huddle .circle-room-messages{margin-top:14px;padding:13px;background:rgba(255,252,247,.72)}.circle-v565-next{display:block;width:100%;margin-top:12px;padding:12px;border:1px solid #8f623d;background:transparent;font:10px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:#6b4327}.circle-v565-huddle label,.circle-v565-huddle-call label{display:block;margin-top:12px;font:9px/1.3 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}
.circle-v565-huddle-call{padding:4px 16px 16px}.circle-v565-huddle-call>div>article{margin-top:10px;padding:14px;border:1px solid rgba(140,106,73,.2);background:rgba(255,252,247,.65)}.circle-v565-huddle-call article h3{margin-top:5px;font:500 18px/1.2 var(--display);color:var(--ink)}.circle-v565-huddle-call article p:not(.room-label){margin-top:6px;font:13px/1.5 var(--display);color:var(--ash)}.circle-v565-huddle-call>small{display:block;margin-top:9px;font:italic 12px/1.4 var(--display);color:var(--ash)}
.circle-v565-table,.circle-v565-movement,.circle-v565-study{padding:20px 17px}.circle-v565-table{border-top:3px solid #a47645}.circle-v565-table>div>article{padding:13px 0;border-bottom:1px solid rgba(140,106,73,.18)}.circle-v565-table article div{display:flex;justify-content:space-between;gap:8px}.circle-v565-table article span{font:8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}.circle-v565-table article strong{font:500 13px/1 var(--display);color:var(--ash)}.circle-v565-table article p{margin-top:7px;font:16px/1.52 var(--display);color:var(--ink)}.circle-v565-table article button,.circle-v565-brought button{margin-top:6px;padding:0;border:0;background:transparent;font:italic 12px/1 var(--display);color:var(--ash);cursor:pointer}
.circle-v565-movement{border-top:3px solid #7d7254}.circle-v565-movement blockquote{margin-top:14px;padding:15px;border-left:3px solid #9f7444;background:rgba(159,116,68,.06);font:italic 19px/1.5 var(--display);color:var(--codex-sepia)}.circle-v565-proposal{margin-top:14px;padding:14px;border:1px solid rgba(182,138,58,.36);background:rgba(182,138,58,.06)}.circle-v565-proposal small{font:8px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--label-ink)}.circle-v565-proposal p{margin-top:8px;font:15px/1.55 var(--display);color:var(--ash)}.circle-v565-study{border-top:3px solid #756f85}
.circle-v565-keeping{padding:3px 16px 17px;background:rgba(247,239,228,.76);box-shadow:none}.circle-v565-keeping>.room-label,.circle-v565-keeping>div>.room-label{margin-top:14px}.circle-v565-keeping>p:not(.room-label),.circle-v565-keeping>div>p:not(.room-label){margin-top:7px;font-size:13px;line-height:1.52;color:var(--ash)}.circle-v565-keeping .sh-link{margin-top:8px}.circle-v565-covenant,.circle-v565-close{margin-top:15px;padding:13px;border:1px solid rgba(140,106,73,.2);background:rgba(255,252,247,.58)}.circle-v565-close{border-color:rgba(145,77,52,.3)}.circle-v565-keeping .is-danger{color:#7a3f32}
body.quiet .circle-v565-people,body.quiet .circle-v565-conversation,body.quiet .circle-v565-huddle,body.quiet .circle-v565-huddle-call,body.quiet .circle-v565-table,body.quiet .circle-v565-movement,body.quiet .circle-v565-study,body.quiet .circle-v565-keeping,body.quiet .circle-v565-forming{background:#251c16;border-color:rgba(210,180,109,.22)}
body.quiet .circle-v565 h2,body.quiet .circle-v565-person em,body.quiet .circle-v565-conversation p,body.quiet .circle-v565-table p,body.quiet .circle-v565-movement p,body.quiet .circle-v565-study p{color:#f3e6c8}
@media(max-width:430px){.circle-v565-conversation,.circle-v565-huddle,.circle-v565-table,.circle-v565-movement,.circle-v565-study{padding:19px 14px}.circle-v565-movements span{font-size:6px}.circle-v565-keeper{grid-template-columns:29px 1fr}.circle-v565-keeper button{grid-column:2}.circle-v565-keeper .is-pause{grid-column:2}.circle-v565-conversation h2,.circle-v565-huddle h2,.circle-v565-table h2,.circle-v565-movement h2,.circle-v565-study h2{font-size:26px}}


/* v569 · The Threshold borrows Settings' quiet grouped controls. */
.thr.thr-simple{background:var(--warm-ivory);padding:0 14px calc(170px + var(--safe-bot));text-align:left}
.thr-simple .thr-mast{padding:28px 9px 24px}
.thr-simple .thr-h1{font-family:var(--head);font-size:38px;color:var(--ink);font-weight:400}
.thr-simple .thr-sub{font-family:var(--ui);font-size:14px;line-height:1.6;max-width:none;margin-top:12px}
.thr-simple .thr-meta{font-size:12px;color:var(--ash);margin-top:8px}
.thr-simple .thr-g{margin:0 0 16px;border:1px solid #e5d7c5;background:#fffcf6;box-shadow:0 4px 16px -12px rgba(51,34,21,.24);border-radius:18px;overflow:visible}
.thr-simple .thr-form-group>h2{padding:18px 18px 0;margin:0;font-family:var(--ui);font-weight:500;font-size:15px;line-height:1.4;color:var(--ink)}
.thr-simple .thr-b{padding:8px 18px 16px}
.thr-simple .thr-field-row{padding:12px 0}.thr-simple .thr-field-row+.thr-field-row{border-top:1px solid #e7dac9}
.thr-simple .thr-f{font-family:var(--ui);font-size:13px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--ash)}
.thr-simple .thr-in{font-family:var(--ui);font-size:16px;border:1px solid #e5d7c5;background:var(--warm-ivory);border-radius:10px;min-height:48px;padding:11px 12px;margin:8px 0 0}
.thr-simple .thr-in:focus-visible{outline:2px solid var(--label-gold);outline-offset:2px}
.thr-simple .thr-in::placeholder{color:var(--ash);opacity:.8}
.thr-simple .thr-hint,.thr-simple .thr-note{font-family:var(--ui);font-size:12px;font-style:normal;line-height:1.6;color:var(--ash)}
.thr-simple .settings-control{gap:12px}.thr-simple .settings-control strong{font-size:15px;font-weight:400}
.thr-simple .thr-keeper-line{font-family:var(--ui);font-size:13px;line-height:1.6;color:var(--ash);margin:2px 0 12px}
.thr-simple .thr-keeper-choice{border:0;margin:0;padding:0;display:flex;gap:10px;min-width:0}
.thr-simple .thr-keeper-choice legend{font-family:var(--ui);font-size:12px;color:var(--ash);padding:0 0 8px}
.thr-simple .thr-keeper-choice label{position:relative;flex:1;cursor:pointer}
.thr-simple .thr-keeper-choice input{position:absolute;opacity:0;width:1px;height:1px}
.thr-simple .thr-keeper-choice span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #cbbb9f;border-radius:10px;background:var(--warm-ivory);font:14px var(--ui);color:var(--ink)}
.thr-simple .thr-keeper-choice input:checked+span{border:2px solid var(--label-gold);background:#f3e8d1;font-weight:600}
.thr-simple .thr-keeper-choice input:focus-visible+span{outline:2px solid var(--label-gold);outline-offset:3px}
.thr-simple .thr-transmission{background:none;border:0;padding:0;margin-top:12px;font-size:12px}
.thr-simple .thr-quiet{margin:20px 0 0}.thr-simple .thr-costs.open{max-height:none;overflow:visible}
.thr-simple .thr-costs-in{margin-top:12px}.thr-simple .thr-costs-in p+p{margin-top:10px}
.thr-simple .thr-bar{background:rgba(255,249,239,.97);border-top:1px solid #e5d7c5;padding:14px 20px calc(12px + var(--safe-bot))}
.thr-simple .thr-cta{font-size:15px}.thr-simple .thr-note{margin-top:7px}
body.quiet .thr.thr-simple{background:#201813}body.quiet .thr-simple .thr-g,body.quiet .thr-simple .thr-in,body.quiet .thr-simple .thr-keeper-choice span{background:#2c2119;border-color:#66523b}
body.quiet .thr-simple .thr-bar{background:#201813;border-color:#66523b}body.quiet .thr-simple .thr-field-row+.thr-field-row{border-color:#66523b}
body.quiet .thr-simple .thr-h1,body.quiet .thr-simple .thr-form-group>h2,body.quiet .thr-simple .thr-keeper-choice span{color:#f5ead8}
body.quiet .thr-simple .thr-keeper-choice input:checked+span{background:#4b3921;border-color:#d2b46d}

/* v568 · Account and storage use the same quiet, progressive disclosure. */
.account-identity{padding:12px 0 30px;text-align:center;overflow-wrap:anywhere}
.account-identity h2{font:400 29px/1.2 var(--head);color:var(--ink)}
.account-identity p{margin-top:8px;font:16px/1.5 var(--ui);color:var(--ash)}
.account-identity>span{display:block;margin-top:7px;font:14px/1.4 var(--ui);color:var(--label-ink)}
.account-fields>label{display:block;margin:20px 0 8px;font:14px/1.4 var(--ui);color:var(--ink)}
.account-fields>label:first-child{margin-top:0}
.account-fields input:not([type=checkbox]){display:block;box-sizing:border-box;width:100%;min-width:0;min-height:49px;padding:12px 13px;border:1px solid #cbb99e;border-radius:10px;background:#fff9ef;color:var(--ink);font:16px/1.4 var(--ui)}
.account-handle{display:flex;align-items:center;gap:9px;color:var(--ash)}
.account-fields .account-adult{display:flex;align-items:center;gap:10px;min-height:44px}
.account-adult input{width:20px;height:20px;accent-color:#886532}
.account-fields input:focus-visible,.account-fields select:focus-visible{outline:2px solid #886532;outline-offset:3px}
.account-fields [role=status]:empty{display:none}
.account-fields [role=status]{margin-top:12px;font:14px/1.5 var(--ui);color:var(--link-ink)}
.account-signout{margin-top:26px}
.account-signout>button{text-align:center}
.settings-control small:empty{display:none}
.settings-detail-card>.settings-storage-status{margin:15px 0 0;padding-top:13px;border-top:1px solid #e7dac9;font:12px/1.5 var(--ui);color:var(--ash)}
.settings-storage-controls .settings-control strong{font:400 17px/1.4 var(--ui)}
.settings-main-action:disabled{opacity:.6;cursor:wait}
body.quiet .account-identity h2,body.quiet .account-fields>label{color:#f3e6cf}
body.quiet .account-identity p,body.quiet .account-identity>span,body.quiet .account-fields [role=status]{color:#c2b4a5}
body.quiet .account-fields input:not([type=checkbox]){background:#251c16;border-color:#66523b;color:#f3e6cf}
body.quiet .settings-detail-card>.settings-storage-status{color:#c2b4a5;border-color:#66523b}

/* v567 · Settings: a quiet index, one setting in one place. */
body[data-route="settings"] .screen{max-width:720px;margin-inline:auto}
.settings-home,.settings-detail{padding:7px 2px 30px;color:var(--ink)}
.settings-heading{margin-bottom:22px}
.settings-heading h1{margin-top:8px;font:400 clamp(36px,6vw,46px)/1.06 var(--head);color:var(--ink)}
.settings-heading>p:last-child{margin-top:9px;font:italic 17px/1.5 var(--display);color:var(--ash)}
.settings-search{display:flex;align-items:center;gap:10px;margin:0 0 23px;padding:0 14px;border:1px solid #d8caba;border-radius:13px;background:rgba(255,252,246,.72)}
.settings-search svg{width:19px;height:19px;flex-shrink:0;color:#876a4e}
.settings-search input{min-width:0;width:100%;min-height:48px;padding:10px 0;border:0;border-radius:0;background:transparent;font:16px/1.4 var(--ui);color:var(--ink);box-shadow:none}
.settings-search input::placeholder{color:#827266}
.settings-account-inset,.settings-inset{overflow:hidden;border:1px solid #e0d2bf;border-radius:18px;background:#fffbf5;box-shadow:0 6px 22px rgba(70,43,25,.025)}
.settings-account-inset{margin-bottom:25px;background:linear-gradient(120deg,#f6ebd8,#fffaf2);border-color:#d3bb90}
.settings-index-group{margin-top:24px}
.settings-index-group>h2{margin:0 15px 8px;font:500 10px/1.4 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--label-ink)}
.settings-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 12px;align-items:center;gap:12px;position:relative;width:100%;min-height:66px;padding:13px 16px;border:0;background:transparent;text-align:left;color:var(--ink);cursor:pointer}
.settings-row+.settings-row:before{position:absolute;content:"";top:0;left:62px;right:16px;height:1px;background:#e9dfd1}
.settings-row:hover{background:rgba(199,172,129,.1)}
.settings-row-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d8c6ad;border-radius:10px;background:#f0e5d3;color:#80562e}
.settings-row-icon svg{width:21px;height:21px}
.settings-row-icon.is-privacy,.settings-row-icon.is-remembrance{background:#edf0e7;border-color:#cbd3be;color:#596b48}
.settings-row-icon.is-companion,.settings-row-icon.is-shared{background:#efe9f0;border-color:#d7c8da;color:#73557f}
.settings-row-icon.is-bell,.settings-row-icon.is-install{background:#f5ead4;border-color:#decca6;color:#896726}
.settings-row-icon.is-stillness,.settings-row-icon.is-safety{background:#e9eeec;border-color:#c7d1ca;color:#526d60}
.settings-row-copy{min-width:0}
.settings-row-copy strong{display:block;font:400 17px/1.28 var(--display);color:var(--ink)}
.settings-row-copy small{display:block;margin-top:3px;font:12px/1.42 var(--ui);color:var(--ash)}
.settings-row-state{max-width:128px;font:11px/1.4 var(--ui);color:#7d6d60;text-align:right}
.settings-chevron{font:24px/1 var(--display);color:#a28e76}
.settings-row[hidden],.settings-index-group[hidden],.settings-account-inset[hidden],.settings-no-results[hidden],#settingsBellReconnect[hidden]{display:none!important}
.settings-no-results{padding:24px 15px;font:16px/1.5 var(--display);color:var(--ash)}
.settings-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.settings-endnote{margin:30px 0 0;text-align:center;color:#7d6d60}
.settings-endnote p:first-child{font:10px/1.5 var(--ui);letter-spacing:.1em}
.settings-endnote p:last-child{margin-top:7px;font:italic 13px/1.5 var(--display)}
.settings-back{display:inline-flex;align-items:center;min-height:44px;padding:0 5px 0 0;margin-bottom:19px;border:0;background:transparent;font:13px/1.4 var(--ui);color:var(--link-ink);cursor:pointer}
.settings-detail-heading{margin-bottom:24px}
.settings-detail-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:15px;border:1px solid #c5a778;border-radius:12px;color:#856031;background:#f3e8d5}
.settings-detail-icon svg{width:24px;height:24px}
.settings-detail-heading h1{font:400 clamp(30px,5vw,39px)/1.1 var(--head);color:var(--ink)}
.settings-detail-heading h1:focus{outline:none}
.settings-detail-heading>p{margin-top:11px;max-width:550px;font:17px/1.58 var(--display);color:var(--ash)}
.settings-detail-card{padding:21px 20px;margin-top:15px;border:1px solid #dfcfb9;border-radius:18px;background:#fffbf5}
.settings-detail-card h2{font:400 23px/1.2 var(--head);color:var(--ink)}
.settings-detail-card>p{margin-top:9px;font:16px/1.65 var(--display);color:var(--ash)}
.settings-detail-card>.settings-inline-state{font:12px/1.5 var(--ui);color:var(--label-ink)}
.settings-main-action{width:100%;margin-top:20px;min-height:50px;padding:13px 16px;font-size:13px;line-height:1.4}
.settings-secondary-action{display:block;width:100%;min-height:46px;margin-top:13px;padding:12px 14px;border:1px solid #d9c6a9;border-radius:11px;background:transparent;text-align:left;font:14px/1.4 var(--ui);color:var(--link-ink);cursor:pointer}
.settings-secondary-action:hover{background:rgba(199,172,129,.09)}
.settings-explanation{margin-top:16px;border-top:1px solid #dfd3c3}
.settings-explanation>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:12px 1px;list-style:none;font:13px/1.45 var(--ui);color:var(--link-ink);cursor:pointer}
.settings-explanation>summary::-webkit-details-marker{display:none}
.settings-explanation>summary:after{content:"+";font:20px/1 var(--display)}
.settings-explanation[open]>summary:after{content:"−"}
.settings-explanation>div{padding:0 1px 14px;font:15px/1.65 var(--display);color:var(--ash)}
.settings-explanation p+p{margin-top:12px}
.settings-explanation strong{color:var(--ink);font-weight:500}
.settings-control{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:16px;position:relative;min-height:67px;padding:9px 0;cursor:pointer}
.settings-control+.settings-control{border-top:1px solid #e7dac9;margin-top:7px;padding-top:16px}
.settings-control strong{display:block;font:400 19px/1.35 var(--display);color:var(--ink)}
.settings-control small{display:block;margin-top:4px;font:13px/1.5 var(--ui);color:var(--ash)}
.settings-control input{position:absolute;right:0;width:46px;height:44px;opacity:0;cursor:pointer;z-index:1}
.settings-control-track{width:46px;height:28px;border:1px solid #9e9487;border-radius:20px;background:#d8cec0}
.settings-control-track:after{content:"";display:block;width:20px;height:20px;margin:3px;border-radius:50%;background:#fffaf2;box-shadow:0 1px 3px #87755d66;transition:transform .15s}
.settings-control input:checked+.settings-control-track{border-color:#735329;background:#886532}
.settings-control input:checked+.settings-control-track:after{transform:translateX(18px)}
.settings-control input:focus-visible+.settings-control-track{outline:3px solid #866531;outline-offset:4px}
.settings-field-label{display:block;margin:18px 0 7px;font:12px/1.4 var(--ui);color:var(--label-ink)}
.settings-detail select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #cbb99e;border-radius:10px;background:#fff9ef;font:16px/1.4 var(--display);color:var(--ink)}
.settings-detail .settings-pill{font:13px/1.45 var(--ui);text-align:left;background:#fcf5e9;border-color:#d9c6a9;color:var(--ink)}
.settings-detail .settings-pill.is-on{background:#ebddc1;border-color:#a87d37;color:#593b1e}
.settings-confirmation{margin-top:18px;padding:17px;border:1px solid #c7a66f;border-radius:12px;background:#f7eddc}
.settings-confirmation h3{font:400 21px/1.3 var(--head);color:var(--ink)}
.settings-confirmation p{margin-top:8px;font:15px/1.6 var(--display);color:var(--ash)}
.settings-definition-list dt{margin-top:17px;font:500 14px/1.4 var(--ui);color:var(--ink)}
.settings-definition-list dd{margin:5px 0 0;font:15px/1.65 var(--display);color:var(--ash)}
.settings-review-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e7dbcb;font:14px/1.45 var(--ui)}
.settings-review-list dd{margin:0;text-align:right;color:var(--ash)}
.settings-danger-zone{border-color:#d2b1a5}
.settings-danger-zone .settings-secondary-action{color:#824b3c;border-color:#cfafa1}
body.quiet .settings-heading h1,body.quiet .settings-detail-heading h1,body.quiet .settings-detail-card h2,body.quiet .settings-confirmation h3,body.quiet .settings-row-copy strong,body.quiet .settings-control strong,body.quiet .settings-definition-list dt,body.quiet .settings-explanation strong{color:#f3e6cf}
body.quiet .settings-heading>p:last-child,body.quiet .settings-detail-heading>p,body.quiet .settings-detail-card>p,body.quiet .settings-control small,body.quiet .settings-row-copy small,body.quiet .settings-row-state,body.quiet .settings-explanation>div,body.quiet .settings-definition-list dd,body.quiet .settings-confirmation p,body.quiet .settings-review-list dd,body.quiet .settings-endnote{color:#c2b4a5}
body.quiet .settings-inset,body.quiet .settings-account-inset,body.quiet .settings-detail-card,body.quiet .settings-search,body.quiet .settings-confirmation{background:#251c16;border-color:#66523b}
body.quiet .settings-row-icon,body.quiet .settings-detail-icon{background:#392b20;border-color:#776043;color:#d7b773}
body.quiet .settings-search input,body.quiet .settings-detail select{color:#f3e6cf;background:transparent}
body.quiet .settings-search input::placeholder{color:#b6a594}
body.quiet .settings-search svg,body.quiet .settings-secondary-action,body.quiet .settings-explanation summary,body.quiet .settings-back,body.quiet .settings-field-label,body.quiet .settings-index-group h2,body.quiet .settings-inline-state{color:#d7b773}
body.quiet .settings-secondary-action,body.quiet .settings-explanation,body.quiet .settings-review-list>div,body.quiet .settings-control+.settings-control{border-color:#66523b}
body.quiet .settings-row+.settings-row:before{background:#51412f}
body.quiet .settings-detail .settings-pill{background:#302319;border-color:#806744;color:#e9d8ba}
body.quiet .settings-detail .settings-pill.is-on{background:#544028;border-color:#ceaa63}
body.quiet .settings-danger-zone .settings-secondary-action{color:#e3ac98}
@media(max-width:430px){.settings-row{gap:10px;padding:13px 12px;grid-template-columns:32px minmax(0,1fr) auto 10px}.settings-row-icon{width:32px;height:32px}.settings-row-copy strong{font-size:16px}.settings-row-state{max-width:85px;font-size:10px}.settings-row+.settings-row:before{left:54px;right:12px}.settings-detail-card{padding:19px 16px}.settings-review-list>div{font-size:12px}.settings-account-inset .settings-row-state{max-width:73px}}
@media(prefers-reduced-motion:reduce){.settings-control-track:after{transition:none}}

/* v570 · the Keeper: conversation first, instruction within reach. */
.keeper-room{max-width:700px;margin:0 auto;padding:16px 0 40px;color:var(--ink)}
.keeper-room h1{font:500 clamp(30px,6vw,42px)/1.14 var(--head);letter-spacing:-.02em;margin:12px 0 20px}
.keeper-room p{line-height:1.7}.keeper-description,.keeper-introduction .lede{font:400 16px/1.7 var(--body);color:var(--ash)}
.keeper-room .keeper-depth{background:transparent;border:0;border-radius:0;padding:0;margin:24px 0}
.keeper-room .keeper-depth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.keeper-room .keeper-depth-grid button{border:1px solid #d9c8ad;border-radius:12px;background:rgba(255,253,248,.62);padding:14px;min-height:88px;color:var(--ink)}
.keeper-room .keeper-depth-grid button.is-active{background:#33261b;border-color:#b79654;color:#faf0dc;box-shadow:0 5px 16px #33261b12}
.keeper-room .keeper-depth-grid b{font:500 17px/1.25 var(--head)}.keeper-room .keeper-depth-grid small{font:400 12px/1.5 var(--ui);color:var(--ash)}
.keeper-room .keeper-depth-grid button.is-active small{color:#d8c8b0}
.keeper-room label{display:block;font:500 13px/1.5 var(--ui);margin:18px 0 9px;color:var(--link-ink)}
.keeper-room textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:120px;border:1px solid #d9c8ad;border-radius:14px;background:#fffdf7;color:var(--ink);padding:18px;font:400 17px/1.65 var(--body)}
.keeper-room .keeper-send{margin-top:12px}.keeper-room .btn.full{min-height:48px}
.keeper-room button:focus-visible,.keeper-room summary:focus-visible,.keeper-room textarea:focus-visible,.hearth-guide button:focus-visible,.hearth-guide summary:focus-visible{outline:2px solid #a5792c;outline-offset:4px}
.keeper-examples,.keeper-sources{border-top:1px solid #d9c8ad;margin-top:24px;padding-top:6px}
.keeper-room summary,.hearth-guide summary{cursor:pointer;font:500 13px/1.5 var(--ui);color:var(--link-ink);padding:14px 0;min-height:22px}
.keeper-examples>button{display:block;width:100%;border:0;border-bottom:1px solid #e3d9c9;background:transparent;color:var(--ink);text-align:left;padding:16px 4px;font:400 16px/1.65 var(--body);cursor:pointer}
.keeper-sources p,.keeper-sources li,.keeper-examples p{font-size:14px;line-height:1.7;color:var(--ash)}
.keeper-sources ul{padding-left:20px;margin:12px 0}.keeper-sources cite{display:block;font:500 11px/1.5 var(--ui);margin-top:12px}
.keeper-room .kc-thread{display:flex;flex-direction:column;gap:24px;margin:22px 0;overflow-wrap:anywhere}
.keeper-room .kc-row{display:flex;gap:10px}.keeper-room .kc-you{justify-content:flex-end}
.keeper-room .kc-bubble{font:400 17px/1.85 var(--body);max-width:100%;min-width:0}
.keeper-room .kc-youb{background:#eae0cf;border-radius:16px 16px 3px 16px;padding:14px 18px;max-width:85%}
.keeper-room .kc-keeperb{padding:4px 0}.keeper-room .kn-sigil{color:#aa803b;padding-top:9px;flex-shrink:0}
.keeper-ending{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}
.keeper-ending .sh-link{font:400 13px/1.5 var(--ui);min-height:44px}
.keeper-wait,.keeper-notice{font:400 14px/1.6 var(--ui);padding:16px;border-left:2px solid #ae8b46;background:#efe5d4}
.keeper-keepsake{padding:22px;border:1px solid #d9c8ad;border-radius:16px;margin:24px 0}.keeper-keepsake .btn{margin-top:12px}
.hearth-guide{border:1px solid #c9af7a;border-left:3px solid #a78545;border-radius:15px;background:linear-gradient(135deg,#fffbf3,#f0e6d5);padding:23px;margin:24px 0}
.hearth-guide h3{font:500 26px/1.2 var(--head);margin:10px 0 16px;color:var(--ink)}
.hearth-guide p{font:400 15px/1.7 var(--body);overflow-wrap:anywhere}.hearth-guide .btn{margin-top:16px;min-height:46px}.hearth-guide>.sh-link{margin-top:18px;text-align:left}
.hearth-guide details{border-top:1px solid #d9c8ad;margin-top:18px}.hearth-guide .ghint{display:block;font:400 12px/1.7 var(--ui);margin-top:10px}
body.quiet .keeper-room .keeper-depth-grid button,body.quiet .keeper-room textarea,body.quiet .hearth-guide{background:#2b2119;color:#f4e7d1;border-color:#806744}
body.quiet .keeper-room .keeper-depth-grid button.is-active{background:#56432b;border-color:#d7b773}
body.quiet .keeper-room .kc-youb,body.quiet .keeper-notice,body.quiet .keeper-wait{background:#3a2e21;color:#f4e7d1}
@media(max-width:360px){.keeper-room .keeper-depth-grid{gap:8px}.keeper-room .keeper-depth-grid button{padding:12px}.keeper-room .keeper-depth-grid b{font-size:16px}.keeper-keepsake,.hearth-guide{padding:18px}}

/* v571 · Header tools open the practice, not its explanation. */
.topbar{gap:6px;padding:calc(var(--safe-top) + 6px) 16px 6px}
body.has-site-exit #topbar{padding-left:16px!important}
.topbar-title{flex:1;min-width:0;padding-right:0}
.topbar-title-short{display:none}
.topbar-icons{flex:0 0 auto;gap:2px}
.topbar-icon{flex:0 0 44px;width:44px;height:44px;margin:0;cursor:pointer}
.topbar-icon svg{pointer-events:none}
.topbar-icon:focus-visible{outline:2px solid var(--muted-gold);outline-offset:-3px}
.keeper-room .keeper-heading h1{margin-bottom:12px}
.keeper-room .keeper-heading+.kc-thread:empty{display:none}
.keeper-room .keeper-input-label{margin-top:22px}
.keeper-room .keeper-depth{margin:18px 0 0;border-top:1px solid #d9c8ad}
.keeper-entry-consent>p{font:400 13px/1.6 var(--ui);color:var(--ash);margin-top:14px}
.keeper-entry-consent strong{color:var(--ink);font-weight:500}
.keeper-care-notice{margin-top:16px;padding:14px 16px;border-left:2px solid var(--muted-gold);background:rgba(182,138,58,.06)}
.keeper-care-notice strong,.keeper-care-notice p{font:400 13px/1.6 var(--ui)}
.keeper-care-notice strong{font-weight:600}.keeper-care-notice p{margin-top:7px}
.keeper-room .settings-explanation{margin-top:18px}
@media(max-width:600px){
  body.has-site-exit #topbar{padding-left:70px!important}
  .topbar-title-long{display:none}.topbar-title-short{display:inline}
}
@media(max-width:360px){.topbar-title{white-space:normal;font-size:11px;line-height:1.35;letter-spacing:.06em}}

/* v572 · The Season: three doors, one present Chapter. */
.season-quiet-threshold{padding:20px 4px 28px;text-align:center}
.season-quiet-threshold h1{font:400 40px/1.12 var(--head);margin:0 0 20px;color:var(--ink)}
.season-quiet-threshold blockquote{margin:0;font:italic 20px/1.6 var(--display);color:var(--codex-sepia)}
.season-quiet-threshold cite,.season-sky-window cite{display:block;font:400 10px/1.6 var(--ui);letter-spacing:.16em;text-transform:uppercase;margin-top:10px}
.season-three-doors{border-block:1px solid #ddceb8;margin:0 0 26px}
.season-three-doors button{display:flex;align-items:center;gap:17px;width:100%;min-height:76px;text-align:left;padding:16px 10px;border:0;border-bottom:1px solid #e6dccb;border-radius:0;background:transparent;color:var(--codex-sepia);cursor:pointer}
.season-three-doors button:last-child{border-bottom:0}.season-three-doors button>span:first-child{font:400 12px/1 var(--ui);color:var(--label-gold)}
.season-three-doors button>span:nth-child(2){flex:1;min-width:0}.season-three-doors b{display:block;font:400 21px/1.3 var(--head)}
.season-three-doors small{display:block;font:400 12px/1.6 var(--ui);color:var(--ash);margin-top:3px}.season-three-doors i{font-style:normal}
.season-three-doors button[aria-current]{background:rgba(182,138,58,.06)}
.season-chapter-quiet{padding:24px 22px;background:linear-gradient(135deg,#fffbf4,#f7efdf);box-shadow:0 14px 36px rgba(40,26,17,.05);scroll-margin-top:90px}
.season-chapter-quiet h2{font:400 31px/1.18 var(--head);margin:12px 0 22px;overflow-wrap:anywhere}
.season-chapter-quiet .room-label,.season-simple-heading .room-label{font:400 10px/1.7 var(--ui);letter-spacing:.16em}
.season-field-label{display:block;font:500 13px/1.6 var(--ui);color:var(--codex-sepia);margin:18px 0 7px}
.season-field-label small{font-weight:400;color:var(--ash);margin-left:6px}
.season-chapter-quiet textarea,.season-horizon-room input,.season-horizon-room select,.season-keeper-attachment textarea,.season-date-fields input{width:100%;box-sizing:border-box;min-height:48px;padding:13px 14px;border:1px solid #cdbda5;border-radius:10px;background:var(--warm-ivory);color:var(--ink);font:400 16px/1.6 var(--body);margin:3px 0 14px;resize:vertical}
.season-horizon-room select{font-family:var(--ui);padding-right:30px;text-overflow:ellipsis}
.season-field-hint{font:400 12px/1.65 var(--ui);color:var(--ash);margin:5px 0 10px}
.season-posture-read{border-left:2px solid var(--muted-gold);padding-left:16px;margin:20px 0 10px}
.season-posture-read>p:last-child{font:italic 18px/1.6 var(--display);margin-top:7px;color:var(--codex-sepia);white-space:pre-wrap}
.season-companion-door{border-top:1px solid #ddceb8;padding-top:20px;margin-top:20px}.season-companion-door p{font:400 15px/1.6 var(--body);margin-bottom:14px}
.season-chapter-quiet .btn,.season-gather-result .btn,.season-gather-panel .btn{margin:8px 0}
.season-details,.season-keeper-attachment{margin-top:20px;border-top:1px solid #ddceb8}
.season-details summary,.season-close-chapter summary,.season-keeper-attachment summary{padding:15px 2px;min-height:48px;box-sizing:border-box;font:400 14px/1.5 var(--ui);color:var(--codex-sepia);cursor:pointer}
.season-details p{font:400 15px/1.7 var(--body);margin:8px 0 16px;overflow-wrap:anywhere}.season-details>details{margin-left:12px}
.season-details .sh-link,.season-chapter-quiet .sh-link,.season-gather-panel .sh-link,.season-gather-result .sh-link,.season-keeper-attachment .sh-link{min-height:44px;padding:10px 0;font:400 14px/1.6 var(--ui);text-align:left;white-space:normal;display:block}
.season-review .btn{margin-top:8px}.season-close-chapter{margin-top:16px}
.season-history-row{width:100%;display:flex;align-items:center;gap:15px;border:0;border-bottom:1px solid #e6dccb;background:transparent;color:var(--codex-sepia);padding:14px 0;min-height:60px;text-align:left;cursor:pointer}
.season-history-row>span:first-child{flex:1;min-width:0;font:400 18px/1.4 var(--head);overflow-wrap:anywhere}.season-history-row small{display:block;margin-top:5px;font:400 11px/1.5 var(--ui);color:var(--ash)}
.season-simple-heading{margin:20px 0 25px}.season-simple-heading h1{font:400 37px/1.13 var(--head);margin:12px 0;color:var(--ink)}
.season-sky-window{min-height:365px;display:flex;flex-direction:column;justify-content:space-between;margin:6px 0 24px;padding:26px 23px;border:1px solid #9b814f;border-radius:18px;background:radial-gradient(ellipse at 95% 0%,#42331e,transparent 62%),#211710;color:#eee4d3;box-shadow:0 15px 32px rgba(30,21,15,.12)}
.season-sky-window>.room-label{font:400 10px/1.6 var(--ui);letter-spacing:.12em;color:#dcc38a}
.season-sky-window>div{padding:38px 0;text-align:center}.season-sky-window h2{font:400 28px/1.2 var(--head);color:#fff4df;margin:18px 0 12px}.season-sky-window p:not(.room-label){font:400 14px/1.65 var(--body);color:#d5c9b8}
.season-sky-window .season-sky-caption{margin-top:14px;font-size:12px}.season-sky-aperture{display:block;width:45px;height:45px;border:1px solid #ae925e;border-radius:50%;margin:auto;opacity:.65}
.season-sky-window blockquote{margin:0;padding-top:20px;border-top:1px solid #67543b;font:italic 16px/1.7 var(--display);color:#e4d9c5}
.season-sky-window cite{color:#dcc38a}.season-horizon-room>.btn{margin-top:25px}
.season-gather-doors{display:grid;gap:10px;margin:0 0 26px}
.season-gather-doors button{position:relative;display:block;min-height:82px;width:100%;padding:17px 40px 17px 18px;border:1px solid #d6c4a6;border-radius:12px;background:rgba(255,251,244,.8);color:var(--codex-sepia);text-align:left;cursor:pointer}
.season-gather-doors b{display:block;font:400 23px/1.25 var(--head)}.season-gather-doors small{display:block;font:400 12px/1.6 var(--ui);margin-top:5px;color:var(--ash)}.season-gather-doors button>span{position:absolute;right:18px;top:32px}
.season-gather-panel,.season-gather-result{padding:22px 18px;background:rgba(255,251,244,.7);border:1px solid #d6c4a6;border-radius:14px;margin:20px 0;scroll-margin-top:80px}
.season-gather-panel h2{font:400 28px/1.25 var(--head);margin:0 0 20px}
.season-date-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.season-date-fields label{min-width:0;font:400 12px/1.7 var(--ui);color:var(--ash)}.season-date-fields input{min-width:0;font-family:var(--ui);font-size:14px;padding:10px 6px;margin-bottom:0}
.season-source-group{border-block-start:1px solid #ddceb8;margin:12px 0}.season-source-group summary{min-height:48px;padding:14px 0;font:400 14px/1.5 var(--ui);cursor:pointer}
.season-source-group label{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-top:1px solid #e6dccb;cursor:pointer}.season-source-group input{flex:0 0 22px;width:22px;height:22px;margin-top:3px;accent-color:#8a632a}
.season-source-group label>span{min-width:0}.season-source-group b{display:block;font:500 12px/1.6 var(--ui);color:var(--ash);margin-bottom:6px}.season-source-group label>span>span{white-space:pre-wrap;overflow-wrap:anywhere;font:400 14px/1.7 var(--body)}
.season-gather-result>p:not(.room-label){font:400 16px/1.8 var(--body);margin-top:18px}.season-gather-result>.room-label{font:400 10px/1.7 var(--ui);letter-spacing:.1em}
.season-citations summary{min-height:44px;padding:10px 0;font:400 11px/1.7 var(--ui);color:var(--ash);cursor:pointer}.season-citations p{font:400 12px/1.6 var(--ui);margin:0 0 8px}
.season-gather-result>.season-reflection-question{border-left:2px solid var(--muted-gold);padding-left:16px;font-style:italic;margin-block:25px}
.season-earlier-witness{padding:16px 0;border-bottom:1px solid #ddceb8}.season-keeper-attachment label{display:block;font:400 13px/1.6 var(--ui);margin:8px 0}
:is(.season-three-doors,.season-gather-doors,.season-chapter-quiet,.season-horizon-room,.season-gather-panel,.season-gather-result,.season-details,.season-keeper-attachment) :is(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--muted-gold);outline-offset:3px}
body.quiet :is(.season-chapter-quiet,.season-gather-panel,.season-gather-result,.season-gather-doors button){background:#2c2118;color:#f1e4cf;border-color:#806744}
body.quiet :is(.season-chapter-quiet textarea,.season-horizon-room input,.season-horizon-room select,.season-date-fields input){background:#201812;color:#f1e4cf;border-color:#806744}
body.quiet :is(.season-quiet-threshold h1,.season-quiet-threshold blockquote,.season-simple-heading h1,.season-posture-read>p:last-child,.season-field-label,.season-details summary,.season-close-chapter summary,.season-keeper-attachment summary,.season-three-doors button,.season-history-row){color:#f1e4cf}
body.quiet :is(.season-three-doors,.season-three-doors button,.season-details,.season-companion-door,.season-source-group,.season-source-group label,.season-keeper-attachment){border-color:#66543c}
@media(max-width:360px){.season-chapter-quiet{padding:20px 16px}.season-chapter-quiet h2{font-size:28px}.season-simple-heading h1{font-size:32px}.season-gather-panel,.season-gather-result{padding:18px 13px}.season-date-fields{grid-template-columns:1fr}.season-three-doors button{gap:12px}}

/* v573 · Together: the people and the conversation before the explanation. */
.together-quiet-head{margin:8px 0 28px;padding:10px 0 22px;border-bottom:1px solid rgba(140,106,73,.22);background:none;box-shadow:none}
.together-quiet-head h1{margin:0;font:400 clamp(34px,7vw,44px)/1.12 var(--head);color:var(--ink);overflow-wrap:anywhere}
.together-quiet-head>p{margin-top:10px;color:var(--ash);font:17px/1.55 var(--display)}
.together-quiet-head blockquote{margin:17px 0 0;max-width:34em;font:italic 18px/1.6 var(--display);color:var(--codex-sepia)}
.together-quiet-head cite{display:block;margin-top:9px;font:10px/1.5 var(--ui);font-style:normal;text-transform:uppercase;letter-spacing:.16em;color:var(--label-ink)}
.together-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:4px}
.together-section-title,.together-start h2,.together-invitations>h2{margin:20px 0 12px;font:400 26px/1.25 var(--head);color:var(--ink)}
.together-doors{border:1px solid rgba(140,106,73,.25);border-radius:17px;overflow:hidden;background:rgba(255,253,248,.5);margin:12px 0 26px}
.together-doors>button{display:grid;grid-template-columns:27px minmax(0,1fr) 16px;gap:13px;align-items:center;width:100%;min-height:92px;margin:0;padding:20px 17px;text-align:left;border:0;border-bottom:1px solid rgba(140,106,73,.2);background:transparent;color:var(--codex-sepia);cursor:pointer}
.together-doors>button:last-child{border-bottom:0}.together-door-number{font:11px/1.4 var(--ui);letter-spacing:.08em;color:var(--label-ink)}
.together-doors strong{display:block;font:400 24px/1.15 var(--head)}.together-doors small{display:block;margin-top:5px;font:14px/1.5 var(--display);color:var(--ash)}.together-doors i{font:20px/1 var(--display)}
.together-doors>button:hover{background:rgba(182,138,58,.07)}
.together-quiet .tg-room-card{margin:9px 0 14px;padding:18px;border-radius:16px;border:1px solid rgba(182,138,58,.3);background:rgba(255,253,248,.55);box-shadow:none}
.together-disclosure{margin:0;border-top:1px solid rgba(140,106,73,.22);background:none;box-shadow:none}
.together-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;box-sizing:border-box;padding:17px 0;cursor:pointer;list-style:none;font:16px/1.4 var(--display);color:var(--codex-sepia)}
.together-disclosure>summary::-webkit-details-marker{display:none}.together-disclosure>summary:not(:has(i))::after{content:'+';font:20px/1 var(--display);color:var(--label-ink)}.together-disclosure[open]>summary:not(:has(i))::after{content:'−'}
.together-disclosure>summary strong{font:400 19px/1.3 var(--display)}.together-disclosure>summary small{display:block;margin-top:5px;font:13px/1.45 var(--display);color:var(--ash)}
.together-disclosure>summary i{font-style:normal;color:var(--label-ink)}.together-disclosure[open]>summary i{transform:rotate(180deg)}
.together-disclosure-body{padding:0 0 20px}.together-disclosure-body>h3{margin:17px 0 6px;font:400 22px/1.25 var(--head)}.together-disclosure-body>p{margin:8px 0 14px;font:15px/1.65 var(--display);color:var(--ash)}
.together-quiet :is(button,summary):focus-visible{outline:2px solid var(--muted-gold);outline-offset:3px}
.together-quiet :is(.sh-link,.sh-cmd,.btn,summary,.circle-v565-keeper button){min-height:44px;white-space:normal;line-height:1.4}
.together-quiet :is(input,textarea,select){font-size:16px;max-width:100%;box-sizing:border-box}
.together-quiet .hearth-home{padding:0;border:0;background:transparent;box-shadow:none}
.together-quiet .hearth-pair-name{margin:0 0 20px}.hearth-pair-name h2{margin-top:6px;font:400 30px/1.2 var(--head);color:var(--ink)}
.together-quiet .hearth-movements{margin:0 0 20px;padding:20px 18px;background:rgba(255,253,248,.65);border:1px solid rgba(182,138,58,.3);border-radius:18px;box-shadow:none}
.together-quiet .hearth-movements h3{margin:0;font:400 26px/1.25 var(--head)}
.together-quiet .hearth-mode-grid{gap:10px}.together-quiet .hearth-mode-grid button{padding:15px;min-height:44px}.together-quiet .hearth-mode-grid button strong{font:400 22px/1.2 var(--head)}
.together-quiet .hearth-guide{margin:0 0 20px;padding:17px 18px;background:rgba(182,138,58,.06);border:1px solid rgba(182,138,58,.23);box-shadow:none}
.together-quiet .hearth-guide>p:not(.room-label){font:16px/1.6 var(--display)}
.together-quiet .hearth-more{margin:0;padding:0;border:0;background:none}
.together-quiet :is(.hearth-secondary,.hearth-boundary,.hearth-pact){margin:0;padding:0;border:0;border-top:1px solid rgba(140,106,73,.22);border-radius:0;background:none;box-shadow:none}
.together-quiet :is(.hearth-secondary,.hearth-boundary,.hearth-pact)>summary{min-height:60px;padding:17px 0;font-size:15px;line-height:1.45}
.together-quiet .hearth-secondary summary strong{font:14px/1.45 var(--display);color:var(--ash)}
.together-quiet .circle-v565{display:block}.together-quiet .circle-people-quiet{padding:0;margin:-12px 0 20px;background:none;border:0;box-shadow:none}.circle-people-quiet p{font:16px/1.5 var(--display);color:var(--ash)}
.together-quiet .circle-v565-conversation{padding:20px 17px;margin-bottom:22px;border:1px solid rgba(182,138,58,.3);border-radius:18px;background:rgba(255,253,248,.65);box-shadow:none}
.together-quiet .circle-v565-conversation h2{margin:0;font:400 28px/1.2 var(--head)}
.together-quiet .circle-v565-keeper{grid-template-columns:25px minmax(0,1fr);gap:7px;padding:12px}.together-quiet .circle-v565-keeper button,.together-quiet .circle-v565-keeper .is-pause{grid-column:2;font-size:11px;letter-spacing:.04em}
.together-quiet .circle-v565-keeper>span{grid-row:1}.together-quiet .circle-v565-keeper p:not(.room-label){font-size:13px}
.together-quiet .together-disclosure-body>:is(.circle-v565-table,.circle-v565-movement,.circle-v565-study){margin:0;padding:12px 0;border:0;border-radius:0;box-shadow:none;background:none}
.together-quiet :is(.circle-v565-huddle-call,.circle-v565-keeping){margin:0;padding:0 0 12px;border:0;border-top:1px solid rgba(140,106,73,.22);border-radius:0;background:none;box-shadow:none}
.together-quiet :is(.circle-v565-huddle-call,.circle-v565-keeping)>summary{min-height:60px;align-items:center;font:16px/1.4 var(--display);letter-spacing:0;text-transform:none}
.together-quiet :is(.circle-v565-huddle-call,.circle-v565-keeping)>summary span{font:12px/1.4 var(--display);text-transform:none;letter-spacing:0}
body.quiet .together-quiet :is(.together-quiet-head h1,.together-quiet-head blockquote,.together-doors button,.together-disclosure summary,.together-section-title,.together-start h2,.hearth-pair-name h2){color:#f1e4cf}
body.quiet .together-quiet :is(.together-doors,.tg-room-card,.hearth-movements,.hearth-guide,.circle-v565-conversation){background:#2c2118;border-color:#66543c;color:#f1e4cf}
body.quiet .together-quiet :is(.together-doors small,.together-disclosure small,.together-disclosure-body p,.circle-people-quiet p){color:#cdbfa9}
@media(max-width:380px){.together-doors>button{gap:9px;padding:17px 13px}.together-quiet .hearth-mode-grid{grid-template-columns:1fr}.together-quiet .btn-row{flex-wrap:wrap}.together-quiet .btn-row>button{flex:1 1 140px}}

/* v575 — shelves first. The book and the practice use the same quiet doorway. */
.library-quiet{padding-top:26px}
.library-heading{margin:0 0 24px;padding:0;border:0;background:none;box-shadow:none}
.library-heading h1{font:400 38px/1.08 var(--head);color:var(--charcoal);margin:7px 0 13px}
.library-heading>p:not(.room-label){font:16px/1.65 var(--display);color:var(--ash);margin:0;max-width:35em}
.library-back{display:inline-flex;align-items:center;min-height:44px;margin:-12px 0 14px;padding:8px 0;font:14px/1.4 var(--display);text-align:left}
.library-quiet :is(.library-shelf,.library-continue){margin:25px 0;padding:0;background:none;border:0;box-shadow:none}
.library-quiet :is(.library-shelf,.library-continue)>h2{font:400 26px/1.2 var(--head);margin:0 0 12px;color:var(--charcoal)}
.library-row-group{border:1px solid rgba(140,106,73,.24);border-radius:17px;overflow:hidden;background:rgba(255,253,248,.5)}
.library-shelf-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:19px 20px;text-align:left;background:none;border:0;border-radius:0;color:var(--link-ink);cursor:pointer;box-shadow:none}
.library-shelf-row+ .library-shelf-row,.library-row-group>div:not(:empty){border-top:1px solid rgba(140,106,73,.2)}
.library-shelf-row>span{display:grid;gap:5px;min-width:0}
.library-shelf-row small{font:10px/1.6 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--label-ink)}
.library-shelf-row strong{font:400 24px/1.17 var(--head)}
.library-shelf-row>span>span{font:13px/1.5 var(--display);color:var(--ash)}
.library-shelf-row i{font:20px/1 var(--display);flex-shrink:0}
.library-shelf-row:hover,.library-chapter-row:not(:disabled):hover{background:rgba(182,138,58,.07)}
.library-quiet-guide.library-keeper-guide{display:block;position:relative;margin:0 0 22px;padding:0;border:1px solid rgba(120,92,131,.26);border-radius:14px;background:linear-gradient(115deg,#f2ecef,#f9f4ed);color:var(--link-ink);box-shadow:none}
.library-quiet-guide>summary{display:flex;align-items:center;gap:12px;padding:13px 17px;cursor:pointer;list-style:none;min-height:58px}
.library-quiet-guide>summary>span:first-child{color:#785c83;font-size:21px}
.library-quiet-guide>summary>span:nth-child(2){flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.library-quiet-guide>summary strong{font:400 21px/1.25 var(--head)}
.library-quiet-guide>summary small{font:12px/1.5 var(--display);color:var(--ash)}
.library-quiet-guide>summary i,.library-contents>summary i{font:18px/1 var(--display);font-style:normal;transition:transform .2s}
.library-quiet-guide[open]>summary i,.library-contents[open]>summary i{transform:rotate(45deg)}
.library-guide-body{padding:0 17px 18px}
.library-quiet-guide .library-guide-body h2{font:400 26px/1.2 var(--head);color:var(--charcoal);margin:12px 0}
.library-quiet-guide :is(select,textarea){width:100%;background:var(--warm-ivory);color:var(--charcoal);border:1px solid rgba(120,92,131,.35);font:15px/1.5 var(--display);padding:12px;border-radius:9px;margin:6px 0 12px}
.library-quiet-guide .library-guide-label{font:12px/1.5 var(--ui);color:var(--link-ink);letter-spacing:0;text-transform:none}
.library-quiet-guide .library-guide-mode button{color:var(--link-ink);border-color:rgba(120,92,131,.35);min-height:44px}
.library-quiet-guide .library-guide-mode button.is-chosen{background:#785c83;color:#fffaf1;border-color:#785c83}
.library-quiet-guide .library-guide-ask{margin-top:16px;min-height:46px;background:#624b6b;color:#fffaf1;border:1px solid #624b6b;letter-spacing:0;text-transform:none;font-size:14px}
.library-guide-details{margin-top:16px;border-top:1px solid rgba(120,92,131,.2)}
.library-guide-details>summary{font:13px/1.5 var(--display);cursor:pointer;padding:12px 0}
.library-guide-details p{font:13px/1.6 var(--display);color:var(--ash)}
.library-about{margin:27px 0 0;padding:0;border:0;border-top:1px solid rgba(140,106,73,.22);background:none;box-shadow:none}
.library-about>summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;cursor:pointer;list-style:none;font:16px/1.5 var(--display);color:var(--link-ink)}
.library-about>summary::-webkit-details-marker{display:none}.library-about[open]>summary span{transform:rotate(45deg)}
.library-about p{margin:0 0 16px;font:14px/1.65 var(--display);color:var(--ash)}
/* ============================================================
   THE LIBRARY'S THREE FOLDS (build brief v588 §3) — structural, not
   decorative, distinction. Cover the titles and a person must still know
   which fold they are looking at: Books are rectangles, the Path is a line,
   the Listening Room is plain rows. Only tokens already in this file. */
.library-fold{margin:27px 0 0;padding:20px 17px;border-radius:3px}
.library-fold>h2{margin:0 0 14px;font:400 22px/1.2 var(--head)}
.library-fold-severing{margin:16px 0 0;font:italic 13.5px/1.6 var(--display)}
.library-secondary{display:inline-block;margin-top:14px;font:12px/1.5 var(--ui);letter-spacing:.08em;text-transform:uppercase}
/* THE BOOKS — a shelf of portrait (2:3) covers on --deep-brown. */
.library-fold-books{background:var(--deep-brown);border:1px solid var(--codex-sepia);border-bottom:1px solid var(--sh-gold-line)}
.library-fold-books>h2{color:var(--parchment)}
.library-fold-books .library-fold-severing{color:var(--veil-gray)}
.library-fold-books .library-secondary{color:var(--soft-gold)}
.library-books-shelf{display:flex;gap:14px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.library-book-card{flex:0 0 auto;width:118px;display:flex;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;text-align:left;color:var(--parchment)}
.library-book-cover{display:block;width:118px;aspect-ratio:2/3;border:1px solid var(--codex-sepia);border-radius:2px;overflow:hidden;background:var(--blackened-sepia)}
.library-book-cover img{width:100%;height:100%;object-fit:cover;display:block}
.library-book-cover-blank{display:flex;align-items:center;justify-content:center;padding:10px;background:var(--aged-paper)}
.library-book-cover-title{font:400 15px/1.25 var(--head);color:var(--ink);text-align:center}
.library-book-title{font:400 15px/1.2 var(--display)}
.library-book-meta{font:11px/1.4 var(--ui);letter-spacing:.04em;color:var(--veil-gray)}
.library-small-note{font:italic 13px/1.5 var(--display);color:var(--veil-gray)}
/* v602 §6 — the five short Codex readings sit beneath the shelf, not on
   it: same row markup as the Listening Room's own rows. */
.library-small-label{margin-top:14px;font:11px/1.4 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold)}
.library-books-readings{display:flex;flex-direction:column}
body.quiet .library-small-label{color:var(--soft-gold)}
/* THE PATH OF BECOMING — a single vertical thread, twelve marks. No cards,
   no images, no cover art anywhere in this fold. Ever. Two states only:
   open, or not yet open. */
.library-fold-path{background:var(--blackened-sepia)}
.library-fold-path>h2{color:var(--parchment)}
.library-fold-path .library-fold-severing{color:var(--veil-gray)}
.library-fold-path .library-secondary{color:var(--soft-gold)}
.library-path-thread{position:relative;padding-left:22px}
.library-path-thread::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--sh-line)}
.library-path-mark{position:relative;display:flex;align-items:baseline;gap:10px;padding:9px 0}
.library-path-dot{position:absolute;left:-22px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%}
.library-path-mark.is-open .library-path-dot{background:var(--soft-gold)}
.library-path-mark.is-locked .library-path-dot{background:none;border:1px solid var(--veil-gray)}
.library-path-mark.is-open .library-path-name{font:400 14px/1.3 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--parchment)}
.library-path-mark.is-locked .library-path-name{font:14px/1.3 var(--display);color:var(--veil-gray)}
.library-path-state{font:11px/1.4 var(--ui);letter-spacing:.04em;color:var(--veil-gray)}
@media (prefers-reduced-motion:no-preference){
  .library-path-mark.is-open .library-path-dot{animation:libraryPathBreathe 4s ease-in-out infinite}
}
@keyframes libraryPathBreathe{0%,100%{opacity:.6}50%{opacity:1}}
/* THE LISTENING ROOM — plain rows only, so the other two folds stay pure. */
.library-fold-listening{background:var(--blackened-sepia)}
.library-fold-listening>h2{color:var(--parchment)}
.library-fold-listening .library-secondary{color:var(--soft-gold)}
.library-listening-rows{display:flex;flex-direction:column}
.library-listening-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 0;background:none;border:0;border-top:1px solid var(--sh-line);text-align:left;cursor:pointer}
.library-listening-row:first-child{border-top:0}
.library-listening-title{font:15px/1.4 var(--body);color:var(--parchment)}
.library-listening-duration{flex-shrink:0;font:11px/1.4 var(--ui);color:var(--ash)}

.library-quiet-guide .library-guide-result{color:var(--charcoal);background:var(--warm-ivory);border-color:rgba(120,92,131,.3)}
.library-quiet-guide .library-guide-result :is(h3,p,span,small){color:var(--link-ink)}
.library-quiet-guide .library-guide-result button{color:#624b6b;border-color:#785c83}
.library-audio-shelf{margin:27px 0 0!important;padding:0!important;background:none!important;border:0!important}
.library-audio-shelf :is(.major-tab-linkcard,.library-shelf-row){position:relative;width:100%;padding:23px 24px;background:radial-gradient(ellipse at 95% 0,rgba(210,177,100,.17),transparent 65%),#241a14;border:1px solid #947e51;border-radius:3px;box-shadow:0 12px 23px -17px rgba(38,24,15,.6);text-align:left;color:#f5ead8}
.library-audio-shelf :is(strong,.library-shelf-row strong){font:400 29px/1.2 var(--head);color:#f5ead8;display:block;margin:7px 0}
.library-audio-shelf :is(.room-label,.library-shelf-row small){color:#d4b46d}
.library-audio-shelf :is(small,.library-shelf-row>span>span){font:14px/1.6 var(--display);color:#d2c5b5}
.library-audio-shelf em{display:block;margin-top:16px;font:12px/1.4 var(--ui);color:#e6c77d;font-style:normal}
.library-bookmark{margin:23px 0;padding:22px;background:rgba(182,138,58,.06);border:1px solid rgba(182,138,58,.3);border-radius:16px;box-shadow:none}
.library-bookmark h2{font:400 29px/1.2 var(--head);margin:8px 0 16px}
.library-bookmark p:not(.room-label){font:14px/1.5 var(--display);color:var(--ash);margin:0 0 18px}
.library-contents{border:0;border-top:1px solid rgba(140,106,73,.25);border-bottom:1px solid rgba(140,106,73,.25);padding:0;margin:24px 0;background:none;border-radius:0;box-shadow:none}
.library-contents>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;font:400 25px/1.2 var(--head);color:var(--link-ink)}
.library-contents>summary small{font:12px/1.5 var(--display);color:var(--ash);margin-left:10px}
.library-contents>summary::-webkit-details-marker,.library-quiet-guide>summary::-webkit-details-marker{display:none}
.library-chapter-list{margin:0 0 15px;border:1px solid rgba(140,106,73,.23);border-radius:14px;overflow:hidden}
.library-chapter-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;border:0;background:rgba(255,253,248,.45);border-radius:0;padding:17px 14px;text-align:left;font:400 21px/1.25 var(--head);color:var(--link-ink);cursor:pointer;min-height:62px}
.library-chapter-row+ .library-chapter-row{border-top:1px solid rgba(140,106,73,.17)}
.library-chapter-row :is(.library-chapter-number,small){font:10px/1.5 var(--ui);color:var(--ash)}
.library-chapter-row:disabled{opacity:1;color:var(--ash);cursor:default;background:rgba(140,106,73,.035)}
.library-chapter-row small{max-width:6em;text-align:right}
.library-small-note{font:13px/1.6 var(--display);color:var(--ash);margin:13px 0 18px}
.library-secondary{display:block;min-height:44px;font:15px/1.5 var(--display);padding:12px 0}
.library-audio-page .listening-room-heading{padding:0;background:none;border:0;box-shadow:none}
.library-quiet :is(button,summary,select,textarea):focus-visible{outline:2px solid var(--muted-gold);outline-offset:3px}
body.quiet .library-quiet :is(.library-heading h1,.library-shelf>h2,.library-continue>h2,.library-guide-body h2){color:var(--bone)}
body.quiet .library-quiet :is(.library-row-group,.library-bookmark,.library-chapter-list){background:#2c2118;border-color:#66543c}
body.quiet .library-quiet-guide.library-keeper-guide{background:#302536;border-color:#8a7296}
body.quiet .library-quiet-guide>summary>span:first-child{color:#d0b6da}
body.quiet .library-quiet-guide :is(select,textarea){background:#261f20;color:var(--bone);border-color:#8a7296}
body.quiet .library-quiet-guide .library-guide-result{background:#302536;color:var(--bone)}
@media(min-width:700px){.library-quiet{max-width:720px;margin:0 auto;width:100%}.library-heading h1{font-size:44px}}

/* The dock follows a short page, and stays in view on a long page. A forced
   viewport-height flex spacer previously left hundreds of empty pixels. */
.app-frame{min-height:0;overflow:clip}
body .app-frame>.screen{flex:0 0 auto;overflow:visible;padding-bottom:24px}
.app-frame>.tabbar{position:sticky;bottom:0;left:auto;transform:none;max-width:none;flex:0 0 auto}
.app-frame>.carry-ribbon{position:sticky;left:auto;transform:none;max-width:none;flex:0 0 auto;bottom:calc(var(--tabbar-h) + var(--safe-bot))}
body .app-frame>.screen:has(+.carry-ribbon:not([hidden])){padding-bottom:20px}

/* Catalogue-driven editions use the same quiet reading surface as the existing books. */
.library-material-cover{display:block;width:min(56%,240px);height:auto;margin:24px auto 30px;box-shadow:0 12px 24px -15px rgba(40,25,16,.55)}
.library-reading{font:400 20px/1.7 var(--body);color:var(--charcoal);overflow-wrap:anywhere}
.library-reading p{margin:0 0 1.2em}
.library-reading blockquote{margin:28px 0;padding:12px 0 12px 20px;border-left:2px solid var(--muted-gold);font-style:italic}
.library-reading blockquote p:last-child{margin-bottom:0}
.library-reading section{border-top:1px solid rgba(140,106,73,.22);margin-top:28px;padding-top:20px}
.library-reading h2{font:400 28px/1.25 var(--head);margin:0 0 16px}
body.quiet .library-reading{color:var(--bone)}

/* === The Wider Season · the four clocks (wider-season-horizon-v1) === */
.season-sky-window .season-sky-live{--wider-gold:#D9AC55;--wider-dim:#6E5A2E;--wider-faint:#332815;--wider-ink:#A99C87;--wider-mute:#7E7361;display:flex;flex-direction:column;gap:14px}
.season-sky-window .wsh-title{font:500 21px/1.25 var(--display,Georgia,serif);color:#eee4d3;margin:8px 0 0}
.wsh-host{min-height:220px}
.wsh-loading{font:400 12px/1.6 var(--ui);letter-spacing:.08em;color:#a99c87}
.wsh-instrument svg{display:block;width:min(420px,100%);margin:4px auto 0}
.wsh-instrument svg text{font-family:var(--ui)}
.wsh-head{display:flex;justify-content:space-between;align-items:baseline}
.wsh-lab{font:500 10px/1.5 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#dcc38a}
.wsh-legend{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center}
.wsh-legend button{background:none;border:none;padding:2px 0;font:400 11px/1.5 var(--ui);letter-spacing:.06em;color:#a99c87;cursor:pointer}
.wsh-legend button b{color:#d9ac55;font-weight:600}
.wsh-legend button:hover b,.wsh-legend button:focus-visible b{text-decoration:underline;text-underline-offset:3px}
.wsh-nline{padding:12px 14px;border-left:3px solid #6e5a2e;background:rgba(217,172,85,.07);font:italic 400 14.5px/1.6 var(--display,Georgia,serif);color:#d8ccb8}
.wsh-who{display:block;font:600 9px/1.4 var(--ui);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:#dcc38a;margin-bottom:5px}
.wsh-scrub{display:flex;align-items:center;gap:12px}
.wsh-scrub label{font:500 10px/1.5 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:#a99c87;white-space:nowrap}
.wsh-scrub input{flex:1;accent-color:#d9ac55}
.wsh-val{font:400 11px/1.4 var(--ui);color:#dcc38a;min-width:70px;text-align:right}
.wsh-facts{display:flex;flex-wrap:wrap;gap:6px 18px;font:400 11.5px/1.6 var(--ui);color:#a99c87}
.wsh-prov{font:400 10px/1.6 var(--ui);letter-spacing:.05em;color:#7e7361;border-top:1px solid rgba(217,172,85,.18);padding-top:10px;margin:2px 0 0}
.wsh-foot{font:italic 400 12.5px/1.65 var(--display,Georgia,serif);color:#a99c87;margin:0}
.wsh-held h2{font:500 19px/1.3 var(--display,Georgia,serif);color:#eee4d3;margin:0 0 8px}
.wsh-held p{font:400 13px/1.65 var(--ui);color:#a99c87;margin:0}
@media(prefers-reduced-motion:reduce){.wsh-instrument svg *{transition:none!important}}

/* ---- Stones + on-this-day (wider-season-horizon v1.1) ---- */
.season-sky-window .wsh-stone { cursor: pointer; }
.season-sky-window .wsh-stone:focus-visible { outline: 2px solid var(--wider-gold, #D9AC55); outline-offset: 2px; }
.season-sky-window .wsh-pinned {
  margin: 10px 2px 0; font-size: 13px; line-height: 1.55;
  color: var(--wider-gold, #D9AC55); font-style: italic;
}
.season-sky-window .wsh-stones-cov {
  margin: 8px 2px 0; font-size: 12px; line-height: 1.6;
  color: var(--wider-mute, #A99C87);
  border-left: 2px solid var(--wider-dim, #6E5A2E); padding-left: 10px;
}
.season-sky-window .wsh-otd {
  margin: 14px 2px 0; padding-top: 12px;
  border-top: 1px solid var(--wider-faint, #332815);
  font-size: 13px; line-height: 1.6; color: var(--wider-ink, #7E7361);
}
.season-sky-window .wsh-otd .wsh-otd-label {
  font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--wider-gold, #D9AC55);
}

/* ---- House stones (v1.2): held in common ---- */
.season-sky-window .wsh-house-stone { cursor: pointer; }
.season-sky-window .wsh-kept {
  margin: 14px 2px 0; padding: 10px 12px;
  border-left: 2px solid var(--wider-gold, #D9AC55);
  background: rgba(217, 172, 85, .07);
  font-size: 13px; line-height: 1.6; color: var(--wider-ink, #7E7361);
}
.season-sky-window .wsh-kept .wsh-otd-label { color: var(--wider-gold, #D9AC55); }

/* ============================================================
   V581 · THE ROUND — the Keeper at the fire
   Mounted in place of the Hearth composer or a Circle's conversation
   composer while a round is open. Same visual grammar as the Hearth
   thread and the v565 Circle: --display for read text, --ash/--link-ink/
   --label-ink for ink, gold for the Keeper's own voice.
   ============================================================ */
.round-wrap{margin-top:14px}
.round-header{padding:16px 15px;border:1px solid rgba(140,106,73,.28);background:linear-gradient(145deg,rgba(255,252,247,.95),rgba(243,231,214,.72))}
.round-eyebrow{font:10px/1.4 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--label-ink)}
.round-matter{margin-top:8px;font-family:var(--display);font-style:italic;font-size:16px;line-height:1.55;color:var(--link-ink)}
.round-floor{margin-top:12px}
.round-floor-line{font-family:var(--display);font-size:15px;line-height:1.55;color:var(--ink)}
.round-floor-hint{margin-top:4px;font-size:12px}
.round-keeper-line{margin-top:12px;padding-top:10px;border-top:1px solid rgba(140,106,73,.2)}
.round-keeper-line>p{font-size:13px;line-height:1.5;color:var(--ash);display:flex;align-items:center;gap:6px}

/* ---- §3a — the ring: an arc on the Keeper's ✦ mark showing oil remaining.
   Shared geometry across the topbar mark (app.css/#keeperBtn), the Keeper's
   line inside an attended round (above), and the round-call sheet's "with
   the Keeper" row below. ---- */
.keeper-ring-wrap{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:24px;height:24px}
.keeper-ring-wrap>.keeper-ring{position:absolute;inset:0;width:24px;height:24px;pointer-events:none}
.keeper-ring-glyph{position:relative;z-index:1}
.keeper-ring-track{fill:none;stroke:rgba(140,106,73,.20);stroke-width:1.4}
.keeper-ring-arc{fill:none;stroke:var(--muted-gold);stroke-width:1.4;transform-origin:12px 12px;transform:rotate(-90deg)}
.round-keeper-toggle{display:block;margin-top:6px;font:12px/1.4 var(--ui);color:var(--ash);cursor:pointer}
.round-keeper-toggle input{margin-right:6px}
.round-overrides{display:flex;gap:8px;margin-top:12px}
.round-btn{min-height:38px;padding:8px 14px;border:1px solid rgba(140,106,73,.32);border-radius:9px;background:rgba(255,252,247,.85);font:13px/1.3 var(--ui);color:var(--ink);cursor:pointer}
.round-btn:disabled{opacity:.5;cursor:default}
.round-btn-quiet{background:transparent;color:var(--ash)}
.round-override-btn{min-height:32px;padding:6px 11px;border:1px solid rgba(140,106,73,.22);border-radius:8px;background:transparent;font:11px/1.3 var(--ui);letter-spacing:.03em;color:var(--ash);cursor:pointer}
.round-override-btn.is-stop{border-color:rgba(139,75,55,.4);color:#8b4b37}
.round-fire{margin-top:14px;padding:14px 13px;min-height:80px;border:1px solid rgba(140,106,73,.23);background:rgba(255,252,247,.76)}
.round-fire-empty{margin:0}
.round-turn{margin-top:12px;padding-bottom:12px;border-bottom:1px solid rgba(140,106,73,.14)}
.round-turn:first-child{margin-top:0}
.round-turn:last-child{border-bottom:0;padding-bottom:0}
.round-turn.is-mine{text-align:right}
.round-turn.is-keeper{padding:12px 14px;background:rgba(182,138,58,.07);border-radius:12px;border-bottom:0}
.round-turn.is-keeper .round-turn-body{font-family:var(--display);font-style:italic;color:var(--link-ink)}
.round-turn-meta{font:11px/1.4 var(--ui);color:var(--ash)}
.round-turn-meta strong{font:500 12px/1.4 var(--ui);color:var(--link-ink);text-transform:none;letter-spacing:0}
.round-turn-tag{display:inline-block;margin-left:7px;padding:1px 7px;border:1px solid rgba(140,106,73,.3);border-radius:20px;font:9px/1.6 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ash)}
.round-turn-body{margin-top:4px;font-family:var(--display);font-size:15px;line-height:1.55;color:#3a2f25;white-space:pre-wrap}
.round-turn-body.is-withdrawn-body{font-style:italic;color:var(--ash)}
.round-turn-actions{margin-top:4px}
.round-turn-action{border:0;background:transparent;padding:0;font:11px/1.4 var(--ui);color:var(--ash);text-decoration:underline;cursor:pointer}
.round-sayback{display:flex;gap:8px;margin-top:12px}
.round-composer{margin-top:14px}
.round-composer-box{display:block;width:100%;box-sizing:border-box;padding:13px;border:1px solid rgba(140,106,73,.34);border-radius:11px;background:#fffaf2;font:16px/1.55 var(--display);color:var(--ink)}
.round-composer-hint{margin-top:6px}
.round-out-of-turn-banner{margin-bottom:8px;padding:9px 11px;border-left:2px solid #9a7052;background:rgba(154,112,82,.08);font:12.5px/1.5 var(--ui);color:var(--ash)}
.round-composer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.round-embers{margin-top:16px;padding:13px;border:1px solid rgba(140,106,73,.22);background:rgba(255,252,247,.6)}
.round-embers-eyebrow{font:9px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--label-ink)}
.round-embers-empty{margin-top:8px}
.round-embers-list{margin-top:8px;display:grid;gap:8px}
.round-ember-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(140,106,73,.18);border-radius:9px;background:#fffaf2;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}
.round-ember-glyph{color:var(--muted-gold);font-size:15px;flex:0 0 auto}
.round-ember-text{flex:1;font-family:var(--display);font-size:14.5px;line-height:1.4;color:var(--ink);word-break:break-word}
.round-ember-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.round-ember-actions button{border:0;background:transparent;padding:4px 6px;font:11px/1.3 var(--ui);color:var(--ash);cursor:pointer}
.round-ember-fire{color:var(--codex-sepia)!important;font-weight:500}
.round-ember-fire:disabled{opacity:.5;cursor:default}
.round-ember-trash,.round-ember-more{font-size:13px}
.round-ember-edit-box{display:block;width:100%;box-sizing:border-box;padding:9px;border:1px solid rgba(140,106,73,.3);border-radius:8px;background:#fffaf2;font:14px/1.45 var(--display);color:var(--ink)}
.round-ember-row.is-rising{transform:translateY(-4px);box-shadow:0 10px 22px rgba(182,138,58,.22);background:#fff3dd;border-color:rgba(182,138,58,.5)}
.round-ember-rising-label{font:11px/1.3 var(--ui);font-style:italic;color:var(--label-ink)}
@media(prefers-reduced-motion:reduce){.round-ember-row{transition:none}.round-ember-row.is-rising{transform:none}}
.round-glow-footer{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(140,106,73,.18)}
.round-glow-item{display:flex;align-items:center;gap:6px}
.round-glow-item small{font:10px/1.3 var(--ui);color:var(--ash)}
.round-glow{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--muted-gold)}
.round-glow[data-band="0"]{opacity:.18}
.round-glow[data-band="1"]{opacity:.42}
.round-glow[data-band="2"]{opacity:.7}
.round-glow[data-band="3"]{opacity:1;box-shadow:0 0 8px rgba(182,138,58,.55)}
.round-closing-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.round-help{margin-top:16px;padding-top:12px;border-top:1px solid rgba(140,106,73,.18)}
.round-help summary{cursor:pointer;font:500 12px/1.4 var(--ui);letter-spacing:.03em;color:var(--link-ink)}
.round-help p{margin-top:9px;font-family:var(--display);font-size:13.5px;line-height:1.6;color:var(--ash)}
body.quiet .round-help{border-color:rgba(210,180,109,.16)}
.round-closed{padding:24px 18px;border:1px solid rgba(182,138,58,.4);background:radial-gradient(circle at 100% 0,rgba(182,138,58,.14),transparent 35%),linear-gradient(150deg,#2d2019,#1c1411);text-align:center}
.round-closed .round-eyebrow{color:var(--soft-gold)}
.round-closed-msg{margin-top:10px;font-family:var(--display);font-size:17px;line-height:1.6;color:#e9dcc8}
.round-loading{margin-top:14px}
body.quiet .round-header,body.quiet .round-fire,body.quiet .round-embers,body.quiet .round-ember-row,body.quiet .round-composer-box,body.quiet .round-ember-edit-box,body.quiet .round-btn{background:#251c16;border-color:rgba(210,180,109,.2)}
body.quiet .round-turn-meta strong,body.quiet .round-turn-body{color:#f3e6c8}
body.quiet .round-turn.is-keeper{background:rgba(210,180,109,.08)}
body.quiet .round-ember-row.is-rising{background:rgba(210,180,109,.12)}
@media(max-width:390px){.round-overrides,.round-composer-actions,.round-closing-row,.round-sayback{flex-direction:column;align-items:stretch}.round-glow-footer{gap:14px 10px}}

/* ---- the call sheet + first-run orientation (both app.js overlays) ---- */
.round-take-btn,.round-call-trigger{display:block;width:100%;min-height:44px;margin:10px 0;padding:10px 14px;border:1px solid rgba(182,138,58,.42);border-radius:10px;background:rgba(182,138,58,.08);font:13px/1.3 var(--ui);letter-spacing:.02em;color:var(--codex-sepia);cursor:pointer}
#roundCallSheet,#roundHowSheet,#gatherSheet{position:fixed;inset:0;z-index:9500}
.round-call-scrim{position:fixed;inset:0;background:rgba(26,18,12,.4)}
.round-call-sheet{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;max-height:86vh;overflow-y:auto;box-sizing:border-box;padding:22px 20px calc(20px + var(--safe-bot,0px));background:var(--warm-ivory);box-shadow:0 -18px 46px rgba(30,22,18,.18)}
.round-call-sheet textarea{display:block;width:100%;box-sizing:border-box;margin-top:10px;padding:12px;border:1px solid rgba(140,106,73,.32);border-radius:10px;background:#fffaf2;font:15px/1.5 var(--display);color:var(--ink)}
.round-call-select{margin-top:10px}
.round-call-select select{width:100%}
.round-call-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.round-call-chip{padding:8px 12px;border:1px solid rgba(140,106,73,.28);border-radius:20px;background:transparent;font:12.5px/1.3 var(--ui);color:var(--ash);cursor:pointer}
.round-call-chip.is-on{border-color:#9b6d3c;background:rgba(182,138,58,.12);color:var(--ink)}
.round-call-consent{display:block;margin-top:14px;font:13px/1.4 var(--ui);color:var(--ash)}
.round-call-consent input{margin-right:7px}
.round-how-sheet h2{font-family:var(--head);font-size:24px;font-weight:400;color:var(--codex-sepia)}
.round-how-sheet p{margin-top:12px;font-family:var(--display);font-size:14.5px;line-height:1.6;color:var(--ash)}
body.quiet .round-call-sheet{background:#201713;color:#e9dcc8}
body.quiet .round-call-sheet textarea{background:rgba(255,255,255,.04);color:#e9dcc8;border-color:rgba(210,180,109,.24)}
body.quiet .round-how-sheet h2{color:#f0dfc6}
body.quiet .round-how-sheet p{color:#c9b9aa}
@media(prefers-reduced-motion:reduce){.round-call-sheet{transition:none}}
.round-call-measure{margin-top:10px}

/* ============================================================
   V586 · THE HEARTH'S CONSENT ASK & THE QUIET BELL (§3d/§3i) — the same
   quiet-card grammar as .round-header above, reused for whichever "ask
   once, above the composer" moment applies.
   ============================================================ */
.quiet-ask-card{margin:14px 0;padding:16px 15px;border:1px solid rgba(140,106,73,.28);background:linear-gradient(145deg,rgba(255,252,247,.95),rgba(243,231,214,.72))}
.quiet-ask-card>p:not(.room-label){margin-top:8px;font-family:var(--display);font-size:14.5px;line-height:1.6;color:var(--ash)}
.quiet-ask-card .btn-row{margin-top:12px}
.hearth-keeper-consent-wait{margin:12px 0}
.bell-off-line{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.bell-off-line a{color:var(--link-ink)}
.bell-off-dismiss{border:0;background:transparent;padding:0;font:11px/1.4 var(--ui);color:var(--ash);text-decoration:underline;cursor:pointer}
body.quiet .quiet-ask-card{background:#251c16;border-color:rgba(210,180,109,.2)}

/* ============================================================
   V585 · THE PREPARATION SITTING, THE NARRATIONS, A GATHERING — the
   Crucible walk's own new step, the two new-root-module widgets
   (prepare-v1.js/narrations-v1.js), and a Circle Gathering's Table Card.
   The sitting reuses the Keeper chat's own bubble language (.kc-thread
   etc., defined under .keeper-room above) by wrapping in that same class;
   only what is genuinely new lives here.
   ============================================================ */
.prep-v1,.narr-v1{max-width:560px;margin:14px 0}
.prep-v1 .btn.light{background:transparent}
.narr-script{margin-top:12px}
.narr-script summary{cursor:pointer;font:500 13px/1.5 var(--ui);color:var(--link-ink);padding:8px 0}
.narr-script p{margin-top:10px;font-family:var(--display);font-size:14.5px;line-height:1.65;color:var(--ash)}
body.quiet .narr-script p{color:#c9b9aa}
.circle-gather-card{margin-top:8px;font-family:var(--display);font-style:italic;font-size:15px;line-height:1.6;color:var(--ink)}
body.quiet .circle-gather-card{color:#e9dcc8}
.hearth-bread-card input{margin-top:8px}

/* ============================================================
   V582 · THE WEEKLY QUESTION CARD — the Hearth chamber and a Circle's
   keeping section. Same visual grammar as the Round above it.
   ============================================================ */
.weekly-card{margin-top:16px;padding:15px 14px;border:1px solid rgba(140,106,73,.24);background:rgba(255,252,247,.6)}
.weekly-card-body{margin-top:12px}
.weekly-toggle{display:block;font:13px/1.4 var(--ui);color:var(--ash);cursor:pointer}
.weekly-toggle input{margin-right:7px}
.weekly-day{display:block;margin-top:10px;font:12px/1.4 var(--ui);color:var(--ash)}
.weekly-day select{margin-left:6px}
.weekly-cadence{margin-top:8px}
.weekly-card .sh-link{display:inline-block;margin-top:10px}
body.quiet .weekly-card{background:#251c16;border-color:rgba(210,180,109,.2)}
body.quiet .weekly-toggle,body.quiet .weekly-day{color:#c9b9aa}

/* ============================================================
   V582 · THE COOL OF THE DAY — threshold, the silence, the Word and
   the sentence, then "Kept." §4b. The countdown uses tabular figures so
   the digits never shift width as the seconds fall; the ring becomes a
   static bar under prefers-reduced-motion (cool-of-day-v1.js chooses
   which markup to render — this stylesheet never animates on its own).
   ============================================================ */
.cool-enter-btn{display:block;width:100%;min-height:44px;margin:10px 0;padding:10px 14px;border:1px solid rgba(140,106,73,.28);border-radius:10px;background:transparent;font:13px/1.3 var(--ui);letter-spacing:.02em;color:var(--ash);cursor:pointer}
.cool-mount{margin-top:14px}
.cool-wrap{padding:24px 18px;border:1px solid rgba(182,138,58,.32);background:linear-gradient(145deg,rgba(255,252,247,.95),rgba(243,231,214,.7));text-align:center}
.cool-eyebrow{font:10px/1.4 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--label-ink)}
.cool-lead{margin-top:12px;font-family:var(--display);font-size:15px;line-height:1.62;color:var(--ash)}
.cool-btn{display:block;width:100%;min-height:44px;margin-top:16px;padding:10px 14px;border:1px solid rgba(182,138,58,.42);border-radius:10px;background:rgba(182,138,58,.1);font:13px/1.3 var(--ui);letter-spacing:.03em;color:var(--codex-sepia);cursor:pointer}
.cool-quiet{display:block;width:100%;margin-top:10px;border:0;background:none;padding:6px 0;font:13px/1.3 var(--ui);color:var(--ash);cursor:pointer}
.cool-silence{padding:36px 18px}
.cool-ring{display:block;width:120px;height:120px;margin:0 auto}
.cool-ring-track{fill:none;stroke:rgba(140,106,73,.2);stroke-width:6}
.cool-ring-fill{fill:none;stroke:var(--muted-gold);stroke-width:6;stroke-linecap:round;transform:rotate(-90deg);transform-origin:60px 60px;transition:stroke-dashoffset 1s linear}
.cool-bar{width:100%;max-width:220px;height:10px;margin:0 auto;border-radius:6px;background:rgba(140,106,73,.18);overflow:hidden}
.cool-bar-fill{height:100%;background:var(--muted-gold)}
.cool-countdown{margin-top:18px;font:400 42px/1 var(--display);font-variant-numeric:tabular-nums;color:var(--ink)}
.cool-word{text-align:left}
.cool-reading-wrap{text-align:center}
.cool-reading{margin:0;font-family:var(--display);font-style:italic;font-size:19px;line-height:1.62;color:var(--link-ink)}
.cool-reading-ref{margin-top:8px;font:10px/1.4 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold);text-align:center}
.cool-prompt{margin-top:20px;font-family:var(--display);font-size:15px;color:var(--ash)}
.cool-composer{display:block;width:100%;box-sizing:border-box;margin-top:10px;padding:12px;border:1px solid rgba(140,106,73,.32);border-radius:10px;background:#fffaf2;font:15px/1.5 var(--display);color:var(--ink)}
.cool-kept-line{font-family:var(--display);font-style:italic;font-size:22px;color:var(--link-ink)}
body.quiet .cool-wrap{background:#251c16;border-color:rgba(210,180,109,.28)}
body.quiet .cool-lead,body.quiet .cool-prompt{color:#c9b9aa}
body.quiet .cool-countdown,body.quiet .cool-kept-line{color:#f3e6c8}
body.quiet .cool-composer{background:rgba(255,255,255,.04);color:#e9dcc8;border-color:rgba(210,180,109,.24)}
@media(prefers-reduced-motion:reduce){.cool-ring-fill{transition:none}}

/* ===== v592 · Skiza — the room ===== */
/* .screen already sizes to the exact viewport remaining under the sticky
   #topbar (it is a flex:1 child of .app-frame's flex column) — the room
   only needs to stop fighting .screen's own padding/scroll for that space. */
.screen.skiza-screen{padding:0;overflow:hidden}
.skiza-room{display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at 100% 0,rgba(183,135,72,.1),transparent 28%),var(--warm-ivory)}
.sk-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border-bottom:1px solid rgba(140,106,73,.18)}
.sk-back{flex:0 0 auto;min-width:30px;min-height:30px;border:0;background:none;font-size:22px;line-height:1;color:var(--ash);cursor:pointer}
.sk-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sk-title.sk-room-info{min-height:44px;padding:0;text-align:left;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.sk-title strong{font-family:var(--display);font-size:17px;font-weight:500;color:var(--codex-sepia);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-cov{font-family:var(--display);font-style:italic;font-size:12.5px;color:var(--ash);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-more{flex:0 0 auto;min-width:34px;min-height:34px;border:0;background:none;font-size:18px;line-height:1;color:var(--ash);cursor:pointer}
.sk-band{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:0 14px;background:rgba(182,138,58,.08);border-bottom:1px solid rgba(140,106,73,.14)}
.sk-band-text{font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.sk-band[data-state="held"] .sk-band-text{font-family:var(--display);font-size:13px;font-style:italic;letter-spacing:0;text-transform:none;color:var(--codex-sepia)}
.sk-band[data-state="held"] .sk-band-text:before{content:"◌ ";color:var(--muted-gold)}
/* v600 §2 — "the floor as a line, not a strip": Held grows the band to
   two lines, 58px, everything else unmoved. */
.sk-band[data-state="held"]{flex-direction:column;align-items:stretch;justify-content:center;min-height:58px;padding:8px 14px;gap:5px}
.sk-band-line1{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sk-band-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.sk-band-controls .sk-round-controls{padding:0;border-bottom:0}
.sk-glow-row{display:flex;align-items:center;gap:4px}
.sk-glow{width:5px;height:5px;border-radius:50%;background:rgba(140,106,73,.22)}
.sk-glow.is-lit{background:var(--muted-gold)}
.sk-oil{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}
.sk-oil-ring{position:absolute;inset:0;border:1px solid var(--muted-gold);border-radius:50%}
.sk-oil-mark{position:relative;font-size:12px;color:var(--muted-gold)}
.sk-col{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;padding:14px}
/* v600 §1 — "the room opens under its covenant": the .dk-word fold
   pattern (desk-v1.js/app.css), reused verbatim. Unfolded: italic text
   with a hairline beneath. Folded: the text collapses to a 1px hairline
   carrying only the folded label, off-screen-clipped rather than removed
   so a screen reader still has it. */
.sk-epigraph{margin:0 0 4px;padding-bottom:12px;border-bottom:1px solid rgba(140,106,73,.16);cursor:pointer}
.sk-epigraph-text{display:block;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.55;color:var(--ash)}
.sk-epigraph-fold{display:none;height:1px;margin:0}
.sk-epigraph.is-folded{padding-bottom:0;border-bottom:0}
.sk-epigraph.is-folded .sk-epigraph-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sk-epigraph.is-folded .sk-epigraph-fold{display:block;height:auto;margin:0 0 12px;padding-bottom:8px;font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold);border-bottom:1px solid rgba(140,106,73,.16)}
body.quiet .sk-epigraph-text{color:#c9b9aa}
body.quiet .sk-epigraph,body.quiet .sk-epigraph.is-folded .sk-epigraph-fold{border-color:rgba(210,180,109,.18)}
body.quiet .sk-epigraph.is-folded .sk-epigraph-fold{color:#d8b96d}
.sk-earlier{margin:0 0 4px;text-align:center}
.sk-earlier a{font-family:var(--ui);font-size:12px;color:var(--label-gold)}
.sk-empty{margin:auto 0;text-align:center;font-family:var(--display);font-size:15px;line-height:1.6;color:var(--ash);padding:0 12px}
.sk-turn{position:relative;max-width:84%;padding:10px 13px;border-radius:14px}
.sk-turn.is-mine{align-self:flex-end;background:var(--bone);border:1px solid rgba(140,106,73,.22);border-radius:14px 14px 4px 14px}
.sk-turn.is-mine .sk-time{text-align:right}
.sk-turn.is-theirs{align-self:flex-start;background:var(--parchment);border-radius:14px 14px 14px 4px}
.sk-turn.is-keeper{align-self:center;max-width:92%;padding:6px 4px;background:none;text-align:center}
.sk-name{margin:0 0 2px;font-family:var(--ui);font-size:11px;letter-spacing:.03em;color:var(--label-gold)}
.sk-body{margin:0;font-family:var(--display);font-size:15.5px;line-height:1.55;color:#3a2f25;white-space:pre-wrap;overflow-wrap:anywhere}
.sk-turn.is-keeper .sk-body{font-family:var(--display);font-style:italic;font-size:16px;line-height:1.65;color:var(--codex-sepia)}
.sk-time{margin:3px 0 0;font-family:var(--ui);font-size:10.5px;color:var(--ash)}
.sk-tags{margin:2px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.sk-turn.is-mine .sk-tags{justify-content:flex-end}
.sk-tag{font-family:var(--ui);font-size:10.5px;font-style:italic;color:var(--label-gold)}
.sk-tag.is-notquite{color:#8b4b37}
.sk-keeper-mark{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 6px}
.sk-keeper-mark:before,.sk-keeper-mark:after{content:"";width:28px;height:1px;background:rgba(182,138,58,.4)}
.sk-turn.is-keeper .sk-keeper-mark{font-size:13px;color:var(--muted-gold)}
.sk-sys{margin:2px 0;text-align:center;font-family:var(--ui);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}
.sk-sayback{display:block;margin-top:6px;padding:0;border:0;background:none;font-family:var(--ui);font-size:12px;color:var(--codex-sepia);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sk-turn.is-mine .sk-sayback{margin-left:auto}
.sk-agree{display:flex;gap:8px;margin-top:8px}
.sk-turn.is-mine .sk-agree{justify-content:flex-end}
.sk-agree button{min-height:30px;padding:5px 12px;border:1px solid rgba(140,106,73,.3);border-radius:999px;background:transparent;font-family:var(--ui);font-size:11.5px;color:var(--codex-sepia);cursor:pointer}
.sk-agree-yes{border-color:var(--muted-gold)!important;background:rgba(182,138,58,.1)!important}
/* withdraw / remove-for-me / Keeper-remove: revealed on hover, long-press
   (.is-pressed, set by skiza-v1.js), or keyboard focus — never printed
   under every row */
.sk-actions{position:absolute;top:6px;right:8px;opacity:0;pointer-events:none;transition:opacity .15s ease}
.sk-turn.is-mine .sk-actions{right:auto;left:8px}
.sk-turn:hover .sk-actions,.sk-turn:focus-within .sk-actions,.sk-turn.is-pressed .sk-actions{opacity:1;pointer-events:auto}
.sk-actions button{min-height:26px;padding:2px 8px;border:1px solid rgba(140,106,73,.28);border-radius:999px;background:var(--warm-ivory);font-family:var(--ui);font-size:10px;color:var(--ash);cursor:pointer}
/* v600 §4 — the inline "say it back" reply card, opened under a turn */
.sk-reply{align-self:flex-end;max-width:84%;margin-top:6px;padding:10px 12px;border:1px solid rgba(140,106,73,.24);border-radius:12px;background:var(--warm-ivory)}
.sk-reply-label{margin:0 0 6px;font-family:var(--ui);font-size:10.5px;letter-spacing:.04em;color:var(--label-gold)}
.sk-reply-input{display:block;width:100%;box-sizing:border-box;min-height:44px;max-height:96px;padding:7px 9px;border:1px solid rgba(140,106,73,.28);border-radius:9px;background:var(--bone);font-family:var(--display);font-size:14px;line-height:1.4;color:var(--ink);resize:none}
.sk-reply-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}
.sk-reply-cancel{border:0;background:none;font-family:var(--ui);font-size:11.5px;color:var(--ash);cursor:pointer}
.sk-reply-send{min-height:32px;padding:0 14px;border:0;border-radius:999px;background:var(--deep-brown);font-family:var(--ui);font-size:12px;color:var(--soft-gold);cursor:pointer}
/* v600 §3 — a closed round's trace: folded by default, ink a shade
   lighter, no actions/say-back (turnHTML's own trace=true branch already
   omits those; .is-trace here is purely visual). */
.sk-trace{margin:2px 0}
.sk-trace summary{list-style:none;padding:6px 0;font-family:var(--ui);font-size:10.5px;letter-spacing:.06em;color:var(--label-gold);cursor:pointer}
.sk-trace summary::-webkit-details-marker{display:none}
.sk-trace summary:before{content:"▸ ";color:var(--muted-gold)}
.sk-trace[open] summary:before{content:"▾ "}
.sk-trace .sk-turn.is-trace{opacity:.68}
.sk-trace .sk-turn.is-trace .sk-body{color:#5a4d40}
body.quiet .sk-reply{background:#251c16;border-color:rgba(210,180,109,.22)}
body.quiet .sk-reply-input{background:rgba(244,235,221,.08);color:#f3e6c8;border-color:rgba(210,180,109,.24)}
body.quiet .sk-trace summary{color:#d8b96d}
body.quiet .sk-trace .sk-turn.is-trace .sk-body{color:#cbb9a2}
.sk-composer{flex:0 0 auto;padding:10px 14px calc(10px + var(--safe-bot,0px));border-top:1px solid rgba(140,106,73,.18);background:var(--warm-ivory)}
.sk-cool-host{margin-bottom:8px}
.sk-cool-host[hidden]{display:none}
.sk-input{display:block;width:100%;box-sizing:border-box;min-height:38px;max-height:132px;padding:9px 12px;border:1px solid rgba(140,106,73,.28);border-radius:12px;background:var(--bone);font-family:var(--display);font-size:15px;line-height:1.45;color:var(--ink);resize:none;overflow-y:auto}
.sk-composer-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.sk-composer-tools{display:flex;align-items:center;gap:4px}
.sk-tool{min-width:36px;min-height:36px;border:0;border-radius:50%;background:transparent;font-size:16px;color:var(--ash);cursor:pointer}
.sk-tool:hover,.sk-tool:focus-visible{background:rgba(140,106,73,.1);color:var(--codex-sepia)}
.sk-tool[hidden]{display:none}
.sk-send{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--deep-brown);font-family:var(--ui);font-size:13px;letter-spacing:.04em;color:var(--soft-gold);cursor:pointer}
.sk-round-host[hidden]{display:none}
.sk-round-host{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}

/* the branded, distinguished door into a room — one everywhere a room is
   entered (SPRINT-4D-WORDS.md §1) */
.skiza-btn{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;box-sizing:border-box;min-height:64px;padding:14px 16px;border:0;border-radius:16px;background:var(--deep-brown);cursor:pointer;text-align:center}
.skiza-ember{font-size:15px;line-height:1;color:var(--ash)}
.skiza-ember[data-band="1"]{color:var(--old-gold)}
.skiza-ember[data-band="2"]{color:var(--muted-gold)}
.skiza-ember[data-band="3"]{color:var(--soft-gold);text-shadow:0 0 8px rgba(210,180,109,.6)}
.skiza-word{font-family:var(--smallcaps);font-size:15px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft-gold)}
.skiza-btn small{font-family:var(--ui);font-size:10px;letter-spacing:.02em;color:var(--veil-gray)}

/* sheets — threshold / ⋯ menu / starters — reuse .round-call-scrim and
   .round-call-sheet (defined above); .sk-sheet-wrap only positions them
   inside the room's own host, since skiza-v1.js appends there rather
   than to document.body. */
.sk-sheet-wrap{position:fixed;inset:0;z-index:5}
.sk-sheet-title{margin:0 0 10px;font-family:var(--display);font-size:18px;color:var(--codex-sepia)}
.sk-menu-list{display:flex;flex-direction:column;gap:2px}
.sk-menu-item{min-height:44px;padding:0 4px;border:0;border-bottom:1px solid rgba(140,106,73,.14);background:none;text-align:left;font-family:var(--display);font-size:15.5px;color:var(--ink);cursor:pointer}
.sk-menu-item:last-child{border-bottom:0}
.sk-room-info-panel{display:flex;flex-direction:column;gap:12px}
.sk-room-info-close{align-self:flex-start;min-height:44px;padding:4px 6px;border:0;background:transparent;font:12px/1.4 var(--ui);color:var(--codex-sepia);cursor:pointer}
.sk-room-info-close:before{content:"‹ ";font-size:20px;line-height:0;vertical-align:-1px}
.sk-room-info-identity{padding:4px 12px 10px;text-align:center}
.sk-room-info-avatar{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 10px;border:1px solid rgba(140,106,73,.22);border-radius:50%;background:rgba(182,138,58,.1);font-family:var(--display);font-size:28px;color:var(--codex-sepia)}
.sk-room-info-kicker{margin:0 0 4px;font-family:var(--smallcaps);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--label-gold)}
.sk-room-info-name{margin:0;font-family:var(--display);font-size:22px;line-height:1.2;color:var(--ink)}
.sk-room-info-subtitle{max-width:32rem;margin:6px auto 0;font-family:var(--display);font-size:12.5px;line-height:1.45;color:var(--ash)}
.sk-room-info-group{overflow:hidden;border:1px solid rgba(140,106,73,.18);border-radius:14px;background:rgba(255,255,255,.42)}
.sk-room-info-item{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px;border:0;border-bottom:1px solid rgba(140,106,73,.14);background:none;text-align:left;color:var(--ink);cursor:pointer}
.sk-room-info-item:last-child{border-bottom:0}
.sk-room-info-item-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.sk-room-info-item-copy strong{font-family:var(--display);font-size:15px;font-weight:600}
.sk-room-info-item-copy small{font-family:var(--ui);font-size:12px;line-height:1.4;color:var(--ash)}
.sk-room-info-chevron{font-family:var(--ui);font-size:24px;line-height:1;color:var(--veil-gray)}
.sk-menu-depth-group{margin:6px 0 10px}
.sk-menu-depth-label{margin:0 0 6px;font-family:var(--ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.sk-menu-depth{display:block;width:100%;min-height:38px;margin-top:4px;padding:0 10px;border:1px solid rgba(140,106,73,.24);border-radius:8px;background:transparent;text-align:left;font-family:var(--display);font-size:14.5px;color:var(--ink);cursor:pointer}
.sk-menu-depth.is-on{border-color:var(--muted-gold);background:rgba(182,138,58,.1);color:var(--codex-sepia)}
.sk-starter{display:block;width:100%;min-height:44px;margin-top:6px;padding:10px 12px;border:1px solid rgba(140,106,73,.22);border-radius:10px;background:transparent;text-align:left;font-family:var(--display);font-size:14.5px;line-height:1.4;color:var(--ink);cursor:pointer}
.sk-threshold-p{margin-top:10px;font-family:var(--display);font-size:14.5px;line-height:1.62;color:var(--ash)}
.sk-threshold-hear-wrap{margin-top:14px}
.sk-threshold-hear{display:flex;align-items:center;min-height:44px;padding:0;border:0;background:none;text-align:left;font-family:var(--ui);font-size:11.5px;letter-spacing:.04em;color:var(--label-gold);cursor:pointer}
.sk-threshold-audio-hint{margin:0;font-family:var(--ui);font-size:10.5px;line-height:1.45;color:var(--ash)}
.sk-threshold-audio-body audio{display:block;width:100%;min-height:44px;margin-top:8px;accent-color:var(--burgundy)}
.sk-threshold-transcript{margin-top:8px;font-family:var(--ui);font-size:11px;line-height:1.55;color:var(--ash)}
.sk-threshold-transcript summary{display:flex;align-items:center;width:max-content;max-width:100%;min-height:44px;cursor:pointer;color:var(--codex-sepia)}
.sk-threshold-transcript p{margin:2px 0 0;font-family:var(--display);font-size:13px;line-height:1.6;color:var(--ash)}
.sk-threshold-audio-error{margin:8px 0 0;font-family:var(--ui);font-size:11px;line-height:1.5;color:var(--burgundy)}
.sk-threshold-enter{display:block;width:100%;min-height:44px;margin-top:16px;border:0;border-radius:10px;background:var(--deep-brown);font-family:var(--ui);font-size:13px;letter-spacing:.04em;color:var(--soft-gold);cursor:pointer}

body.quiet .skiza-room{background:radial-gradient(ellipse at 50% 12%,rgba(210,180,109,.08),transparent 55%),#1E1612}
body.quiet .sk-head{border-color:rgba(210,180,109,.16)}
body.quiet .sk-title strong{color:#f3e6c8}
body.quiet .sk-band{background:rgba(210,180,109,.06);border-color:rgba(210,180,109,.14)}
body.quiet .sk-turn.is-mine{background:rgba(244,235,221,.08);border-color:rgba(210,180,109,.16)}
body.quiet .sk-turn.is-theirs{background:rgba(210,180,109,.08)}
body.quiet .sk-body{color:#f3e6c8}
body.quiet .sk-turn.is-keeper .sk-body{color:#eadabd}
body.quiet .sk-composer{background:#1E1612;border-color:rgba(210,180,109,.16)}
body.quiet .sk-input{background:rgba(244,235,221,.08);color:#f3e6c8;border-color:rgba(210,180,109,.22)}
body.quiet .sk-actions button{background:#251c16;border-color:rgba(210,180,109,.22);color:#c9b9aa}
body.quiet .sk-sheet{background:#201713;color:#e9dcc8}
body.quiet .sk-menu-item{color:#e9dcc8;border-color:rgba(210,180,109,.14)}
body.quiet .sk-room-info-name,body.quiet .sk-room-info-item{color:#e9dcc8}
body.quiet .sk-room-info-close{color:#e9dcc8}
body.quiet .sk-room-info-group{border-color:rgba(210,180,109,.16);background:rgba(244,235,221,.04)}
body.quiet .sk-room-info-item{border-color:rgba(210,180,109,.14)}
body.quiet .sk-threshold-hear,body.quiet .sk-threshold-transcript summary{color:var(--soft-gold)}
body.quiet .sk-threshold-audio-hint,body.quiet .sk-threshold-transcript,body.quiet .sk-threshold-transcript p{color:#c9b9aa}
body.quiet .sk-threshold-audio-error{color:#e6a4b3}
body.quiet .sk-starter,body.quiet .sk-menu-depth{color:#e9dcc8;border-color:rgba(210,180,109,.22)}

@media(prefers-reduced-motion:reduce){.sk-actions{transition:none}}

/* v592 · the Round wearing the room's grammar — round-v1.js's own
   skin-only render functions (§1), mounted into .sk-round-host with
   ctx.skin === "skiza". The host itself is a flex column so the fire
   scrolls between a fixed controls strip and a fixed composer+embers
   foot, mirroring .skiza-room's own layout one level down. */
.sk-round-host{display:flex;flex-direction:column}
.sk-round-host .round-wrap{display:flex;flex-direction:column;min-height:100%}
.sk-round-host .sk-fire{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;padding:14px}
.sk-round-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid rgba(140,106,73,.14)}
/* v600 §2 — the matter line rides at the top of the fire now, not in the
   controls strip (which itself moved into the band, see .sk-band-controls
   above); it is no longer a flex-row child so flex:1 1 100% is dropped. */
.sk-fire .sk-round-matter,.sk-round-matter{font-family:var(--display);font-style:italic;font-size:13px;color:var(--ash);margin:0 0 10px;padding:0 0 10px;border-bottom:1px solid rgba(140,106,73,.14);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk-round-controls .round-btn,.sk-round-controls .round-override-btn,.sk-round-controls .round-keeper-toggle{min-height:30px;padding:5px 12px;border:1px solid rgba(140,106,73,.3);border-radius:999px;background:transparent;font-family:var(--ui);font-size:11.5px;color:var(--codex-sepia);cursor:pointer}
.sk-round-controls .round-overrides{display:flex;flex-wrap:wrap;gap:8px}
.sk-round-controls .round-override-btn.is-stop{border-color:#8b4b37;color:#8b4b37}
.sk-round-controls .round-keeper-toggle{display:inline-flex;align-items:center;gap:6px;cursor:default}
.sk-round-controls .round-keeper-toggle input{margin:0}
.sk-round-controls .round-btn:disabled{opacity:.5;cursor:default}
.sk-round-host .sk-agree{padding:0 14px}
.sk-embers{flex:0 0 auto;margin:0 14px 8px;padding:7px 9px;border:1px solid rgba(140,106,73,.18);border-radius:12px;background:rgba(232,216,191,.35)}
.sk-bank-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sk-embers .round-embers-eyebrow{margin:0;font-family:var(--ui);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.sk-bank-toggle{min-height:32px;padding:0 6px;border:0;background:transparent;font-family:var(--ui);font-size:10.5px;color:var(--codex-sepia);cursor:pointer}
.sk-embers .round-embers-list{display:grid;gap:4px;margin-top:4px;max-height:38vh;overflow-y:auto}
.sk-ember-row{display:flex;min-width:0;align-items:center;gap:6px;padding:5px 4px;border-radius:8px}
.sk-ember-row.is-rising{transform:translateY(-4px);box-shadow:0 10px 22px rgba(182,138,58,.25)}
.sk-ember-row.is-editing{display:grid;grid-template-columns:1fr;align-items:stretch}
.sk-ember-glyph{color:var(--muted-gold)}
.sk-ember-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-size:14px;color:#3a2f25}
.sk-ember-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:2px}
.sk-ember-actions button{min-height:36px;padding:0 7px;border:0;border-radius:8px;background:none;font-family:var(--ui);font-size:10.5px;color:var(--codex-sepia);cursor:pointer}
.sk-ember-actions button:hover,.sk-ember-actions button:focus-visible{background:rgba(140,106,73,.1)}
.sk-ember-actions .round-ember-steer{color:#7f3d4f}
.sk-bank-edit-label{font-family:var(--ui);font-size:10.5px;color:var(--label-gold)}
.sk-bank-guidance{margin:4px 0 0;font-family:var(--ui);font-size:10.5px;line-height:1.4;color:var(--ash)}
.sk-bank-notice{flex:0 0 auto;margin:0 18px 6px;font-family:var(--ui);font-size:10.5px;color:var(--ash)}

body.quiet .sk-round-controls{border-color:rgba(210,180,109,.16)}
body.quiet .sk-round-matter{color:#c9b9aa}
body.quiet .sk-round-controls .round-btn,body.quiet .sk-round-controls .round-override-btn,body.quiet .sk-round-controls .round-keeper-toggle{background:#251c16;border-color:rgba(210,180,109,.22);color:#e9dcc8}
body.quiet .sk-round-controls .round-override-btn.is-stop{border-color:#c9836c;color:#c9836c}
body.quiet .sk-embers{background:rgba(210,180,109,.06);border-color:rgba(210,180,109,.18)}
body.quiet .sk-bank-guidance,body.quiet .sk-bank-notice{color:#c9b9aa}
body.quiet .sk-ember-text{color:#f3e6c8}
body.quiet .sk-ember-actions button{color:#e9dcc8}
body.quiet .sk-ember-actions .round-ember-steer{color:#e6a4b3}

@media(max-width:520px){
  .sk-embers{margin-left:10px;margin-right:10px}
  .sk-ember-row{align-items:flex-start;flex-wrap:wrap}
  .sk-ember-text{flex-basis:calc(100% - 24px)}
  .sk-ember-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}
  .sk-ember-actions button{min-height:44px}
}

@media(prefers-reduced-motion:reduce){.sk-ember-row.is-rising{transform:none}}

/* v593 · the asks, the intro, the field — the Hearth's standing Keeper
   consent ask, the Quiet Bell ask/off notice, and the Hearth's own
   narration offer, carried into Skiza's own slots (skiza-v1.js
   adapter.mountAsks/adapter.mountIntro; the ⋯ menu's skiza.menu.field). */
.sk-asks:empty{display:none}
.sk-asks{margin-bottom:8px}
.sk-asks .quiet-ask-card{margin:0 0 8px}
.sk-intro[hidden]{display:none}
.sk-intro{margin-bottom:10px}
.sk-rows{display:flex;flex-direction:column;gap:10px}


/* ===== v595 · Today — housekeeping is not practice; the envelope stands apart ===== */
.today-housekeeping{margin-top:30px;padding-top:14px;border-top:1px solid rgba(140,129,118,.22)}
.today-housekeeping-label{margin:0 0 8px;font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.today-housekeeping .today-continue-card{margin-top:8px;padding:12px 13px;border:1px solid rgba(140,129,118,.16);border-radius:10px;background:transparent;box-shadow:none}
.today-housekeeping .today-continue-card .room-label{color:var(--ash)}
.today-housekeeping .today-continue-card strong{font-size:16px;color:var(--codex-sepia)}
.today-housekeeping .today-continue-card small{font-size:13px;color:var(--ash)}
.today-housekeeping .today-continue-card em{font-size:10px;color:var(--label-gold)}
.today-housekeeping .today-house-orientation{margin-top:8px;border-top:0}
.today-housekeeping .room-section{margin-top:8px;padding:12px 13px;border:1px solid rgba(140,129,118,.16);border-radius:10px;background:transparent}
/* the envelope: the one card on Today that is not the House's practice but its
   carriage — dark, sealed, unlike anything above it, because there is no store */
.install-upper-room{margin-top:28px;padding:22px 20px 18px;border:1px solid rgba(210,180,109,.42);border-radius:14px;background:radial-gradient(circle at 96% 0,rgba(210,180,109,.22),transparent 40%),linear-gradient(160deg,#2A1B14,#1E1612);box-shadow:0 22px 44px -28px rgba(30,22,18,.8)}
.install-upper-room::after{border-color:rgba(210,180,109,.22);box-shadow:0 0 0 22px rgba(210,180,109,.05)}
.install-upper-room::before{content:"✉";position:absolute;right:18px;top:16px;z-index:1;font-size:18px;line-height:1;color:var(--soft-gold);opacity:.9}
.install-upper-room .room-label{color:var(--soft-gold)}
.install-upper-room h2{color:#f3e6c8}
.install-upper-room>p:not(.room-label){color:#d7c8b9}
.install-upper-room>p:not(.room-label) strong{color:#f3e6c8}
.install-upper-room .house-primary-door{background:var(--soft-gold);color:var(--deep-brown);border-color:var(--soft-gold)}
.install-upper-room .install-later{background:transparent;border-color:rgba(210,180,109,.3);color:#d7c8b9}
.topbar-skiza{font-size:20px;color:var(--label-gold)}

/* ===== v596 · the Desk — the Journal as a room ===== */
/* the room shell — sibling of .skiza-room (v592), same discipline: the
   page is the paper, everything else one ⋯ away. */
.screen.desk-screen{padding:0;overflow:hidden}
.desk-room{display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at 100% 0,rgba(183,135,72,.1),transparent 28%),var(--warm-ivory)}
.dk-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border-bottom:1px solid rgba(140,106,73,.18)}
.dk-back{flex:0 0 auto;min-height:34px;padding:0;border:0;background:none;font-family:var(--ui);font-size:13px;color:var(--ash);cursor:pointer}
.dk-title{flex:1;min-width:0;font-family:var(--display);font-size:17px;font-weight:500;color:var(--codex-sepia);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-more{flex:0 0 auto;min-width:34px;min-height:34px;border:0;background:none;font-size:18px;line-height:1;color:var(--ash);cursor:pointer}

/* the paper is the page — a barely-there ruled ground, no box around the
   textarea; it scrolls, the head and foot do not. */
.dk-paper{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;--dk-rule:34px;background:var(--bone) repeating-linear-gradient(to bottom, transparent 0 calc(var(--dk-rule) - 1px), rgba(140,106,73,.1) calc(var(--dk-rule) - 1px) var(--dk-rule));background-position:0 6px;padding:18px 22px}
/* the hand: Caveat (OFL), sized so its baseline sits on the ruled line; "Write in type" (⋯) falls back to the House's reading face */
.desk-room[data-hand="type"] .dk-input{font-family:var(--display);font-size:17px;line-height:var(--dk-rule)}
body.quiet .dk-paper{background-position:0 6px}
.dk-date{margin:0 0 14px;font-family:var(--ui);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.dk-input{display:block;width:100%;box-sizing:border-box;min-height:60vh;border:0;outline:0;background:transparent;resize:none;font-family:'Caveat',var(--display);font-size:23px;line-height:var(--dk-rule);color:var(--dk-ink,#3a2f25);padding:0}
.dk-input::placeholder{font-family:'Caveat',var(--display);font-style:normal;color:var(--veil-gray)}
.dk-input::placeholder{font-style:italic;color:var(--veil-gray)}

.dk-foot{flex:0 0 auto;padding:12px 16px calc(12px + var(--safe-bot,0px));border-top:1px solid rgba(140,106,73,.18);background:var(--warm-ivory)}
.dk-offer{display:flex;align-items:flex-start;gap:8px;font-family:var(--display);font-size:13px;line-height:1.4;color:var(--codex-sepia);cursor:pointer}
.dk-offer input{margin-top:3px;accent-color:var(--muted-gold)}
.dk-offer-note{margin:6px 0 0;font-family:var(--ui);font-size:12px;line-height:1.5;color:var(--ash)}
.dk-actions{margin-top:12px;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.dk-keep{display:block;width:100%;min-height:44px;border:0;border-radius:999px;background:var(--deep-brown);font-family:var(--ui);font-size:13px;letter-spacing:.04em;color:var(--soft-gold);cursor:pointer}
.dk-keep:disabled{opacity:.5;cursor:default}
.dk-actions .return-quiet-action{min-height:38px}
.dk-lately{margin:12px 0 0;text-align:center;font-family:var(--ui);font-size:11px;color:var(--ash)}
.dk-lately a{color:var(--label-gold)}

/* Earlier pages — sheet rows reusing the .sk-sheet-wrap/.sk-menu-list
   idiom (skiza-v1.js), tapping only expands the excerpt in place. */
.dk-earlier-row{padding:10px 0;border-bottom:1px solid rgba(140,106,73,.14);cursor:pointer}
.dk-earlier-row:last-child{border-bottom:0}
.dk-earlier-date{font-family:var(--ui);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--label-gold)}
.dk-earlier-excerpt{margin:4px 0 0;font-family:var(--display);font-size:14.5px;line-height:1.55;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.dk-earlier-shared{display:inline-block;margin-top:4px;font-family:var(--ui);font-size:10px;font-style:italic;color:var(--label-gold)}

/* the Desk door — a copy of .skiza-btn's family, everywhere the Journal
   is entered as a room rather than a route (SPRINT-4E-WORDS §2). */
.desk-btn{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;box-sizing:border-box;min-height:64px;padding:14px 16px;border:0;border-radius:16px;background:var(--deep-brown);cursor:pointer;text-align:center}
.desk-glyph{font-size:15px;line-height:1;color:var(--ash)}
.desk-btn.is-written .desk-glyph{color:var(--soft-gold)}
.desk-btn small{font-family:var(--ui);font-size:10px;letter-spacing:.02em;color:var(--veil-gray)}

/* the morning letter as a standing choice (§1) — a light card, first
   thing in the Entrust movement's quiet desk. */
.evening-letter-standing{margin-top:26px;padding:20px 17px;border:1px solid rgba(182,138,58,.3);background:linear-gradient(145deg,rgba(245,237,222,.82),rgba(255,252,245,.62))}
.evening-letter-standing .return-movement-label{color:var(--label-gold)}
.evening-letter-standing h4{margin-top:8px;font-family:var(--display);font-size:18px;font-weight:500;color:var(--codex-sepia)}
.evening-letter-standing>p:not(.return-movement-label){margin-top:7px;font-family:var(--display);font-size:14px;line-height:1.6;color:var(--ash)}
.evening-letter-standing .btn-row{margin-top:16px}
.evening-letter-standing .evening-draft-note{margin-top:10px!important}
.evening-letter-standing-no p{margin:0;font-family:var(--display);font-size:14px;color:var(--ash)}
.evening-letter-standing-no a{color:var(--label-gold)}
.desk-btn+.evening-own-letter,.evening-letter-standing+.desk-btn{margin-top:22px}

/* the person's own letter, folded to an option — summary styled like
   .first-use-covenant's own. */
.evening-own-letter{margin-top:22px;border-block:1px solid rgba(140,129,118,.17)}
.evening-own-letter summary{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;cursor:pointer;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);list-style:none}
.evening-own-letter summary::-webkit-details-marker{display:none}
.evening-own-letter>.evening-letter-field{border-top:0;padding-top:0}

body.quiet .desk-room{background:radial-gradient(ellipse at 50% 12%,rgba(210,180,109,.08),transparent 55%),#1E1612}
body.quiet .dk-head{border-color:rgba(210,180,109,.16)}
body.quiet .dk-title{color:#f3e6c8}
body.quiet .dk-back,body.quiet .dk-more{color:#c9b9aa}
body.quiet .dk-paper{background:#1E1612 repeating-linear-gradient(to bottom, transparent 0 calc(var(--dk-rule) - 1px), rgba(210,180,109,.08) calc(var(--dk-rule) - 1px) var(--dk-rule))}
body.quiet .dk-date{color:#d8b96d}
body.quiet .dk-input{color:var(--dk-ink,#f3e6c8)}
body.quiet .dk-input::placeholder{color:#8a7c6c}
body.quiet .dk-foot{background:#1E1612;border-color:rgba(210,180,109,.16)}
body.quiet .dk-offer{color:#e9dcc8}
body.quiet .dk-offer-note{color:#b9aa9b}
body.quiet .dk-lately{color:#b9aa9b}
body.quiet .dk-lately a{color:#d8b96d}
body.quiet .dk-earlier-row{border-color:rgba(210,180,109,.16)}
body.quiet .dk-earlier-date,body.quiet .dk-earlier-shared{color:#d8b96d}
body.quiet .dk-earlier-excerpt{color:#e9dcc8}

@media(prefers-reduced-motion:reduce){.dk-earlier-row{transition:none}}

/* ===== v597 · the rooms fit the screen ===== */
/* .app-frame is min-height:100dvh, so .screen{flex:1} has no definite height
   and a room's height:100% resolved to its content: on a tall desktop window
   the Desk and Skiza ended a third of the way down, the document scrolled,
   and a fixed sheet opened out of sight (CHIF, 8 Sept). While a room is
   mounted the frame is exactly the viewport and the room fills it; only the
   paper / the column scroll. */
body.room-open .app-frame{height:100dvh;min-height:0}
body.room-open{overflow:hidden}
/* the dock rule above ("body .app-frame>.screen{flex:0 0 auto;overflow:visible}")
   lets a short page end where it ends; a room is the one screen that must not */
body .app-frame>.screen.skiza-screen,body .app-frame>.screen.desk-screen{flex:1 1 auto;min-height:0;height:auto;overflow:hidden;padding-bottom:0}
.dk-paper .dk-input{min-height:100%}
.dk-lately a{padding:2px 4px;border-radius:4px;text-decoration:underline;text-underline-offset:3px}
.dk-lately a:focus-visible{outline:1px solid var(--muted-gold);outline-offset:2px}
.dk-lately a:focus:not(:focus-visible){outline:0}

/* ===== v598 · the Desk, deepened =====
   docs/together-v2/SPRINT-4F-BRIEF — the Desk, deepened (v598).md. */

/* §7 · Paper and ink — --dk-ink cascades from data-ink down through
   .dk-input/.dk-lifted/.dk-margin; data-paper swaps the ground image;
   data-hand keeps doing what it always did (v596's .dk-input rule
   above already reads it). Never synced — a per-device reading
   preference, exactly like the old sha_desk_hand it replaces. */
.desk-room{--dk-ink:#3a2f25}
.desk-room[data-ink="sepia"]{--dk-ink:#3a2f25}
.desk-room[data-ink="iron"]{--dk-ink:#2b3a5c}
.desk-room[data-ink="graphite"]{--dk-ink:#4a4642}
body.quiet .desk-room[data-ink="sepia"]{--dk-ink:#f3e6c8}
body.quiet .desk-room[data-ink="iron"]{--dk-ink:#c9d4ee}
body.quiet .desk-room[data-ink="graphite"]{--dk-ink:#d9d5d0}
.desk-room[data-paper="plain"] .dk-paper{background-image:none}
.desk-room[data-paper="dotted"] .dk-paper{background-image:radial-gradient(rgba(140,106,73,.4) 1px,transparent 1.4px);background-size:34px 34px;background-position:11px 6px}
body.quiet .desk-room[data-paper="plain"] .dk-paper{background-image:none}
body.quiet .desk-room[data-paper="dotted"] .dk-paper{background-image:radial-gradient(rgba(210,180,109,.32) 1px,transparent 1.4px);background-size:34px 34px;background-position:11px 6px}
.dk-chip-row{margin-top:16px}
.dk-chip-row:first-child{margin-top:2px}
.dk-chip-label{font-family:var(--ui);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ash)}
.dk-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.dk-chip{min-height:36px;padding:0 14px;border:1px solid rgba(140,106,73,.3);border-radius:999px;background:transparent;font-family:var(--ui);font-size:12.5px;color:var(--ink);cursor:pointer}
.dk-chip.is-active{background:var(--deep-brown);border-color:var(--deep-brown);color:var(--soft-gold)}
body.quiet .dk-chip{border-color:rgba(210,180,109,.24);color:#e9dcc8}
body.quiet .dk-chip.is-active{background:var(--soft-gold);border-color:var(--soft-gold);color:var(--deep-brown)}

/* §2 · the carried Word — an epigraph above the date line; folding it
   collapses to a single hairline (the text stays in the DOM for a11y). */
.dk-word{margin:0 0 16px;cursor:pointer}
.dk-word-text{display:block;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.55;color:var(--ash)}
.dk-word-text small{display:block;margin-top:4px;font-family:var(--ui);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--label-gold)}
.dk-word-fold{display:none;height:1px;margin:10px 0;background:rgba(140,106,73,.22)}
.dk-word.is-folded .dk-word-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dk-word.is-folded .dk-word-fold{display:block}
body.quiet .dk-word-text{color:#c9b9aa}
body.quiet .dk-word-text small{color:#d8b96d}
body.quiet .dk-word-fold{background:rgba(210,180,109,.2)}

/* §1 · the page waits — a hairline note under the date; tapping it does nothing */
.dk-waits{margin:0 0 12px;font-family:var(--ui);font-size:11px;font-style:italic;color:var(--ash)}
body.quiet .dk-waits{color:#b9aa9b}

/* §3 · lift a line — a small chip anchored at the top of the paper
   (not tracked to the selection's own screen position; see desk-v1.js's
   own note on why). The lifted line itself sits under the date, the
   House's one highlight a fine gold underline under the text only. */
.dk-lift-chip{position:relative;display:block;margin:-30px 0 8px auto;z-index:2;min-height:30px;padding:0 12px;border:0;border-radius:999px;background:var(--deep-brown);font-family:var(--ui);font-size:11.5px;letter-spacing:.02em;color:var(--soft-gold);cursor:pointer;box-shadow:0 8px 18px -10px rgba(30,22,18,.6)}
.dk-lift-chip[hidden]{display:none}
.dk-paper{position:relative}
.dk-lifted{position:relative;margin:0 0 14px;padding-right:24px;font-family:'Caveat',var(--display);font-size:21px;line-height:1.35;color:var(--dk-ink)}
.desk-room[data-hand="type"] .dk-lifted{font-family:var(--display);font-size:16px;line-height:1.5}
.dk-lifted span{display:inline;box-shadow:inset 0 -0.14em 0 rgba(210,180,109,.75)}
.dk-lift-remove{position:absolute;top:0;right:0;min-width:22px;min-height:22px;border:0;background:none;font-size:12px;line-height:1;color:var(--ash);cursor:pointer}

/* §4 · Let it go — a quiet second door, an inline ask (not a modal),
   then the ash: the paper darkens from the edges as the writing fades. */
.dk-letgo{display:block;width:100%;min-height:40px;border:1px solid rgba(140,106,73,.28);border-radius:999px;background:transparent;font-family:var(--ui);font-size:12.5px;color:var(--ash);cursor:pointer}
.dk-letgo-ask{margin:0;font-family:var(--display);font-size:13.5px;line-height:1.55;color:var(--codex-sepia)}
.dk-letgo-row{margin-top:10px;display:flex;gap:8px}
.dk-letgo-yes,.dk-letgo-no{flex:1;min-height:40px;border:0;border-radius:999px;font-family:var(--ui);font-size:12.5px;cursor:pointer}
.dk-letgo-yes{background:var(--deep-brown);color:var(--soft-gold)}
.dk-letgo-no{background:transparent;border:1px solid rgba(140,106,73,.28);color:var(--ink)}
body.quiet .dk-letgo{border-color:rgba(210,180,109,.22);color:#c9b9aa}
body.quiet .dk-letgo-ask{color:#e9dcc8}
body.quiet .dk-letgo-no{border-color:rgba(210,180,109,.22);color:#e9dcc8}
@keyframes dkAsh{0%{box-shadow:inset 0 0 0 rgba(30,22,18,0)}100%{box-shadow:inset 0 0 60px rgba(30,22,18,.6)}}
.dk-paper.is-ash{animation:dkAsh 1.6s ease forwards}
.dk-paper.is-ash .dk-input{transition:color 1.6s ease,opacity 1.6s ease,filter 1.6s ease;color:transparent;opacity:0;filter:blur(2px)}
.dk-paper.is-ash .dk-word,.dk-paper.is-ash .dk-lifted,.dk-paper.is-ash .dk-waits{transition:opacity 1.6s ease;opacity:0}
@media(prefers-reduced-motion:reduce){
  .dk-paper.is-ash{animation-duration:.2s}
  .dk-paper.is-ash .dk-input{transition-duration:.2s}
  .dk-paper.is-ash .dk-word,.dk-paper.is-ash .dk-lifted,.dk-paper.is-ash .dk-waits{transition-duration:.2s}
}

/* §6 · Earlier pages by season, and §5 · marginalia opened on a page */
.dk-earlier-list{max-height:none}
.dk-season{margin:18px 0 4px;font-family:var(--ui);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--label-gold)}
.dk-season:first-child{margin-top:2px}
.dk-earlier-margin-glyph{color:var(--label-gold)}
.dk-earlier-open-back{display:inline-block;margin-bottom:12px;font-family:var(--ui);font-size:13px;color:var(--ash);text-decoration:none}
.dk-earlier-open-date{margin:0;font-family:var(--ui);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.dk-earlier-open-under{margin:10px 0 0;font-family:var(--display);font-style:italic;font-size:14px;line-height:1.55;color:var(--ash)}
.dk-earlier-open-lifted{margin:8px 0 0;font-family:var(--display);font-size:16px;line-height:1.5;color:var(--ink);box-shadow:inset 0 -0.14em 0 rgba(210,180,109,.75)}
.dk-earlier-open-text{margin:14px 0 0;font-family:var(--display);font-size:15px;line-height:1.65;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.dk-margin{display:block;margin-top:14px;padding-left:12px;border-left:2px solid rgba(140,106,73,.22);font-family:var(--display);font-size:12.5px;font-style:italic;line-height:1.5;color:var(--ash)}
.dk-margin-add{margin-top:20px;padding-top:14px;border-top:1px solid rgba(140,106,73,.16)}
.dk-margin-add-label{margin:0;font-family:var(--ui);font-size:11px;letter-spacing:.05em;color:var(--ash)}
.dk-margin-input{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:10px;border:1px solid rgba(140,106,73,.28);border-radius:10px;background:#fffaf2;font:13.5px/1.5 var(--display);color:var(--ink);resize:vertical}
.dk-margin-keep{margin-top:8px;min-height:38px;padding:0 16px;border:0;border-radius:999px;background:var(--deep-brown);font-family:var(--ui);font-size:12.5px;color:var(--soft-gold);cursor:pointer}
body.quiet .dk-earlier-open-back{color:#c9b9aa}
body.quiet .dk-earlier-open-date{color:#d8b96d}
body.quiet .dk-earlier-open-under{color:#c9b9aa}
body.quiet .dk-earlier-open-lifted{color:#e9dcc8}
body.quiet .dk-earlier-open-text{color:#e9dcc8}
body.quiet .dk-margin{color:#b9aa9b;border-color:rgba(210,180,109,.18)}
body.quiet .dk-margin-add{border-color:rgba(210,180,109,.16)}
body.quiet .dk-margin-input{background:rgba(255,255,255,.04);color:#e9dcc8;border-color:rgba(210,180,109,.24)}

/* §8 · Your pages, bound */
.dk-bound-p{margin-top:8px;font-family:var(--display);font-size:14px;line-height:1.6;color:var(--ash)}
.dk-bound-actions{margin-top:16px;display:flex;flex-direction:column;gap:8px}
body.quiet .dk-bound-p{color:#c9b9aa}
.dk-book{min-height:100%;background:var(--warm-ivory);padding-bottom:80px}
.dk-book-bar{position:fixed;left:0;right:0;bottom:0;z-index:4;display:flex;gap:10px;padding:12px 16px calc(12px + var(--safe-bot,0px));background:var(--warm-ivory);border-top:1px solid rgba(140,106,73,.18)}
.dk-book-back{min-height:40px;padding:0 14px;border:1px solid rgba(140,106,73,.28);border-radius:999px;background:transparent;font-family:var(--ui);font-size:12.5px;color:var(--ink);cursor:pointer}
.dk-book-print{flex:1;min-height:40px;border:0;border-radius:999px;background:var(--deep-brown);font-family:var(--ui);font-size:12.5px;color:var(--soft-gold);cursor:pointer}
.dk-book-page,.dk-book-season{padding:26px 22px}
.dk-book-title h1{font-family:var(--head);font-size:30px;font-weight:400;color:var(--codex-sepia);text-align:center}
.dk-book-name{margin-top:8px;font-family:var(--display);font-size:16px;text-align:center;color:var(--ash)}
.dk-book-span{margin-top:6px;font-family:var(--ui);font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:var(--label-gold)}
.dk-book-season h2{font-family:var(--display);font-size:19px;font-weight:500;color:var(--codex-sepia);border-bottom:1px solid rgba(140,106,73,.2);padding-bottom:8px}
.dk-book-entry{margin-top:20px}
.dk-book-date{margin:0;font-family:var(--ui);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.dk-book-under{margin:8px 0 0;font-family:var(--display);font-style:italic;font-size:13.5px;color:var(--ash)}
.dk-book-lifted{margin:6px 0 0;font-family:var(--display);font-size:15px;color:var(--ink);box-shadow:inset 0 -0.12em 0 rgba(210,180,109,.7)}
.dk-book-text{margin:10px 0 0;font-family:'Caveat',var(--display);font-size:19px;line-height:1.6;color:#3a2f25;white-space:pre-wrap;overflow-wrap:anywhere}
.dk-book-margin{display:block;margin-top:8px;padding-left:10px;border-left:2px solid rgba(140,106,73,.2);font-family:var(--display);font-size:11.5px;font-style:italic;color:var(--ash)}
body.quiet .dk-book{background:#1E1612}
body.quiet .dk-book-bar{background:#1E1612;border-color:rgba(210,180,109,.16)}
body.quiet .dk-book-back{border-color:rgba(210,180,109,.24);color:#e9dcc8}
body.quiet .dk-book-title h1{color:#f3e6c8}
body.quiet .dk-book-name,body.quiet .dk-book-under,body.quiet .dk-book-margin{color:#c9b9aa}
body.quiet .dk-book-span,body.quiet .dk-book-date{color:#d8b96d}
body.quiet .dk-book-season h2{color:#f3e6c8;border-color:rgba(210,180,109,.18)}
body.quiet .dk-book-text{color:#e9dcc8}
body.quiet .dk-book-lifted{color:#f3e6c8}
@media print{
  .dk-book-bar{display:none}
  .dk-book{background:#fff;padding-bottom:0}
  .dk-book-page,.dk-book-season{padding:0;break-inside:avoid}
  .dk-book-season{break-before:page}
  .dk-book-season:first-of-type{break-before:auto}
  .dk-book-title h1,.dk-book-name,.dk-book-span,.dk-book-season h2,.dk-book-date,.dk-book-under,.dk-book-lifted,.dk-book-text,.dk-book-margin{color:#000!important}
  .dk-book-text{font-family:'Caveat',var(--display);font-size:15pt;line-height:1.5}
  @page{margin:18mm}
}

/* v598 · architect's review — the lifted line and the margin are written in the hand, everywhere the hand is chosen */
.desk-room:not([data-hand="type"]) .dk-earlier-open-lifted,.dk-book:not([data-hand="type"]) .dk-book-lifted{font-family:'Caveat',var(--display);font-size:20px;line-height:1.35}
.desk-room:not([data-hand="type"]) .dk-margin,.dk-book:not([data-hand="type"]) .dk-book-margin{font-family:'Caveat',var(--display);font-style:normal;font-size:16px;line-height:1.4}

/* v598 · architect's review — the lifted line and the margin are written in the hand, everywhere the hand is chosen */
.desk-room:not([data-hand="type"]) .dk-earlier-open-lifted,.dk-book:not([data-hand="type"]) .dk-book-lifted{font-family:'Caveat',var(--display);font-size:20px;line-height:1.35}
.desk-room:not([data-hand="type"]) .dk-margin,.dk-book:not([data-hand="type"]) .dk-book-margin{font-family:'Caveat',var(--display);font-style:normal;font-size:16px;line-height:1.4}

/* ===== v599 · Skiza — the hall ===== */
/* docs/together-v2/SPRINT-4G-BRIEF — the hall, the Well, and the Keeper's
   switch (v599).md §1/§3, converted from the approved mock
   (SPRINT-4G-MOCK-hall.html) into the House's own tokens and .screen/
   body.quiet conventions; the mock's markup stays the spec, unchanged. */
.screen.skiza-hall-screen{padding:0;overflow:hidden}
.hall{display:flex;flex-direction:column;height:100%;background:radial-gradient(circle at 100% 0,rgba(183,135,72,.12),transparent 30%),var(--warm-ivory)}
.hl-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 10px}
.hl-mark{display:flex;flex-direction:column;gap:2px;min-width:0}
.hl-mark b{font-family:var(--smallcaps);font-size:13px;letter-spacing:.24em;color:var(--label-gold);font-weight:500}
.hl-mark span{font-family:var(--display);font-style:italic;font-size:12.5px;color:var(--ash)}
.hl-head-tools{flex:0 0 auto;display:flex;align-items:center;gap:6px}
.hl-more{flex:0 0 auto;min-width:34px;min-height:34px;border:0;background:none;font-size:18px;color:var(--ash);cursor:pointer}
.hl-col{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 16px calc(16px + var(--safe-bot,0px))}
.hl-return{position:relative;overflow:hidden;display:block;width:100%;box-sizing:border-box;text-align:left;padding:18px 18px 16px;border:0;border-radius:16px;background:linear-gradient(160deg,#2A1B14,#1E1612);color:var(--bone);box-shadow:0 22px 44px -28px rgba(30,22,18,.8);cursor:pointer}
.hl-return::after{content:"";position:absolute;right:-40px;top:-50px;width:150px;height:150px;border:1px solid rgba(210,180,109,.22);border-radius:50%;box-shadow:0 0 0 22px rgba(210,180,109,.05)}
.hl-return .k{position:relative;font-family:var(--ui);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft-gold)}
.hl-return .n{position:relative;margin-top:8px;font-family:var(--head);font-size:27px;line-height:1.1;color:#f3e6c8}
.hl-return .c{position:relative;margin-top:6px;font-family:var(--display);font-style:italic;font-size:13.5px;color:#d7c8b9;line-height:1.5}
.hl-return .s{position:relative;display:flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--ui);font-size:11px;letter-spacing:.06em;color:#e2cda9}
.ember{display:inline-block;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--muted-gold);position:relative;flex:0 0 auto}
.ember.b1{background:radial-gradient(circle,rgba(210,180,109,.7) 0 25%,transparent 30%)}
.ember.b2{background:radial-gradient(circle,var(--soft-gold) 0 35%,transparent 40%);box-shadow:0 0 10px rgba(210,180,109,.55)}
.ember.b3{background:radial-gradient(circle,var(--soft-gold) 0 45%,transparent 50%);box-shadow:0 0 14px rgba(210,180,109,.75)}
.ember.b0{border-color:rgba(140,106,73,.35)}
.oil{width:16px;height:16px;border-radius:50%;border:1px solid var(--muted-gold);display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:var(--muted-gold);flex:0 0 auto}
.hl-group{margin:22px 2px 6px;font-family:var(--ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--label-gold);display:flex;justify-content:space-between}
.hl-group small{letter-spacing:.06em;text-transform:none;color:var(--ash);font-size:10.5px}
.hl-col .row{display:grid;grid-template-columns:22px 1fr auto;column-gap:12px;align-items:center;width:100%;box-sizing:border-box;text-align:left;padding:14px 12px;border:0;border-top:1px solid rgba(140,106,73,.14);background:none;cursor:pointer}
.hl-col .row:first-of-type{border-top:0}
.hl-col .row .n{font-family:var(--display);font-size:17px;color:var(--codex-sepia)}
.hl-col .row .c{margin-top:2px;font-family:var(--display);font-style:italic;font-size:12.5px;color:var(--ash);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl-col .row .st{font-family:var(--ui);font-size:10.5px;letter-spacing:.06em;color:var(--label-gold);text-align:right;white-space:nowrap}
.hl-col .row .st.q{color:var(--ash)}
.hl-col .row .st b{display:block;font-weight:500;color:var(--codex-sepia)}
.hl-doors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.hl-door.is-well{grid-column:1/-1;border-color:rgba(182,138,58,.45);background:linear-gradient(160deg,rgba(212,180,109,.14),rgba(255,249,239,.6))}
.hl-door{padding:12px 9px;border:1px solid rgba(140,106,73,.26);border-radius:12px;background:rgba(255,249,239,.6);text-align:left;cursor:pointer}
.hl-door b{display:block;font-family:var(--display);font-size:13.5px;font-weight:500;color:var(--codex-sepia)}
.hl-door small{display:block;margin-top:3px;font-family:var(--ui);font-size:9.5px;color:var(--ash);line-height:1.4}
.hl-empty{margin-top:24px;text-align:center;font-family:var(--display);font-size:15px;line-height:1.6;color:var(--ash);padding:0 8px}
.hl-foot{flex:0 0 auto;padding:10px 16px calc(14px + var(--safe-bot,0px));text-align:center;font-family:var(--ui);font-size:10.5px;letter-spacing:.08em;color:var(--ash)}
/* v602 §7 — the Skiza guide row, directly beneath the head and above the
   Return card, until it has been opened three times. */
.hl-guide-wrap:empty{display:none}
.hl-guide-wrap{padding:0 18px}
.hl-guide,.hl-guide-row{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;text-align:left;padding:12px 14px;border:1px solid rgba(182,138,58,.32);border-radius:14px;background:linear-gradient(160deg,rgba(212,180,109,.14),rgba(255,249,239,.6));cursor:pointer}
.hl-guide-mark{flex:0 0 auto;font-size:16px;color:var(--muted-gold)}
.hl-guide b{display:block;font-family:var(--display);font-size:14.5px;font-weight:500;color:var(--codex-sepia)}
.hl-guide small{display:block;margin-top:2px;font-family:var(--ui);font-size:10px;letter-spacing:.03em;color:var(--ash)}
.hl-guide.is-open{display:block;padding:0;border:1px solid rgba(182,138,58,.32);border-radius:14px;background:rgba(255,249,239,.6);overflow:hidden}
.hl-guide.is-open .hl-guide-row{border:0;border-radius:0;background:none}
.hl-guide.is-open audio{display:block;width:100%;margin:0 14px 12px;max-width:calc(100% - 28px)}

body.quiet .hall{background:radial-gradient(ellipse at 50% 0,rgba(210,180,109,.08),transparent 40%),#1E1612}
body.quiet .hl-mark span,body.quiet .hl-more{color:#c9b9aa}
body.quiet .hl-col .row{border-color:rgba(210,180,109,.14)}
body.quiet .hl-col .row .n{color:#f3e6c8}
body.quiet .hl-col .row .c,body.quiet .hl-col .row .st.q,body.quiet .hl-empty,body.quiet .hl-foot{color:#c9b9aa}
body.quiet .hl-door{background:rgba(255,255,255,.03);border-color:rgba(210,180,109,.22)}
body.quiet .hl-door b{color:#f3e6c8}
body.quiet .hl-door small{color:#c9b9aa}
body.quiet .hl-guide,body.quiet .hl-guide-row,body.quiet .hl-guide.is-open{background:rgba(255,255,255,.03);border-color:rgba(210,180,109,.22)}
body.quiet .hl-guide b{color:#f3e6c8}
body.quiet .hl-guide small{color:#c9b9aa}

/* the Keeper's switch (§3) — the head mark and its sheet, appended inside
   .sk-sheet-wrap the same way the ⋯ menu already is */
.sk-keeper{flex:0 0 auto;min-width:30px;min-height:30px;border:0;background:none;font-size:16px;line-height:1;color:rgba(140,106,73,.4);cursor:pointer;position:relative}
.sk-keeper[data-state="mine"]{color:var(--old-gold)}
.sk-keeper[data-state="on"]{color:var(--muted-gold)}
.sk-keeper[data-state="on"]::after{content:"";position:absolute;inset:-4px;border:1px solid var(--muted-gold);border-radius:50%}
.sk-keeper[data-state="paused"]::before{content:"";position:absolute;left:50%;bottom:-3px;width:10px;height:2px;background:var(--ash);transform:translateX(-50%);border-radius:2px}
.sk-keeper-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(140,106,73,.14)}
.sk-keeper-switch-label{font-family:var(--display);font-size:15.5px;color:var(--ink)}
.sk-keeper-toggle{min-width:52px;min-height:30px;border-radius:999px;border:1px solid rgba(140,106,73,.3);background:transparent;position:relative;cursor:pointer}
.sk-keeper-toggle::after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:var(--ash);transition:transform .15s ease}
.sk-keeper-toggle.is-on{border-color:var(--muted-gold);background:rgba(182,138,58,.12)}
.sk-keeper-toggle.is-on::after{background:var(--muted-gold);transform:translateX(20px)}
.sk-keeper-wait{margin-top:8px;font-family:var(--ui);font-size:12px;color:var(--ash)}
.sk-keeper-pause-row{margin-top:12px}
.sk-keeper-pause-row button{min-height:40px;padding:0 14px;border:1px solid rgba(140,106,73,.28);border-radius:999px;background:transparent;font-family:var(--ui);font-size:12.5px;color:var(--codex-sepia);cursor:pointer}
.sk-keeper-foot{margin-top:16px;font-family:var(--ui);font-size:11px;line-height:1.55;color:var(--ash)}

body.quiet .sk-keeper-switch{border-color:rgba(210,180,109,.14)}
body.quiet .sk-keeper-switch-label{color:#e9dcc8}
body.quiet .sk-keeper-wait,body.quiet .sk-keeper-foot{color:#c9b9aa}
body.quiet .sk-keeper-pause-row button{background:#251c16;border-color:rgba(210,180,109,.22);color:#e9dcc8}

/* the Well's own quiet invite prompt, opened from the hall's third door */
.hl-well-prompt p{margin:0}
.hl-well-prompt input{display:block;width:100%;box-sizing:border-box;margin-top:10px;min-height:42px;padding:0 12px;border:1px solid rgba(140,106,73,.32);border-radius:10px;background:#fffaf2;font:15px/1.4 var(--display);color:var(--ink)}
.hl-well-prompt button{display:block;width:100%;min-height:44px;margin-top:14px;border:0;border-radius:10px;background:var(--deep-brown);font-family:var(--ui);font-size:13px;letter-spacing:.04em;color:var(--soft-gold);cursor:pointer}
body.quiet .hl-well-prompt input{background:rgba(255,255,255,.04);color:#e9dcc8;border-color:rgba(210,180,109,.24)}

/* ===== v600 · the room, deepened ===== */
/* §6 — the hall's own struck-bell glyph, after a muted room's name */
.hl-bell-off{margin-left:6px;font-size:11px;color:var(--ash);opacity:.7}
body.quiet .hl-bell-off{color:#c9b9aa}

/* §5 — "a room's words, bound": renderSkizaBook() in app.js, the exact
   .dk-book device (page-mode, print-mode) reused under its own class name
   rather than the Desk's, since it holds two voices, not one. */
.sk-book{min-height:100%;background:var(--warm-ivory);padding-bottom:80px}
.sk-book-bar{position:fixed;left:0;right:0;bottom:0;z-index:4;display:flex;gap:10px;padding:12px 16px calc(12px + var(--safe-bot,0px));background:var(--warm-ivory);border-top:1px solid rgba(140,106,73,.18)}
.sk-book-back{min-height:40px;padding:0 14px;border:1px solid rgba(140,106,73,.28);border-radius:999px;background:transparent;font-family:var(--ui);font-size:12.5px;color:var(--ink);cursor:pointer}
.sk-book-print{flex:1;min-height:40px;border:0;border-radius:999px;background:var(--deep-brown);font-family:var(--ui);font-size:12.5px;color:var(--soft-gold);cursor:pointer}
.sk-book-page,.sk-book-day{padding:26px 22px}
.sk-book-title h1{font-family:var(--head);font-size:28px;font-weight:400;color:var(--codex-sepia);text-align:center}
.sk-book-covenant{margin-top:10px;font-family:var(--display);font-style:italic;font-size:14px;text-align:center;color:var(--ash)}
.sk-book-day h2{font-family:var(--display);font-size:17px;font-weight:500;color:var(--codex-sepia);border-bottom:1px solid rgba(140,106,73,.2);padding-bottom:8px}
.sk-book-turn{margin-top:14px}
.sk-book-who{margin:0;font-family:var(--ui);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.sk-book-body{margin:6px 0 0;font-family:var(--display);font-size:15px;line-height:1.55;color:#3a2f25;white-space:pre-wrap;overflow-wrap:anywhere}
.sk-book-body.is-keeper{font-style:italic}
.sk-book-mark{margin:0 0 4px;font-size:12px;color:var(--muted-gold);text-align:center}
.sk-book-tag{margin:2px 0 0;font-family:var(--ui);font-size:10.5px;font-style:italic;color:var(--label-gold)}
.sk-book-trace{margin:14px 0;padding-left:12px;border-left:2px solid rgba(140,106,73,.22)}
.sk-book-trace-h{margin:0 0 6px;font-family:var(--ui);font-size:10.5px;letter-spacing:.06em;color:var(--label-gold)}
body.quiet .sk-book{background:#1E1612}
body.quiet .sk-book-bar{background:#1E1612;border-color:rgba(210,180,109,.16)}
body.quiet .sk-book-back{border-color:rgba(210,180,109,.24);color:#e9dcc8}
body.quiet .sk-book-title h1{color:#f3e6c8}
body.quiet .sk-book-covenant,body.quiet .sk-book-who{color:#c9b9aa}
body.quiet .sk-book-day h2{color:#f3e6c8;border-color:rgba(210,180,109,.18)}
body.quiet .sk-book-body{color:#e9dcc8}
body.quiet .sk-book-trace{border-color:rgba(210,180,109,.2)}
@media print {
  .sk-book-bar{display:none}
  .sk-book{background:#fff;padding-bottom:0}
  .sk-book-page,.sk-book-day{padding:0;break-inside:avoid}
  .sk-book-day{break-before:page}
  .sk-book-day:first-of-type{break-before:auto}
  .sk-book-title h1,.sk-book-covenant,.sk-book-who,.sk-book-day h2,.sk-book-body,.sk-book-tag,.sk-book-trace-h{color:#000!important}
}

/* ===== v600 · review — the other's heat, the door in the band, the Keeper's words set for reading ===== */
.sk-band-right{display:flex;align-items:center;gap:10px}
.sk-band-hold{min-height:24px;padding:0 10px;border:1px solid rgba(182,138,58,.45);border-radius:999px;background:rgba(212,180,109,.12);font-family:var(--ui);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold);cursor:pointer}
.sk-heat-row{display:flex;align-items:center;gap:10px}
.sk-heat{display:inline-flex;align-items:center;gap:6px}
.sk-heat small{font-family:var(--ui);font-size:9.5px;letter-spacing:.06em;color:var(--ash);max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-heat-bar{display:inline-flex;gap:2px}
.sk-heat-seg{display:inline-block;width:10px;height:5px;border-radius:2px;background:rgba(140,106,73,.18)}
.sk-heat-seg.is-lit{background:var(--muted-gold)}
.sk-heat[data-band="3"] .sk-heat-seg.is-lit{background:var(--soft-gold);box-shadow:0 0 6px rgba(210,180,109,.7)}
/* the Keeper's words: a voice in the room, but a long word is read, not gazed at — the mark stays centred, the lines set left */
.sk-turn.is-keeper{text-align:left;max-width:92%;padding:6px 8px 10px}
.sk-turn.is-keeper .sk-keeper-mark{justify-content:center}
.sk-turn.is-keeper .sk-body{font-size:15.5px;line-height:1.62}
.sk-turn.is-keeper .sk-actions{position:static;opacity:1;pointer-events:auto;margin-top:6px;text-align:right}
.sk-turn.is-keeper .sk-actions button{opacity:.75}
body.quiet .sk-band-hold{color:#e2cda9;border-color:rgba(210,180,109,.4)}
body.quiet .sk-heat small{color:#c9b9aa}

/* ===== v606 · Field Prelude — governed local rehearsal across every SKIZA room ===== */
.sk-field-host:empty{display:none}
.sk-room-field-host,.sk-room-learning-host{min-width:0;margin-top:4px}
.sk-field-card{min-width:0;margin:2px 0 8px;padding:16px;overflow-wrap:anywhere;border:1px solid rgba(140,106,73,.24);border-radius:16px;background:linear-gradient(145deg,rgba(255,250,242,.96),rgba(224,207,177,.2));box-shadow:0 8px 24px rgba(62,43,29,.06)}
.sk-field-card h2{margin:5px 0 0;font-family:var(--head);font-size:23px;font-weight:400;color:var(--codex-sepia)}
.sk-field-badge,.sk-field-local,.sk-field-frame-kicker{margin:0;font-family:var(--ui);font-size:9px;line-height:1.4;letter-spacing:.13em;text-transform:uppercase;color:var(--label-gold)}
.sk-field-arc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0 4px;padding:0;list-style:none}
.sk-field-arc li{padding:6px 4px;border-bottom:2px solid rgba(140,106,73,.16);text-align:center;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ash)}
.sk-field-arc li[aria-current="step"]{border-bottom-color:var(--muted-gold);color:var(--codex-sepia)}
.sk-field-attribution{margin:4px 0 0;font-family:var(--ui);font-size:9.5px;line-height:1.4;color:var(--ash)}
.sk-field-promise{margin:8px 0 0;font-family:var(--display);font-size:15px;line-height:1.55;color:var(--ink)}
.sk-field-boundary,.sk-field-private,.sk-field-unavailable{margin:10px 0 0;font-family:var(--ui);font-size:11px;line-height:1.55;color:var(--ash)}
.sk-field-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.sk-field-primary,.sk-field-quiet,.sk-field-disabled{min-height:44px;padding:4px 14px;border-radius:999px;font-family:var(--ui);font-size:11.5px;line-height:1.35;letter-spacing:.02em;cursor:pointer}
.sk-field-primary{border:0;background:var(--deep-brown);color:var(--soft-gold)}
.sk-field-quiet{border:0;background:transparent;color:var(--ash)}
.sk-field-disabled{width:100%;margin-top:10px;border:1px solid rgba(140,106,73,.22);background:rgba(140,106,73,.06);color:var(--ash);cursor:not-allowed}
.sk-field-consent{list-style:none;display:grid;gap:6px;margin:14px 0 0;padding:0}
.sk-field-consent li{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;padding:8px;border-left:2px solid rgba(140,106,73,.18);background:rgba(255,255,255,.3)}
.sk-field-consent li[data-state="current"],.sk-field-consent li[data-state="rehearsed"]{border-left-color:var(--muted-gold)}
.sk-field-consent li[data-state="unavailable"]{opacity:.68}
.sk-field-consent span{font-family:var(--ui);font-size:9px;letter-spacing:.08em;color:var(--label-gold)}
.sk-field-consent p{margin:0;font-family:var(--display);font-size:13px;line-height:1.4;color:var(--ink)}
.sk-field-options{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 0;padding:0;border:0}
.sk-field-options legend{width:100%;margin-bottom:2px;font-family:var(--ui);font-size:10px;line-height:1.45;letter-spacing:.04em;color:var(--label-gold)}
.sk-field-choice{min-height:44px;padding:7px 11px;white-space:normal;border:1px solid rgba(140,106,73,.24);border-radius:999px;background:transparent;font-family:var(--display);font-size:13px;line-height:1.3;color:var(--ink);cursor:pointer}
.sk-field-choice.is-on{border-color:var(--muted-gold);background:rgba(182,138,58,.12);color:var(--codex-sepia)}
.sk-field-choice:disabled{opacity:.52;cursor:not-allowed}
.sk-field-permission-options{display:grid;gap:8px;margin-top:14px}
.sk-field-permission-choice{display:flex;min-height:56px;width:100%;flex-direction:column;align-items:flex-start;justify-content:center;padding:10px 12px;text-align:left;border:1px solid rgba(140,106,73,.24);border-radius:12px;background:rgba(255,255,255,.25);color:var(--ink);cursor:pointer}
.sk-field-permission-choice strong{font-family:var(--ui);font-size:11px;line-height:1.4;letter-spacing:.03em;color:var(--codex-sepia)}
.sk-field-permission-choice span{margin-top:3px;font-family:var(--display);font-size:13px;line-height:1.45;color:var(--ash)}
.sk-field-permission-choice.is-on{border-color:var(--muted-gold);background:rgba(182,138,58,.12)}
.sk-field-permission-summary{margin:12px 0 0;padding:10px 12px;border-left:2px solid var(--muted-gold);background:rgba(182,138,58,.08);font-family:var(--ui);font-size:11px;line-height:1.55;color:var(--codex-sepia)}
.sk-field-patterns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
.sk-field-pattern{display:flex;min-width:0;flex-direction:column;padding:12px;border:1px solid rgba(140,106,73,.2);border-radius:12px;background:rgba(255,255,255,.32)}
.sk-field-pattern h3{margin:0;font-family:var(--ui);font-size:10px;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--label-gold)}
.sk-field-pattern p{margin:6px 0 0;font-family:var(--display);font-size:13px;line-height:1.4;color:var(--ink)}
.sk-field-pattern blockquote{margin:9px 0;font-family:var(--display);font-size:13px;line-height:1.45;color:var(--codex-sepia)}
.sk-field-pattern-decisions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.sk-field-pattern>.sk-field-choice{align-self:flex-start;margin-top:7px}
.sk-field-pattern .sk-field-dismissed-label{font-family:var(--ui);font-size:11px;color:var(--ash)}
.sk-field-private-summary{margin-top:12px;padding:12px;border:1px dashed rgba(140,106,73,.32);border-radius:12px}
.sk-field-private-summary h3{margin:0;font-family:var(--ui);font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold)}
.sk-field-private-summary p{margin:6px 0 0;font-family:var(--ui);font-size:11px;line-height:1.5;color:var(--ash)}
.sk-field-private-summary ul{margin:8px 0 0;padding-left:18px}.sk-field-private-summary li{margin-top:3px;font-family:var(--display);font-size:13px;line-height:1.45;color:var(--ink)}.sk-field-private-summary li span{display:block;color:var(--ash)}
.sk-field-frame{margin-top:10px;padding:15px;border:1px solid rgba(182,138,58,.34);border-radius:12px;background:rgba(255,255,255,.45)}
.sk-field-frame h2{text-align:center;font-size:20px;letter-spacing:.025em}
.sk-field-frame-kicker{text-align:center}
.sk-field-purpose{margin:8px 0 0;text-align:center;font-family:var(--display);font-style:italic;font-size:14px;color:var(--codex-sepia)}
.sk-field-frame h4{margin:13px 0 4px;font-family:var(--ui);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--label-gold)}
.sk-field-frame ul{margin:0;padding-left:18px}
.sk-field-frame li{margin-top:3px;font-family:var(--display);font-size:13.5px;line-height:1.45;color:var(--ink)}
.sk-field-frame blockquote{margin:14px 0 0;padding:9px 11px;border-left:2px solid var(--muted-gold);font-family:var(--display);font-style:italic;font-size:14px;line-height:1.5;color:var(--codex-sepia)}
.sk-field-limits{display:flex;justify-content:center;gap:8px;margin:13px 0 0}
.sk-field-limits strong{padding:3px 8px;border:1px solid rgba(140,106,73,.24);border-radius:999px;font-family:var(--ui);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--label-gold)}
body.quiet .sk-field-card{background:linear-gradient(145deg,rgba(42,31,24,.98),rgba(93,68,45,.18));border-color:rgba(210,180,109,.22);box-shadow:none}
body.quiet .sk-field-card h2,body.quiet .sk-field-promise,body.quiet .sk-field-consent p,body.quiet .sk-field-choice,body.quiet .sk-field-frame li{color:#f3e6c8}
body.quiet .sk-field-attribution,body.quiet .sk-field-boundary,body.quiet .sk-field-private,body.quiet .sk-field-unavailable,body.quiet .sk-field-quiet{color:#c9b9aa}
body.quiet .sk-field-consent li,body.quiet .sk-field-frame{background:rgba(255,255,255,.035);border-color:rgba(210,180,109,.2)}
body.quiet .sk-field-pattern{background:rgba(255,255,255,.025);border-color:rgba(210,180,109,.18)}
body.quiet .sk-field-pattern p,body.quiet .sk-field-pattern blockquote{color:#eadabd}
body.quiet .sk-field-choice{border-color:rgba(210,180,109,.22)}
body.quiet .sk-field-choice.is-on{border-color:var(--muted-gold);background:rgba(210,180,109,.1)}
body.quiet .sk-field-permission-choice{border-color:rgba(210,180,109,.22);background:rgba(255,255,255,.025)}
body.quiet .sk-field-permission-choice strong{color:#f3e6c8}body.quiet .sk-field-permission-choice span{color:#c9b9aa}
body.quiet .sk-field-permission-choice.is-on{border-color:var(--muted-gold);background:rgba(210,180,109,.1)}
body.quiet .sk-field-permission-summary{background:rgba(210,180,109,.06);color:#eadabd}
body.quiet .sk-field-purpose,body.quiet .sk-field-frame blockquote,body.quiet .sk-field-private-summary li{color:#eadabd}
body.quiet .sk-field-private-summary{border-color:rgba(210,180,109,.25)}
body.quiet .sk-room-info-kicker,body.quiet .sk-field-badge,body.quiet .sk-field-local,body.quiet .sk-field-frame-kicker,body.quiet .sk-field-arc-step{color:var(--soft-gold)}
.sk-field-learning{min-width:0;padding:2px 0;overflow-wrap:anywhere}
.sk-field-learning h2{margin:7px 0 0;font-family:var(--head);font-size:24px;font-weight:400;color:var(--codex-sepia)}
.sk-field-arc-step{margin:0;font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.sk-field-learning-intro{margin:9px 0 0;font-family:var(--display);font-size:14px;line-height:1.55;color:var(--ink)}
.sk-field-learning-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.sk-field-learning-summary{margin:12px 0 0;padding-left:20px}
.sk-field-learning-summary li{margin-top:5px;font-family:var(--display);font-size:14px;line-height:1.45;color:var(--ink)}
.sk-field-learning-saved{margin:10px 0 0;padding:9px 11px;border-left:2px solid var(--muted-gold);background:rgba(182,138,58,.08);font-family:var(--ui);font-size:11px;line-height:1.45;color:var(--codex-sepia)}
body.quiet .sk-field-arc li[aria-current="step"],body.quiet .sk-field-learning h2,body.quiet .sk-field-learning-intro,body.quiet .sk-field-learning-summary li{color:#f3e6c8}
body.quiet .sk-field-arc li{border-color:rgba(210,180,109,.16);color:#c9b9aa}
body.quiet .sk-field-learning-saved{background:rgba(210,180,109,.06);color:#eadabd}
.sk-title.sk-room-info:focus-visible,.sk-room-info-close:focus-visible,.sk-room-info-item:focus-visible,.sk-field-primary:focus-visible,.sk-field-quiet:focus-visible,.sk-field-choice:focus-visible,.sk-field-permission-choice:focus-visible{outline:3px solid var(--muted-gold);outline-offset:3px}
@media(pointer:coarse){.sk-back,.sk-more{min-width:44px;min-height:44px}.sk-ember-actions button{min-height:44px}}
@media(max-width:560px){.sk-field-patterns{grid-template-columns:1fr}}
@media(max-width:420px){.sk-field-card{padding:14px}.sk-field-actions,.sk-field-pattern-decisions{align-items:stretch;flex-direction:column}.sk-field-primary,.sk-field-quiet,.sk-field-pattern .sk-field-choice{width:100%}.sk-field-options,.sk-field-learning-options{display:grid;grid-template-columns:minmax(0,1fr)}.sk-field-choice{width:100%;text-align:left}.sk-field-limits{align-items:center;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.sk-field-card,.sk-field-card *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.sk-room-info-group,.sk-room-info-item,.sk-field-card,.sk-field-choice,.sk-field-permission-choice,.sk-field-frame,.sk-field-private-summary{border-color:CanvasText}.sk-field-choice.is-on,.sk-field-permission-choice.is-on{outline:2px solid Highlight}.sk-room-info-close:focus-visible,.sk-room-info-item:focus-visible,.sk-field-primary:focus-visible,.sk-field-quiet:focus-visible,.sk-field-choice:focus-visible,.sk-field-permission-choice:focus-visible{outline-color:Highlight}}

/* The independently deployable staging artifact has one intentionally small
   shell. No ordinary House navigation, carry ribbon, or website exit is
   allowed to emerge from cached markup or a later render. */
body.skiza-pilot-shell #topbar,body.skiza-pilot-shell #tabbar,body.skiza-pilot-shell #carryRibbon,body.skiza-pilot-shell #appExit{display:none!important}
body.skiza-pilot-shell .screen{padding:clamp(34px,8vw,74px) clamp(18px,5vw,34px) 48px}
.skiza-pilot-entry{width:min(100%,620px);margin:0 auto;padding:clamp(24px,6vw,46px);border:1px solid rgba(182,138,58,.3);background:linear-gradient(145deg,rgba(255,252,245,.92),rgba(244,235,221,.76));box-shadow:0 22px 60px rgba(42,27,20,.08)}
.skiza-pilot-entry h1{margin:8px 0 0;font-family:var(--head);font-size:clamp(44px,11vw,72px);font-weight:400;line-height:.95;color:var(--codex-sepia)}
.skiza-pilot-intro{max-width:34em;margin:18px 0 0;font-family:var(--display);font-size:16px;line-height:1.65;color:var(--ash)}
.skiza-pilot-auth{margin-top:30px}
.skiza-pilot-identity{display:grid;gap:4px;margin-top:28px;padding:14px 0;border-top:1px solid rgba(140,129,118,.2);border-bottom:1px solid rgba(140,129,118,.2)}
.skiza-pilot-identity span{font-family:var(--ui);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--label-gold)}
.skiza-pilot-identity strong{font-family:var(--ui);font-size:14px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.skiza-pilot-rooms{display:grid;gap:10px;margin-top:22px}
.skiza-pilot-rooms button{display:grid;gap:6px;width:100%;padding:18px;text-align:left;border:1px solid rgba(182,138,58,.36);border-radius:2px;background:rgba(255,255,255,.48);color:var(--ink);cursor:pointer}
.skiza-pilot-rooms button span{font-family:var(--display);font-size:21px;color:var(--codex-sepia)}
.skiza-pilot-rooms button small{font-family:var(--ui);font-size:10px;letter-spacing:.07em;color:var(--label-gold)}
.skiza-pilot-state{margin-top:20px;padding:13px 15px;border-left:2px solid var(--muted-gold);background:rgba(182,138,58,.08);font-family:var(--ui);font-size:13px;line-height:1.55;color:var(--ash)}
.skiza-pilot-state p{margin-top:5px}
.skiza-pilot-actions{display:flex;justify-content:space-between;gap:16px;margin-top:26px;padding-top:16px;border-top:1px solid rgba(140,129,118,.2)}
.skiza-pilot-rooms button:focus-visible,.skiza-pilot-actions button:focus-visible{outline:3px solid var(--muted-gold);outline-offset:3px}
body.quiet .skiza-pilot-entry{background:linear-gradient(145deg,rgba(42,31,24,.98),rgba(24,18,15,.98));border-color:rgba(210,180,109,.28);box-shadow:none}
body.quiet .skiza-pilot-entry h1,body.quiet .skiza-pilot-identity strong,body.quiet .skiza-pilot-rooms button span{color:#f3e6c8}
body.quiet .skiza-pilot-intro,body.quiet .skiza-pilot-state{color:#c9b9aa}
body.quiet .skiza-pilot-rooms button{background:rgba(255,255,255,.035);border-color:rgba(210,180,109,.22)}
@media(max-width:420px){.skiza-pilot-entry{padding:24px 18px}.skiza-pilot-actions{align-items:flex-start;flex-direction:column}}
