:root{color:#f7f4ee;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#050505;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{height:100%;margin:0}body{overscroll-behavior:none;background:radial-gradient(circle at top,#ffffff14,#0000 34rem),linear-gradient(#090909 0%,#050505 100%);height:100dvh;max-height:100dvh;margin:0;overflow:hidden}#root{height:100%;min-height:0;max-height:100%;overflow:hidden}button{font:inherit}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.35}}.app-shell{--app-pad-left:max(1rem, env(safe-area-inset-left));--app-pad-right:max(1rem, env(safe-area-inset-right));height:100%;min-height:0;max-height:100%;padding:0 var(--app-pad-right) max(6rem, calc(5rem + env(safe-area-inset-bottom))) var(--app-pad-left);transform-origin:50%;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}.app-shell>*{grid-area:1/1;min-width:0;min-height:0}.app-shell[data-flipped=true]{transform:rotate(180deg)}.caption-stage{grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,58rem);height:100%;min-height:0;margin:0 auto;display:grid;overflow:hidden}.caption-stage-footer{min-height:0}.auth-stage{width:min(100%,30rem);padding-top:max(1.25rem, env(safe-area-inset-top));place-items:center;margin:0 auto;display:grid}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1010109e;border:1px solid #ffffff1a;border-radius:1.4rem;gap:.9rem;width:100%;padding:1.25rem;display:grid;box-shadow:0 2rem 6rem #0000004d}.auth-card h1{color:#fbfaf6;letter-spacing:-.06em;margin:0;font-size:clamp(2rem,9vw,3.4rem);line-height:.96}.auth-eyebrow,.auth-copy,.auth-label{color:#f7f4eea3;margin:0}.auth-eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.76rem}.auth-copy,.auth-label{font-size:.95rem;line-height:1.5}.auth-label{margin-top:.4rem}.auth-input{color:#fbfaf6;width:100%;font:inherit;background:#00000057;border:1px solid #ffffff29;border-radius:.9rem;padding:.95rem 1rem}.auth-input:focus{outline-offset:3px;outline:2px solid #f7f4eebf}.auth-submit{justify-self:start;margin-top:.35rem}.auth-error{width:100%;margin:0}.top-bar{z-index:15;width:calc(100% + var(--app-pad-left) + var(--app-pad-right));max-width:none;margin-left:calc(var(--app-pad-left) * -1);box-sizing:border-box;padding:calc(.25rem + max(1.25rem, env(safe-area-inset-top))) var(--app-pad-right) 1rem var(--app-pad-left);color:#f7f4eead;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(#050505 0%,#050505db 72%,#0000 100%);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;font-size:.78rem;display:grid;position:relative}.status-pill{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.55rem;min-width:0;display:inline-flex;overflow:hidden}.status-pill span{background:#858585;border-radius:999px;width:.52rem;height:.52rem;transition:background .3s,box-shadow .3s}.status-pill[data-state=listening] span{background:#87f6a1;animation:2.5s ease-in-out infinite dot-pulse;box-shadow:0 0 1.5rem #87f6a18c}.status-pill[data-state=connecting] span,.status-pill[data-state=requesting-microphone] span{background:#f3d27a;animation:.85s ease-in-out infinite dot-pulse}.status-pill[data-state=stopping] span{background:#f3d27a}.status-pill[data-state=error] span{background:#ff8f8f}.timer{font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end;min-width:max-content}.top-actions{justify-self:center;align-items:center;gap:.45rem;display:inline-flex;position:relative}.text-button{color:#f7f4ee9e;cursor:pointer;font-size:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.text-button:hover,.text-button:focus-visible{color:#fbfaf6}.top-stop-button,.menu-button,.switch-button,.font-controls button,.menu-lock-button{color:#f7f4eedb;cursor:pointer;background:#141414b8;border:1px solid #ffffff1f}.top-stop-button,.menu-button{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:999px;min-height:2.1rem}.top-stop-button{padding:.35rem .8rem}.menu-button{letter-spacing:.08em;place-items:center;min-width:2.25rem;padding:.35rem .65rem;display:inline-grid}.menu-button span{transform:translateY(-.08rem)}.top-stop-button:hover,.menu-button:hover,.top-stop-button:focus-visible,.menu-button:focus-visible,.switch-button:hover,.switch-button:focus-visible,.font-controls button:hover:not(:disabled),.font-controls button:focus-visible,.menu-lock-button:hover,.menu-lock-button:focus-visible{color:#fff;border-color:#ffffff42}.menu-wrap{position:relative}.menu-popover{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:left;text-transform:none;letter-spacing:0;background:#0c0c0ceb;border:1px solid #ffffff1f;border-radius:1rem;gap:.75rem;width:min(18.5rem,100vw - 2rem);padding:.85rem;display:grid;position:absolute;top:calc(100% + .65rem);left:50%;transform:translate(-50%);box-shadow:0 1.5rem 4rem #0000006b}.menu-row{color:#f7f4eecc;justify-content:space-between;align-items:center;gap:1rem;font-size:.92rem;display:flex}.switch-button,.font-controls button,.menu-lock-button{border-radius:999px}.switch-button{min-width:3.2rem;padding:.35rem .65rem}.switch-button[aria-checked=true]{color:#050505;background:#f7f4ee}.font-controls{align-items:center;gap:.45rem;display:inline-flex}.font-controls span{color:#f7f4eeb8;text-align:center;min-width:3.6rem}.font-controls button{place-items:center;width:2rem;height:2rem;padding:0;display:inline-grid}.font-controls button:disabled{cursor:not-allowed;opacity:.38}.menu-lock-button{justify-self:start;padding:.42rem .75rem}.menu-version-row{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin:0;padding-top:.55rem;display:flex}.menu-version{color:#f7f4ee61;letter-spacing:.04em;margin:0;font-size:.72rem;line-height:1.2}.menu-reload-button{color:#f7f4eeb8;letter-spacing:.04em;cursor:pointer;background:#141414b8;border:1px solid #ffffff1f;border-radius:999px;margin:0;padding:.28rem .65rem;font-size:.72rem;font-weight:600}.menu-reload-button:hover,.menu-reload-button:focus-visible{color:#fff;border-color:#ffffff42;outline:none}.history-panel{inset:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080808f5;border:1px solid #ffffff1f;border-radius:1.25rem;grid-template-rows:auto 1fr;gap:1rem;width:min(64rem,100vw - 2rem);margin:0 auto;padding:1rem;display:grid;position:fixed;box-shadow:0 2rem 6rem #00000080}.history-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.history-header h2{color:#fbfaf6;letter-spacing:-.055em;margin:.2rem 0 0;font-size:clamp(1.8rem,6vw,3.2rem);line-height:.98}.history-layout{grid-template-columns:minmax(14rem,.8fr) minmax(0,1.4fr);gap:1rem;min-height:0;display:grid}.history-list,.history-transcript{background:#ffffff08;border:1px solid #ffffff14;border-radius:1rem;min-height:0;overflow-y:auto}.history-list{align-content:start;gap:.45rem;padding:.55rem;display:grid}.history-list-item{color:#f7f4eed1;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:.8rem;gap:.3rem;padding:.75rem;display:grid}.history-list-item[data-selected=true],.history-list-item:hover,.history-list-item:focus-visible{background:#ffffff12;border-color:#ffffff24}.history-list-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-list-item small{color:#f7f4ee75;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.3;display:-webkit-box;overflow:hidden}.history-empty{color:#f7f4ee80;margin:0;padding:.75rem}.history-transcript{padding:1rem}.history-transcript-meta{color:#f7f4ee85;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.82rem;display:flex}.history-transcript p{white-space:pre-wrap;color:#fbfaf6;letter-spacing:-.03em;margin:0;font-size:clamp(1.25rem,3.5vw,2.4rem);line-height:1.18}.scripture-link{color:inherit;text-underline-offset:.12em;text-decoration-color:#f7f4ee7a}.scripture-link:hover,.scripture-link:focus-visible{color:#fff;text-decoration-color:currentColor}.caption-copy-wrap{flex-direction:column;align-self:stretch;min-height:0;display:flex;position:relative}.caption-copy{scrollbar-width:thin;scrollbar-color:#f7f4ee2e transparent;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:min(3vh,1.25rem) 0;overflow:hidden auto}.caption-jump-latest{left:50%;bottom:max(.5rem, env(safe-area-inset-bottom));z-index:2;color:#fbfaf6;letter-spacing:.02em;cursor:pointer;pointer-events:auto;background:#0c0c0ed1;border:1px solid #ffffff2e;border-radius:999px;padding:.55rem 1.15rem;font-size:.88rem;font-weight:620;position:absolute;transform:translate(-50%);box-shadow:0 4px 20px #00000059}.caption-jump-latest:hover,.caption-jump-latest:focus-visible{color:#fff;background:#16161aeb;border-color:#ffffff59;outline:none}.caption-copy::-webkit-scrollbar{width:4px}.caption-copy::-webkit-scrollbar-track{background:0 0}.caption-copy::-webkit-scrollbar-thumb{background:#f7f4ee2e;border-radius:999px}.caption-copy p{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto;color:#fbfaf6;width:min(100%,52rem);max-width:100%;font-size:clamp(calc(2.25rem * var(--caption-scale,1)), calc(6vw * var(--caption-scale,1)), calc(5.8rem * var(--caption-scale,1)));letter-spacing:-.055em;margin:0 auto;font-weight:650;line-height:1.02}.caption-copy .placeholder{color:#f7f4ee5c;font-weight:560}.error-message{color:#ffd4d4;background:#ff8f8f14;border:1px solid #ff8f8f52;border-radius:1rem;width:min(100%,52rem);margin:1rem auto 0;padding:.9rem 1rem;font-size:.9rem;line-height:1.5}.microphone-help{color:#f7f4ee8f;text-align:center;width:min(100%,52rem);margin:1rem auto 0;font-size:.9rem;line-height:1.5}.controls{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;display:flex;position:fixed}.shared-session-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#0a0a0ac7;border:1px solid #ffffff1a;border-radius:1rem;gap:.5rem;width:min(100%,28rem);padding:.8rem;display:grid;box-shadow:0 1rem 3rem #00000042}.shared-session-eyebrow,.shared-session-empty{color:#f7f4ee80;text-align:center;margin:0;font-size:.78rem;line-height:1.35}.shared-session-eyebrow{letter-spacing:.1em;text-transform:uppercase}.shared-session-card{color:#f7f4eedb;cursor:pointer;text-align:left;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.72rem .85rem;display:flex}.shared-session-card:hover,.shared-session-card:focus-visible{color:#fff;border-color:#ffffff47;outline:none}.shared-session-info{gap:.2rem;min-width:0;display:grid}.shared-session-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shared-session-meta{color:#f7f4ee80;flex-wrap:wrap;align-items:center;gap:.25rem .55rem;font-size:.78rem;display:flex}.shared-session-live{align-items:center;gap:.35rem;display:inline-flex}.shared-session-live span{background:#ff8f8f;border-radius:999px;width:.5rem;height:.5rem}.shared-session-live[data-state=live] span{background:#87f6a1;animation:2.5s ease-in-out infinite dot-pulse;box-shadow:0 0 1rem #87f6a173}.shared-session-card b{color:#050505;background:#f7f4ee;border-radius:999px;padding:.36rem .65rem;font-size:.82rem}.control-button{color:#f7f4eed6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;pointer-events:auto;background:#141414b8;border:1px solid #ffffff24;border-radius:999px;min-width:5.5rem;padding:.78rem 1rem;transition:transform .18s,border-color .18s,background .18s,color .18s,opacity .18s;box-shadow:0 1rem 3rem #0000004d}.control-button:hover:not(:disabled){color:#fff;border-color:#ffffff42;transform:translateY(-1px)}.control-button:focus-visible{outline-offset:3px;outline:2px solid #f7f4eebf}.control-button:disabled{cursor:not-allowed;opacity:.42}.control-button.primary{color:#050505;background:#f7f4ee}.control-button.primary:hover:not(:disabled){color:#000;background:#fff}@media (width<=640px){.top-bar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.45rem;font-size:.68rem}.caption-copy p{font-size:clamp(calc(1.85rem * var(--caption-scale,1)), calc(10.5vw * var(--caption-scale,1)), calc(4rem * var(--caption-scale,1)))}.control-button.primary{min-width:9.5rem}.history-panel{border-radius:0;width:100vw;inset:0}.history-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr}.history-list{max-height:12rem}}@media (prefers-reduced-motion:reduce){.status-pill span,.shared-session-live span{transition:none!important;animation:none!important}.control-button{transition:opacity .18s!important}.control-button:hover:not(:disabled),.control-button.primary:hover:not(:disabled){transform:none!important}}
