@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&display=swap";:root{--n-0: #ffffff;--n-50: oklch(.985 .002 256);--n-100: oklch(.97 .003 256);--n-150: oklch(.95 .004 256);--n-200: oklch(.922 .005 256);--n-300: oklch(.875 .006 256);--n-400: oklch(.715 .008 256);--n-500: oklch(.595 .01 256);--n-600: oklch(.495 .011 258);--n-700: oklch(.395 .011 260);--n-800: oklch(.278 .01 262);--n-900: oklch(.205 .009 264);--n-950: oklch(.155 .008 266);--n-1000: oklch(.115 .007 268);--blue-50: oklch(.965 .02 255);--blue-100: oklch(.93 .045 255);--blue-200: oklch(.87 .08 255);--blue-300: oklch(.78 .12 256);--blue-400: oklch(.68 .16 257);--blue-500: oklch(.58 .185 258);--blue-600: oklch(.51 .19 259);--blue-700: oklch(.44 .165 260);--blue-800: oklch(.37 .13 261);--blue-900: oklch(.3 .095 262);--emerald-500: oklch(.64 .14 159);--emerald-600: oklch(.56 .135 159);--violet-500: oklch(.56 .2 290);--violet-600: oklch(.49 .205 291);--amber-500: oklch(.76 .15 70);--amber-600: oklch(.68 .15 62);--accent: var(--blue-500);--accent-hover: var(--blue-600);--accent-press: var(--blue-700);--accent-soft: var(--blue-50);--accent-border: var(--blue-200);--accent-on: #ffffff;--success: oklch(.62 .14 150);--success-soft: oklch(.96 .03 150);--warning: oklch(.76 .15 70);--warning-soft: oklch(.965 .04 75);--danger: oklch(.585 .205 25);--danger-soft: oklch(.962 .03 25);--info: var(--blue-500);--info-soft: var(--blue-50);--pos: var(--success);--neg: var(--danger);--bg: var(--n-50);--surface: var(--n-0);--surface-2: var(--n-100);--surface-3: var(--n-150);--border: var(--n-200);--border-strong: var(--n-300);--fg: var(--n-900);--fg-2: var(--n-700);--fg-3: var(--n-500);--fg-disabled: var(--n-400);--fg-on-accent: #ffffff;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", "Roboto Mono", monospace;--font-scripture: "Source Serif 4", Charter, "Iowan Old Style", Georgia, serif;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--text-4xl: 48px;--text-5xl: 64px;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--track-tight: -.02em;--track-snug: -.011em;--track-normal: 0em;--track-wide: .04em;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 3px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px oklch(.2 .01 264 / .05);--shadow-sm: 0 1px 2px oklch(.2 .01 264 / .06), 0 1px 3px oklch(.2 .01 264 / .05);--shadow-md: 0 2px 4px oklch(.2 .01 264 / .05), 0 4px 12px oklch(.2 .01 264 / .07);--shadow-lg: 0 4px 8px oklch(.2 .01 264 / .06), 0 12px 28px oklch(.2 .01 264 / .1);--shadow-focus: 0 0 0 3px var(--blue-200);--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s}[data-theme=dark]{--bg: var(--n-1000);--surface: var(--n-950);--surface-2: var(--n-900);--surface-3: var(--n-800);--border: oklch(.3 .01 262);--border-strong: oklch(.38 .011 262);--fg: var(--n-100);--fg-2: var(--n-300);--fg-3: var(--n-500);--fg-disabled: var(--n-600);--accent: var(--blue-400);--accent-hover: var(--blue-300);--accent-press: var(--blue-500);--accent-soft: oklch(.3 .095 262);--accent-border: oklch(.37 .13 261);--success-soft: oklch(.3 .06 150);--warning-soft: oklch(.33 .07 75);--danger-soft: oklch(.32 .08 25);--info-soft: oklch(.3 .095 262);--shadow-focus: 0 0 0 3px oklch(.44 .165 260 / .5)}.ds-display{font-family:var(--font-sans);font-size:var(--text-5xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--track-tight);color:var(--fg)}.ds-h1{font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--track-tight);color:var(--fg)}.ds-h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--track-snug);color:var(--fg)}.ds-h3{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-medium);line-height:var(--leading-snug);letter-spacing:var(--track-snug);color:var(--fg)}.ds-body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);letter-spacing:var(--track-normal);color:var(--fg-2)}.ds-body-lg{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-relaxed);color:var(--fg-2)}.ds-small{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--fg-3)}.ds-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);line-height:1;letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--fg-3)}.ds-mono{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-regular);letter-spacing:var(--track-normal);color:var(--fg);font-variant-numeric:tabular-nums}.ds-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}html,body,#root{height:100%;margin:0}html{background:var(--bg);color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}button:focus{outline:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{background:var(--bg);color:var(--fg);display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto;overflow:hidden;position:relative;-webkit-font-smoothing:antialiased}.app[data-theme=dark]{color-scheme:dark}.app *{box-sizing:border-box}.safe-top{flex-shrink:0;height:max(56px,env(safe-area-inset-top))}.home-safe-top{height:max(30px,calc(env(safe-area-inset-top) - 8px))}.safe-bottom{flex-shrink:0;height:max(18px,env(safe-area-inset-bottom))}.app-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app-scroll::-webkit-scrollbar,.rev-body::-webkit-scrollbar,.add-form::-webkit-scrollbar{display:none}.eyebrow{color:var(--fg-3);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--track-wide);line-height:1;text-transform:uppercase}.pad{padding-left:20px;padding-right:20px}.block{margin-bottom:16px}.last-block{padding-bottom:28px}.block-title{display:block;margin-bottom:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--text-base);font-weight:var(--weight-medium);gap:8px;height:44px;justify-content:center;letter-spacing:0;padding:0 16px;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--accent);color:var(--accent-on)}.btn-primary:active{background:var(--accent-press)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--fg)}.btn-secondary:active{background:var(--surface-3)}.btn-lg{border-radius:var(--radius-md);font-size:var(--text-md);height:52px}.btn-block{width:100%}.small-btn{height:36px;padding-left:12px;padding-right:12px}.icon-only{flex:0 0 auto;padding-left:14px;padding-right:14px}.track{background:var(--surface-3);border-radius:var(--radius-full);height:6px;overflow:hidden}.track>i{background:var(--accent);border-radius:var(--radius-full);display:block;height:100%;transition:width var(--dur-slow) var(--ease)}.track-amber>i{background:var(--amber-500)}.track-emerald>i{background:var(--emerald-500)}.track-violet>i{background:var(--violet-500)}.home-head{align-items:flex-start;display:flex;justify-content:space-between;padding-bottom:18px;padding-top:0}.date-label{margin-bottom:7px}.home-head .ds-h1{font-size:28px;letter-spacing:var(--track-tight);line-height:var(--leading-tight)}.streak-chip{align-items:center;background:var(--warning-soft);border:0;border-radius:var(--radius-full);color:var(--amber-600);display:inline-flex;gap:5px;min-height:34px;padding:6px 11px}.streak-chip .num{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.due-card{padding:20px}.due-count{align-items:baseline;color:var(--fg-2);display:flex;gap:10px;font-size:15px;font-weight:var(--weight-medium)}.due-number{color:var(--fg);font-size:52px;font-weight:var(--weight-semibold);line-height:1}.due-breakdown{display:flex;gap:14px;margin:16px 0 18px}.status-dot{align-items:center;color:var(--fg-3);display:inline-flex;font-size:var(--text-sm);gap:6px}.status-dot i{border-radius:var(--radius-full);height:7px;width:7px}.status-dot b{color:var(--fg);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.goal-row{align-items:center;display:flex;gap:8px;margin-top:14px}.goal-row .track{flex:1}.goal-row .num{color:var(--fg-3);font-size:var(--text-2xs)}.empty-state{align-items:center;display:flex;flex-direction:column;gap:8px;padding:14px 0 10px;text-align:center}.empty-state strong{font-size:17px}.empty-state span{color:var(--fg-3);font-size:var(--text-sm);margin-bottom:8px}.success-chip{background:var(--success-soft);color:var(--success);height:48px;width:48px}.card-kicker-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.card-kicker-row .num{color:var(--accent);font-size:var(--text-base);font-weight:var(--weight-semibold)}.verse-card{padding:14px}.verse-card .verse-text{font-size:18px;text-wrap:wrap}.verse-card-large{padding:18px}.verse-card-large .verse-text{font-size:24px;line-height:1.5}.verse-card-large .btn{margin-top:18px}.verse-text{color:var(--fg);font-family:var(--font-scripture);font-weight:var(--weight-regular);letter-spacing:0;line-height:1.48;margin:0;text-wrap:pretty}.stats-strip{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stat{padding:12px}.mini-stat strong{display:block;font-size:19px;font-weight:var(--weight-semibold);margin-top:8px}.mini-stat span{color:var(--fg-3);display:block;font-size:var(--text-2xs);margin-top:2px}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.link-button{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);padding:2px 0}.collection-stack{display:flex;flex-direction:column;gap:10px;padding-bottom:24px}.collection-card{align-items:center;border-color:var(--border);cursor:pointer;display:flex;gap:12px;padding:16px;text-align:left;width:100%}.collection-card.compact{padding:14px}.collection-card:active{background:var(--surface-3)}.icon-chip{align-items:center;background:var(--surface-2);border-radius:var(--radius-md);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.collection-main{display:flex;flex:1;flex-direction:column;min-width:0}.collection-title-row{align-items:center;display:flex;gap:8px;min-width:0}.collection-title-row strong{font-size:15px;font-weight:var(--weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-main small{color:var(--fg-3);font-size:12.5px;line-height:1.35;margin-top:3px}.due-pill{background:var(--accent-soft);border-radius:var(--radius-full);color:var(--accent);flex-shrink:0;font-size:10px;font-weight:var(--weight-semibold);padding:3px 7px}.side-due-pill{align-self:flex-start;margin-left:auto;margin-top:3px;text-align:center;white-space:nowrap}.collection-progress{align-items:center;display:flex;gap:8px;margin-top:9px}.collection-progress .track{flex:1}.collection-progress .num{color:var(--fg-3);font-size:var(--text-2xs);min-width:28px;text-align:right}.chevron{color:var(--fg-3)}.sub-head{align-items:center;display:flex;gap:10px;padding-bottom:14px;padding-top:8px}.sub-head .ds-h1{flex:1;font-size:26px}.header-actions{align-items:center;display:flex;gap:8px}.rev-x{align-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--fg-3);cursor:pointer;display:flex;height:32px;justify-content:center;margin-left:-6px;width:32px}.rev-x:active{background:var(--surface-3)}.library-stats{display:flex;gap:10px;margin-bottom:18px}.library-stat{flex:1;padding:14px 16px}.library-stat strong{display:block;font-size:24px;font-weight:var(--weight-semibold)}.library-stat span,.progress-tile span{color:var(--fg-3);display:block;font-size:var(--text-xs);margin-top:2px}.tone-success{color:var(--success)}.tone-accent{color:var(--accent)}.reader-controls{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 104px;margin-bottom:14px}.reader-select{display:flex;flex-direction:column;gap:8px;min-width:0}.reader-select select{appearance:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--fg);height:44px;min-width:0;padding:0 12px;width:100%}.reader-select select:focus{border-color:var(--accent);box-shadow:var(--shadow-focus);outline:none}.reader-status{align-items:center;background:var(--surface-2);border-radius:var(--radius-md);color:var(--fg-3);display:flex;gap:10px;padding:14px}.reader-chapter{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.reader-title-row{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin:4px 0 12px}.reader-title-row h2{font-size:28px;letter-spacing:var(--track-tight);line-height:var(--leading-tight);margin:5px 0 0}.reader-count{color:var(--fg-3);flex-shrink:0;font-size:var(--text-2xs);margin-bottom:3px}.chapter-nav{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 18px}.chapter-nav .btn{font-size:var(--text-sm);height:42px}.reader-verses{padding:4px 0 8px}.reader-verse{font-size:20px;line-height:1.62;margin-bottom:16px}.reader-verse sup{color:var(--accent);font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:0;margin-right:7px}.subcopy{color:var(--fg-2);font-size:var(--text-base);line-height:1.45;margin:0 0 16px}.collection-hero{padding:16px}.mastery-row{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:10px}.mastery-row strong{font-size:28px;font-weight:var(--weight-semibold)}.mastery-row span{color:var(--fg-3);font-size:var(--text-base)}.collection-hero .track{margin-bottom:16px}.list-card{overflow:hidden;padding:0}.verse-row{align-items:flex-start;background:transparent;border:0;border-top:1px solid var(--border);cursor:pointer;display:flex;gap:12px;padding:13px 16px;text-align:left;width:100%}.verse-row:first-child{border-top:0}.verse-row:active{background:var(--surface-3)}.verse-row>span:first-child{flex:1;min-width:0}.verse-row-ref{align-items:center;display:flex;gap:8px;margin-bottom:4px}.verse-row-ref .num{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.verse-row-ref i{background:var(--accent);border-radius:var(--radius-full);height:6px;width:6px}.verse-row-text{color:var(--fg-3);display:block;font-size:12.5px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.verse-row-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:5px}.verse-row-meta .num{color:var(--fg-3);font-size:10.5px}.verse-row-meta .due-now{color:var(--accent)}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-family:var(--font-mono);font-size:10px;font-weight:var(--weight-medium);letter-spacing:0;line-height:1;padding:3px 8px;text-transform:uppercase}.badge-new{background:var(--surface-3);color:var(--fg-2)}.badge-review{background:var(--info-soft);color:var(--accent)}.badge-mastered{background:var(--success-soft);color:var(--success)}.rev{background:var(--bg);display:flex;flex-direction:column;height:100%}.rev-head{align-items:center;display:flex;gap:12px;padding-bottom:14px;padding-top:6px}.rev-head .track{flex:1}.rev-count{color:var(--fg-3);font-size:var(--text-xs);min-width:34px;text-align:right}.rev-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto;padding:8px 20px 20px}.rev-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:auto;margin-top:auto;padding:22px 22px 26px}.review-card-head{align-items:center;display:flex;gap:8px;margin-bottom:14px}.review-card-head .eyebrow{color:var(--accent);white-space:nowrap}.sm2-chip{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--fg-3);display:inline-flex;font-size:10px;font-weight:var(--weight-medium);gap:4px;line-height:1;padding:3px 7px}.audio-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--fg-2);cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;margin-left:auto;width:30px}.audio-btn:active{background:var(--accent-soft);color:var(--accent)}.review-ref{color:var(--fg);font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:16px}.review-verse{line-height:1.6}.flip-front{display:flex;flex-direction:column;justify-content:center;min-height:120px}.flip-front strong{font-size:26px;font-weight:var(--weight-semibold);margin-bottom:14px}.flip-front span,.recall-placeholder{align-items:center;color:var(--fg-3);display:flex;font-size:var(--text-base);gap:8px}.recall-placeholder{padding:24px 0}.word-mask{background:transparent;border:0;border-radius:4px;color:inherit;cursor:pointer;display:inline;line-height:inherit;padding:0 1px;text-align:left}.word-mask:active,.keyword-mask{background:var(--accent-soft)}.letter-mask{color:var(--fg-2)}.letter-mask b{color:var(--fg);font-weight:var(--weight-semibold)}.letter-mask i{color:var(--fg-3);font-style:normal}.blank-mask{color:var(--fg-3)}.blank-mask i{border-bottom:2px solid var(--border-strong);font-style:normal}.active-phrase{border-left:2px solid var(--accent);margin:0 0 6px -12px;padding:2px 0 2px 10px}.phrase-hidden{color:var(--border-strong);display:block;margin-bottom:6px}.reveal-hint{align-items:center;color:var(--fg-3);display:flex;font-size:var(--text-xs);gap:6px;margin-top:18px}.reveal-hint .link-button{margin-left:auto}.phrase-count{color:var(--fg-3);font-size:var(--text-xs);margin-top:16px}.rev-foot{padding-bottom:8px;padding-top:14px}.review-actions{display:flex;gap:10px}.review-actions .btn-primary{flex:1}.grade-title{margin-bottom:10px;text-align:center}.grade-row{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.grade{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:62px;padding:10px 2px}.grade span{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.grade b{color:var(--fg-3);font-size:var(--text-2xs)}.grade-again{border-color:color-mix(in oklch,var(--danger) 38%,var(--border))}.grade-again span{color:var(--danger)}.grade-good{background:var(--accent);border-color:var(--accent)}.grade-good span,.grade-good b{color:var(--accent-on)}.grade-easy{border-color:color-mix(in oklch,var(--success) 42%,var(--border))}.grade-easy span{color:var(--success)}.complete{background:var(--bg);display:flex;flex-direction:column;height:100%}.complete-inner{display:flex;flex:1;flex-direction:column;justify-content:center}.complete-mark{align-items:center;background:var(--accent);border-radius:var(--radius-xl);color:var(--accent-on);display:flex;height:60px;justify-content:center;margin:0 auto 18px;width:60px}.complete h1,.complete p{text-align:center}.complete p{color:var(--fg-3);font-size:var(--text-base);margin:6px 0 28px}.complete-list{margin-bottom:18px}.summary-row{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;padding:13px 16px}.summary-row:first-child{border-top:0}.summary-row svg{color:var(--fg-3)}.summary-row span{color:var(--fg-2);flex:1;font-size:var(--text-base)}.streak-callout{align-items:center;background:var(--warning-soft);border-radius:var(--radius-lg);color:var(--amber-600);display:flex;gap:12px;margin-bottom:24px;padding:16px}.streak-callout span{display:flex;flex-direction:column}.streak-callout small{opacity:.8}.add{background:var(--bg);display:flex;flex-direction:column;height:100%}.add-form{display:flex;flex:1;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.field{display:flex;flex-direction:column;gap:8px}.field input,.field textarea,.select-row select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--fg);outline:none;padding:12px 14px}.field textarea{line-height:1.55;resize:vertical}.field input:focus,.field textarea:focus,.select-row select:focus{border-color:var(--accent);box-shadow:var(--shadow-focus)}.search-status{color:var(--fg-3);font-size:var(--text-sm);margin-top:-6px}.search-results{overflow:hidden;padding:0}.search-result{background:transparent;border:0;border-top:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:13px 14px;text-align:left;width:100%}.search-result:first-child{border-top:0}.search-result:active,.search-result.active{background:var(--accent-soft)}.search-result .num{color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.search-result span:last-child{color:var(--fg-2);display:-webkit-box;font-family:var(--font-scripture);font-size:15px;line-height:1.35;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.selected-passage{padding:16px}.selected-passage .verse-text{font-size:var(--text-md)}.source-line{color:var(--fg-3);display:block;font-size:var(--text-2xs);margin-top:12px}.add-note{align-items:flex-start;background:var(--surface-2);border-radius:var(--radius-md);color:var(--fg-3);display:flex;font-size:12.5px;gap:8px;line-height:1.45;padding:12px 14px}.add-note svg{color:var(--fg-3);margin-top:1px}.add-note b{color:var(--fg-2)}.progress-hero{align-items:center;display:flex;gap:16px;padding:20px}.streak-icon{background:var(--warning-soft);border-radius:var(--radius-lg);color:var(--amber-500);height:52px;width:52px}.progress-hero strong{font-size:34px;font-weight:var(--weight-semibold)}.progress-hero span{color:var(--fg-2);font-size:var(--text-base);margin-left:8px}.progress-hero p{color:var(--fg-3);font-size:var(--text-xs);margin:2px 0 0}.stat-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.progress-tile{padding:14px 16px}.progress-tile strong{display:block;font-size:26px;font-weight:var(--weight-semibold)}.mastery-card,.heat-card{padding:16px}.mastery-bar{border-radius:var(--radius-full);display:flex;height:10px;margin-bottom:12px;overflow:hidden}.mastery-bar i{display:block}.legend{color:var(--fg-2);display:flex;gap:16px;font-size:var(--text-xs)}.legend span{align-items:center;display:inline-flex;gap:5px}.legend i,.heat-caption i{border-radius:3px;height:8px;width:8px}.heat-grid{display:grid;gap:4px;grid-auto-flow:column;grid-template-rows:repeat(7,13px);overflow-x:hidden}.heat-grid i{border-radius:3px;height:13px;width:13px}.heat-caption{align-items:center;color:var(--fg-3);display:flex;font-size:var(--text-2xs);gap:5px;justify-content:flex-end;margin-top:12px}.sheet-scrim{align-items:flex-end;animation:scrimfade var(--dur-base) var(--ease);background:#14161b66;display:flex;inset:0;position:absolute;z-index:40}.sheet{animation:sheetup var(--dur-slow) var(--ease-out);background:var(--surface);border-top-left-radius:24px;border-top-right-radius:24px;box-shadow:var(--shadow-lg);max-height:calc(100% - max(36px,env(safe-area-inset-top)));overflow-y:auto;padding:10px 20px calc(18px + env(safe-area-inset-bottom));width:100%}.sheet-grip{background:var(--border-strong);border-radius:var(--radius-full);height:5px;margin:0 auto 16px;width:38px}.sheet-verse{font-size:19px;margin-bottom:20px}.sheet-stats{display:flex;gap:10px;margin-bottom:20px}.sheet-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1;padding:12px 10px}.sheet-stat strong{display:block;font-size:var(--text-md);font-weight:var(--weight-semibold);min-height:24px}.sheet-stat span{color:var(--fg-3);display:block;font-size:var(--text-2xs);margin-top:3px}.settings-sheet{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.settings-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.settings-head h2{font-size:20px;margin:0}.setting-group{display:flex;flex-direction:column;gap:12px;margin-top:18px}.setting-row,.select-row,.segmented-row{color:var(--fg-2);display:flex;flex-direction:column;font-size:var(--text-base);gap:8px}.setting-row{align-items:center;flex-direction:row;justify-content:space-between}.accent-row{display:flex;gap:8px}.accent-swatch{border:2px solid transparent;border-radius:7px;box-shadow:0 0 0 1px #14161b14;height:30px;padding:0;width:30px}.accent-swatch.active{border-color:var(--fg);box-shadow:0 0 0 2px var(--surface) inset}.toggle{background:#14161b26;border:0;border-radius:var(--radius-full);height:22px;padding:0;position:relative;width:40px}.toggle[data-on="1"]{background:var(--success)}.toggle i{background:#fff;border-radius:50%;box-shadow:0 1px 2px #14161b40;height:18px;left:2px;position:absolute;top:2px;transition:transform var(--dur-base) var(--ease);width:18px}.toggle[data-on="1"] i{transform:translate(18px)}.reset-action{background:var(--danger-soft);border:1px solid color-mix(in oklch,var(--danger) 24%,var(--surface));border-radius:var(--radius-md);color:var(--danger);font-weight:var(--weight-semibold);min-height:40px;padding:8px 12px}.reset-action[data-confirming="1"]{background:var(--danger);border-color:var(--danger);color:#fff}.select-row select{height:40px}.segmented{background:var(--surface-2);border-radius:var(--radius-md);display:flex;gap:2px;padding:2px}.segmented button{background:transparent;border:0;border-radius:6px;color:var(--fg-2);flex:1;font-weight:var(--weight-medium);min-height:34px;padding:6px 4px}.segmented button.active{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--fg)}.sr-only{height:1px;left:-9999px;overflow:hidden;position:absolute;top:auto;width:1px}@keyframes scrimfade{0%{opacity:0}to{opacity:1}}@keyframes sheetup{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes appfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.screen-enter{animation:appfade var(--dur-base) var(--ease-out)}@media(prefers-reduced-motion:reduce){.screen-enter,.sheet,.sheet-scrim{animation:none}}@media(min-width:481px){body{background:var(--n-100)}.app{border-left:1px solid var(--border);border-right:1px solid var(--border)}}.tabbar{align-items:stretch;background:color-mix(in oklch,var(--surface) 86%,transparent);border-top:1px solid var(--border);display:flex;flex-shrink:0;padding-bottom:max(14px,env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px)}.tab{align-items:center;background:transparent;border:0;color:var(--fg-3);cursor:pointer;display:flex;flex:1;flex-direction:column;gap:3px;padding:9px 0 4px}.tab:focus-visible{background:var(--surface-2);outline:none}.tab.active{color:var(--accent)}.tab span{font-size:10px;font-weight:var(--weight-medium);letter-spacing:0}
