:root{
  --wine:#63182f;
  --wine-dark:#35101f;
  --wine-soft:#8c2b48;
  --gold:#e9bd66;
  --gold-light:#ffe5aa;
  --cream:#fffaf3;
  --paper:#ffffff;
  --ink:#281820;
  --muted:#6d5d64;
  --line:#eadbd6;
  --blue:#345dce;
  --green:#23734d;
  --danger:#a9233b;
  --shadow:0 18px 55px rgba(65,23,39,.14);
  --soft-shadow:0 8px 28px rgba(65,23,39,.09);
}
*{box-sizing:border-box}
html{min-height:100%;background:#f6efe9}
body{margin:0;min-height:100vh;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:
  radial-gradient(circle at 50% -10%,rgba(255,226,163,.45),transparent 33rem),
  linear-gradient(180deg,#fff9f4 0,#f7f0eb 58%,#f2eae5 100%)}
button,textarea,input{font:inherit}
button{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hidden{display:none!important}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.stained-glass{position:fixed;inset:0;pointer-events:none;opacity:.18;overflow:hidden;background:
  linear-gradient(90deg,transparent 0 8%,rgba(107,22,50,.18) 8% 8.3%,transparent 8.3% 24%,rgba(51,91,194,.13) 24% 24.3%,transparent 24.3% 40%,rgba(220,169,69,.15) 40% 40.3%,transparent 40.3% 60%,rgba(220,169,69,.15) 60% 60.3%,transparent 60.3% 76%,rgba(51,91,194,.13) 76% 76.3%,transparent 76.3% 92%,rgba(107,22,50,.18) 92% 92.3%,transparent 92.3%),
  linear-gradient(180deg,transparent 0 16%,rgba(255,255,255,.65) 16% 16.4%,transparent 16.4% 38%,rgba(107,22,50,.09) 38% 38.4%,transparent 38.4% 66%,rgba(51,91,194,.08) 66% 66.4%,transparent 66.4%)}
.site-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:rgba(255,250,246,.88);border-bottom:1px solid rgba(225,205,198,.8);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;color:var(--wine);background:linear-gradient(145deg,#fff3da,#f3c975);border:1px solid #e3bd6b;border-radius:15px;box-shadow:0 7px 18px rgba(99,24,47,.12)}
.brand-mark svg{width:31px;height:31px}
.brand strong{display:block;font-size:1.05rem}
.brand small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}
.top-actions{display:flex;align-items:center;gap:8px}
.ghost-btn,.icon-btn,.text-button{border:0;background:transparent;cursor:pointer}
.ghost-btn{padding:9px 12px;border-radius:12px;font-weight:800;color:#5d2637}
.ghost-btn:hover{background:#f6e8e3}
.icon-btn{width:40px;height:40px;border-radius:50%;font-size:1.15rem}
.icon-btn:hover{background:#f3e6e1}
.chat-stage{width:min(940px,100%);margin:0 auto;flex:1;padding:22px 16px 150px}
.welcome{position:relative;overflow:hidden;text-align:center;background:rgba(255,255,255,.88);border:1px solid rgba(231,211,203,.95);border-radius:30px;padding:30px 24px 27px;box-shadow:var(--shadow)}
.welcome:before{content:"";position:absolute;inset:auto -60px -90px auto;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(234,188,99,.32),rgba(234,188,99,0) 70%)}
.welcome-art{position:relative;width:118px;height:90px;margin:0 auto 9px}
.sun-rays{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(229,180,80,.32) 0 4deg,transparent 4deg 18deg);mask-image:radial-gradient(circle,transparent 0 22%,#000 24% 66%,transparent 68%)}
.cross{position:absolute;left:52px;top:13px;width:13px;height:61px;border-radius:7px;background:linear-gradient(180deg,#8a2946,#541329);box-shadow:0 5px 14px rgba(75,19,39,.2)}
.cross:before{content:"";position:absolute;left:-17px;top:17px;width:47px;height:13px;border-radius:7px;background:inherit}
.dove{position:absolute;right:3px;top:22px;font-size:2rem;filter:drop-shadow(0 4px 5px rgba(70,29,43,.18))}
.greeting{font-weight:800;color:var(--wine);letter-spacing:.02em}
.welcome h1{font-size:clamp(2rem,7vw,3.5rem);line-height:1;margin:9px 0 12px;color:#31131e}
.welcome>p{max-width:680px;margin:0 auto;color:var(--muted);font-size:1.06rem;line-height:1.55}
.starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px;margin:22px auto 0}
.starter-grid button{border:1px solid #e6d5cf;background:#fff;border-radius:15px;padding:12px 14px;text-align:left;cursor:pointer;line-height:1.35;font-weight:750;box-shadow:0 4px 13px rgba(66,24,39,.05)}
.starter-grid button:hover{border-color:#c9967f;background:#fff6ef;transform:translateY(-1px)}
.conversation{display:grid;gap:18px;margin-top:18px}
.message{display:flex;gap:11px;align-items:flex-start}
.message.user{justify-content:flex-end}
.avatar{flex:0 0 auto;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;font-weight:900}
.message.assistant .avatar{background:linear-gradient(145deg,#f7d58d,#d99f43);color:#4e2d00}
.message.user .avatar{order:2;background:linear-gradient(145deg,#7b2847,#4b1128);color:#fff}
.bubble{max-width:min(780px,calc(100% - 50px));border-radius:22px;padding:16px 18px;box-shadow:var(--soft-shadow)}
.message.user .bubble{background:linear-gradient(145deg,#70203d,#55152e);color:#fff;border-bottom-right-radius:7px;white-space:pre-wrap;line-height:1.5}
.message.assistant .bubble{background:rgba(255,255,255,.95);border:1px solid var(--line);border-bottom-left-radius:7px}
.answer-title{margin:0 0 10px;color:#55152d;font-size:1.35rem;line-height:1.2}
.answer-paragraph{margin:0 0 12px;line-height:1.62;font-size:1.01rem}
.answer-paragraph:last-of-type{margin-bottom:0}
.answer-section{margin-top:15px;padding-top:13px;border-top:1px solid #eee1dc}
.answer-section h3{font-size:.88rem;text-transform:uppercase;letter-spacing:.055em;color:#796068;margin:0 0 8px}
.reference-list,.source-list{display:flex;flex-wrap:wrap;gap:8px}
.reference-link,.source-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-radius:999px;padding:8px 11px;font-size:.88rem;font-weight:800}
.reference-link{background:#fff1d8;border:1px solid #eed09a;color:#70480a}
.source-link{background:#eef3ff;border:1px solid #ccd8fb;color:#27489e}
.reference-link:hover,.source-link:hover{text-decoration:underline}
.ref-note{font-size:.84rem;color:var(--muted);margin-top:8px;line-height:1.45}
.song-card{display:grid;grid-template-columns:54px 1fr auto;gap:11px;align-items:center;background:linear-gradient(135deg,#4c1429,#762442);color:#fff;border-radius:17px;padding:12px;text-decoration:none;box-shadow:0 9px 22px rgba(83,20,44,.2)}
.song-card:hover{transform:translateY(-1px)}
.song-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:linear-gradient(145deg,#ffe3a1,#dca84a);font-size:1.6rem}
.song-card strong{display:block;margin-bottom:3px}
.song-card small{display:block;color:#f7dfe8;line-height:1.35}
.song-arrow{font-size:1.3rem}
.followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.followup-btn{border:1px solid #ddc9c1;background:#fff7f2;color:#5a2032;border-radius:999px;padding:9px 12px;cursor:pointer;font-weight:750;text-align:left}
.followup-btn:hover{background:#ffece3}
.crisis-box{margin-top:12px;background:#fff0f2;border:1px solid #efb8c2;color:#851b31;padding:13px;border-radius:14px;font-weight:800;line-height:1.45}
.typing{display:inline-flex;align-items:center;gap:5px;min-height:24px}
.typing span{width:7px;height:7px;border-radius:50%;background:#8f6b77;animation:blink 1.15s infinite ease-in-out}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes blink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.error-box{background:#fff1f2;border:1px solid #edbac4;color:#8b1c32;border-radius:14px;padding:12px;line-height:1.45}
.composer-wrap{position:fixed;z-index:45;left:0;right:0;bottom:0;padding:12px 16px 11px;background:linear-gradient(180deg,rgba(247,240,235,0),rgba(247,240,235,.94) 22%,#f7f0eb 50%)}
.composer{position:relative;display:flex;align-items:flex-end;gap:8px;width:min(900px,100%);margin:auto;background:#fff;border:1px solid #dbc8c1;border-radius:23px;padding:9px 9px 9px 15px;box-shadow:0 13px 40px rgba(58,20,36,.17)}
.composer:focus-within{border-color:#a86179;box-shadow:0 13px 40px rgba(58,20,36,.18),0 0 0 3px rgba(139,42,72,.09)}
.composer textarea{flex:1;resize:none;max-height:160px;border:0;outline:0;background:transparent;color:var(--ink);line-height:1.45;padding:9px 2px;font-size:1rem}
.send-btn{flex:0 0 auto;width:45px;height:45px;border:0;border-radius:15px;background:linear-gradient(145deg,#842948,#5c1731);color:#fff;font-size:1.18rem;cursor:pointer;box-shadow:0 7px 18px rgba(91,23,49,.25)}
.send-btn:hover{transform:translateY(-1px)}
.send-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.composer-note{text-align:center;color:#7a696f;font-size:.76rem;margin:7px auto 0}
footer{display:flex;justify-content:center;align-items:center;gap:8px;padding:16px 12px 132px;color:#79696e;font-size:.8rem}
.text-button{padding:0;color:#6b3150;text-decoration:underline}
.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:rgba(34,12,23,.64);padding:16px;backdrop-filter:blur(5px)}
.modal-card{position:relative;width:min(520px,100%);background:#fffaf6;border:1px solid #ecd7cd;border-radius:27px;padding:25px;box-shadow:0 24px 80px rgba(24,7,15,.35)}
.name-card{text-align:center}
.modal-icon{font-size:2.6rem}
.modal-card h2{margin:7px 0 8px;color:#4d1429;font-size:1.6rem}
.modal-card p{color:var(--muted);line-height:1.5}
.modal-card label{display:block;text-align:left;font-weight:800;margin:16px 0 7px}
.modal-card input{width:100%;border:1px solid #d8c3ba;border-radius:14px;padding:13px 14px;outline:0;background:#fff}
.modal-card input:focus{border-color:#9b4965;box-shadow:0 0 0 3px rgba(139,42,72,.09)}
.primary-btn,.danger-btn{border:0;border-radius:14px;padding:12px 16px;font-weight:900;cursor:pointer}
.primary-btn{background:linear-gradient(145deg,#812744,#5c1731);color:#fff}
.name-card .primary-btn{width:100%;margin-top:12px}
.danger-btn{background:#fff0f2;color:#961e38;border:1px solid #efbbc6}
.modal-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.modal-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f1e5e0;font-size:1.3rem;cursor:pointer}
.small-print{font-size:.85rem;color:#78686d!important;margin-top:18px}
@media(max-width:680px){
  .topbar{padding:10px 12px}.brand-mark{width:40px;height:40px}.brand-logo{border-radius:12px}.ghost-btn{font-size:.85rem;padding:8px}.chat-stage{padding:14px 10px 145px}.welcome{padding:24px 14px 20px;border-radius:23px}.welcome-art{transform:scale(.9);margin-bottom:2px}.starter-grid{grid-template-columns:1fr}.bubble{max-width:calc(100% - 44px);padding:14px}.avatar{width:34px;height:34px;border-radius:11px}.answer-title{font-size:1.2rem}.song-card{grid-template-columns:48px 1fr auto}.song-icon{width:48px;height:48px}.composer-wrap{padding-left:9px;padding-right:9px}.composer-note{font-size:.69rem}.top-actions{gap:3px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Version 2.2.2: exact songs + live dictation + visible voice button */
.voice-chat-btn{border:1px solid #d8c1c9;background:#fff8f4;color:#5d2637;border-radius:14px;padding:9px 12px;font-weight:850;cursor:pointer}
.voice-chat-btn:hover{background:#f8eae5}.voice-chat-btn.active{background:linear-gradient(145deg,#842948,#5c1731);color:#fff;border-color:#5c1731;box-shadow:0 7px 18px rgba(91,23,49,.2)}
.voice-inline-btn{flex:0 0 auto;height:45px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.voice-icon{font-size:1.05rem}.voice-label{font-size:.83rem}
.mic-btn{flex:0 0 auto;width:45px;height:45px;border:1px solid #dec9c1;border-radius:15px;background:#fff7f1;color:#651a35;font-size:1.16rem;cursor:pointer;transition:.15s ease}
.mic-btn:hover{background:#ffede4;transform:translateY(-1px)}.mic-btn.recording{background:#a9233b;color:#fff;border-color:#a9233b;animation:micPulse 1.1s infinite}.mic-btn.processing{opacity:.6;cursor:wait}
@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 rgba(169,35,59,.28)}50%{box-shadow:0 0 0 9px rgba(169,35,59,0)}}
.voice-status{display:flex;align-items:center;gap:9px;width:min(900px,100%);margin:0 auto 8px;padding:9px 12px;border:1px solid #d9c8c1;background:rgba(255,255,255,.96);border-radius:15px;box-shadow:0 7px 22px rgba(58,20,36,.10);color:#5b2638;font-size:.88rem;font-weight:750}
.voice-status #stopVoiceButton{margin-left:auto;border:0;border-radius:10px;padding:7px 10px;background:#f5e4e0;color:#7c1c34;font-weight:850;cursor:pointer}.voice-pulse{width:10px;height:10px;border-radius:50%;background:#2e9c63;box-shadow:0 0 0 0 rgba(46,156,99,.35);animation:voicePulse 1.5s infinite}
@keyframes voicePulse{0%{box-shadow:0 0 0 0 rgba(46,156,99,.35)}70%{box-shadow:0 0 0 8px rgba(46,156,99,0)}100%{box-shadow:0 0 0 0 rgba(46,156,99,0)}}
.song-player{overflow:hidden;border-radius:17px;background:#2c0c1a;box-shadow:0 9px 22px rgba(83,20,44,.2)}.song-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#16070d}.song-player-meta{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:11px 12px;color:#fff;background:linear-gradient(135deg,#4c1429,#762442)}.song-player-meta .song-icon{width:48px;height:48px}.song-player-meta strong{display:block;margin-bottom:3px}.song-player-meta small{display:block;color:#f7dfe8;line-height:1.35}.song-open{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:11px;padding:9px 11px;background:#ffe1a0;color:#553100;font-weight:900;white-space:nowrap}
.voice-answer-button{border:1px solid #d8c4bd;background:#fff;color:#61223a;border-radius:999px;padding:8px 11px;font-weight:800;cursor:pointer;margin-top:10px}.voice-answer-button:hover{background:#fff0e9}
@media(max-width:680px){.voice-inline-btn{width:43px;height:43px;padding:0}.voice-inline-btn .voice-label{display:none}.voice-inline-btn .voice-icon{font-size:1.12rem}.mic-btn{width:43px;height:43px}.song-player-meta{grid-template-columns:42px 1fr}.song-player-meta .song-icon{width:42px;height:42px}.song-open{grid-column:1/-1}.voice-status{font-size:.8rem}}


/* Version 2.2.4: fresh launches, response note, visitor counter, country greeting */
.typing-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.response-wait-note{color:#77666c;font-size:.88rem;line-height:1.42;max-width:520px}
.access-counter{width:min(900px,calc(100% - 24px));margin:4px auto 0;text-align:center;color:#5f263a;background:rgba(255,255,255,.72);border:1px solid #e2d0c9;border-radius:999px;padding:9px 14px;font-size:.78rem;font-weight:900;letter-spacing:.025em;box-shadow:0 5px 18px rgba(65,23,39,.06)}
footer{flex-wrap:wrap}
@media(max-width:680px){.response-wait-note{font-size:.8rem}.access-counter{border-radius:16px;font-size:.7rem;line-height:1.4}}

/* v2.2.5: keep the latest user question visible after the answer loads */
.message.user{scroll-margin-top:92px}


/* Version 3.3.260729a keeps the Bible-and-feelings boundary clear */
.scope-note{max-width:760px;margin:15px auto 0;padding:11px 14px;border:1px solid #ead1a1;border-radius:14px;background:#fff6df;color:#69480d;font-size:.9rem;line-height:1.45}
.scope-note strong{color:#532319}
@media(max-width:680px){.scope-note{font-size:.82rem;padding:10px 11px}}

/* Version 3.3.260729a: faster answer modes, streaming preview, and source policy */
.mode-pill{border:1px solid #d8c2c8;background:#fff8f4;color:#5d2637;border-radius:999px;padding:8px 11px;font-weight:900;cursor:pointer;white-space:nowrap}
.mode-pill:hover{background:#f8eae5}.mode-pill.study{background:#eef3ff;border-color:#c9d7ff;color:#294aa3}
.inline-mode-button{border:0;background:transparent;padding:0;color:#6b3150;font-weight:900;text-decoration:underline;cursor:pointer}
.mode-fieldset{border:0;padding:0;margin:20px 0 0}.mode-fieldset legend{font-weight:900;color:#4d1429;margin-bottom:10px}
.mode-option{display:grid!important;grid-template-columns:auto 38px 1fr;gap:10px;align-items:start;margin:9px 0!important;padding:13px;border:1px solid #dfcec7;border-radius:16px;background:#fff;cursor:pointer;text-align:left!important}
.mode-option:has(input:checked){border-color:#a25470;background:#fff6f1;box-shadow:0 0 0 3px rgba(139,42,72,.08)}
.mode-option input{width:auto!important;margin:5px 0 0}.mode-option-icon{font-size:1.45rem;line-height:1.2}.mode-option strong{display:block;color:#53172d;margin-bottom:4px}.mode-option small{display:block;color:#75656a;line-height:1.4}
.source-policy{margin-top:14px;border:1px solid #dfd5cf;border-radius:14px;background:#fff;padding:11px 13px}.source-policy summary{cursor:pointer;font-weight:900;color:#5d2637}.source-policy p{margin:10px 0 0!important;font-size:.88rem}
.streaming-bubble{min-width:min(640px,calc(100vw - 90px))}.stream-progress{display:flex;align-items:center;gap:10px;color:#74636a;font-size:.9rem;line-height:1.4}.stream-progress .typing{flex:0 0 auto}.stream-title{margin:0 0 10px;color:#55152d;font-size:1.35rem;line-height:1.2}.stream-answer{white-space:pre-wrap;line-height:1.62;font-size:1.01rem}.stream-answer:after{content:"";display:inline-block;width:7px;height:1.05em;margin-left:3px;vertical-align:-2px;background:#8c2b48;animation:cursorBlink .85s steps(1) infinite}.stream-answer.complete:after{display:none}@keyframes cursorBlink{50%{opacity:0}}
.song-searching{margin-top:15px;padding:12px 13px;border:1px dashed #d8bfaa;border-radius:14px;background:#fff8ea;color:#70501d;font-size:.9rem;line-height:1.4}.song-searching strong{display:block;margin-bottom:3px}
.answer-mode-label{display:inline-flex;align-items:center;gap:5px;margin-bottom:9px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.answer-mode-label.quick{background:#fff0d2;color:#714900}.answer-mode-label.study{background:#eaf0ff;color:#2c4b9e}
@media(max-width:680px){.mode-pill{font-size:.78rem;padding:7px 9px}.streaming-bubble{min-width:0}.mode-option{grid-template-columns:auto 32px 1fr}.source-policy{font-size:.85rem}}


/* Version 3.3.260729a: keep official logo small in the top-left header only */
.brand-header{gap:10px;max-width:340px;align-items:center}
.brand-logo-header{display:block;width:auto;height:46px;max-width:min(50vw,260px);object-fit:contain;filter:drop-shadow(0 4px 10px rgba(70,25,38,.10))}
.brand-meta{display:flex;flex-direction:column;justify-content:center}.brand-meta small{display:block;color:#846e75;font-size:.75rem;line-height:1.1}
.topbar{align-items:flex-start}
.top-actions{padding-top:2px}
@media(max-width:680px){.brand-logo-header{height:38px;max-width:50vw}.brand-header{max-width:230px}.topbar{align-items:center}}

/* Version 3.3.260729a: more app-related background */
body{background:linear-gradient(180deg,#fbf6f0 0%,#f7efe8 100%)}
.stained-glass{background:
  linear-gradient(90deg, rgba(145,104,34,.06) 0 5%, transparent 5% 95%, rgba(145,104,34,.06) 95% 100%),
  linear-gradient(180deg, rgba(125,41,66,.06) 0 6%, transparent 6% 94%, rgba(125,41,66,.04) 94% 100%),
  url('bg-faith.svg') center top / cover no-repeat;
  opacity:.92;
}
.stained-glass:after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 0%, rgba(255,239,182,.42) 0, rgba(255,239,182,0) 35%), linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.04));pointer-events:none}
.welcome,.bubble,.composer,.voice-status,.access-counter{backdrop-filter:blur(6px)}


/* Version 3.3.260729a: first-run guide, help panels, exit, and problem reports */
.exit-btn{border:1px solid #ddbfc6;background:#fff5f5;color:#7d2039;border-radius:999px;padding:8px 11px;font-weight:900;cursor:pointer;white-space:nowrap}.exit-btn:hover{background:#ffe8eb}
.intro-card{width:min(820px,100%);max-height:min(92vh,920px);overflow:auto}.intro-brand{text-align:center}.intro-brand img{width:min(310px,72vw);max-height:110px;object-fit:contain}.intro-card h2{text-align:center;font-size:1.8rem}.intro-lead{text-align:center;max-width:690px;margin:0 auto 18px!important}.how-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.how-item{display:grid;grid-template-columns:45px 1fr;gap:10px;align-items:start;border:1px solid #ead9d2;background:#fff;border-radius:16px;padding:11px;text-align:left}.how-item>span{font-size:1.55rem;line-height:1}.how-item strong{display:block;color:#56162d;margin-bottom:3px}.how-item small{display:block;color:#74646a;line-height:1.38}.intro-note{background:#fff5dc;border:1px solid #e8d19d;border-radius:15px;padding:12px 14px;color:#684b13;line-height:1.48}.intro-links,.help-button-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.soft-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #d9c7c0;background:#fff;color:#5e273b;border-radius:12px;padding:9px 12px;font-weight:850;cursor:pointer}.soft-btn:hover,.secondary-btn:hover{background:#fff0e9}.report-accent{border-color:#dfb775;background:#fff7e5}.remember-choice{display:flex!important;align-items:flex-start;gap:9px;text-align:left!important;margin:16px 0 12px!important;font-weight:750!important;color:#5c4d52}.remember-choice input{width:auto!important;margin:2px 0 0;flex:0 0 auto}.intro-continue{display:block;width:100%;font-size:1rem}.settings-help{margin-top:15px;border-top:1px solid #eadbd5;padding-top:14px}.settings-help h3{margin:0;color:#54162d}.info-card{max-height:min(88vh,820px);overflow:auto}.info-card p{margin:11px 0}.report-card{width:min(680px,100%);max-height:min(92vh,900px);overflow:auto}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-card label span{font-weight:400;color:#817177}.report-card textarea,.report-card select{width:100%;border:1px solid #d8c3ba;border-radius:14px;padding:12px 13px;outline:0;background:#fff;color:var(--ink)}.report-card textarea:focus,.report-card select:focus{border-color:#9b4965;box-shadow:0 0 0 3px rgba(139,42,72,.09)}.report-status{border-radius:13px;padding:11px 12px;margin-top:14px;line-height:1.45}.report-status.success{display:block!important;background:#edf8f1;border:1px solid #bcdcc8;color:#17623d}.report-status.error{display:block!important;background:#fff0f2;border:1px solid #edbec7;color:#8b2138}.exit-card{text-align:center;width:min(470px,100%)}.centered-actions{justify-content:center}.secondary-btn{font-size:1rem}.modal-card select{font:inherit}.top-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.how-grid{grid-template-columns:1fr}.form-row.two-col{grid-template-columns:1fr}.intro-card{padding:19px}.intro-card h2{font-size:1.5rem}.top-actions{gap:4px}.exit-btn{font-size:.78rem;padding:7px 9px}}
@media(max-width:520px){.exit-btn{width:38px;height:38px;padding:0;font-size:0;border-radius:12px}.exit-btn::before{content:"🚪";font-size:1rem}.how-item{grid-template-columns:38px 1fr}.intro-links .soft-btn{flex:1 1 44%}}


/* Version 3.3.260729a: age-aware profile and temporary text-size controls */
.font-size-controls{display:inline-flex;align-items:center;border:1px solid #d8c2c8;border-radius:12px;overflow:hidden;background:#fff8f4;box-shadow:0 3px 10px rgba(69,23,39,.05)}
.font-size-controls button{min-width:38px;height:38px;border:0;background:transparent;color:#5d2637;font-weight:900;cursor:pointer;padding:0 8px}
.font-size-controls button+button{border-left:1px solid #e3d0d5}
.font-size-controls button:hover:not(:disabled){background:#f8eae5}
.font-size-controls button:disabled{opacity:.38;cursor:not-allowed}
.optional-label{font-weight:500;color:#817177}
.field-help{display:block;text-align:left;color:#78696e;line-height:1.42;margin-top:6px;font-size:.82rem}
.name-card .field-help{margin-bottom:2px}
#ageInput,#settingsAge{max-width:180px}
.how-item>span{font-weight:900;color:#6d2340}
@media(max-width:760px){.font-size-controls button{min-width:34px;height:36px;padding:0 6px}.top-actions{row-gap:5px}}
@media(max-width:520px){.font-size-controls{order:3}.font-size-controls button{min-width:33px}.brand-logo-header{max-width:42vw}}
