.fv-frame{border:1px solid var(--color-border);background:#fff;border-radius:14px;padding:clamp(20px,4vw,40px);overflow:hidden}.fv-frame--dark{background:#211d1a;border-color:#37312c}.fv-eyebrow{font:600 10px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ai-muted)}.fv-scripture{font-family:var(--font-serif);color:var(--color-near-black);font-size:17px;font-weight:500;line-height:1.65}.fv-reader{max-width:30rem;margin:0 auto}.fv-reader-vnum{color:var(--color-ai-muted);vertical-align:super;font-size:11px;font-family:var(--font-sans);margin-right:4px}.fv-hl{background-image:var(--grad-gold);background-repeat:no-repeat;background-size:100% 100%;border-radius:3px;padding:0 2px;animation:5s linear fv-hl-sweep}@keyframes fv-hl-sweep{0%,8%{background-size:0% 100%}20%,to{background-size:100% 100%}}.fv-word{border-bottom:1.5px dashed var(--color-sage);cursor:default}.fv-popover{border:1px solid var(--color-border);max-width:21rem;box-shadow:var(--shadow-md,0 4px 12px #1c191714);background:#fff;border-radius:8px;margin-top:18px;padding:12px 14px;animation:5s linear fv-rise-33}.fv-popover-lemma{font-family:var(--font-serif);color:var(--color-near-black);font-size:16px}.fv-popover-gloss{color:var(--color-ai-muted);font-size:12.5px;font-family:var(--font-sans);margin-top:2px}@keyframes fv-rise-33{0%,33%{opacity:0;transform:translateY(5px)}41%,to{opacity:1;transform:translateY(0)}}.fv-plan{max-width:22rem;margin:0 auto}.fv-plan-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.fv-plan-name{font-family:var(--font-serif);color:var(--color-near-black);font-size:17px;font-weight:600}.fv-plan-meta{color:var(--color-ai-muted);font-size:11px;font-family:var(--font-sans);white-space:nowrap}.fv-plan-row{font-size:13.5px;font-family:var(--font-sans);color:var(--color-near-black);border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:flex}.fv-plan-row+.fv-plan-row{margin-top:2px}.fv-plan-day{color:var(--color-ai-muted);flex-shrink:0;width:42px;font-size:11px}.fv-plan-row--today{background:var(--color-sage-light);animation:5s linear fv-row-settle}@keyframes fv-row-settle{0%,25%{background-color:#0000}33%,to{background-color:var(--color-sage-light)}}.fv-plan-row--tomorrow{color:var(--color-ai-muted)}.fv-check{border:1.5px solid var(--color-border);border-radius:999px;flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.fv-check svg{width:10px;height:10px}.fv-check--done{background:var(--color-sage);border-color:var(--color-sage)}.fv-check--animate{animation:5s linear fv-check-fill}.fv-check--animate svg path{stroke-dasharray:14;animation:5s linear fv-check-draw}@keyframes fv-check-fill{0%,25%{border-color:var(--color-border);background-color:#0000}30%,to{background-color:var(--color-sage);border-color:var(--color-sage)}}@keyframes fv-check-draw{0%,27%{stroke-dashoffset:14px}38%,to{stroke-dashoffset:0}}.fv-chip{font:500 10px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ai-muted);border:1px solid var(--color-border);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px}.fv-journal{max-width:24rem;margin:0 auto}.fv-entry{border:1px solid var(--color-border);border-radius:10px;margin-bottom:14px;padding:12px 14px;animation:5s linear fv-rise-55}.fv-entry-text{color:var(--color-near-black);font-size:14px;line-height:1.55;font-family:var(--font-sans)}.fv-entry-meta{color:var(--color-ai-muted);font-size:11px;font-family:var(--font-sans);margin-top:6px}@keyframes fv-rise-55{0%,56%{opacity:0;transform:translateY(8px)}62%,to{opacity:1;transform:translateY(0)}}.fv-composer{background:var(--color-warm-white);border:1px solid var(--color-border);font-size:14px;font-family:var(--font-sans);color:var(--color-near-black);border-radius:10px;align-items:center;gap:8px;padding:12px 14px;display:flex}.fv-typed{white-space:nowrap;opacity:0;max-width:38ch;animation:5s steps(38,end) fv-type;display:inline-block;overflow:hidden}@keyframes fv-type{0%,4%{opacity:1;max-width:0}40%{opacity:1;max-width:38ch}54%{opacity:1;max-width:38ch}60%,to{opacity:0;max-width:38ch}}.fv-ref{border-bottom:1.5px dashed var(--color-sage)}.fv-caret{background:var(--color-sage);opacity:0;flex-shrink:0;width:1.5px;height:16px;animation:5s linear fv-caret}@keyframes fv-caret{0%,54%{opacity:1}58%,to{opacity:0}}.fv-send{background:var(--grad-sage);border-radius:999px;flex-shrink:0;place-items:center;width:26px;height:26px;margin-left:auto;display:grid}.fv-send svg{width:12px;height:12px}.fv-chat{flex-direction:column;gap:10px;max-width:26rem;margin:0 auto;display:flex}.fv-bubble{max-width:86%;font-family:var(--font-serif);border-radius:16px;padding:11px 15px;font-size:15.5px;line-height:1.6}.fv-bubble--user{color:#f3f1ec;background:#f3f1ec17;border:1px solid #f3f1ec26;border-radius:16px 16px 4px;align-self:flex-end}.fv-bubble--ai{color:#b5cdba;background:#6b8f7126;border:1px solid #97b89d33;border-radius:16px 16px 16px 4px;align-self:flex-start;font-style:italic}.fv-bubble-source{font-size:11px;font-style:normal;font-family:var(--font-sans);color:var(--color-soft-gold);opacity:.75;letter-spacing:.02em;margin-top:8px;display:block}.fv-msg-ref{font-family:var(--font-serif);background:var(--grad-gold);color:var(--color-near-black);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:13.5px;font-weight:500}.fv-chat .fv-in-1{animation:5s linear fv-bubble-5}.fv-chat .fv-in-2{animation:5s linear fv-bubble-28}.fv-chat .fv-in-3{animation:5s linear fv-bubble-52}.fv-chat .fv-in-4{animation:5s linear fv-bubble-74}@keyframes fv-bubble-5{0%,5%{opacity:0;transform:translateY(6px)}11%,to{opacity:1;transform:translateY(0)}}@keyframes fv-bubble-28{0%,28%{opacity:0;transform:translateY(6px)}34%,to{opacity:1;transform:translateY(0)}}@keyframes fv-bubble-52{0%,52%{opacity:0;transform:translateY(6px)}58%,to{opacity:1;transform:translateY(0)}}@keyframes fv-bubble-74{0%,74%{opacity:0;transform:translateY(6px)}80%,to{opacity:1;transform:translateY(0)}}.fv-exchange{align-self:flex-start;max-width:86%;display:flex;position:relative}.fv-exchange .fv-bubble{max-width:none}.fv-thinking{opacity:0;background:#6b8f7117;border:1px solid #97b89d24;border-radius:16px 16px 16px 4px;align-items:center;gap:5px;padding:10px 14px;display:flex;position:absolute;top:0;left:0}.fv-thinking span{background:#b5cdba;border-radius:999px;width:5px;height:5px}.fv-thinking--1{animation:5s linear fv-think-14}.fv-thinking--2{animation:5s linear fv-think-60}@keyframes fv-think-14{0%,14%{opacity:0}15%,26%{opacity:1}28%,to{opacity:0}}@keyframes fv-think-60{0%,60%{opacity:0}61%,71%{opacity:1}73%,to{opacity:0}}.fv-map{max-width:30rem;margin:0 auto;position:relative}.fv-map svg{width:100%;height:auto;display:block}.fv-map-edge{stroke:var(--color-border);stroke-width:1px}.fv-map-node{fill:var(--color-sage)}.fv-map-node--breathe{transform-box:fill-box;transform-origin:50%;animation:6s ease-in-out 3 fv-node-breathe}.fv-map-node--breathe.fv-d2{animation-delay:1.6s}.fv-map-node--breathe.fv-d3{animation-delay:3.4s}@keyframes fv-node-breathe{0%,to{opacity:1}50%{opacity:.72}}.fv-map-label{font:500 11px var(--font-sans);fill:var(--color-near-black)}.fv-map-label--muted{fill:var(--color-ai-muted)}.fv-belief{border:1px solid var(--color-border);box-shadow:var(--shadow-md,0 4px 12px #1c191714);background:#fff;border-radius:8px;max-width:15rem;padding:10px 12px;animation:5s linear fv-rise-33;position:absolute;bottom:0;right:0}.fv-belief-name{font-family:var(--font-serif);color:var(--color-near-black);font-size:14px;font-weight:600}.fv-belief-meta{color:var(--color-ai-muted);font-size:11px;font-family:var(--font-sans);margin-top:2px}.fv-belief-meter{background:var(--color-border-light);border-radius:999px;height:3px;margin-top:8px;overflow:hidden}.fv-belief-meter span{background:var(--color-sage);border-radius:999px;width:72%;height:100%;display:block}.fv-board{grid-template-columns:1fr 1fr;gap:12px;max-width:26rem;margin:0 auto;display:grid}.fv-col-head{align-items:center;gap:6px;margin-bottom:8px;display:flex}.fv-col-count{color:var(--color-ai-muted);font-size:10px;font-family:var(--font-sans)}.fv-count-swap{display:inline-grid}.fv-count-swap>span{grid-area:1/1}.fv-count-old{opacity:0;animation:5s linear fv-count-out}.fv-count-new{animation:5s linear fv-count-in}@keyframes fv-count-out{0%,24%{opacity:1}28%,to{opacity:0}}@keyframes fv-count-in{0%,24%{opacity:0}28%,to{opacity:1}}.fv-prayer{border:1px solid var(--color-border);font-size:13px;line-height:1.4;font-family:var(--font-sans);color:var(--color-near-black);background:#fff;border-radius:10px;padding:10px 12px;position:relative}.fv-prayer+.fv-prayer{margin-top:8px}.fv-prayer-meta{color:var(--color-ai-muted);align-items:center;gap:6px;margin-top:7px;font-size:10.5px;display:flex}.fv-dot{background:var(--color-sage);border-radius:999px;flex-shrink:0;width:7px;height:7px}.fv-prayer--moving{animation:fv-prayer-move 5s var(--ease-move,cubic-bezier(.4, 0, .2, 1)) 1;z-index:1}@keyframes fv-prayer-move{0%,16%{box-shadow:none;background:#fff;transform:translate(calc(-100% - 12px))}20%{box-shadow:var(--shadow-lg,0 12px 24px #1c19171f);transform:translate(calc(-50% - 6px))translateY(-7px)rotate(1.5deg)}26%,to{box-shadow:none;background:var(--color-prayer-answered);transform:translate(0)}}.fv-prayer--moving:after{content:"";border-radius:inherit;background:var(--grad-gold);opacity:0;pointer-events:none;animation:5s ease-out fv-bloom;position:absolute;inset:0}@keyframes fv-bloom{0%,25%{opacity:0}30%{opacity:.55}52%,to{opacity:0}}.fv-prayer--moving .fv-dot{animation:5s linear fv-dot-gold}@keyframes fv-dot-gold{0%,25%{background-color:var(--color-sage)}30%,to{background-color:var(--color-soft-gold-deep)}}.fv-prayer--answered{background:var(--color-prayer-answered)}.fv-prayer--answered .fv-dot{background:var(--color-soft-gold-deep)}.fv-library{max-width:23rem;margin:0 auto}.fv-folder{font-size:13.5px;font-family:var(--font-sans);color:var(--color-near-black);border-radius:8px;align-items:center;gap:9px;padding:8px 10px;display:flex}.fv-folder svg{width:15px;height:15px;color:var(--color-ai-muted);flex-shrink:0}.fv-folder-count{color:var(--color-ai-muted);margin-left:auto;font-size:11px}.fv-import{border-top:1px dashed var(--color-border);margin-top:12px;padding-top:12px}.fv-import-note{border:1px solid var(--color-border);font-size:13px;font-family:var(--font-sans);color:var(--color-near-black);border-radius:8px;align-items:center;gap:9px;padding:9px 11px;animation:5s linear fv-rise-40;display:flex}@keyframes fv-rise-40{0%,40%{opacity:0;transform:translateY(7px)}48%,to{opacity:1;transform:translateY(0)}}.fv-import-file{color:var(--color-ai-muted);font-size:12px;font-family:var(--font-mono,ui-monospace, monospace);animation:5s linear fv-file-hand}@keyframes fv-file-hand{0%,8%{opacity:0}14%,to{opacity:1}}.fv-badge-sage{font:500 10px/1.2 var(--font-sans);color:var(--color-sage-deep);background:var(--color-sage-light);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2.5px 8px;animation:5s linear fv-rise-56}@keyframes fv-rise-56{0%,56%{opacity:0}62%,to{opacity:1}}.fv-note{max-width:26rem;margin:0 auto}.fv-note-line{font-size:14.5px;line-height:1.7;font-family:var(--font-sans);color:var(--color-near-black)}.fv-pill{font-family:var(--font-serif);background:var(--grad-gold);color:var(--color-near-black);white-space:nowrap;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:500;animation:5s linear fv-rise-8;display:inline-block}@keyframes fv-rise-8{0%,8%{opacity:0;transform:translateY(3px)}14%,to{opacity:1;transform:translateY(0)}}.fv-passage-clip{animation:fv-passage-in 5s var(--ease-enter,cubic-bezier(0, 0, .2, 1)) 1}@keyframes fv-passage-in{0%,34%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(6px)}46%,to{opacity:1;clip-path:inset(0);transform:translateY(0)}}.fv-passage{border-left:4px solid var(--color-soft-gold);background:linear-gradient(90deg,#f5e6c840,#0000);border-radius:0 8px 8px 0;margin-top:14px;padding:12px 16px}.fv-passage-ref{font:600 10px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:#8a6d2a;margin-bottom:6px}.fv-sframe{border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:16px 18px}.fv-sframe--dark{background:#211d1a;border-color:#37312c}.fv-sref{font:600 10px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--color-sage-link);margin-bottom:8px}.fv-sverse{font-size:15px;line-height:1.6}.fv-hl-cat{border-radius:3px;padding:0 2px}.fv-cats{border-top:1px solid var(--color-border-light);flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;display:flex}.fv-cat{font:500 11px/1.2 var(--font-sans);color:var(--color-ai-muted);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;display:inline-flex}.fv-cat i{border-radius:999px;flex-shrink:0;width:8px;height:8px}.fv-cat--on{color:var(--color-near-black);background:var(--color-sage-light);border-color:#6b8f7173}.fv-ws-head{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.fv-ws-lemma{font-family:var(--font-serif);color:var(--color-near-black);font-size:22px}.fv-ws-translit{font-family:var(--font-serif);color:var(--color-ai-muted);font-size:14px;font-style:italic}.fv-ws-strong{font:600 10px/1.2 var(--font-sans);letter-spacing:.04em;color:var(--color-sage-on-tint);background:var(--color-sage-light);border-radius:999px;margin-left:auto;padding:3px 8px}.fv-ws-gloss{color:var(--color-near-black);font-size:13.5px;line-height:1.55;font-family:var(--font-sans);margin-top:10px}.fv-ws-foot{color:var(--color-ai-muted);font-size:11.5px;font-family:var(--font-sans);border-top:1px solid var(--color-border-light);margin-top:12px;padding-top:10px}.fv-thought{border:1px solid var(--color-border);background:var(--color-warm-white);border-radius:10px;margin-top:14px;padding:10px 12px}.fv-thought-text{color:var(--color-near-black);font-size:13.5px;line-height:1.5;font-family:var(--font-sans)}.fv-thought-meta{color:var(--color-ai-muted);font-size:10.5px;font-family:var(--font-sans);margin-top:6px}.fv-rec{font:500 11px/1.2 var(--font-sans);color:var(--color-ai-muted);align-items:center;gap:8px;display:flex}.fv-rec-dot{background:var(--color-error);border-radius:999px;flex-shrink:0;width:8px;height:8px}.fv-rec-time{font-variant-numeric:tabular-nums;margin-left:auto}.fv-speech{flex-direction:column;gap:8px;margin-top:12px;display:flex}.fv-speech p{color:var(--color-near-black);font-size:12.5px;line-height:1.5;font-family:var(--font-sans)}.fv-speech b{font:600 10px/1.2 var(--font-sans);color:var(--color-ai-muted);margin-bottom:3px;display:block}.fv-srow{font-size:13px;font-family:var(--font-sans);color:var(--color-near-black);align-items:center;gap:10px;padding:9px 0;display:flex}.fv-srow+.fv-srow{border-top:1px solid var(--color-border-light)}.fv-srow-name{flex:1;min-width:0}.fv-srow-name b{font-weight:500;display:block}.fv-srow-name span{color:var(--color-ai-muted);margin-top:1px;font-size:11px;display:block}.fv-srow-meta{color:var(--color-ai-muted);white-space:nowrap;text-align:right;flex-shrink:0;font-size:11px}.fv-srow svg{width:15px;height:15px;color:var(--color-ai-muted);flex-shrink:0}.fv-sinput{background:var(--color-warm-white);border:1px solid var(--color-border);font-size:13px;font-family:var(--font-sans);color:var(--color-near-black);border-radius:8px;padding:9px 11px}.fv-sinput--muted{color:var(--color-ai-muted)}.fv-sarrow{text-align:center;color:var(--color-ai-muted);margin:8px 0;font-size:13px}.fv-scap{font:500 10px/1.2 var(--font-sans);text-transform:uppercase;letter-spacing:.07em;color:var(--color-ai-muted);margin-bottom:8px}.fv-tg{background:#eff6f9;border:1px solid #d9e7ee;border-radius:4px 12px 12px;padding:10px 12px}.fv-tg-name{font:600 11px/1.2 var(--font-sans);color:#2f6f99;margin-bottom:5px}.fv-tg-text{color:var(--color-near-black);font-size:13px;line-height:1.5;font-family:var(--font-sans)}.fv-tg-time{color:#5a6b78;text-align:right;margin-top:5px;font-size:10px}.fv-toggle{font-size:13px;font-family:var(--font-sans);color:var(--color-near-black);align-items:center;gap:10px;display:flex}.fv-toggle-track{background:var(--grad-sage);border-radius:999px;flex-shrink:0;width:34px;height:20px;margin-left:auto;position:relative}.fv-toggle-track i{background:#fff;border-radius:999px;width:16px;height:16px;position:absolute;top:2px;right:2px}.fv-toggle-track--off{background:var(--color-border)}.fv-toggle-track--off i{left:2px;right:auto}.fv-shint{color:var(--color-ai-muted);font-size:11px;font-family:var(--font-sans);margin-top:8px;line-height:1.5}.fv-cmd{font-size:12.5px;font-family:var(--font-sans);border-radius:6px;align-items:baseline;gap:10px;padding:6px 8px;display:flex}.fv-cmd--on{background:var(--color-sage-light)}.fv-cmd b{font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-sage-link);flex-shrink:0;font-weight:500}.fv-cmd span{color:var(--color-ai-muted);font-size:11.5px}.fv-cmd--on b{color:var(--color-sage-on-tint)}.fv-cmd--on span{color:#4b564e}.fv-blur{filter:blur(4px);-webkit-user-select:none;user-select:none}.fv-eyeoff{font:500 11px/1.2 var(--font-sans);color:var(--color-ai-muted);align-items:center;gap:5px;margin-left:auto;display:inline-flex}.fv-streak{font-family:var(--font-serif);color:#8a6d2a;font-size:26px;font-weight:600;line-height:1}.fv-streak-line{color:var(--color-near-black);font-size:12.5px;font-family:var(--font-sans);margin-top:6px}.fv-dots{gap:3px;margin-top:12px;display:flex}.fv-dots i{background:var(--color-sage-light);border-radius:3px;width:12px;height:12px}.fv-dots i.on{background:var(--color-sage)}.fv-dots i.off{background:var(--color-border-light)}.fv-dock{border:1px solid var(--color-border);box-shadow:var(--shadow-md,0 4px 12px #1c191714);background:#fff;border-bottom:none;border-radius:10px 10px 0 0;margin-top:10px;padding:10px 12px}.fv-dock-head{font:500 11px/1.2 var(--font-sans);color:var(--color-ai-muted);align-items:center;gap:7px;display:flex}.fv-dock-dot{background:var(--color-sage);border-radius:999px;width:6px;height:6px}.fv-dock-q{font-family:var(--font-serif);color:var(--color-sage-link);margin-top:8px;font-size:13.5px;font-style:italic;line-height:1.5}.fv-page-lines i{background:var(--color-border-light);border-radius:3px;height:7px;margin-bottom:6px;display:block}@media (prefers-reduced-motion:reduce){.fv-frame,.fv-frame *,.fv-sframe,.fv-sframe *{animation:none!important}}