/* Final cascade: native safe areas and scalable, compact reading layouts. */
:root { color-scheme: dark; font-size: 17px; --navy:#07142d; --gold:#efcb76; --muted:#b8c4d8; }
html { -webkit-text-size-adjust:100%; }
body { font-size:1rem; background:radial-gradient(ellipse at 90% 0%,#26344a 0,transparent 42%),#07142d; }
body::before { display:none; }
html:has(body.text-large) { font-size:20px; }
html:has(body.text-xl) { font-size:23px; }
button,a,[role=button] { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button:focus-visible,a:focus-visible,[tabindex]:focus-visible { outline:3px solid #efcb76; outline-offset:4px; }
button { font-size:1rem; }
.shell { width:min(920px,calc(100% - 36px)); padding-top:env(safe-area-inset-top); padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
.topbar { padding:18px 0 24px; align-items:center; }
.brand { gap:10px; min-width:0; }
.brand-mark { flex-shrink:0; width:40px; height:40px; font-size:.78rem; letter-spacing:-1px; border-width:1px; box-shadow:none; }
.brand-copy strong { font-size:.94rem; letter-spacing:.12em; }
.brand-copy small { font-size:.58rem; margin-top:4px; letter-spacing:.1em; }
.top-actions { display:none; }
.daily-layout { margin-top:0; gap:20px; }
.daily-card { border-radius:24px; padding:24px; background:linear-gradient(155deg,#132746,#0e203b); box-shadow:0 12px 40px #0002; }
.daily-card::after,.hero::after { display:none; }
.daily-topline { flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:24px; }
.daily-date { font-size:.65rem; letter-spacing:.08em; line-height:1.5; }
.daily-type { font-size:.6rem; letter-spacing:.07em; padding:7px 10px; border:1px solid #efcb7644; color:var(--gold); background:#efcb7610; }
.daily-kicker { font-size:.68rem; letter-spacing:.1em; color:var(--gold); line-height:1.5; }
.daily-title { font-size:clamp(1.9rem,8vw,2.8rem); line-height:1.08; letter-spacing:-.035em; text-transform:none; margin:12px 0 20px; }
.daily-copy { font-size:1rem; line-height:1.65; }
.daily-quote { font-size:1.25rem; line-height:1.5; margin:22px 0; padding-left:16px; border-width:3px; }
.daily-context { font-size:.82rem; line-height:1.65; padding:16px; border-radius:14px; }
.daily-actions { gap:10px; margin-top:22px; }
.daily-actions > * { width:100%; min-height:48px; font-size:.83rem; letter-spacing:.01em; text-transform:none; padding:12px 16px; }
.primary { background:#efd18a; color:#07142d; box-shadow:none; text-transform:none; }
.secondary,.source-button { text-transform:none; }
#downloadDailyBtn,#downloadBtn { display:none; } /* Native share sheet includes Save Image / Save to Files. */
.side-card { border-radius:18px; padding:20px; background:#0e203b; }
.side-card p,.archive-card p { font-size:.88rem; line-height:1.65; }
.side-card h3 { font-size:1.1rem; }
.streak-number { font-size:2.6rem; }
.section-title { gap:8px; margin:10px 0 22px; }
.section-title h2 { font-size:1.85rem; letter-spacing:-.04em; }
.section-title p { font-size:.8rem; }
.archive-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:14px; }
.archive-card { padding:20px; min-height:0; border-radius:18px; }
.archive-card h3 { font-size:1.15rem; line-height:1.3; }
.archive-type { font-size:.66rem; }
.archive-summary { font-size:.85rem; line-height:1.5; }
.filter-chip { font-size:.78rem; min-height:44px; }
.founder-banner { display:none; }
.hero { padding:26px; min-height:0; margin:0; border-radius:24px; background:#132746; }
.hero h1 { font-size:2.75rem; line-height:.98; text-transform:none; }
.hero h1 span { color:var(--gold); text-shadow:none; }
.hero-sub { font-size:1rem; line-height:1.6; }
.hero-actions { display:grid; gap:12px; }
.hero-actions button { font-size:.85rem; padding:12px 16px; }
.fineprint,.footer { font-size:.7rem; line-height:1.65; color:#a9b7ce; }
.stat-pill { font-size:.75rem; }
.quiz-wrap { max-width:680px; padding-top:8px; }
.quiz-card,.result-card { padding:24px; border-radius:24px; }
.question { font-size:1.4rem; line-height:1.4; }
.answer { min-height:54px; font-size:.95rem; padding:16px; line-height:1.4; }
.explanation { font-size:.9rem; line-height:1.6; }
.source-link { display:inline-block; padding:12px 0; }
.quiz-meta { font-size:.78rem; }
.settings-card { margin:0; padding:22px; border-radius:22px; }
.setting-row { align-items:stretch; flex-direction:column; gap:16px; }
.setting-row h3 { font-size:1rem; }
.setting-row p { font-size:.82rem; }
.setting-control { justify-content:flex-start; }
.setting-control button,.setting-control input { font-size:.8rem; min-height:48px; }
.empty-state h3 { font-size:1.2rem; }
.empty-state p { font-size:.9rem; line-height:1.6; }
.bottom-nav { bottom:0; width:100%; max-width:940px; border-radius:22px 22px 0 0; padding:8px 8px calc(8px + env(safe-area-inset-bottom)); border-bottom:0; background:#09172cf5; }
.bottom-nav button { min-height:55px; font-size:.62rem; font-weight:650; gap:5px; border-radius:13px; }
.bottom-nav button.active { color:var(--gold); background:#efcb7618; }
.bottom-nav svg { width:21px; height:21px; }
.toast { bottom:calc(90px + env(safe-area-inset-bottom)); font-size:.85rem; line-height:1.4; }
.result-copy { font-size:1rem; line-height:1.6; }
#badgeName { font-size:2rem; }
@media(min-width:760px) { .daily-layout { grid-template-columns:1.7fr 1fr; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.view { animation:none; }
.daily-card::before { display:none; }
