:root,[data-theme=light]{--p:#4f46e5;--p2:#7c3aed;--link:#4338ca;--bg:#f7f7fb;--fg:#111827;--mut:#5b6272;--card:#fff;--bd:#e5e7eb;--r:16px;--h1a:#4f46e5;--h1b:#7c3aed;--glow:none;--shadow:0 10px 30px rgba(0,0,0,.05);--field:#f7f7fb;color-scheme:light}
[data-theme=dark]{--p:#4f46e5;--p2:#7c3aed;--link:#a5b4fc;--bg:#0b0d14;--fg:#e5e7eb;--mut:#a1a8b8;--card:#141826;--bd:#2a3045;--h1a:#a5b4fc;--h1b:#c4b5fd;--shadow:0 10px 30px rgba(0,0,0,.35);--field:#0f121c;color-scheme:dark}
[data-theme=pro]{--p:#7c3aed;--p2:#a21caf;--link:#d8b4fe;--bg:#05030a;--fg:#ece8f7;--mut:#a99fc4;--card:#0d0a17;--bd:#2b1f4a;--h1a:#c084fc;--h1b:#f0abfc;--glow:0 0 0 1px rgba(168,85,247,.35),0 0 24px rgba(168,85,247,.25);--shadow:0 0 0 1px rgba(168,85,247,.25),0 12px 40px rgba(124,58,237,.18);--field:#08060f;color-scheme:dark}

*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--link)}.muted{color:var(--mut)}
.top{display:flex;align-items:center;gap:16px;padding:12px 20px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd);z-index:5;flex-wrap:wrap}
.brand{font-weight:800;font-size:1.15rem;text-decoration:none;color:var(--fg);display:inline-flex;align-items:center;gap:9px;flex:none}
.top nav{display:flex;gap:6px;overflow-x:auto;flex:1;scrollbar-width:none}
.top nav a{padding:6px 10px;border-radius:999px;text-decoration:none;color:var(--mut);white-space:nowrap;font-size:.92rem}
.top nav a.on,.top nav a:hover{background:var(--card);color:var(--fg);box-shadow:0 0 0 1px var(--bd)}
main{max-width:1040px;margin:0 auto;padding:20px}
.hero{text-align:center;padding:28px 0 8px}
h1{font-size:clamp(1.7rem,4.5vw,2.7rem);line-height:1.15;margin:.2em 0;background:linear-gradient(90deg,var(--h1a),var(--h1b));-webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--mut);max-width:680px;margin:0 auto 22px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:20px;box-shadow:var(--shadow);max-width:680px;margin:0 auto;text-align:left}
.drop{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px dashed var(--bd);border-radius:12px;padding:44px 16px;cursor:pointer;text-align:center;transition:.15s}
.drop:hover,.drop.over{border-color:var(--p);background:color-mix(in srgb,var(--p) 6%,transparent)}
.drop-ico{font-size:2.2rem}.hint{font-size:.85rem;color:var(--mut)}
.picked .fname{font-weight:600;word-break:break-all;margin-bottom:12px}
.row{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.row label{display:flex;flex-direction:column;font-size:.85rem;color:var(--mut);gap:4px;flex:1;min-width:160px}
select,input[type=email]{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--bd);background:var(--field);color:var(--fg)}
button,.btn{font:inherit;cursor:pointer;border-radius:10px;padding:11px 18px;border:1px solid var(--bd);background:transparent;color:var(--fg);text-decoration:none;display:inline-block;text-align:center}
.primary{background:linear-gradient(90deg,var(--p),var(--p2));color:#fff;border:0;font-weight:600}
.ghost:hover{background:var(--bg)}
.status{display:flex;flex-direction:column;gap:12px}
.bar{height:10px;background:var(--bg);border-radius:99px;overflow:hidden;border:1px solid var(--bd)}
#barFill{height:100%;width:0;background:linear-gradient(90deg,var(--p),var(--p2));transition:width .4s}
.status.err #barFill{background:#ef4444}
.info{max-width:680px;margin:24px auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:36px 0}
.feat{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);padding:18px}
.feat h2{font-size:1.1rem;margin:.3em 0}.feat h2 a{color:var(--fg);text-decoration:none}.feat p{color:var(--mut);font-size:.95rem}
.ico{font-size:1.8rem}.more{font-weight:600;text-decoration:none;font-size:.92rem}
.signup{text-align:center}.signup form{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.signup input{flex:1;min-width:200px;max-width:340px}
.faq{max-width:680px;margin:36px auto}.faq details{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:12px 16px;margin:8px 0}
.faq summary{cursor:pointer;font-weight:600}

[hidden]{display:none!important}

/* theme switcher */
.theme-switch{margin-left:auto;display:inline-flex;border:1px solid var(--bd);border-radius:999px;padding:2px;background:var(--card);gap:2px;flex:none}
.theme-switch button{border:0;padding:5px 10px;border-radius:999px;font-size:.82rem;line-height:1.2;color:var(--mut);background:transparent;display:inline-flex;align-items:center;gap:4px}
.theme-switch button[aria-pressed=true]{background:linear-gradient(90deg,var(--p),var(--p2));color:#fff}
.theme-switch button:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--link);outline-offset:2px}
@media (max-width:560px){.theme-switch .lbl{display:none}.theme-switch button{padding:6px 9px}.top{gap:10px;padding:10px 14px}.top nav{order:3;flex-basis:100%}}
:focus:not(:focus-visible){outline:none}

