/* Moonlit Sanctuary. Solid workspaces on a real cottage photograph. */
:root { --sanctuary-paper:#fffffa; --sanctuary-ink:#14281f; --sanctuary-muted:#48584d; --sanctuary-line:#aab8a9; --sanctuary-soft:#edf2e9; --sanctuary-green:#19422f; }
.page-shell:not(.clarity-home-page) { min-height:100vh; padding-bottom:74px; background:#14281f url('/assets/sanctuary-v1/room.webp') center 105px / cover fixed no-repeat; color:var(--sanctuary-ink); }
.page-shell:not(.clarity-home-page)::before,.page-shell:not(.clarity-home-page)::after { display:none; }
.page-shell:not(.clarity-home-page) .cottage-topbar { position:relative; inset:auto; width:100%!important; max-width:none!important; margin:0; min-height:106px; padding:16px 4vw!important; background:#102d20; box-shadow:0 1px #58745b; }
.page-shell:not(.clarity-home-page) > .hero-panel { margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
.page-shell:not(.clarity-home-page) .content-stack { position:relative; width:calc(100% - 8vw)!important; max-width:1120px!important; margin:56px auto 0!important; padding:36px 42px 42px!important; border:1px solid #b5c2b0; border-radius:12px; background:var(--sanctuary-paper); box-shadow:0 20px 60px #0005; gap:28px; color:var(--sanctuary-ink); }
.page-shell:not(.clarity-home-page) .hero-panel:has(> .utility-shell) + .content-stack { border-radius:0 0 12px 12px; margin-top:0!important; border-top:0; }
.page-shell:not(.clarity-home-page) .hero-panel > :not(.cottage-topbar) { max-width:1120px; width:calc(100% - 8vw); margin:56px auto 0; padding:36px 42px; border:1px solid #b5c2b0; border-radius:12px 12px 0 0; background:var(--sanctuary-paper); color:var(--sanctuary-ink); }
.page-shell:not(.clarity-home-page) :is(h1,h2,h3,h4,p,label,li,dt,dd) { color:inherit; }
.page-shell:not(.clarity-home-page) h1 { font:600 clamp(38px,4vw,56px)/1.1 var(--font-display); letter-spacing:-.7px; max-width:none; }
.page-shell:not(.clarity-home-page) h2 { font:600 clamp(30px,3vw,42px)/1.12 var(--font-display); max-width:none; }
.page-shell:not(.clarity-home-page) h3 { font:600 28px/1.15 var(--font-display); }
.page-shell:not(.clarity-home-page) :is(p,label,li) { line-height:1.7; }
.page-shell:not(.clarity-home-page) :is(.hero-text,.small-note,.room-note,.mini-label,.section-intro,.altar-pinned-suit,.card-title,.section-kicker) { color:var(--sanctuary-muted); }
.page-shell:not(.clarity-home-page) :is(.content-section,.board-sidebar-card,.board-thread-card,.settings-card,.stream-panel,.stream-sidebar-card,.chart-reading-panel,.chart-summary-card,.forecast-section,.altar-feature-card,.altar-layout-item,.tarot-dictionary-empty) { padding:24px; border:1px solid var(--sanctuary-line); border-radius:7px; background:var(--sanctuary-paper); box-shadow:none; color:var(--sanctuary-ink); }
.page-shell:not(.clarity-home-page) :is(input,textarea,select) { border:1px solid #7f9482; border-radius:5px; background:var(--sanctuary-paper); color:var(--sanctuary-ink); min-height:46px; font:500 16px/1.5 var(--font-body); }
.page-shell:not(.clarity-home-page) :is(input,textarea)::placeholder { color:#5c6b60; opacity:1; }
.page-shell:not(.clarity-home-page) :is(.primary-action,.sanctuary-primary) { border:1px solid #19422f; border-radius:6px; background:#19422f; color:#fff; box-shadow:none; min-height:48px; padding:12px 20px; font:600 16px/1.45 var(--font-body); }
.page-shell:not(.clarity-home-page) :is(.primary-action,.sanctuary-primary):hover { background:#245b3d; }
.page-shell:not(.clarity-home-page) :is(.secondary-action,.filter-pill,.status-pill,.danger-chip) { border:1px solid var(--sanctuary-line); background:var(--sanctuary-paper); color:var(--sanctuary-ink); box-shadow:none; border-radius:5px; padding:10px 15px; min-height:44px; font:600 14px/1.45 var(--font-body); }
.page-shell:not(.clarity-home-page) :is(.filter-pill-active,.filter-pill[aria-pressed=true]) { background:var(--sanctuary-green); color:#fff; border-color:var(--sanctuary-green); }
.page-shell:not(.clarity-home-page) :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #ad771f; outline-offset:4px; }
.page-shell:not(.clarity-home-page) a:not(.nav-pill):not(.cottage-brand):not(.primary-action):not(.secondary-action) { color:var(--sanctuary-green); text-underline-offset:5px; }
.page-shell:not(.clarity-home-page) button:disabled { opacity:.65; cursor:default; }
.page-shell:not(.clarity-home-page) details summary { cursor:pointer; padding:12px 0; min-height:44px; font-weight:600; }
/* The chosen Tarot composition. */
.sanctuary-workspace { width:calc(100% - 10vw); max-width:960px; margin:62px auto 0; padding:26px 42px 14px; border:1px solid #bdc9b8; border-radius:12px; background:var(--sanctuary-paper); box-shadow:0 20px 55px #0005; color:var(--sanctuary-ink); }
.sanctuary-workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:0 8px 20px; border-bottom:1px solid var(--sanctuary-line); }
.sanctuary-workspace-heading h1 { margin:0; font-size:46px!important; }
.sanctuary-text-button { display:inline-flex; align-items:center; gap:12px; padding:10px 0; border:0; border-radius:0; background:none; color:var(--sanctuary-green); font:500 15px/1.4 var(--font-body); text-decoration:underline; text-underline-offset:6px; }
.sanctuary-daily-reading { display:grid; grid-template-columns:320px minmax(0,1fr); gap:68px; padding:24px 20px 28px; align-items:center; }
.sanctuary-card-reveal { display:block; border:0; margin:0; padding:0; width:100%; background:none; box-shadow:none; }
.sanctuary-card-image { display:block; width:100%; height:auto; max-width:100%; border-radius:7px; object-fit:contain; box-shadow:0 2px 6px #0002; }
.sanctuary-card-reveal .sanctuary-card-image { max-height:544px; width:auto; max-width:100%; margin:auto; }
.sanctuary-card-back { box-shadow:none; }
.sanctuary-reading-copy { min-width:0; }
.sanctuary-overline { margin:0 0 12px; font:600 12px/1.5 var(--font-body); letter-spacing:1.7px; text-transform:uppercase; color:var(--sanctuary-muted); }
.sanctuary-reading-copy h2 { font-size:54px!important; line-height:1.08!important; margin:0 0 22px; letter-spacing:-.7px; }
.sanctuary-reading-lead { font:500 21px/1.5 var(--font-body); margin:0 0 24px; }
.sanctuary-reading-guidance { font:400 18px/1.65 var(--font-body); margin:0 0 28px; }
.sanctuary-reading-copy .sanctuary-primary { display:flex; width:100%; justify-content:center; align-items:center; gap:16px; }
.sanctuary-primary img { filter:brightness(0) invert(1); }
.sanctuary-reading-links { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:16px; }
.sanctuary-reading-links button { min-height:44px; padding:8px 0; border:0; background:none; color:var(--sanctuary-green); text-decoration:underline; text-underline-offset:5px; font:500 15px/1.4 var(--font-body); }
.sanctuary-card-options { font-size:13px; margin-top:4px; }
.sanctuary-card-options summary { color:var(--sanctuary-muted); font-size:12px; }
.sanctuary-card-options > button { display:block; margin-bottom:12px; }
.sanctuary-notice { font-size:14px; color:#245333; }
.sanctuary-notice:empty { display:none; }
.sanctuary-tabs { display:flex; justify-content:space-evenly; border-top:1px solid var(--sanctuary-line); gap:20px; padding:14px 0 0; }
.sanctuary-tabs button { border:0; background:none; border-radius:0; min-height:48px; padding:8px 8px 12px; font:500 15px/1.4 var(--font-body); color:var(--sanctuary-muted); }
.sanctuary-tabs button.is-selected { color:var(--sanctuary-green); box-shadow:inset 0 -3px var(--sanctuary-green); font-weight:700; }
.sanctuary-full-meaning { margin-top:18px; border-top:1px solid var(--sanctuary-line); padding:8px 16px; }
.sanctuary-meaning h3 { margin:16px 0; }
.sanctuary-meaning h4 { font:700 15px/1.4 var(--font-body); margin:22px 0 7px; }
.sanctuary-meaning p { font-size:16px; line-height:1.7; margin:0; }
.sanctuary-art-credit { text-align:center; color:var(--sanctuary-muted); font-size:11px; padding:14px 0 0; }
.sanctuary-intro { font-size:16px; color:var(--sanctuary-muted); }
.sanctuary-spread,.sanctuary-library { padding:14px 8px 24px; }
.sanctuary-spread-actions { display:flex; gap:15px; margin:20px 0 28px; flex-wrap:wrap; }
.sanctuary-spread-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.sanctuary-spread-grid .sanctuary-card-image { max-width:190px; margin:0 auto 20px; }
.sanctuary-spread-grid article { border-top:1px solid var(--sanctuary-line); padding-top:18px; }
.sanctuary-spread-grid h2 { font-size:28px!important; }
.sanctuary-spread-grid p { font-size:15px; }
.sanctuary-library-filters { display:grid; grid-template-columns:2fr 1fr; gap:18px; margin:20px 0 30px; }
.sanctuary-library-filters label { display:grid; gap:7px; font-size:14px; font-weight:600; }
.sanctuary-library-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:25px 20px; }
.sanctuary-library-grid button { display:grid; gap:10px; padding:0; align-content:start; border:0; background:none; color:var(--sanctuary-ink); font:600 13px/1.5 var(--font-body); }
.sanctuary-library-detail { display:grid; grid-template-columns:250px 1fr; gap:35px; padding-top:20px; }
.sanctuary-custom-card { display:flex; align-items:center; justify-content:center; padding:12px; min-height:120px; border:1px solid var(--sanctuary-line); border-radius:6px; background:var(--sanctuary-paper); color:var(--sanctuary-ink); }
/* Altar: one table and a shelf, without floating windows. */
.altar-page-shell .altar-content-stack { max-width:1180px!important; }
.altar-page-shell :is(.altar-room-grid,.altar-stage-card) { display:block!important; padding:0!important; margin:0!important; width:100%!important; max-width:none!important; border:0!important; background:none!important; box-shadow:none!important; }
.altar-page-shell .altar-stage-shell { display:flex!important; flex-direction:column; gap:22px!important; padding:0!important; min-height:0!important; overflow:visible!important; }
.sanctuary-altar-heading { display:flex; flex-direction:column; gap:16px; }
.sanctuary-altar-heading h1 { margin:0; }
.sanctuary-altar-heading .sanctuary-overline { margin:0 0 8px; }
.sanctuary-altar-heading .sanctuary-intro { margin:10px 0 0; }
.sanctuary-altar-tools { display:flex; flex-wrap:wrap; gap:12px; align-items:start; }
.sanctuary-tool-disclosure { position:relative; }
.sanctuary-tool-disclosure > summary { padding:12px 16px!important; border:1px solid var(--sanctuary-line); border-radius:5px; font-size:14px; min-height:48px; }
.sanctuary-tool-disclosure[open] { flex:1 1 100%; order:10; }
.sanctuary-tool-disclosure .altar-floating-window-body { padding:20px 0 0!important; }
.sanctuary-tool-disclosure .altar-stage-zoom-row { padding:18px 0 0; }
.altar-page-shell .altar-stage-scene { display:block!important; grid-area:auto!important; width:100%!important; height:auto!important; min-height:0!important; padding:16px!important; overflow:auto!important; margin:0!important; border:1px solid #809b7e!important; border-radius:8px!important; background:#e1e8da url('/assets/sanctuary-v1/altar-cloth.webp') center/cover!important; box-shadow:inset 0 0 20px #293b2412!important; }
.altar-page-shell .altar-stage-scene::before,.altar-page-shell .altar-stage-scene::after { display:none!important; }
.altar-page-shell :is(.altar-glow,.altar-moon,.altar-motes,.altar-stars,.altar-scene-badge,.altar-ritual-stage-button,.altar-cloth,.altar-table-edge,.altar-floating-rescue) { display:none!important; }
.altar-page-shell .altar-table-surface { position:relative!important; inset:auto!important; width:100%!important; height:auto!important; min-height:0!important; padding:0!important; border:0!important; background:none!important; box-shadow:none!important; transform:none!important; }
.altar-page-shell .altar-table-grid { position:relative!important; inset:auto!important; display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:14px!important; min-height:460px; transform:scale(var(--altar-table-scale,1)); transform-origin:top left; width:calc(100% / var(--altar-table-scale,1)); }
.altar-page-shell .altar-table-slot { display:flex!important; flex-direction:column; align-items:center; justify-content:center; padding:8px!important; min-height:140px!important; height:auto!important; border:1px dashed #7b957a!important; border-radius:6px!important; background:#f9fcf51a!important; box-shadow:none!important; transform:none!important; color:#173522!important; cursor:pointer; }
.altar-page-shell .altar-table-slot-selected { outline:3px solid #245b39!important; outline-offset:1px; }
.altar-page-shell .altar-table-slot-filled { border-style:solid!important; background:#fafff644!important; }
.altar-page-shell .altar-table-grid-armed .altar-table-slot:hover { background:#ffffffaa!important; }
.altar-page-shell .altar-table-item { display:flex!important; flex-direction:column; align-items:center; justify-content:center; width:100%!important; height:auto!important; padding:0!important; background:none!important; box-shadow:none!important; transform:none!important; }
.altar-page-shell .altar-table-item .sanctuary-card-image { height:125px; width:auto; max-width:100%; object-fit:contain; }
.altar-page-shell .altar-table-label { display:block!important; position:static!important; margin-top:8px; width:auto; max-width:100%; font:600 12px/1.35 var(--font-body)!important; color:#173522!important; background:none!important; }
.altar-page-shell .altar-intention-scroll { position:static!important; inset:auto!important; transform:none!important; width:auto!important; max-width:none!important; min-height:0!important; margin:0!important; padding:14px 20px!important; border:0!important; border-left:3px solid #81997b!important; border-radius:0!important; background:var(--sanctuary-soft)!important; color:var(--sanctuary-ink)!important; box-shadow:none!important; }
.altar-page-shell .altar-intention-scroll strong { font:600 24px/1.2 var(--font-display); }
.altar-page-shell .altar-intention-scroll p { margin:6px 0; font-size:14px; }
.altar-page-shell .altar-stage-tool-panel { display:block!important; position:static!important; inset:auto!important; transform:none!important; width:100%!important; max-width:none!important; height:auto!important; max-height:none!important; padding:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; overflow:visible!important; }
.altar-page-shell .altar-stage-tool-panel > .altar-floating-toolbar,.altar-page-shell .altar-stage-tool-panel .altar-floating-window-tabs { display:none!important; }
.altar-page-shell .altar-floating-window-workbench { display:none!important; }
.altar-page-shell .altar-floating-window-workbench:has(.altar-slot-action-sheet) { display:block!important; max-height:none!important; padding:20px; border:1px solid var(--sanctuary-line); border-radius:6px; background:var(--sanctuary-paper); }
.altar-page-shell .altar-floating-window-body { max-height:none!important; overflow:visible!important; background:none!important; color:var(--sanctuary-ink)!important; }
.altar-page-shell .altar-builder-shell { position:static!important; inset:auto!important; width:100%!important; max-height:none!important; padding:24px!important; border:1px solid var(--sanctuary-line)!important; border-radius:7px!important; background:var(--sanctuary-paper)!important; box-shadow:none!important; overflow:visible!important; }
.altar-page-shell .altar-builder-shell-closed { display:none!important; }
.altar-page-shell .altar-builder-shell-open { display:block!important; }
.altar-page-shell .altar-builder-tabs { display:flex!important; overflow:auto; gap:10px; padding:18px 0; }
.altar-page-shell .altar-builder-panel { padding:0!important; }
.altar-page-shell .altar-table-decor-token { background:none!important; border:0!important; box-shadow:none!important; transform:none!important; width:90px!important; height:95px!important; display:flex!important; align-items:center; justify-content:center; }
.altar-page-shell .altar-table-decor-token::before,.altar-page-shell .altar-table-decor-token::after,.altar-page-shell .altar-table-decor-token span { display:none!important; }
.sanctuary-decor-image { display:block; width:86px; height:86px; object-fit:contain; }
.altar-page-shell :is(.altar-piece-glyph,.altar-feature-glyph,.altar-pinned-glyph) { display:block; width:72px; height:auto; padding:0; background:none; }
.altar-page-shell :is(.altar-piece-glyph,.altar-feature-glyph,.altar-pinned-glyph) .sanctuary-card-image { max-height:130px; width:auto; margin:auto; }
.altar-page-shell .altar-slot-action-sheet { background:none; color:var(--sanctuary-ink); }
.altar-page-shell .altar-ritual-overlay { background:#13271e url('/assets/sanctuary-v1/room.webp') center/cover; overflow:auto; }
.altar-page-shell .altar-ritual-shell { background:none!important; min-height:100vh; padding:30px 5vw; }
.altar-page-shell :is(.altar-ritual-aurora,.altar-ritual-stars,.altar-ritual-cloth,.altar-ritual-table-edge,.altar-ritual-moon-card) { display:none!important; }
.altar-page-shell .altar-ritual-title-card { position:relative; inset:auto; margin:40px auto 25px; max-width:650px; padding:24px; background:var(--sanctuary-paper); color:var(--sanctuary-ink); border:1px solid var(--sanctuary-line); }
.altar-page-shell .altar-ritual-table { position:relative; inset:auto; max-width:1000px; width:100%; height:auto; margin:0 auto; padding:28px; transform:none; background:#e1e8da url('/assets/sanctuary-v1/altar-cloth.webp') center/cover; border-radius:8px; }
.altar-page-shell .altar-ritual-piece-grid { position:relative; inset:auto; display:flex; flex-wrap:wrap; gap:28px; justify-content:center; }
.altar-page-shell .altar-ritual-piece { position:static; transform:none; animation:none; background:none; display:flex; flex-direction:column; align-items:center; width:140px; }
.altar-page-shell .altar-ritual-piece .sanctuary-card-image { width:100px; height:auto; }
.altar-page-shell .altar-ritual-piece > span { position:static; color:#173522; padding:8px; }
.altar-page-shell .altar-ritual-footer { position:static; max-width:1000px; margin:20px auto; background:#143522; color:#fff; padding:14px; }
.altar-page-shell .altar-ritual-close { position:relative; inset:auto; background:#fffffa; color:#183722; padding:12px 20px; border:1px solid #94aa93; }
/* Other rooms keep their working content, in the same readable paper system. */
.page-shell:not(.clarity-home-page) :is(.utility-card,.utility-shell,.board-hero,.board-room-card,.board-post-card,.board-category-card,.stream-room-card,.stream-control-card,.stream-planner-card,.forecast-card,.forecast-detail-card,.settings-section,.profile-card,.notes-card) { background:var(--sanctuary-paper); color:var(--sanctuary-ink); border-color:var(--sanctuary-line); box-shadow:none; }
.page-shell:not(.clarity-home-page) :is(.chart-grid,.chart-form-grid,.board-room-grid,.stream-room-grid,.settings-grid) { gap:28px; }
.page-shell:not(.clarity-home-page) :is(.board-thread,.board-thread-comment,.forecast-panel,.forecast-mini-grid > div,.chart-data-row,.settings-theme-option) { background:var(--sanctuary-soft); color:var(--sanctuary-ink); border-color:var(--sanctuary-line); }
.page-shell:not(.clarity-home-page) :is(.board-featured-thread,.stream-banner,.stream-state-card) { background:var(--sanctuary-soft); color:var(--sanctuary-ink); }
.auth-modal { background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; border:1px solid var(--sanctuary-line); box-shadow:0 15px 50px #0005; }
.auth-modal :is(h2,h3,p,label) { color:var(--sanctuary-ink); }
@media(min-width:1280px) { .page-shell:not(.clarity-home-page) .cottage-wordmark { font-size:34px; } }
@media(max-width:1050px) { .sanctuary-workspace { margin-top:36px; width:calc(100% - 9vw); padding:26px 30px 14px; } .sanctuary-daily-reading { grid-template-columns:270px minmax(0,1fr); gap:38px; padding:24px 8px; } .sanctuary-reading-copy h2 { font-size:43px!important; } .sanctuary-reading-lead { font-size:18px; } .sanctuary-reading-guidance { font-size:16px; } .page-shell:not(.clarity-home-page) .content-stack { padding:30px!important; } }
@media(max-width:760px) { .page-shell:not(.clarity-home-page) { background-position:65% 80px; padding-bottom:35px; } .page-shell:not(.clarity-home-page) .cottage-topbar { min-height:80px; padding:12px 5vw!important; } .sanctuary-workspace { width:calc(100% - 8vw); margin-top:28px; padding:24px 22px 12px; } .sanctuary-workspace-heading { padding:0 0 18px; flex-wrap:wrap; gap:12px; } .sanctuary-workspace-heading h1 { font-size:38px!important; } .sanctuary-daily-reading { display:flex; flex-direction:column; gap:28px; padding:24px 0; } .sanctuary-card-reveal { max-width:240px; } .sanctuary-card-reveal .sanctuary-card-image { max-height:380px; } .sanctuary-reading-copy h2 { font-size:40px!important; } .sanctuary-reading-lead { font-size:18px; } .sanctuary-reading-guidance { font-size:16px; } .sanctuary-tabs { gap:5px; } .sanctuary-tabs button { font-size:12px; padding:10px 4px; } .sanctuary-spread-grid { grid-template-columns:1fr; } .sanctuary-spread-grid article { padding-top:24px; } .sanctuary-spread-grid .sanctuary-card-image { max-width:190px; } .sanctuary-library-filters { grid-template-columns:1fr; } .sanctuary-library-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 12px; } .sanctuary-library-detail { grid-template-columns:1fr; } .sanctuary-library-detail > .sanctuary-card-image { max-width:220px; margin:auto; } .page-shell:not(.clarity-home-page) .content-stack { width:calc(100% - 7vw)!important; margin-top:28px!important; padding:24px 20px!important; } .page-shell:not(.clarity-home-page) .hero-panel > :not(.cottage-topbar) { width:calc(100% - 7vw); margin-top:28px; padding:24px 20px; } .altar-page-shell .altar-stage-scene { padding:10px!important; } .altar-page-shell .altar-table-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px!important; } .altar-page-shell .altar-table-slot { min-height:110px!important; padding:5px!important; } .altar-page-shell .altar-table-item .sanctuary-card-image { height:95px; } .altar-page-shell .altar-table-label { font-size:10px!important; } .altar-page-shell .altar-builder-shell { padding:16px!important; } .sanctuary-altar-tools { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .page-shell:not(.clarity-home-page) * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Override the old altar's inherited pale-on-pale theme at the workspace root. */
.altar-page-shell .altar-stage-shell { color:var(--sanctuary-ink)!important; }
.altar-page-shell .sanctuary-altar-heading :is(h1,p,summary) { color:var(--sanctuary-ink)!important; }
.altar-page-shell .sanctuary-altar-heading .sanctuary-overline { color:var(--sanctuary-muted)!important; }
.altar-page-shell .hero-panel.board-page-top { padding:0!important; }
.altar-page-shell .altar-stage-tool-panel:has(> :only-child) { min-height:0!important; }
.altar-page-shell .altar-slot-action-visual .sanctuary-card-image { max-height:130px; width:auto; }
.altar-page-shell .altar-slot-action-copy p { color:var(--sanctuary-muted)!important; }
.altar-page-shell .altar-table-surface::before,.altar-page-shell .altar-table-surface::after { display:none!important; }
/* One continuous sheet for Notes and any rooms with a title above their content. */
.page-shell:not(.clarity-home-page) > .hero-panel:has(> :not(.cottage-topbar)) + .content-stack { margin-top:0!important; border-top:0!important; border-radius:0 0 12px 12px!important; }
.page-shell:not(.clarity-home-page) :is(.chart-utility-bar,.board-utility-bar) { padding:0 0 24px; border:0; border-bottom:1px solid var(--sanctuary-line); border-radius:0; background:none!important; box-shadow:none; }
.page-shell:not(.clarity-home-page) :is(.chart-panel-card,.chart-detail-card,.chart-placement-card,.chart-house-card,.chart-section-card,.chart-meaning-card,.chart-house-reading,.chart-aspect-reading-card) { background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; border:1px solid var(--sanctuary-line); border-radius:6px; box-shadow:none; padding:22px; }
.page-shell:not(.clarity-home-page) .chart-layout { display:grid!important; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important; gap:26px; }
.page-shell:not(.clarity-home-page) .chart-wheel-card { border:0; background:none!important; padding:12px 15px; box-shadow:none; }
.page-shell:not(.clarity-home-page) .astro-wheel-shell { width:min(100%,430px)!important; background:var(--sanctuary-soft)!important; border:1px solid #7d927f; }
.page-shell:not(.clarity-home-page) .astro-wheel-core { width:100px; height:100px; background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink); border-color:var(--sanctuary-line); box-shadow:none; padding:8px; }
.page-shell:not(.clarity-home-page) .astro-wheel-core h3 { font-size:20px; }
.page-shell:not(.clarity-home-page) .astro-wheel-core p { font-size:10px; margin:0; }
.page-shell:not(.clarity-home-page) .astro-wheel-core .card-title { display:none; }
.page-shell:not(.clarity-home-page) .astro-wheel-lines :is(line,path,circle) { stroke:#6c8c76; }
.page-shell:not(.clarity-home-page) :is(.astro-house-chip,.astro-house-node,.astro-wheel-house-button,.astro-house-button,.chart-house-card) { background:var(--sanctuary-paper); color:var(--sanctuary-ink); }
.page-shell:not(.clarity-home-page) .chart-wheel-focus-note { background:var(--sanctuary-soft); color:var(--sanctuary-ink); border-color:var(--sanctuary-line); }
.page-shell:not(.clarity-home-page) .chart-tab { min-height:46px; border-radius:0; background:none; color:var(--sanctuary-muted); border:0; }
.page-shell:not(.clarity-home-page) .chart-tab-active { color:var(--sanctuary-green); box-shadow:inset 0 -3px var(--sanctuary-green); }
.page-shell:not(.clarity-home-page) .board-layout { grid-template-columns:210px minmax(0,1fr)!important; gap:24px; }
.sanctuary-board-details { grid-column:1/-1; border-top:1px solid var(--sanctuary-line); }
.sanctuary-board-details .board-right-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.page-shell:not(.clarity-home-page) :is(.board-topic-list button,.post-composer,.post-composer-trigger,.board-auth-banner,.post-card,.comment-card,.comment-login-note) { background:var(--sanctuary-soft)!important; color:var(--sanctuary-ink)!important; border-color:var(--sanctuary-line); box-shadow:none; border-radius:6px; }
.page-shell:not(.clarity-home-page) .board-topic-list button { min-height:44px; padding:12px; text-align:left; }
.page-shell:not(.clarity-home-page) .board-topic-list button[class*=active] { background:#19422f!important; color:#fff!important; }
.page-shell:not(.clarity-home-page) :is(.avatar,.post-avatar,.composer-avatar) { background:#19422f!important; color:#fff!important; }
.page-shell:not(.clarity-home-page) :is(.mailing-signup-card,.stream-chat-card,.stream-person-card,.stream-diagnostic-card,.stream-control-card,.stream-reminder-card) { border:1px solid var(--sanctuary-line)!important; border-radius:6px!important; background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; box-shadow:none!important; }
.page-shell:not(.clarity-home-page) .mailing-signup-card :is(h2,p,label) { color:var(--sanctuary-ink)!important; }
.stream-page-shell .stream-window-shell { width:calc(100% - 8vw); max-width:1180px; margin:56px auto 0; padding:30px; background:var(--sanctuary-paper); border:1px solid var(--sanctuary-line); border-radius:12px; }
.stream-page-shell .stream-room-header { padding:0 0 24px; margin-bottom:24px; border:0; border-bottom:1px solid var(--sanctuary-line); border-radius:0; background:none; box-shadow:none; }
.stream-page-shell .stream-room-grid { grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); gap:24px; }
.stream-page-shell .stream-room-title h1 { font-size:42px; }
.stream-page-shell .stream-room-actions { gap:8px; }
.stream-page-shell .stream-wide-stage { padding:0; background:none; border:0; box-shadow:none; }
.stream-page-shell .stream-broadcast-panel { min-height:420px; background:#112c20; color:#f6f8f2; border:1px solid #3c6249; border-radius:6px; padding:24px; }
.stream-page-shell .stream-broadcast-panel :is(h2,h3,p,.card-title) { color:#f6f8f2; }
.stream-page-shell :is(.stream-empty-state,.stream-stage-empty-tile) { background:#193b29; color:#f6f8f2; border:1px solid #50745c; border-radius:5px; }
.stream-page-shell .stream-stage { background:#112c20; color:#fff; border-radius:6px; }
.stream-page-shell .stage-member-panel { background:var(--sanctuary-soft); color:var(--sanctuary-ink); border:1px solid var(--sanctuary-line); border-radius:6px; margin-top:20px; padding:20px; }
.stream-page-shell .stream-person-card p { color:var(--sanctuary-muted); }
.stream-page-shell .stream-stage-meta .card-title { color:#d1e2d1; }
.page-shell:not(.clarity-home-page) .clarity-note-card { border:0; padding:0!important; }
.page-shell:not(.clarity-home-page) .mailing-signup-fields { gap:12px; }
html[data-theme=dark] { --sanctuary-paper:#182e23; --sanctuary-ink:#f4f8ee; --sanctuary-muted:#c5d3c3; --sanctuary-line:#718773; --sanctuary-soft:#223c2c; --sanctuary-green:#e0efcd; }
html[data-theme=dark] .page-shell:not(.clarity-home-page) :is(.content-stack,.sanctuary-workspace,.auth-modal) { background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; }
@media(max-width:900px) { .page-shell:not(.clarity-home-page) .chart-layout,.stream-page-shell .stream-room-grid { grid-template-columns:1fr!important; } .page-shell:not(.clarity-home-page) .board-layout { grid-template-columns:170px minmax(0,1fr)!important; } .sanctuary-board-details .board-right-rail { grid-template-columns:1fr; } .stream-page-shell .stream-window-shell { margin-top:28px; padding:24px; } }
@media(max-width:650px) { .page-shell:not(.clarity-home-page) .board-layout { grid-template-columns:1fr!important; } .board-left-rail .board-topic-list { display:flex; gap:8px; overflow:auto; padding:4px; } .board-left-rail .board-topic-list button { flex:0 0 auto; } .board-left-rail { display:grid; grid-template-columns:1fr; gap:12px; } .board-left-rail .board-sidebar-card { padding:14px; } .page-shell:not(.clarity-home-page) .chart-utility-pills { gap:8px; } .stream-page-shell .stream-window-shell { width:calc(100% - 7vw); padding:24px 20px; } .stream-page-shell .stream-room-header { flex-direction:column; align-items:start; gap:18px; } .stream-page-shell .stream-room-title h1 { font-size:36px; } .page-shell:not(.clarity-home-page) .mailing-signup-card { grid-template-columns:1fr; } .page-shell:not(.clarity-home-page) .mailing-signup-card form { display:grid; grid-template-columns:1fr; gap:12px; } }
.sanctuary-chart-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:26px; align-items:start; }
.page-shell:not(.clarity-home-page) .sanctuary-chart-overview .chart-layout { display:block!important; }
.page-shell:not(.clarity-home-page) .chart-top-summary-grid { display:grid; grid-template-columns:1fr; gap:20px; }
.page-shell:not(.clarity-home-page) .chart-aspect-row { display:flex; flex-direction:column; align-items:start; gap:5px; border-top:1px solid var(--sanctuary-line); padding:14px 0; }
.page-shell:not(.clarity-home-page) .chart-aspect-row p { font-size:14px; margin:0; }
.page-shell:not(.clarity-home-page) .astro-house-chip { width:44px; min-height:44px; height:44px; border:1px solid var(--sanctuary-line); border-radius:5px; padding:4px; background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; box-shadow:none; }
.page-shell:not(.clarity-home-page) .astro-house-chip .astro-house-number { font:600 15px/1 var(--font-body); }
.page-shell:not(.clarity-home-page) .astro-house-chip > span:not(.astro-house-number) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.page-shell:not(.clarity-home-page) .astro-house-chip-active { background:#19422f!important; color:#fff!important; outline:2px solid #7c9877; }
.stream-page-shell :is(.stream-camera-preview-shell,.stream-camera-preview-placeholder) { background:#153321!important; box-shadow:none; border-color:#50745c; }
.stream-page-shell .stream-camera-preview-placeholder :is(h2,h3,p) { color:#f4f8ef!important; }
.stream-page-shell .stream-participant-strip { background:var(--sanctuary-soft); color:var(--sanctuary-ink); border:1px solid var(--sanctuary-line); border-radius:6px; margin-top:20px; }
.stream-page-shell .stream-chat-card .stream-empty-state { background:var(--sanctuary-soft); color:var(--sanctuary-muted); border-color:var(--sanctuary-line); }
@media(max-width:900px) { .sanctuary-chart-overview { grid-template-columns:1fr; } }
.page-shell:not(.clarity-home-page) > .hero-panel { width:100%!important; max-width:100%!important; }
.sanctuary-settings-heading { padding:0 0 24px; border-bottom:1px solid var(--sanctuary-line); margin-bottom:24px; }
.sanctuary-settings-heading h1 { margin:0; }
.page-shell:not(.clarity-home-page) .theme-option { background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; border:1px solid var(--sanctuary-line); border-radius:6px; box-shadow:none; }
.page-shell:not(.clarity-home-page) .theme-option p { color:var(--sanctuary-muted)!important; }
.page-shell:not(.clarity-home-page) .theme-option-active { outline:2px solid #7f9978; outline-offset:1px; }
.page-shell:not(.clarity-home-page) .theme-swatch { box-shadow:none; border:1px solid #839a80; border-radius:4px; }
.page-shell:not(.clarity-home-page) .theme-swatch-light { background:#fffffa!important; }
.page-shell:not(.clarity-home-page) .theme-swatch-dark { background:#182e23!important; }
.page-shell:not(.clarity-home-page) .metrics-hero { padding:0 0 24px; border:0; border-bottom:1px solid var(--sanctuary-line); border-radius:0; background:none!important; box-shadow:none; }
.page-shell:not(.clarity-home-page) :is(.metrics-card-grid,.metrics-grid,.metrics-admin-grid) { gap:20px; }
.page-shell:not(.clarity-home-page) :is(.metrics-stat-card,.metrics-chart-card,.metrics-pages-card,.metrics-admin-card,.metrics-mailing-card) { padding:22px; border:1px solid var(--sanctuary-line); border-radius:6px; background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; box-shadow:none; }
.page-shell:not(.clarity-home-page) .metrics-bar-track { background:var(--sanctuary-soft); border-radius:3px; }
.page-shell:not(.clarity-home-page) .metrics-bar-fill { background:#537c5a; border-radius:3px; }
.page-shell:not(.clarity-home-page) .metrics-account-row { background:var(--sanctuary-soft); color:var(--sanctuary-ink); border-color:var(--sanctuary-line); }
html[data-theme=dark] .page-shell:not(.clarity-home-page) :is(.primary-action,.sanctuary-primary) { border-color:#829c7a; }
@media(min-width:1051px) { .sanctuary-reading-lead { font-size:24px; line-height:1.45; } .sanctuary-reading-guidance { font-size:21px; line-height:1.5; } .sanctuary-reading-copy .sanctuary-primary { min-height:60px; font-size:18px; } .sanctuary-reading-links button,.sanctuary-tabs button { font-size:16px; } }
@media(min-width:1400px) { .page-shell:not(.clarity-home-page) .cottage-wordmark { font-size:38px; } .page-shell:not(.clarity-home-page) .cottage-brand-mark { width:74px; height:76px; } }
.altar-page-shell .altar-stage-tool-panel:not(:has(.altar-builder-shell-open)):not(:has(.altar-slot-action-sheet)) { display:none!important; }
.altar-page-shell .sanctuary-altar-heading { order:0!important; }
.altar-page-shell .altar-stage-tool-panel { order:1!important; }
.altar-page-shell .altar-stage-scene { order:2!important; }
.altar-page-shell .altar-intention-scroll { order:3!important; }
.altar-page-shell .altar-intention-scroll :is(p,strong) { color:var(--sanctuary-ink)!important; }
.page-shell:not(.clarity-home-page) .circle-filter-list { display:grid; gap:8px; }
.page-shell:not(.clarity-home-page) .filter-chip { min-height:44px; padding:10px 14px; border:1px solid var(--sanctuary-line); border-radius:5px; background:var(--sanctuary-paper)!important; color:var(--sanctuary-ink)!important; box-shadow:none; text-align:left; }
.page-shell:not(.clarity-home-page) .filter-chip-active { background:#19422f!important; color:#fff!important; border-color:#19422f; }
.sanctuary-chart-wheel { width:100%; min-width:0; }
.sanctuary-house-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:20px; }
.page-shell:not(.clarity-home-page) .sanctuary-house-list .astro-house-chip { position:static!important; inset:auto!important; transform:none!important; width:100%; height:auto; min-height:48px; padding:8px; display:flex; flex-wrap:wrap; justify-content:center; gap:5px; }
.page-shell:not(.clarity-home-page) .sanctuary-house-list .astro-house-chip > span:not(.astro-house-number) { position:static; width:auto; height:auto; padding:0; margin:0; clip-path:none; overflow:visible; white-space:normal; font:500 11px/1.4 var(--font-body); }
@media(max-width:650px) { .page-shell:not(.clarity-home-page) .circle-filter-list { display:flex; overflow:auto; gap:8px; padding:4px; } .page-shell:not(.clarity-home-page) .circle-filter-list .filter-chip { flex:0 0 auto; } }
/* Keep the phone menu above each room's paper workspace. */
.page-shell:not(.clarity-home-page) > .hero-panel { position:relative; z-index:40; overflow:visible!important; }
.page-shell:not(.clarity-home-page) :is(.content-stack,.stream-window-shell) { z-index:1; }
.page-shell:not(.clarity-home-page) .board-layout > * { min-width:0; max-width:100%; }
.page-shell:not(.clarity-home-page) :is(.board-left-rail,.board-feed,.circle-filter-list,.board-sidebar-card,.post-composer) { min-width:0; max-width:100%; }
.page-shell:not(.clarity-home-page) .post-composer button { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; background:var(--sanctuary-soft)!important; color:var(--sanctuary-ink)!important; }
@media(min-width:1051px) { .page-shell:not(.clarity-home-page) .sanctuary-reading-copy .sanctuary-primary { min-height:60px; font-size:18px; } }
html[data-theme=dark] .page-shell:not(.clarity-home-page) :is(input,textarea)::placeholder { color:var(--sanctuary-muted); }
