/* The quiet workspace. Deliberately local: no network fonts or image dependencies. */
:root {
  --paper: #f7f6f2; --paper-sunk: #eeede7; --card: #fffefa; --card-2: #f2f2eb;
  --ink: #293d35; --ink-2: #536158; --ink-3: #73796e; --on-ink: #faf8ef;
  --rubric: #49694e; --rubric-soft: #e6ecdf; --gold: #ad8950; --gold-text: #80663d;
  --rule: #dedfd5; --rule-strong: #c8cdbf; --glass: rgba(247,246,242,.96);
  --shadow-card: 0 2px 8px #263c2805; --grain-opacity: .065;
  --r-s: 8px; --r-m: 10px; --r-l: 14px; --r-xl: 16px; --gutter: 24px;
}
:root[data-theme="dark"] {
  --paper: #171e1a; --paper-sunk: #222c25; --card: #202923; --card-2: #273229;
  --ink: #e4e8dc; --ink-2: #b8c3b3; --ink-3: #99a493; --on-ink: #172119;
  --rubric: #b4c99d; --rubric-soft: #303f2c; --gold: #bea16d; --gold-text: #cfb586;
  --rule: #354033; --rule-strong: #4b5847; --glass: rgba(23,30,26,.96);
}
@media(prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --paper: #171e1a; --paper-sunk: #222c25; --card: #202923; --card-2: #273229;
    --ink: #e4e8dc; --ink-2: #b8c3b3; --ink-3: #99a493; --on-ink: #172119;
    --rubric: #b4c99d; --rubric-soft: #303f2c; --gold: #bea16d; --gold-text: #cfb586;
    --rule: #354033; --rule-strong: #4b5847; --glass: rgba(23,30,26,.96);
  }
}
.sky { display:none; }
.workspace-brand,.workspace-label,.workspace-footer { display:none; }
.topbar { background:var(--paper); border-bottom:1px solid var(--rule); }
.topbar.is-stuck { backdrop-filter:none; }
.topbar__row { max-width:1120px; margin:auto; height:66px; }
.topbar__mark::after { content:'Banaag'; font-family:var(--f-display); font-size:18px; }
.topbar__mark svg { color:var(--rubric); }
.me-btn { background:var(--rubric-soft); color:var(--rubric); width:38px; height:38px; border:1px solid var(--rule); }
.topbar__title { display:none; }
.screen-head { padding:30px 0 28px; }
.screen-head .eyebrow { color:var(--ink-3); font-size:10px; letter-spacing:.14em; margin-bottom:14px; }
.title-xl,.today-head .title-xl { font-size:clamp(36px,4vw,49px); font-weight:440; letter-spacing:-.04em; line-height:1.12; }
.today-intro { margin-top:12px; color:var(--ink-3); font-size:14px; }
.votd { background:#e9eddf; box-shadow:none; border:1px solid #dce2d0; border-radius:14px; padding:30px 30px 18px; }
.votd::before { display:none; }
.votd__top { margin-bottom:26px; }
.votd__top .eyebrow { color:#52664a; }
.votd .tag { color:#52664a; background:transparent; border:1px solid #bac8ad; font-size:10px; height:23px; }
.votd__text { color:#2c4234; font-family:var(--f-text); font-size:clamp(28px,2.8vw,37px); font-weight:400; line-height:1.35; letter-spacing:-.015em; }
.votd__text .initial { float:none; font-family:inherit; color:inherit; font-style:normal; font-size:1em; padding:0; margin:0; line-height:inherit; font-weight:inherit; }
.votd__ref { color:#52664a; margin-top:24px; font-size:11px; letter-spacing:.1em; }
.votd__acts { border-top:1px solid #cbd5bf; margin-top:24px; padding-top:12px; color:#3e583c; }
.votd__acts .link,.votd__acts .icon-btn { color:#3e583c; }
.votd__acts .link { font-size:13px; }
.votd__text.is-reveal .w,.votd__text.is-reveal .initial { animation:none; opacity:1; }
.rhythm { padding:24px; border:1px solid var(--rule); background:var(--card); border-radius:14px; }
.rhythm__head h2 { color:var(--ink); letter-spacing:.08em; font-size:10px; }
.rhythm__head { margin-bottom:24px; }
.rhythm__count b { font-family:var(--f-ui); font-size:14px; font-weight:600; }
.rhythm__count { font-size:12px; }
.beat { width:52px; gap:10px; }
.beat__disc { width:48px; height:48px; box-shadow:none; background:var(--paper); }
.beat__ico { width:19px; height:19px; }
.beat__label { font-size:11px; }
.rhythm__link { margin-top:23px; }
.rhythm__note { font-family:var(--f-ui); font-size:12px; font-style:normal; text-align:left; border-top:1px solid var(--rule); padding-top:18px; margin-top:22px; color:var(--ink-3); }
.pagecta { background:#304b3c; color:#f4f3e7; box-shadow:none; border-radius:14px; padding:27px; gap:16px; }
.pagecta::after { opacity:.4; }
.pagecta .eyebrow { color:#c6d1b8; font-size:10px; }
.pagecta__title { font-size:29px; font-weight:430; }
.pagecta__foot { font-size:12px; font-weight:500; color:#d4deca; }
.block { padding:25px 0 4px; margin-top:24px; }
.block__num { border:0; width:22px; color:var(--ink-3); font-size:12px; justify-content:start; }
.block__head { gap:9px; }
.block__head .eyebrow { font-size:9px; margin-bottom:8px; }
.title-m { font-size:23px; font-weight:430; }
.block__txt { font-family:var(--f-ui); font-size:13px; line-height:1.85; color:var(--ink-3); }
.block__acts { margin-bottom:6px; }
.btn { border-radius:8px; box-shadow:none; font-size:14px; }
.btn--sm { min-height:44px; font-size:12px; }
.btn--soft { background:var(--rubric-soft); color:var(--rubric); }
.icon-btn { min-width:44px; min-height:44px; }
.thanks__add { width:44px; height:44px; border-radius:8px; }
.thanks__input { font-size:18px; }
.tabbar { background:var(--paper); backdrop-filter:none; }
.tabbar__row { height:68px; }
.tab { font-size:10px; gap:5px; }
.tab svg { width:22px; height:22px; }
.tab[aria-current="page"] { color:var(--rubric); }
.tab__ind::after { background:var(--rubric); }
.panel,.carry,.prayer,.entry { box-shadow:none; border:1px solid var(--rule); }
.reader { padding:25px 0; }
.reader__text { line-height:1.95; }
.ruled { line-height:32px; background-size:auto; background-image:repeating-linear-gradient(180deg,transparent 0 31px,var(--rule) 31px 32px); }
.sec { padding-top:24px; padding-bottom:22px; }
.sec__letter { font-size:42px; }
.auth { padding-top:48px; }
.auth__form { border:1px solid var(--rule); box-shadow:none; padding:24px; }
.auth__hero { margin-bottom:38px; }
.auth__title em { color:var(--rubric); }
.auth__fine { font-size:12px; }
.window { filter:saturate(.55); }
@media(min-width:1000px) {
  :root { --rail:238px; }
  #view-app { padding-left:var(--rail); }
  .tabbar { top:0; right:auto; width:var(--rail); border-right:1px solid var(--rule); padding:40px 22px 25px; display:flex; flex-direction:column; transform:none!important; }
  .tabbar::before { display:none; }
  .workspace-brand { display:flex; align-items:center; gap:12px; padding:0 4px; margin-bottom:58px; }
  .workspace-brand svg { width:31px; height:42px; flex:none; color:var(--rubric); }
  .workspace-brand>span { font-family:var(--f-display); font-size:18px; line-height:1.2; white-space:nowrap; }
  .workspace-brand em { display:block; font-size:23px; font-weight:400; }
  .workspace-brand small { display:block; font-family:var(--f-ui); font-size:7px; font-weight:500; letter-spacing:.16em; color:var(--ink-3); margin-top:10px; }
  .workspace-label { display:block; font-size:9px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.14em; padding:0 16px; margin-bottom:15px; }
  .tabbar__row { display:flex; flex-direction:column; gap:7px; height:auto; margin:0; max-width:none; }
  .tab { flex-direction:row; justify-content:flex-start; gap:14px; border-radius:8px; padding:0 16px; height:48px; font-size:13px; font-weight:500; }
  .tab[aria-current="page"] { background:var(--rubric-soft); font-weight:600; }
  .tab:hover { background:var(--paper-sunk); }
  .tab__ind { display:none; }
  .workspace-footer { display:block; margin-top:auto; border-top:1px solid var(--rule); padding:24px 5px 0; font-size:11px; color:var(--ink-2); }
  .workspace-footer p { color:var(--ink-3); font-size:10px; margin-top:8px; }
  .workspace-dot { width:5px; height:5px; border-radius:50%; background:var(--rubric); display:inline-block; margin-right:7px; }
  .topbar__row { height:76px; padding:0 44px; max-width:1240px; }
  .topbar__mark::after { content:'YOUR DAILY COMPANION'; font-family:var(--f-ui); color:var(--ink-3); font-size:9px; letter-spacing:.16em; }
  .topbar__mark svg { display:none; }
  .topbar__end { gap:12px; }
  #main { max-width:1230px; padding:0 44px 64px; }
  .screen-head { padding:40px 0 32px; }
  #v-today.is-active { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr); column-gap:28px; align-items:start; }
  .today-head { grid-column:1/-1; }
  .votd { grid-column:1; grid-row:2 / span 2; min-height:410px; margin:0; display:flex; flex-direction:column; padding:32px; }
  .votd__acts { margin-top:auto; padding-top:16px; }
  .votd__ref { margin-bottom:30px; }
  .rhythm { grid-column:2; grid-row:2; margin:0 0 22px; }
  .pagecta { grid-column:2; grid-row:3; min-height:166px; margin:0; }
  #planBlock { grid-column:1; grid-row:4; }
  #carryBlock { grid-column:2; grid-row:4; }
  #thanksBlock { grid-column:1/-1; grid-row:5; padding-bottom:20px; }
  #thanksBlock .thanks__form { max-width:700px; }
  .view:not(#v-today) { max-width:760px; margin:0 auto; }
  .read-progress { left:var(--rail); top:76px; }
  .sheet { align-items:center; padding:32px; }
  .sheet__panel { border-radius:16px; max-height:85dvh; }
  .page { left:var(--rail); }
  .toast-host { left:var(--rail); bottom:24px; }
  .selbar { left:calc(50% + var(--rail)/2); bottom:24px; }
  .auth { max-width:1080px; min-height:100dvh; display:grid; grid-template-columns:1fr 1fr; column-gap:100px; align-content:center; padding:70px 60px; }
  .auth__hero { grid-column:1; grid-row:1/4; margin:0; background:var(--rubric-soft); border-radius:180px 180px 12px 12px; min-height:540px; }
  .window { --w:215px; height:295px; }
  .auth__head { grid-column:2; }
  .auth__title { font-size:50px; }
  .auth__form { grid-column:2; }
  .auth__fine,.auth__install { grid-column:2; }
}
@media(min-width:1600px) { #main { padding-left:60px; padding-right:60px; } }
@media(max-width:599px) {
  #main { padding-bottom:110px; }
  .today-head { padding-top:26px; }
  .votd { padding:25px 24px 15px; }
  .votd__text { font-size:31px; }
  .rhythm { padding:22px; margin-top:22px; }
  .pagecta { margin-top:20px; }
  .votd__acts { gap:3px; }
  .votd__acts .link { font-size:12px; }
  .beat__label { font-size:12px; }
  .block__txt { font-size:14px; }
  .screen-head .eyebrow { font-size:11px; }
  .auth { padding-top:30px; }
  .auth__hero { margin-bottom:30px; }
  .window { --w:125px; height:155px; }
  .auth__title { font-size:42px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