/* Pro: cinematic near-black + neon violet */
[data-theme=pro] body{background:
  radial-gradient(1200px 600px at 15% -10%,rgba(124,58,237,.22),transparent 60%),
  radial-gradient(900px 500px at 100% 0%,rgba(192,38,211,.14),transparent 60%),
  repeating-linear-gradient(0deg,rgba(168,85,247,.035) 0 1px,transparent 1px 3px),
  var(--bg);background-attachment:fixed}
[data-theme=pro] .brand{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;color:#e9d5ff;text-shadow:0 0 12px rgba(192,132,252,.6)}
[data-theme=pro] h1{filter:drop-shadow(0 0 18px rgba(192,132,252,.35))}
[data-theme=pro] .card,[data-theme=pro] .feat,[data-theme=pro] .faq details{box-shadow:var(--glow);border-color:var(--bd)}
[data-theme=pro] .feat:hover{box-shadow:0 0 0 1px rgba(192,132,252,.6),0 0 32px rgba(168,85,247,.35)}
[data-theme=pro] .primary{box-shadow:0 0 18px rgba(168,85,247,.45)}
[data-theme=pro] .primary:hover{box-shadow:0 0 26px rgba(192,132,252,.7)}
[data-theme=pro] .drop{border-color:rgba(168,85,247,.45)}
[data-theme=pro] .drop:hover,[data-theme=pro] .drop.over{border-color:#c084fc;background:rgba(168,85,247,.08);box-shadow:inset 0 0 30px rgba(168,85,247,.15)}
[data-theme=pro] #barFill{box-shadow:0 0 12px rgba(192,132,252,.8)}
[data-theme=pro] .top{background:rgba(5,3,10,.78);border-bottom-color:rgba(168,85,247,.25)}
[data-theme=pro] .top nav a.on,[data-theme=pro] .top nav a:hover{color:#f5f3ff;box-shadow:0 0 0 1px rgba(168,85,247,.5),0 0 12px rgba(168,85,247,.25)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* native app extras */
.icon-btn{padding:6px 10px;font-size:1.05rem;line-height:1;border-radius:999px;flex:none}
.net-banner{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:10px max(12px,calc((100% - 1000px)/2)) 0;padding:10px 14px;border-radius:12px;border:1px solid #f59e0b;background:color-mix(in srgb,#f59e0b 14%,var(--card));color:var(--fg);font-size:.92rem}
.net-banner .nb-actions{display:flex;gap:6px}.net-banner button{padding:6px 12px}
.dlg{border:1px solid var(--bd);border-radius:var(--r);background:var(--card);color:var(--fg);padding:20px;width:min(92vw,440px);box-shadow:var(--shadow)}
.dlg::backdrop{background:rgba(0,0,0,.55)}
.dlg h2{margin:0 0 10px}.dlg input{width:100%;font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--bd);background:var(--field);color:var(--fg);margin:6px 0}
body.native .top{padding-top:max(10px,env(safe-area-inset-top))}

/* footer */
.site-foot{text-align:center;color:var(--mut);padding:32px 16px calc(32px + env(safe-area-inset-bottom));font-size:.92rem;border-top:1px solid var(--bd);margin-top:24px;display:flex;flex-direction:column;gap:8px;align-items:center}
.foot-brand{font-weight:600;color:var(--fg)}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center}
.foot-links a{text-decoration:none;padding:4px 2px}.foot-links a:hover{text-decoration:underline}
.small{font-size:.85rem}
/* legal / contact / donate pages */
.legal{max-width:780px;margin:28px auto;line-height:1.65}
.legal h1{font-size:clamp(1.6rem,4vw,2.2rem);margin-top:.2em}
.legal h2{font-size:1.15rem;margin:1.4em 0 .4em}
.legal ul{padding-left:1.2em}.legal li{margin:.3em 0}
.draft-note{display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:999px;border:1px dashed #d97706;color:#b45309;background:color-mix(in srgb,#f59e0b 12%,transparent)}
[data-theme=dark] .draft-note,[data-theme=pro] .draft-note{color:#fbbf24;border-color:#f59e0b}
.contact-form{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.contact-form label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:var(--mut)}
.contact-form input,.contact-form textarea{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--bd);background:var(--field);color:var(--fg);resize:vertical}
.contact-form button{align-self:flex-start}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.donate-btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.donate-btn{flex:1 1 220px}
.donate-soon{padding:14px;border:1px dashed var(--bd);border-radius:12px;text-align:center;color:var(--mut)}
.donate-notes{margin-top:14px}
/* post-conversion donation card (non-blocking) */
.donate-card{position:relative;margin-top:6px;padding:14px 40px 12px 14px;border:1px solid var(--bd);border-radius:12px;background:color-mix(in srgb,var(--p) 6%,var(--card))}
.donate-card .donate-title{font-weight:700}
.donate-card p{margin:4px 0 0}
.donate-card .donate-btns{margin:10px 0 2px}
.donate-card .donate-btn{padding:9px 14px;font-size:.92rem}
.donate-x{position:absolute;top:6px;right:6px;border:0;background:transparent;color:var(--mut);font-size:1.3rem;line-height:1;padding:6px 10px;border-radius:8px}
.donate-x:hover{background:var(--field);color:var(--fg)}
[data-theme=pro] .donate-card{border-color:rgba(168,85,247,.45);background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(162,28,175,.08)),var(--card);box-shadow:0 0 22px rgba(168,85,247,.18)}
[data-theme=pro] .legal{box-shadow:var(--glow)}
[data-theme=pro] .site-foot{border-top-color:rgba(168,85,247,.25)}

/* brand logo: the monogram always sits on its own dark rounded square, so it reads on light backgrounds too */
:root{--brand:#6d28d9}
[data-theme=dark]{--brand:#a78bfa}
[data-theme=pro]{--brand:#c084fc}
.brand-mark{width:32px;height:32px;border-radius:8px;background:#000;display:block;flex:none;box-shadow:0 1px 3px rgba(0,0,0,.25)}
[data-theme=dark] .brand-mark{box-shadow:0 0 0 1px rgba(167,139,250,.25)}
[data-theme=pro] .brand-mark{box-shadow:0 0 0 1px rgba(168,85,247,.45),0 0 14px rgba(168,85,247,.45)}
.brand-word{letter-spacing:-.01em}
.wm-void{color:var(--brand)}
[data-theme=pro] .brand .brand-word{text-shadow:none}
[data-theme=pro] .brand .wm-void{text-shadow:0 0 12px rgba(192,132,252,.55)}
[data-theme=pro] .brand{color:#f5f3ff;font-family:inherit;letter-spacing:normal;text-shadow:none}
@media (max-width:560px){.brand-mark{width:28px;height:28px}}
.foot-social{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:.4rem 0}
/* help chat */
.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}
.vc-chat{position:fixed;right:18px;bottom:18px;z-index:60}
.vc-chat-btn{width:56px;height:56px;border-radius:50%;border:0;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,var(--p),var(--p2));box-shadow:0 8px 24px rgba(79,70,229,.35);cursor:pointer}
[data-theme=pro] .vc-chat-btn{box-shadow:0 0 22px rgba(168,85,247,.6)}
.vc-chat-panel{position:absolute;right:0;bottom:70px;width:min(370px,calc(100vw - 24px));height:min(520px,calc(100vh - 110px));display:flex;flex-direction:column;background:var(--card);color:var(--fg);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.vc-chat-panel[hidden]{display:none}
[data-theme=pro] .vc-chat-panel{box-shadow:var(--glow)}
.vc-chat-panel header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(90deg,var(--p),var(--p2));color:#fff}
.vc-chat-x{border:0;background:transparent;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;padding:2px 8px}
.vc-chat-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.vc-msg{max-width:85%;padding:8px 11px;border-radius:12px;white-space:pre-wrap;word-wrap:break-word;font-size:.93rem;line-height:1.4}
.vc-msg.bot{align-self:flex-start;background:var(--field);border:1px solid var(--bd)}
.vc-msg.user{align-self:flex-end;background:linear-gradient(90deg,var(--p),var(--p2));color:#fff}
.vc-msg.err{border-color:#f59e0b}
.vc-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--bd)}
.vc-chat-form textarea{flex:1;resize:none;font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--bd);background:var(--field);color:var(--fg);max-height:110px}
.vc-chat-note{margin:0;padding:0 12px 8px;font-size:.72rem;color:var(--mut)}
.vc-chat-note a{color:var(--link)}
@media (max-width:560px){.vc-chat{right:12px;bottom:12px}.vc-chat-panel{position:fixed;left:8px;right:8px;bottom:78px;width:auto;height:min(70vh,calc(100vh - 100px))}}
@media print{.vc-chat{display:none}}
.vc-msg a.vc-link{display:inline-block;margin:3px 2px;padding:4px 10px;border-radius:999px;border:1px solid var(--link);color:var(--link);font-weight:600;text-decoration:none;word-break:break-word;overflow-wrap:anywhere;max-width:100%}.vc-msg a.vc-link:hover,.vc-msg a.vc-link:focus-visible{background:var(--link);color:var(--bg)}

/* featured video banner (non-intrusive, dismissible) */
.vc-feat{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:8px 10px;background:var(--card);border:1px solid var(--bd);border-radius:var(--r);text-align:left;font-size:14px}
.vc-feat img{width:84px;height:47px;border-radius:8px;object-fit:cover;border-radius:10px;flex:none}
.vc-feat-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.vc-feat-lbl{font-size:11px;color:var(--link);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.vc-feat-btn{flex:none;text-decoration:none;padding:6px 10px;font-size:13px;border-radius:10px}
.vc-feat-x{flex:none;background:none;border:0;color:var(--mut);font-size:18px;cursor:pointer;padding:4px 8px}
@media (max-width:560px){.vc-feat{flex-wrap:wrap}.vc-feat img{width:72px;height:40px}.vc-feat-btn{order:3;width:100%;text-align:center}}
.vc-feat-when{color:var(--link);font-weight:600}
@media (max-width:560px){.vc-feat .muted.small{display:none}.vc-feat-x{align-self:flex-start}}

.vc-feat[hidden]{display:none}

/* compact stacking: featured + donate cards after conversion */
#status .vc-feat,#status .donate-card{margin-top:10px}
#status .donate-card{padding:10px 36px 10px 12px;font-size:14px}
#status .donate-card .donate-btns{margin:8px 0 0}
#status .donate-card .donate-btn{flex:0 1 auto;padding:7px 14px;font-size:.88rem}
.donate-card[hidden]{display:none}
#status .vc-feat{padding:8px 10px;gap:8px;font-size:13px;line-height:1.3}
#status .vc-feat strong{font-size:13.5px}
#status .vc-feat-lbl{font-size:10px}
#status .vc-feat-when{font-size:12px}
@media (max-width:560px){#status .vc-feat img{width:64px;height:36px}#status .vc-feat-btn{padding:5px 8px;font-size:12px}}

/* v13: PDF to Audio flagship card, compress/xlsm notes */
.flag{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin:14px auto 16px;text-align:left;border:2px solid #7c5cff;background:linear-gradient(135deg,rgba(124,92,255,.14),rgba(124,92,255,.03))}
.flag-txt{flex:1 1 260px;display:flex;flex-direction:column;gap:3px}.flag-txt strong{font-size:1.3em}
.flag-lbl{font-size:.8em;font-weight:700;color:#7c5cff;text-transform:uppercase;letter-spacing:.04em}
.flag-voices{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.flag-voices .ghost{padding:6px 10px;font-size:.9em}
.flag-cta{flex:1 1 100%;text-align:center}
.feat-flag{border:2px solid #7c5cff}
.note{background:rgba(255,184,0,.12);border-left:4px solid #ffb800;padding:8px 12px;border-radius:6px}
