
:root{--bg:#0b0f15;--panel:#121923;--panel2:#0e141c;--line:#2b3747;--text:#edf4fb;--muted:#91a0b3;--blue:#73b6ff;--green:#70d7a0;--red:#ff8484}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -25%,#173a60,var(--bg) 42%);color:var(--text);font:14px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}.hidden{display:none!important}.screen{min-height:100vh}.center{display:grid;place-items:center;padding:24px}.hero{text-align:center;width:min(720px,100%)}.logo{width:68px;height:68px;border-radius:20px;background:#173c61;border:1px solid #376b9e;display:grid;place-items:center;font-size:30px;margin:0 auto 20px}.eyebrow{font-size:11px;letter-spacing:.13em;color:var(--blue);font-weight:800}.hero h1{font-size:clamp(42px,7vw,70px);line-height:1;letter-spacing:-.055em;margin:8px 0 22px}.hero p{font-size:17px;color:#a6b4c5;max-width:610px;margin:0 auto 25px}.googleBtn{background:#fff;color:#17202b;border:0;border-radius:11px;padding:13px 19px;font-weight:800;cursor:pointer}.status{color:var(--muted);font-size:12px;margin-top:10px}.error{color:var(--red)}.ok{color:var(--green)}
header{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#0c1118dd}.brand{font-weight:800;font-size:16px}.headerActions{display:flex;gap:9px;align-items:center}.pill{color:var(--green);background:#12271f;border:1px solid #25543e;padding:5px 9px;border-radius:99px;font-size:11px}
.layout{height:calc(100vh - 64px);padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;overflow:hidden}.panelHead{padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}h2,h3{margin:4px 0}.btn{border:1px solid #344257;background:#1a222d;color:var(--text);border-radius:9px;padding:9px 12px;cursor:pointer}.btn:disabled{opacity:.35;cursor:not-allowed}.primary{background:#1e4e7d;border-color:#376b9e}.stats{display:flex;border-bottom:1px solid var(--line)}.stats div{padding:12px 18px;border-right:1px solid var(--line)}.stats b{display:block;font-size:18px}.stats span{color:var(--muted);font-size:11px}.toolbar{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.toolbar input{flex:1;background:#0b1118;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px}.empty{text-align:center;padding:80px 20px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.empty .big{font-size:38px}.empty b{color:var(--text)}.fileList{padding:8px;max-height:calc(100vh - 280px);overflow:auto}.fileRow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px;border-bottom:1px solid #fff1}.fileRow small{color:var(--muted)}.fileRow button{min-width:82px}.playerPanel{padding:18px}.playerPanel audio{width:100%;margin:14px 0}.playerPanel hr{border:0;border-top:1px solid var(--line);margin:24px 0}.playerPanel ol{padding-left:20px;color:#a7b4c4}.playerPanel li{margin:8px 0}
.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:18px;z-index:20}.modalBox{width:min(520px,100%);background:#151c26;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 25px 70px #000b}.modalHead{display:flex;justify-content:space-between}.x{background:none;border:0;color:#9aa8b8;font-size:24px;cursor:pointer}.modalBox label{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:14px}.termInput{width:100%;background:#0b1118;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px;margin-top:6px}.recBox{text-align:center;border:1px solid var(--line);background:#0d131b;border-radius:12px;padding:18px;margin-top:16px}.mic{width:66px;height:66px;border-radius:50%;background:#203248;color:white;border:1px solid #49627f;font-size:26px;cursor:pointer}.mic.live{background:#702929;border-color:#b24b4b}.timer{font-size:22px;margin:9px}.recBox audio{width:100%;margin-top:12px}.modalActions{display:flex;gap:8px;margin-top:16px}.modalActions button{flex:1}
@media(max-width:820px){.layout{grid-template-columns:1fr;height:auto}.playerPanel{min-height:350px}.toolbar{flex-wrap:wrap}.toolbar input{flex-basis:100%}}

/* Demo 4 — roteiro PDF */
.demo4layout{grid-template-columns:minmax(460px,1.35fr) minmax(340px,.85fr) 310px}
.scriptPanel,.drivePanel{min-width:0}
.scriptList{padding:10px;max-height:calc(100vh - 190px);overflow:auto}
.scriptRow{display:grid;grid-template-columns:72px 150px minmax(0,1fr);gap:12px;padding:12px 10px;border-bottom:1px solid #ffffff12;align-items:start}
.scriptRow:hover{background:#ffffff05}
.scriptMeta{font-size:11px;color:var(--muted)}
.scriptCharacter{font-weight:800;word-break:break-word}
.scriptDialogue{line-height:1.65;user-select:text}
.marker{color:#7f8b9a;background:#0b1118;border:1px solid #26313f;border-radius:5px;padding:1px 4px;margin-right:3px;font-size:.86em}
.pronunciation{color:#bfe0ff;background:#173c61;border:1px solid #376b9e;border-radius:5px;padding:1px 4px;cursor:pointer;font-weight:800}
.pronunciation:hover{background:#245884}
.pdfActions{display:flex;gap:8px}
.parseWarn{margin:10px;padding:10px 12px;border:1px solid #66552d;background:#292314;border-radius:9px;color:#e6cf8a;font-size:12px}
@media(max-width:1180px){.demo4layout{grid-template-columns:1fr 1fr}.playerPanel{grid-column:1/-1}.scriptList,.fileList{max-height:560px}}
@media(max-width:820px){.demo4layout{grid-template-columns:1fr}.playerPanel{grid-column:auto}.scriptRow{grid-template-columns:68px 110px minmax(0,1fr)}}

/* Identificação permanente de build */
.buildBadge{display:inline-block;margin:10px 0 0;padding:6px 10px;border:1px solid #2b6594;border-radius:999px;background:#10283d;color:#83c7ff;font-size:11px;font-weight:800;letter-spacing:.12em}
.headerVersion{margin-left:8px;color:#79bfff;font-size:11px;font-weight:800;letter-spacing:.05em}

.diagBox{margin:10px 12px;padding:9px 11px;border:1px dashed #35506b;border-radius:8px;color:#8fb7da;background:#0b141d;font-size:11px;line-height:1.45;overflow-wrap:anywhere}

/* V1.0 Pilot */
.techDetails{border-bottom:1px solid var(--line);padding:8px 12px;color:var(--muted)}
.techDetails summary{cursor:pointer;font-size:11px;font-weight:700;color:#7f91a5;user-select:none}
.techDetails .diagBox{margin:8px 0 2px}
.privacyNote{color:var(--muted);font-size:11px;line-height:1.5;margin-top:18px}
@media(max-width:820px){header{height:auto;min-height:64px;padding:12px 16px;gap:10px}.headerVersion{display:block;margin:2px 0 0}.layout{height:auto}.panelHead{align-items:flex-start;gap:10px}.scriptList,.fileList{max-height:none}.googleBtn,.btn{min-height:44px}.pronunciation{display:inline-block;min-height:28px;padding:3px 6px}}

/* LexiDub V1.1: navegação e leitura, sem alterar o conteúdo do roteiro. */
.characterJump{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end}
.jumpField{flex:1;min-width:200px}.jumpField label{display:block;font-size:14px;color:var(--blue);font-weight:700;margin-bottom:6px}
.jumpField input{width:100%;min-height:44px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:10px;color:var(--text);font-size:16px}
.jumpActions{display:flex;gap:8px;align-items:center}.jumpActions .btn{min-height:44px}.jumpActions output{min-width:60px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
#characterJumpStatus{flex-basis:100%;color:var(--muted);font-size:14px;margin:0}
.scriptPanel{display:flex;flex-direction:column;min-height:0}.scriptPanel>.panelHead,.scriptPanel>.stats,.scriptPanel>.characterJump,.scriptPanel>.techDetails{flex-shrink:0}
.scriptPanel .scriptList{flex:1;min-height:0;max-height:none;overflow:auto;overflow-anchor:none;scroll-behavior:auto}
.scriptRow.jumpFound{background:#173c6166;box-shadow:inset 4px 0 var(--blue);outline:1px solid #376b9e;outline-offset:-1px}
.pdfActions{flex-wrap:wrap;justify-content:flex-end}.pdfActions .btn{min-height:44px}
.demo4layout.readingMode{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 64px)}
.readingMode>.drivePanel,.readingMode>.playerPanel{display:none}
.readingMode .scriptList{font-size:18px;line-height:1.65;padding:12px 18px}
.readingMode .scriptRow{grid-template-columns:100px 180px minmax(0,1fr);padding:16px 12px;gap:20px}
.readingMode .scriptMeta{font-size:14px}.readingMode .scriptCharacter{font-size:16px}
@media(min-width:821px) and (max-width:1180px){.demo4layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);height:auto;min-height:calc(100dvh - 64px)}.scriptPanel{height:calc(100dvh - 92px)}.demo4layout.readingMode{height:calc(100dvh - 64px);min-height:0}.readingMode .scriptPanel{height:auto}.readingMode .scriptRow{grid-template-columns:88px 140px minmax(0,1fr);gap:14px}}
@media(max-width:820px){.scriptPanel{height:85dvh;min-height:500px}.demo4layout.readingMode{height:calc(100dvh - 90px)}.readingMode .scriptPanel{height:auto;min-height:0}.readingMode .scriptRow{grid-template-columns:68px 100px minmax(0,1fr);gap:10px}.readingMode .scriptList{padding:8px;font-size:16px}.characterJump{padding:10px}.jumpField{min-width:160px}.jumpActions{flex-wrap:wrap}.scriptPanel .panelHead{flex-wrap:wrap}.readingMode .scriptMeta{font-size:12px}}
@media(max-width:480px){.readingMode .scriptRow{grid-template-columns:64px minmax(0,1fr)}.readingMode .scriptDialogue{grid-column:1/-1}}

/* Apresentação institucional: restrita à experiência inicial. */
.institutionalStart{display:flex;flex-direction:column;align-items:center;gap:56px;padding:56px 24px 36px}
.institutionalStart .hero h1{font-size:clamp(34px,5vw,54px);line-height:1.12;letter-spacing:-.04em;margin:16px 0}
.institutionalStart .hero .institutionalTagline{color:var(--blue);font-size:20px;margin-bottom:16px;font-weight:600}
.aboutLexidub{width:min(1000px,100%);font-size:16px}
.aboutIntro{max-width:760px;margin-bottom:28px}
.aboutIntro .eyebrow{font-size:14px}
.aboutIntro h2{font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;margin:8px 0 12px}
.aboutIntro p,.aboutCard p,.futureFeatures p{color:#a6b4c5;margin:0;line-height:1.65}
.aboutFeatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.aboutCard{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:24px}
.aboutNumber{display:inline-block;color:var(--blue);font-size:14px;font-weight:700;margin-bottom:12px}
.aboutCard h3{font-size:20px;line-height:1.3;margin:0 0 10px}
.aboutFuture{background:var(--panel2);border:1px solid var(--line);border-radius:15px;padding:24px;margin-top:24px}
.futureHeading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.futureHeading h3{font-size:20px;margin:0}
.futureBadge{font-size:14px;color:var(--blue);border:1px solid #376b9e;background:#173c6133;padding:5px 10px;border-radius:99px}
.futureFeatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.futureFeatures h4{font-size:18px;margin:0 0 8px}
.futureNote{color:var(--muted);font-size:14px;margin:20px 0 0}
.aboutClosing{text-align:center;color:var(--text);font-size:clamp(20px,3vw,26px);font-weight:700;letter-spacing:-.02em;margin:36px 0 8px}
@media(max-width:640px){.institutionalStart{padding:32px 18px;gap:36px}.aboutFeatures,.futureFeatures{grid-template-columns:1fr}.aboutCard,.aboutFuture{padding:20px}.institutionalStart .hero h1{font-size:34px}}
