/* Owner-approved Ember mockup, ShalawamMockups web()/home(), 2026-10-31.
   The owner explicitly selected this composition over the September kit.
   Geometry and surfaces come from design/approved-ember-2026-10-31. */
:root {
  --design-unit: 1px;
  --night: #191625; --surface: #292239; --line: #4a3c5a; --bone: #f1ebdc;
  --muted: #b0a3bf; --ember: #ed843f;
  --serif: 'Libre Baskerville', 'Frank Ruhl Libre', Georgia, serif;
  --sans: 'DM Sans', Heebo, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --sink: #171421; --raise: #2b233a;
  --ember-sidebar: calc(190 * var(--design-unit)); --ember-header: calc(67 * var(--design-unit)); --ember-gap: calc(23 * var(--design-unit));
}
body, body[data-mode] { background: #100e1b; font-family: var(--sans); color: var(--bone); }
body { padding: calc(20 * var(--design-unit)) calc(22 * var(--design-unit)); font-size: calc(14 * var(--design-unit)); }
.shell { grid-template-columns: var(--ember-sidebar) minmax(0,1fr); grid-template-rows: var(--ember-header) 1fr; min-height: calc(100svh - calc(40 * var(--design-unit))); border: calc(1 * var(--design-unit)) solid #443247; border-radius: calc(15 * var(--design-unit)); background: var(--night); overflow: clip; position: relative; }
.shell::before { content: ''; position: absolute; inset: 0 0 auto; height: calc(2 * var(--design-unit)); background: linear-gradient(90deg,#ed843c88,#7b4b7444,transparent); z-index: 4; pointer-events: none; }
.toolbar { grid-column: 1/-1; grid-row: 1; height: var(--ember-header); min-height: 0; display: grid; grid-template-columns: var(--ember-sidebar) minmax(0,1fr) auto; position: relative; padding: 0 calc(27 * var(--design-unit)); gap: calc(24 * var(--design-unit)); background: #1c1828; border-color: #3b2e45; }
.toolbar .lockup { padding: 0; width: auto; display: flex; align-items: center; gap: calc(9 * var(--design-unit)); font: 400 calc(22 * var(--design-unit)) var(--serif); letter-spacing: calc(-.7 * var(--design-unit)); text-decoration: none; color: var(--bone); white-space: nowrap; }
.toolbar .lockup img { width: calc(24 * var(--design-unit)); height: calc(30 * var(--design-unit)); max-width: none; }
.toolbar .wordmark { display: inline; font: inherit; letter-spacing: inherit; }
.toolbar .crumb { display: none; }
.toolbar .tools { display: contents; }
.search-open { grid-column: 2; justify-self: center; width: calc(320 * var(--design-unit)); max-width: 100%; min-width: 0; min-height: calc(36 * var(--design-unit)); padding: calc(8 * var(--design-unit)) calc(12 * var(--design-unit)); gap: calc(12 * var(--design-unit)); border-radius: calc(7 * var(--design-unit)); font-size: calc(11 * var(--design-unit)); color: #b5a6c4; background: #231e31; border: calc(1 * var(--design-unit)) solid #3b304a; }
.search-open .ic { width: calc(14 * var(--design-unit)); height: calc(14 * var(--design-unit)); }
.search-open kbd { font-size: calc(9 * var(--design-unit)); border: calc(1 * var(--design-unit)) solid #47394f; padding: calc(2 * var(--design-unit)) calc(4 * var(--design-unit)); border-radius: calc(3 * var(--design-unit)); }
.gear { grid-column: 3; grid-row: 1; justify-self: end; margin-right: calc(49 * var(--design-unit)); width: calc(30 * var(--design-unit)); height: calc(44 * var(--design-unit)); color: #b9abc8; }
.gear .ic { width: calc(18 * var(--design-unit)); height: calc(18 * var(--design-unit)); }
.study-avatar { grid-column: 3; grid-row: 1; width: calc(29 * var(--design-unit)); height: calc(29 * var(--design-unit)); justify-self: end; display: grid; place-items: center; border-radius: 50%; background: #3a2a37; color: #f4b185; border: calc(1 * var(--design-unit)) solid #694436; font: calc(12 * var(--design-unit)) var(--serif); text-decoration: none; }
.net { position: absolute; right: calc(125 * var(--design-unit)); top: calc(4 * var(--design-unit)); font-size: calc(9 * var(--design-unit)); }
.side { grid-column: 1; grid-row: 2; position: sticky; top: 0; height: calc(100svh - calc(2 * var(--design-unit))); min-height: calc(674 * var(--design-unit)); padding: calc(25 * var(--design-unit)) calc(15 * var(--design-unit)); gap: 0; background: #171421; border-color: #342b40; }
.study-space-label { font-size: calc(8 * var(--design-unit)); font-weight: 400; letter-spacing: calc(1.5 * var(--design-unit)); text-transform: uppercase; color: #8e7f9b; margin: 0 calc(13 * var(--design-unit)) calc(12 * var(--design-unit)); }
#nav { gap: 0; }
#nav a { width: 100%; min-height: 0; padding: calc(10 * var(--design-unit)) calc(13 * var(--design-unit)); margin: calc(2 * var(--design-unit)) 0; gap: calc(12 * var(--design-unit)); border: calc(1 * var(--design-unit)) solid transparent; border-radius: calc(6 * var(--design-unit)); font-size: calc(12 * var(--design-unit)); color: #b5a8c6; line-height: normal; }
#nav a .ic { width: calc(15 * var(--design-unit)); height: calc(15 * var(--design-unit)); stroke-width: 1.5; }
#nav a.on { box-shadow: none; background: linear-gradient(90deg,#ed843c1e,#ed843c0a); color: #ffad71; border-color: #b16b432e; font-weight: 600; }
#nav a.on .ic { color: inherit; }
#nav a[data-view="dossier"]::after { content: ''; width: calc(5 * var(--design-unit)); height: calc(5 * var(--design-unit)); border-radius: 50%; background: #ed8a4c; margin-left: auto; }
.side-foot { margin-top: calc(26 * var(--design-unit)); padding-top: calc(21 * var(--design-unit)); position: relative; gap: calc(5 * var(--design-unit)); }
.side-foot::before { content: ''; position: absolute; top: 0; left: calc(12 * var(--design-unit)); right: calc(12 * var(--design-unit)); height: calc(1 * var(--design-unit)); background: #352b41; }
.side-set,.side-about { display: flex; gap: calc(12 * var(--design-unit)); padding: calc(11 * var(--design-unit)) calc(13 * var(--design-unit)); min-height: calc(44 * var(--design-unit)); color: #b5a8c6; font: calc(12 * var(--design-unit)) var(--sans); text-decoration: none; align-items: center; border-radius: calc(6 * var(--design-unit)); }
.side-set .ic,.side-about .ic { width: calc(15 * var(--design-unit)); height: calc(15 * var(--design-unit)); }
.side-library { font-size: calc(11 * var(--design-unit)); color: var(--muted); padding: calc(12 * var(--design-unit)) calc(13 * var(--design-unit)); }
.side-tag { margin-top: calc(30 * var(--design-unit)); font-size: calc(10 * var(--design-unit)); color: #9d8da9; }
.side-foot { flex: 1 0 auto; }
.side-study-footer { margin-top: auto; padding: calc(30 * var(--design-unit)) calc(10 * var(--design-unit)) calc(12 * var(--design-unit)); color: #9d8da9; }
.side-study-footer .side-study-label { display: flex; align-items: center; gap: calc(7 * var(--design-unit)); margin: 0 0 calc(14 * var(--design-unit)); font: 400 calc(9 * var(--design-unit))/1.5 var(--sans); color: #a797b8; }
.side-study-label > span { flex: 0 0 calc(4 * var(--design-unit)); height: calc(4 * var(--design-unit)); background: #d69b72; border-radius: 50%; }
.side-study-footer blockquote { margin: 0; padding: 0; border: 0; font: italic calc(10 * var(--design-unit))/1.8 var(--serif); color: #9d8da9; }
.side-study-footer .side-study-citation { margin: calc(6 * var(--design-unit)) 0 0; font: 400 calc(8 * var(--design-unit))/1.5 var(--sans); color: #9d8da9; }
.side-work { order: 3; }
.work { grid-column: 2; grid-row: 2; min-width: 0; }
.work main { max-width: none; padding: calc(32 * var(--design-unit)) calc(33 * var(--design-unit)) calc(40 * var(--design-unit)); }
body[data-view="today"] .work main { max-width: none; margin-inline: 0; }
.work main :is(p,dd,li) { max-width: none; }
.work main :is(.ev-stmt,.method p,.prayer-body p) { max-width: 42rem; }
.subnav { padding-inline: calc(33 * var(--design-unit)); background: var(--night); border-color: var(--line); }
.subnav a { font-size: calc(12 * var(--design-unit)); }
.view { gap: calc(24 * var(--design-unit)); }
.greet { font: 400 calc(28 * var(--design-unit))/1.35 var(--serif); letter-spacing: calc(-1 * var(--design-unit)); }
.eyebrow { font-size: calc(8 * var(--design-unit)); font-weight: 600; letter-spacing: calc(1.7 * var(--design-unit)); color: #b29ac0; line-height: normal; }
.lede { font-size: calc(13 * var(--design-unit)); line-height: 1.7; }
#v-today { gap: 0; }
.today-heading { display: flex; align-items: center; justify-content: space-between; gap: calc(20 * var(--design-unit)); margin-bottom: calc(25 * var(--design-unit)); }
#v-today .greet { font: 400 calc(28 * var(--design-unit))/1.35 var(--serif); letter-spacing: calc(-1 * var(--design-unit)); margin: calc(8 * var(--design-unit)) 0; }
.today-subtitle { font-size: calc(12 * var(--design-unit)); color: #b0a3bf; line-height: normal; margin: 0; }
.daily-pill { display: inline-flex; align-items: center; gap: calc(7 * var(--design-unit)); border: calc(1 * var(--design-unit)) solid #49374e; padding: calc(7 * var(--design-unit)) calc(11 * var(--design-unit)); border-radius: calc(20 * var(--design-unit)); color: #b9a7c7; background: #231c2e; text-transform: uppercase; font-size: calc(9 * var(--design-unit)); flex-shrink: 0; }
.daily-pill .ic { width: calc(12 * var(--design-unit)); height: calc(12 * var(--design-unit)); }
.today-rhythm { display: flex; justify-content: space-between; align-items: center; margin: calc(-7 * var(--design-unit)) 0 calc(23 * var(--design-unit)); gap: calc(10 * var(--design-unit)); }
.mode { padding: calc(3 * var(--design-unit)); gap: calc(3 * var(--design-unit)); background: #1b1726; border-color: #49354e; }
.mode button { display: flex; align-items: center; gap: calc(6 * var(--design-unit)); font: 400 calc(10 * var(--design-unit)) var(--sans); padding: calc(7 * var(--design-unit)) calc(12 * var(--design-unit)); min-height: 0; border-radius: calc(16 * var(--design-unit)); color: #ac97be; }
.mode button .ic { width: calc(13 * var(--design-unit)); height: calc(13 * var(--design-unit)); }
.mode button.on { background: var(--ember); color: #201321; font-weight: 400; }
.ember-link { display: inline-flex; gap: calc(8 * var(--design-unit)); align-items: center; padding-block: calc(3 * var(--design-unit)); color: #efa16a; font: 400 calc(10 * var(--design-unit))/1.6 var(--sans); text-decoration: none; min-height: calc(32 * var(--design-unit)); }
button.ember-link { background: none; border: 0; cursor: pointer; text-align: left; }
.ember-link:hover { text-decoration: underline; text-underline-offset: calc(4 * var(--design-unit)); }
.ember-link .ic { width: calc(12 * var(--design-unit)); height: calc(12 * var(--design-unit)); }
.today-dashboard { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(calc(230 * var(--design-unit)),1fr); gap: var(--ember-gap); align-items: start; }
.today-main,.today-right { min-width: 0; }
.reading-hero { min-height: calc(220 * var(--design-unit)); padding: calc(25 * var(--design-unit)) calc(27 * var(--design-unit)); border: calc(1 * var(--design-unit)) solid #76503f80; background: linear-gradient(115deg,#3d2634 0,#2c2035 58%,#251e32); border-radius: calc(9 * var(--design-unit)); overflow: hidden; position: relative; }
.reading-hero::before,.reading-hero::after { content: ''; position: absolute; border: calc(1 * var(--design-unit)) solid #c0836355; border-radius: 50% 50% 0 0; transform: rotate(25deg); opacity: .6; pointer-events: none; }
.reading-hero::before { width: calc(240 * var(--design-unit)); height: calc(310 * var(--design-unit)); right: calc(-40 * var(--design-unit)); top: calc(-15 * var(--design-unit)); }
.reading-hero::after { width: calc(170 * var(--design-unit)); height: calc(270 * var(--design-unit)); right: calc(-12 * var(--design-unit)); top: calc(-10 * var(--design-unit)); }
.reading-hero .hero-tag { display: flex; gap: calc(7 * var(--design-unit)); align-items: center; font: 600 calc(8 * var(--design-unit))/1.6 var(--sans); letter-spacing: calc(1.5 * var(--design-unit)); text-transform: uppercase; color: #efac7c; position: relative; z-index: 1; }
.hero-tag .ic { width: calc(12 * var(--design-unit)); height: calc(12 * var(--design-unit)); }
.reading-hero h2 { font: 400 calc(25 * var(--design-unit))/1.4 var(--serif); color: #f8eddb; letter-spacing: calc(-.8 * var(--design-unit)); margin: calc(17 * var(--design-unit)) 0 calc(7 * var(--design-unit)); position: relative; z-index: 1; text-wrap: wrap; }
.reading-hero .hero-meta { font-size: calc(11 * var(--design-unit)); line-height: 1.7; color: #c0aabf; margin: 0 0 calc(23 * var(--design-unit)); position: relative; z-index: 1; }
.hero-bottom { display: flex; justify-content: space-between; align-items: center; gap: calc(8 * var(--design-unit)); position: relative; z-index: 1; }
.reading-hero .btn-primary { border: calc(1 * var(--design-unit)) solid #ed843f; background: #ed843f; color: #1a1420; border-radius: calc(6 * var(--design-unit)); padding: calc(10 * var(--design-unit)) calc(16 * var(--design-unit)); font: 700 calc(10 * var(--design-unit))/1.5 var(--sans); min-height: calc(36 * var(--design-unit)); gap: calc(18 * var(--design-unit)); box-shadow: 0 calc(4 * var(--design-unit)) calc(12 * var(--design-unit)) #c05c2412; text-transform: none; letter-spacing: 0; }
.reading-hero .btn-primary .ic { width: calc(14 * var(--design-unit)); height: calc(14 * var(--design-unit)); }
.feature-pages { display: flex; align-items: center; gap: calc(1 * var(--design-unit)); color: #ba8b76; font-size: calc(8 * var(--design-unit)); }
.feature-pages button { display: grid; place-items: center; width: calc(12 * var(--design-unit)); min-height: calc(32 * var(--design-unit)); padding: 0; background: none; border: 0; cursor: pointer; }
.feature-pages button span { width: calc(4 * var(--design-unit)); height: calc(4 * var(--design-unit)); border-radius: 50%; background: #7d5e6d; }
.feature-pages button[aria-pressed="true"] span { background: #ed934e; }
.feature-pages > span { margin-left: calc(5 * var(--design-unit)); white-space: nowrap; }
#v-today .inquiry { padding: 0; margin: 0; border: 0; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: calc(15 * var(--design-unit)); margin: calc(25 * var(--design-unit)) 0 calc(12 * var(--design-unit)); }
.inquiry .section-heading h2 { font: 400 calc(14 * var(--design-unit)) var(--serif); }
.section-heading > .ember-link { min-height: 0; line-height: normal; }
.iq-list { margin: 0; border-color: var(--line); background: var(--surface); border-radius: calc(8 * var(--design-unit)); }
.iq-list .obj-row { gap: calc(13 * var(--design-unit)); padding: calc(15 * var(--design-unit)); min-height: calc(68 * var(--design-unit)); border-bottom-color: #3c3047; }
.iq-row > .ic:first-child { box-sizing: border-box; width: calc(35 * var(--design-unit)); height: calc(37 * var(--design-unit)); padding: calc(9.5 * var(--design-unit)); background: #30253f; color: #b5a1c8; border-radius: calc(6 * var(--design-unit)); stroke-width: 1.5; }
.iq-list li:nth-child(2) .iq-row > .ic:first-child { background: #3c2933; color: #f4a770; }
.iq-row .obj-copy b { font: 500 calc(12 * var(--design-unit))/1.5 var(--sans); color: #e7ddec; }
.iq-row .obj-copy small { font: 400 calc(10 * var(--design-unit))/1.6 var(--sans); color: #b0a3bf; }
.iq-row .iq-heb { font-size: 1em; line-height: inherit; }
.iq-k { font-size: inherit; margin: 0; letter-spacing: 0; text-transform: uppercase; display: inline; }
.iq-row > .ic:last-child { width: calc(12 * var(--design-unit)); height: calc(12 * var(--design-unit)); color: #aa87ba; }
.continue { margin-top: calc(25 * var(--design-unit)); }
.continue .sec-t { font: 400 calc(14 * var(--design-unit)) var(--serif); margin: 0 0 calc(12 * var(--design-unit)); }
.continue .obj-list { border: calc(1 * var(--design-unit)) solid var(--line); border-radius: calc(8 * var(--design-unit)); background: var(--surface); padding: 0 calc(15 * var(--design-unit)); }
.continue .obj-copy b { font-size: calc(12 * var(--design-unit)); }.continue .obj-copy small { font-size: calc(10 * var(--design-unit)); }
.daily-word { padding: calc(21 * var(--design-unit)); border: calc(1 * var(--design-unit)) solid var(--line); border-radius: calc(8 * var(--design-unit)); text-align: center; background: linear-gradient(150deg,#30273f,var(--surface)); min-height: calc(245 * var(--design-unit)); }
.card-kicker { font: 550 calc(8 * var(--design-unit)) var(--sans); letter-spacing: calc(1.6 * var(--design-unit)); text-transform: uppercase; color: #b29ac0; }
.daily-hebrew { font: 400 calc(48 * var(--design-unit))/1.3 'Times New Roman',serif; color: #f3dfbf; margin: calc(14 * var(--design-unit)) 0 calc(5 * var(--design-unit)); }
.word-pronunciation { font: italic calc(13 * var(--design-unit)) var(--serif); color: #e8b17d; }
.word-translation { font: 400 calc(11 * var(--design-unit)) var(--sans); color: #b0a3bf; margin: calc(7 * var(--design-unit)) 0 calc(16 * var(--design-unit)); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.word-reference { display: flex; flex-wrap: wrap; justify-content: center; gap: calc(8 * var(--design-unit)); border-top: calc(1 * var(--design-unit)) solid #45354d; padding-top: calc(12 * var(--design-unit)); font-size: calc(8 * var(--design-unit)); color: #b0a3bf; }
.word-reference strong { font-weight: 500; color: #d0b18d; }
.daily-word > .ember-link { margin-top: calc(13 * var(--design-unit)); min-height: 0; font-size: calc(10 * var(--design-unit)); line-height: normal; }
.word-loading { font: 400 calc(13 * var(--design-unit))/1.8 var(--serif); padding-block: calc(25 * var(--design-unit)); }
.evidence-callout { margin-top: calc(18 * var(--design-unit)); padding: calc(17 * var(--design-unit)) calc(18 * var(--design-unit)); border: calc(1 * var(--design-unit)) solid var(--line); border-radius: calc(8 * var(--design-unit)); background: var(--surface); }
.evidence-callout > .ic { color: #c59bd1; width: calc(18 * var(--design-unit)); height: calc(18 * var(--design-unit)); }
.evidence-callout h2 { font: 400 calc(12 * var(--design-unit)) var(--serif); margin: calc(8 * var(--design-unit)) 0; }
.evidence-callout p { font-size: calc(11 * var(--design-unit)); line-height: 1.8; color: #b0a3bf; margin: 0 0 calc(10 * var(--design-unit)); }
.evidence-callout > .ember-link { min-height: 0; line-height: normal; }
.tier-dots { display: flex; gap: calc(5 * var(--design-unit)); margin-top: calc(13 * var(--design-unit)); }
.tier-key { border: calc(1 * var(--design-unit)) solid #4b3b58; border-radius: calc(4 * var(--design-unit)); background: #30283d; color: #bca5cb; padding: calc(4 * var(--design-unit)) calc(6 * var(--design-unit)); font: 500 calc(8 * var(--design-unit))/1.3 var(--sans); }
.tier-key.t1 { background: #2a332a; border-color: #4c6045; color: #bdcda7; }.tier-key.t4 { background: #3a2a25; border-color: #72503b; color: #e8b17a; }
.daily-practice { margin-top: calc(25 * var(--design-unit)); border-top: calc(1 * var(--design-unit)) solid var(--line); padding-top: calc(12 * var(--design-unit)); }
.daily-practice > summary { font-size: calc(11 * var(--design-unit)); color: var(--muted); cursor: pointer; }
#v-today .daily-practice .invite { margin-top: calc(12 * var(--design-unit)); padding: calc(18 * var(--design-unit)); }
.daily-practice .invite-lead { font: 400 calc(17 * var(--design-unit))/1.7 var(--serif); }.daily-practice .datewrap { margin-top: calc(12 * var(--design-unit)); }
.daily-practice .datewrap p,.daily-practice .parsha-line,.daily-practice .chip { font-size: calc(10 * var(--design-unit)); }
.foot { border-top-color: var(--line); }.horizon { display: none; }
body[data-view="read"] .work main { max-width: 56rem; }
@media(min-width:1021px) {
  :root { --design-unit: clamp(1px, calc(100vw / 1132), 1.8px); --ui-context: calc(276 * var(--design-unit)); --ui-context-gap: calc(24 * var(--design-unit)); }
  .shell { width: 100%; max-width: calc(1088 * var(--design-unit)); margin-inline: auto; }
  .parsebar { top: calc(var(--ember-header) + 44 * var(--design-unit)); right: calc(55 * var(--design-unit) + max(0px, (100vw - 1132 * var(--design-unit)) / 2)); width: var(--ui-context); max-height: calc(100svh - var(--ember-header) - 68 * var(--design-unit)); }
}
@media(max-width:1020px) { :root { --ember-sidebar: 160px; --ember-gap: 16px; }.side { padding-inline: 10px; }.work main { padding: 25px 24px; }.today-dashboard { grid-template-columns: minmax(0,1.5fr) minmax(205px,1fr); } }
@media(max-width:1000px) { :root { --ember-sidebar: 145px; }.work main { padding: 24px; }#nav a { gap: 9px; padding-inline: 9px; }.today-dashboard { grid-template-columns: 1fr; }.today-right { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.daily-word { padding: 17px; }.daily-hebrew { font-size: 38px; }.evidence-callout { margin: 0; }.search-open { width: 270px; }.daily-pill { display: none; } }
@media(min-width:768px) and (max-width:1020px) { .side { width: auto; }#nav a { justify-content: flex-start; }#nav a span,.side-set span,.side-tag,.side-cap { display: initial; }.side-set { justify-content: flex-start; }.lockup img { max-width: 150px; } }
@media(max-width:767px) {
  body { padding: 0; }.shell { display: grid; grid-template-columns: 1fr; grid-template-rows: 58px 1fr; border: 0; border-radius: 0; min-height: 100svh; overflow: clip; }
  .toolbar { grid-column: 1; padding: 0 18px; grid-template-columns: 1fr auto auto; gap: 12px; height: 58px; }.toolbar .lockup { width: auto; font-size: 20px; }.toolbar .lockup img { width: 24px; }
  .search-open { width: 36px; height: 44px; padding: 8px; justify-self: end; background: none; border: 0; }.search-open .ic { width: 18px; height: 18px; }.search-open span,.search-open kbd { display: none; }
  .gear { margin-right: 0; }.study-avatar { display: none; }.side { display: none; }.work { grid-column: 1; grid-row: 2; }.work main { padding: 23px 18px 112px; }.subnav { padding-inline: 18px; }
  #v-today .greet { font-size: 25px; line-height: 1.45; }.today-heading { margin-bottom: 20px; }.today-subtitle { font-size: 11px; }.today-rhythm { display: flex; margin-bottom: 18px; flex-wrap: wrap; gap: 12px; }.mode button { min-height: 38px; padding-inline: 14px; font-size: 12px; }
  .today-dashboard { gap: 18px; }.reading-hero { min-height: 208px; padding: 23px; }.reading-hero h2 { font-size: 25px; }.reading-hero .btn-primary { min-height: 44px; font-size: 12px; }.reading-hero .hero-meta { font-size: 12px; }.hero-tag { font-size: 9px; }.feature-pages button { width: 14px; min-height: 44px; }
  .section-heading h2,.inquiry .section-heading h2 { font-size: 17px; }.section-heading > .ember-link { font-size: 10px; }.iq-list .obj-row { padding: 15px; min-height: 84px; }.iq-row .obj-copy b { font-size: 13px; }.iq-row .obj-copy small { font-size: 11px; }.iq-k { font-size: 9px; }.iq-row > .ic:last-child { display: block; }
  .today-right { grid-template-columns: 1fr; }.daily-word { min-height: 250px; padding: 22px; }.daily-hebrew { font-size: 54px; }.card-kicker { font-size: 10px; }.word-pronunciation { font-size: 16px; }.word-translation { font-size: 12px; }.word-reference { font-size: 10px; }.daily-word > .ember-link { font-size: 12px; min-height: 44px; }.evidence-callout { padding: 22px; }.evidence-callout h2 { font-size: 17px; }.evidence-callout p { font-size: 13px; }.evidence-callout .ember-link { font-size: 12px; min-height: 44px; }.tier-key { font-size: 11px; }
  #mnav { background: #1c1828; border-color: #493650; }#mnav a { font-size: 11px; color: var(--muted); }#mnav a.on,#mnav a.on .ic { color: #ffad71; }#mnav a.on::before { display: none; }
  body[data-view="read"] .work main { padding-inline: 18px; }.parsebar { bottom: calc(76px + env(safe-area-inset-bottom,0px)); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto; animation:none; transition:none; } }

/* Remaining web screens use the same approved Ember specimens, with live records.
   Values are the prototype's design units, scaled with the accepted app frame. */
.page-heading { display: block; grid-column: 1 / -1; margin: 0 0 calc(1 * var(--design-unit)); }
.page-heading .eyebrow { margin: 0; }
.page-heading .greet { margin: calc(8 * var(--design-unit)) 0; font-weight: 400; }
.page-heading .lede { margin: 0; font: 400 calc(12 * var(--design-unit))/1.7 var(--sans); color: var(--muted); }
.page-heading .note { margin-top: calc(10 * var(--design-unit)); font: 400 calc(10 * var(--design-unit))/1.8 var(--sans); }
.view:not(:where(#v-today)) { font-size: calc(12 * var(--design-unit)); }
.view:not(:where(#v-today)) .col-main { gap: calc(24 * var(--design-unit)); }
.view.with-context > .page-heading + .col-main { grid-column: 1; }
.view:not(:where(#v-today)) :is(.card,.tile,.context,.pin-card,.ds-pos,.bk-preview,.lic-card) { background: var(--surface); border: 1px solid var(--line); border-radius: calc(8 * var(--design-unit)); padding: calc(22 * var(--design-unit)); box-shadow: none; }
.view:not(:where(#v-today)) :is(.card h2,.tile h2,.pin-h,.context .place-h,.ds-pos h3) { font: 400 calc(18 * var(--design-unit))/1.5 var(--serif); letter-spacing: -.025em; }
.view:not(:where(#v-today)) :is(.note,.tile p,.context p,.empty-line,.note-line,.ds-held,.lic-what) { font: 400 calc(11 * var(--design-unit))/1.8 var(--sans); color: var(--muted); }
.view:not(:where(#v-today)) .sec-t { font: 400 calc(16 * var(--design-unit))/1.5 var(--serif); letter-spacing: 0; text-transform: none; margin: calc(6 * var(--design-unit)) 0 0; }
.view:not(:where(#v-today)) .sec-t::before { display: none; }
.view:not(:where(#v-today)) .obj-list { border: 1px solid var(--line); border-radius: calc(8 * var(--design-unit)); background: var(--surface); overflow: hidden; }
.view:not(:where(#v-today)) .obj-list:empty { display: none; }
.view:not(:where(#v-today)) .obj-row { padding: calc(15 * var(--design-unit)); gap: calc(13 * var(--design-unit)); }
.view:not(:where(#v-today)) .obj-copy b { font: 500 calc(12 * var(--design-unit))/1.5 var(--sans); }
.view:not(:where(#v-today)) .obj-copy small { font: 400 calc(10 * var(--design-unit))/1.7 var(--sans); }
.view:not(:where(#v-today)) :is(.btn-primary,.btn-quiet,.hero-cta,.drill-next,.libtoggle) { border-radius: calc(6 * var(--design-unit)); font: 500 calc(11 * var(--design-unit))/1.5 var(--sans); padding: calc(10 * var(--design-unit)) calc(16 * var(--design-unit)); min-height: 44px; }
.view:not(:where(#v-today)) :is(.btn-primary,.hero-cta,.drill-next) { color: #201321; background: var(--ember); border: 1px solid var(--ember); }
.view:not(:where(#v-today)) :is(.btn-quiet,.libtoggle,select,.seg button,.mem-controls button) { background: #241e32; border: 1px solid #4c3a55; color: #d5c7df; border-radius: calc(6 * var(--design-unit)); }
.view:not(:where(#v-today)) :is(select,.seg button,.mem-controls button) { font: 400 calc(11 * var(--design-unit))/1.5 var(--sans); min-height: 44px; padding: calc(9 * var(--design-unit)) calc(12 * var(--design-unit)); }
.view:not(:where(#v-today)) .seg button[aria-pressed="true"] { background: #3d2935; color: #ffad71; border-color: #976348; }
.view:not(:where(#v-today)) .tiles { gap: calc(15 * var(--design-unit)); grid-template-columns: repeat(2,minmax(0,1fr)); }
.view:not(:where(#v-today)) .tier { font: 600 calc(9 * var(--design-unit))/1.5 var(--sans); border-radius: calc(4 * var(--design-unit)); }

/* Calendar: reckoning above the full-width observances, as in calendar(). */
#v-feasts.on { display: flex; flex-direction: column; }
#v-feasts .reckon-panel { position: static; width: 100%; padding: calc(21 * var(--design-unit)); background: var(--surface); border-color: #4d3855; border-radius: calc(10 * var(--design-unit)); }
.reckon-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
#v-feasts .reckon-heading .place-h { font: 600 calc(8 * var(--design-unit))/1.6 var(--sans); letter-spacing: calc(1.7 * var(--design-unit)); text-transform: uppercase; margin: 0; color: #ad97be; }
.reckon-status { font-size: calc(8 * var(--design-unit)); color: #b9a7b1; background: #302735; border-radius: 4px; padding: 4px 6px; }
#v-feasts .reckon { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(15 * var(--design-unit)); margin-top: calc(22 * var(--design-unit)); }
#v-feasts .reckon label { font: 500 calc(8 * var(--design-unit))/1.7 var(--sans); letter-spacing: calc(1.2 * var(--design-unit)); text-transform: uppercase; color: #ad97be; }
#v-feasts .reckon select { display: block; background: #171321; border-color: #533a58; color: #e5d6ec; margin-top: calc(9 * var(--design-unit)); padding: calc(12 * var(--design-unit)) calc(10 * var(--design-unit)); min-height: 44px; letter-spacing: 0; }
#v-feasts .reckon .tog { grid-column: 1/-1; text-transform: none; letter-spacing: 0; font-size: calc(10 * var(--design-unit)); }
#v-feasts .reckon-panel .note { border: 0; padding: 0; margin: calc(16 * var(--design-unit)) 0 0; font-size: calc(10 * var(--design-unit)); }
#v-feasts .col-main { gap: calc(17 * var(--design-unit)); }
.feast-section-heading { margin-top: calc(4 * var(--design-unit)); }
.feast-section-heading h2 { font: 400 calc(20 * var(--design-unit))/1.5 var(--serif); margin: calc(9 * var(--design-unit)) 0 0; }
.feast-list { border: 1px solid var(--line); border-radius: calc(8 * var(--design-unit)); overflow: hidden; counter-reset: feast; }
.feast { margin: 0; background: var(--surface); border: 0; border-bottom: 1px solid var(--line); border-radius: 0; counter-increment: feast; }
.feast:last-child { border-bottom: 0; }
.feast > summary { padding: calc(22 * var(--design-unit)); gap: calc(17 * var(--design-unit)); list-style: none; }
.feast > summary::before { content: counter(feast,decimal-leading-zero); color: #a78fba; font: 400 calc(14 * var(--design-unit))/1 var(--serif); }
.feast > summary::after { content: '›'; font-size: calc(18 * var(--design-unit)); color: #b19abe; }
.feast .fbadge { display: none; } /* Same date is printed in the date column; the specimen uses row numbers. */
.feast .nm { font: 400 calc(17 * var(--design-unit))/1.5 var(--serif); }
.feast .nm i { font: 400 calc(10 * var(--design-unit))/1.8 var(--sans); color: #b19abe; margin-top: calc(8 * var(--design-unit)); }
.feast .dt { margin-left: auto; max-width: 46%; }
.feast .dt b { color: #eea46f; font: 500 calc(11 * var(--design-unit))/1.7 var(--sans); }
.feast .dt span { color: #b19abe; font: 400 calc(9 * var(--design-unit))/1.8 var(--sans); }
.feast.next-up { background: linear-gradient(90deg,#472c2f,#2b2133); box-shadow: inset calc(3 * var(--design-unit)) 0 #ed8a4c; }
.feastbody { padding: calc(22 * var(--design-unit)); border-top: 1px solid var(--line); }

/* Read: separate workspace and chapter hierarchy, real word inspector. */
body[data-view="read"] .work main { max-width: none; margin: 0; }
#v-read { gap: calc(20 * var(--design-unit)); }
.readbar { padding-bottom: calc(15 * var(--design-unit)); margin-bottom: 0; }
#read-eyebrow,#read-title { max-width: none; text-align: center; }
#read-title { font: 400 calc(24 * var(--design-unit))/1.5 var(--serif); margin-bottom: calc(7 * var(--design-unit)); }
.reader,#read-cite,#read-attrib,#read-canon,#read-warn { max-width: calc(600 * var(--design-unit)); }
.reader .v { font: 400 calc(15 * var(--design-unit))/2.1 var(--serif); margin-bottom: calc(16 * var(--design-unit)); }
.reader .vn { font: 400 calc(8 * var(--design-unit))/1.5 var(--sans); }
.reader .v.sel { border-left: 2px solid #bc825a; background: linear-gradient(90deg,#3d2935,transparent); }
.parsebar { background: var(--surface); border: 1px solid var(--line); border-radius: calc(8 * var(--design-unit)); padding: calc(20 * var(--design-unit)); box-shadow: none; }
.pb-h { font: 600 calc(8 * var(--design-unit))/1.7 var(--sans); letter-spacing: calc(1.7 * var(--design-unit)); text-transform: uppercase; color: #b29ac0; }
.pb-head { justify-content: center; text-align: center; }
.pb-word { color: #f3dfbf; }.pb-xlit { color: #e8b17d; font-family: var(--serif); font-style: italic; }
.pb-dl,.pb-def,.pb-usage { font-size: calc(11 * var(--design-unit)); line-height: 1.8; }

/* Language: the selected real letter uses the approved feature; all 22 remain. */
.letter-intro { display: grid; grid-template-columns: 1fr 1.15fr; gap: calc(24 * var(--design-unit)); align-items: start; }
.lt-focus { display: flex; justify-content: center; flex-wrap: wrap; gap: calc(20 * var(--design-unit)); text-align: center; padding: calc(30 * var(--design-unit)); border: 1px solid #52384f; border-radius: calc(9 * var(--design-unit)); background: radial-gradient(ellipse at 50% 30%,#4b2f3c,#251d31 70%); }
.lt-focus > div { width: 100%; }.lt-focus .sq,.lt-focus svg { font-size: calc(95 * var(--design-unit)); width: calc(95 * var(--design-unit)); height: calc(95 * var(--design-unit)); }
.lt-focus .nm { font: 400 calc(20 * var(--design-unit))/1.5 var(--serif); }.lt-focus .meta { font: 400 calc(11 * var(--design-unit))/1.8 var(--sans); }
.lgrid { grid-template-columns: repeat(auto-fit,minmax(calc(105 * var(--design-unit)),1fr)); gap: calc(10 * var(--design-unit)); }
.lt { border-radius: calc(8 * var(--design-unit)); background: var(--surface); border-color: var(--line); }
#drill-card { text-align: center; }.drill-word { color: #f3dfbf; }.drill-options button { background: #2c2239; border-color: #503d5c; color: #e5d2ef; border-radius: calc(6 * var(--design-unit)); min-height: 44px; }
/* Places keeps its accurate SVG aspect ratio and source panel beneath the map. */
#v-places .maptools { margin: 0; }.maphost { border-color: #4c3a55; border-radius: calc(9 * var(--design-unit)); }
#v-places .place-panel { position: static; width: 100%; }
#v-places .map-legend .legend { font-size: calc(10 * var(--design-unit)); }
/* Practice, evidence library, and the reader's own saved work. */
.mem-practice { max-width: calc(520 * var(--design-unit)); margin: 0 auto; padding: calc(25 * var(--design-unit)); border-radius: calc(8 * var(--design-unit)); background: var(--surface); border-color: var(--line); }
.mem-practice .mem-text { font-size: calc(20 * var(--design-unit)); }
#library-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(15 * var(--design-unit)); align-items: start; }
.artcard { margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: calc(8 * var(--design-unit)); }
.artcard > summary { padding: calc(22 * var(--design-unit)); font: 400 calc(18 * var(--design-unit))/1.5 var(--serif); }
.artcard[open] { grid-column: 1/-1; }
#study-working { position: static; }
.ds-sec > h2 { font: 400 calc(20 * var(--design-unit))/1.6 var(--serif); }.ds-grid { gap: calc(25 * var(--design-unit)); grid-template-columns: repeat(2,minmax(0,1fr)); }
.ev-stmt { font: 400 calc(16 * var(--design-unit))/1.8 var(--serif); }.ev-cite,.ev-note { font-size: calc(11 * var(--design-unit)); }
#v-library .pin-card { margin: 0; }.nb-note { background: var(--surface); border-color: var(--line); border-radius: calc(8 * var(--design-unit)); }
/* Preferences retains the existing honest choices and their explanations. */
#settings { background: #211a2e; border-color: #5e4064; border-radius: calc(12 * var(--design-unit)); width: min(calc(660 * var(--design-unit)),calc(100vw - 32px)); padding: calc(27 * var(--design-unit)); }
#settings h2 { font: 400 calc(28 * var(--design-unit))/1.4 var(--serif); }
#settings .field { padding-block: calc(21 * var(--design-unit)); border-bottom: 1px solid var(--line); }
#settings .field > label { font: 550 calc(12 * var(--design-unit))/1.5 var(--sans); }
#settings .hint { font: 400 calc(11 * var(--design-unit))/1.8 var(--sans); color: var(--muted); }
#settings select { background: #241e32; border: 1px solid #4c3a55; color: #d5c7df; padding: calc(9 * var(--design-unit)); border-radius: calc(6 * var(--design-unit)); min-height: 44px; }
@media(min-width:1021px) {
  body[data-view="read"]:has(.parsebar:not([hidden])) .reader,
  body[data-view="read"]:has(.parsebar:not([hidden])) :is(#read-eyebrow,#read-title,#read-canon,#read-cite,#read-attrib,#read-warn) { width: calc(100% - var(--ui-context) - var(--ui-context-gap)); margin-inline: 0; }
}
@media(max-width:1020px) { .letter-intro { grid-template-columns: 1fr 1fr; } }
@media(max-width:767px) {
  .page-heading .greet { font-size: 25px; }.page-heading .lede { font-size: 13px; }.page-heading .note { font-size: 12px; }
  .view:not(:where(#v-today)) { font-size: 14px; }.view:not(:where(#v-today)) :is(.note,.tile p,.context p,.empty-line,.note-line,.ds-held) { font-size: 13px; }
  .view:not(:where(#v-today)) :is(.obj-copy b,.btn-primary,.btn-quiet,.hero-cta,select,.seg button) { font-size: 13px; }.view:not(:where(#v-today)) .obj-copy small { font-size: 12px; }
  #v-feasts .reckon,.letter-intro,#library-body,.ds-grid,.view:not(:where(#v-today)) .tiles { grid-template-columns: 1fr; }
  #v-feasts .reckon label { font-size: 10px; }#v-feasts .reckon .tog,#v-feasts .reckon-panel .note { font-size: 12px; }
  .feast > summary { padding: 18px 15px; flex-wrap: wrap; gap: 11px; }.feast .fl { flex: 1; }.feast .nm { font-size: 17px; }.feast .nm i { font-size: 12px; }
  .feast .dt { flex-basis: calc(100% - 45px); max-width: none; text-align: left; margin-left: 29px; }.feast .dt b { font-size: 13px; }.feast .dt span { font-size: 12px; }
  .feast > summary::after { display: none; }.reader .v { font-size: 18px; }.reader .vn { font-size: 11px; }
  .pb-dl,.pb-def,.pb-usage { font-size: 13px; }.pb-h { font-size: 10px; }
  #settings .hint { font-size: 13px; }#settings .field > label { font-size: 14px; }
}

/* Clear the superseded September inspector width reservation exactly once. */
@media(min-width:1021px) {
 body.inspecting[data-view="read"] .work main { width: 100%; max-width: none; margin: 0; }
}
#v-feasts .feast.next-up { border-radius: 0; border-left: 0; }
#v-feasts .feast.next-up > summary { padding: calc(22 * var(--design-unit)); }
#v-feasts .reckon-panel { order: initial; }
#v-welcome .hero { text-align: center; max-width: calc(860 * var(--design-unit)); margin: auto; padding: calc(15 * var(--design-unit)) calc(20 * var(--design-unit)); }
#v-welcome .hero-lockup { display: flex; flex-direction: column; gap: calc(18 * var(--design-unit)); margin: 0; }
#v-welcome .hero-lockup .hero-mark { width: calc(42 * var(--design-unit)); height: calc(48 * var(--design-unit)); margin: 0; }
#v-welcome .hero-word { font: 400 calc(43 * var(--design-unit))/1.4 var(--serif); letter-spacing: -.035em; margin: 0; }
#v-welcome .hero-word em { color: #e8a16c; font-weight: 400; }
#v-welcome .hero-tag { font: 400 calc(18 * var(--design-unit))/1.7 var(--serif); color: var(--bone); margin: calc(19 * var(--design-unit)) 0; }
#v-welcome .hero-sub { font: 400 calc(14 * var(--design-unit))/1.8 var(--serif); max-width: calc(500 * var(--design-unit)); margin: auto; }
#v-welcome .hero-premise { font: 400 calc(11 * var(--design-unit))/1.9 var(--sans); max-width: calc(500 * var(--design-unit)); margin: calc(18 * var(--design-unit)) auto; }
#v-welcome .hero-acts { justify-content: center; gap: calc(20 * var(--design-unit)); margin: calc(25 * var(--design-unit)) 0; }
#v-welcome .hero-verse { font-size: calc(11 * var(--design-unit)); }
#v-welcome .intent { border-top: 1px solid var(--line); margin-top: calc(20 * var(--design-unit)); padding-top: calc(24 * var(--design-unit)); }
#v-welcome .intent-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(20 * var(--design-unit)); }
#v-welcome .i-q { font: 400 calc(16 * var(--design-unit))/1.5 var(--serif); }#v-welcome .i-a { font: 400 calc(11 * var(--design-unit))/1.8 var(--sans); }
@media(max-width:767px) {
 #v-welcome .hero { padding-inline: 0; }#v-welcome .hero-word { font-size: 30px; }
 #v-welcome .intent-list { grid-template-columns: 1fr; }#v-welcome .hero-premise,#v-welcome .i-a { font-size: 13px; }
 #v-feasts .feast.next-up > summary { padding: 18px 15px; }
}
/* Category headings span the evidence grid; expanded records retain full reading width. */
#library-body { display: block; }
#library-body .artgroup { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: calc(15 * var(--design-unit)); margin-bottom: calc(25 * var(--design-unit)); }
#library-body .artgroup > :is(h2,p) { grid-column: 1/-1; margin: 0; }
#library-body .artgroup > h2 { font: 600 calc(9 * var(--design-unit))/1.7 var(--sans); letter-spacing: .12em; color: #b29ac0; }
#library-body details.artcard { padding: 0; }
#library-body details.artcard > summary { padding: calc(22 * var(--design-unit)); }
#library-body .artcard h3 { font: 400 calc(18 * var(--design-unit))/1.5 var(--serif); }
#library-body .artcard .dek { font: 400 calc(11 * var(--design-unit))/1.8 var(--sans); }
#library-body .artcard::before { display: none; }
.view .card h2 { text-transform: none; letter-spacing: 0; color: var(--bone); }
.view .card h2::before { display: none; }
#v-feasts .feast.next-up { margin: 0; border-top: 0; border-right: 0; border-bottom: 1px solid var(--line); }
#v-welcome .hero-lockup .hero-word { align-self: center; width: 100%; }
#v-welcome .hero-acts { flex-wrap: wrap; }
#sources-body .lic { margin-bottom: calc(15 * var(--design-unit)); padding: calc(22 * var(--design-unit)); background: var(--surface); border: 1px solid var(--line); border-radius: calc(8 * var(--design-unit)); }
#sources-body .lic h3 { font: 400 calc(18 * var(--design-unit))/1.5 var(--serif); }
#sources-body .lic-dl { font-size: calc(11 * var(--design-unit)); }
.nb-title { font: 400 calc(28 * var(--design-unit))/1.4 var(--serif); }.nb-desc { font: 400 calc(12 * var(--design-unit))/1.8 var(--sans); }
.nb-text textarea { font: 400 calc(13 * var(--design-unit))/1.8 var(--sans); border-radius: calc(8 * var(--design-unit)); }
.prayer-body { font-size: calc(16 * var(--design-unit)); line-height: 1.9; }
@media(max-width:767px) {
 #library-body .artgroup { grid-template-columns: 1fr; }
 #library-body .artcard .dek,#sources-body .lic-dl,.nb-desc,.nb-text textarea { font-size: 13px; }
}
/* The desktop inspector belongs beside the chapter, below the workspace toolbar. */
.reading-layout { min-width: 0; }.scripture-column { min-width: 0; display: grid; gap: calc(16 * var(--design-unit)); align-content: start; }
@media(min-width:1021px) {
 .reading-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: calc(28 * var(--design-unit)); align-items: start; }
 .reading-layout:has(.parsebar:not([hidden])) { grid-template-columns: minmax(0,1fr) calc(245 * var(--design-unit)); }
 .reading-layout .parsebar { position: sticky; top: calc(24 * var(--design-unit)); right: auto; bottom: auto; width: 100%; max-height: calc(100svh - 48 * var(--design-unit)); }
 body[data-view="read"]:has(.parsebar:not([hidden])) .scripture-column :is(.reader,#read-eyebrow,#read-title,#read-canon,#read-cite,#read-attrib,#read-warn) { width: 100%; margin-inline: auto; }
}
.view:not(:where(#v-today)) .obj-list > .empty-line { padding: calc(15 * var(--design-unit)); margin: 0; }
/* Keep keyboard focus visible inside the rounded, clipped list surfaces. */
.view:not(:where(#v-today)) .obj-list .obj-row:focus-visible { outline: 2px solid var(--bone); outline-offset: -4px; }
#v-welcome .hero-lockup .hero-word { text-align: center; }
#nb-body > .greet { margin: 0 0 calc(18 * var(--design-unit)); }
