:root{--bg:#0b0b0d;--panel:#141418;--panel2:#1d1d22;--text:#f5f5f7;--muted:#a6a6ad;--accent:#e21d2f;--border:#2a2a31;--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overscroll-behavior:none}.hidden{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}.app{min-height:100dvh}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:calc(14px + var(--safe-top)) 16px 14px;border-bottom:1px solid var(--border);background:rgba(11,11,13,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font-weight:900;letter-spacing:.08em}.sub{font-size:12px;color:var(--muted);margin-top:3px}.top-actions,.row{display:flex;align-items:center}.gap{gap:10px}.compact{gap:6px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.panel{max-width:980px;margin:0 auto;padding:20px 16px calc(26px + var(--safe-bottom))}.editor-panel{display:grid;gap:14px}.title-input,.script-input,select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:14px;outline:none}.title-input{padding:13px 14px;flex:1;min-width:220px}.script-input{min-height:calc(58dvh - 3.1em);resize:vertical;padding:18px;font-size:20px;line-height:1.55}.title-input:focus,.script-input:focus,select:focus{border-color:#5b5b67}.primary,.ghost,.round,.play,.record-btn,.link-button{border:none;border-radius:14px;padding:12px 16px;color:#fff;background:var(--panel2);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--accent);font-weight:800}.large{padding:14px 20px}.ghost,.link-button{border:1px solid var(--border)}.danger-text{color:#ff8290}.start-actions{justify-content:flex-end}.prompter{position:fixed;inset:0;background:#000;z-index:40;display:grid;grid-template-rows:auto 1fr auto auto;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);overflow:hidden}.camera-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#000}.camera-preview.front-camera{transform:scaleX(-1)}.camera-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.18) 30%,rgba(0,0,0,.12) 65%,rgba(0,0,0,.72))}.prompter-toolbar{display:flex;justify-content:space-between;padding:10px 12px;gap:8px;background:linear-gradient(#000 72%,transparent);z-index:5}.camera-mode .prompter-toolbar{background:linear-gradient(rgba(0,0,0,.72) 65%,transparent)}.reading-frame{position:relative;min-height:0;overflow:hidden;z-index:3}.prompter-scroll{position:absolute;inset:0;overflow-y:auto;scrollbar-width:none;overscroll-behavior:none;padding:32vh 0}.prompter-scroll::-webkit-scrollbar{display:none}.prompter-text{width:82%;margin:0 auto;font-size:48px;line-height:1.35;font-weight:800;white-space:pre-wrap;word-wrap:break-word;transform-origin:center;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.85)}.camera-mode .prompter-text{background:rgba(0,0,0,.18);border-radius:18px;padding:0 8px}.end-space{height:45vh}.focus-guide{position:absolute;left:5%;right:5%;height:1px;background:rgba(255,255,255,.18);z-index:4;pointer-events:none}.focus-guide.top{top:42%}.focus-guide.bottom{top:58%}.controls{display:flex;justify-content:center;align-items:center;gap:22px;padding:8px 12px;z-index:5}.round{width:54px;height:54px;border-radius:50%;padding:0;font-size:24px;background:rgba(29,29,34,.9)}.play{width:74px;height:74px;border-radius:50%;padding:0;background:var(--accent);font-size:26px;font-weight:900}.quick-settings{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:8px 18px 14px;background:linear-gradient(transparent,#000 18%);z-index:5}.camera-mode .quick-settings{background:linear-gradient(transparent,rgba(0,0,0,.85) 18%)}.quick-settings label{display:grid;grid-template-columns:auto auto;gap:5px 10px;color:var(--muted);font-size:12px}.quick-settings strong{justify-self:end;color:#fff}.quick-settings input{grid-column:1/-1;width:100%;accent-color:var(--accent)}.mirrored .prompter-text{transform:scaleX(-1)}.record-btn{background:#a10e1c;border:1px solid rgba(255,255,255,.16);font-weight:800}.record-btn.recording{background:#fff;color:#b50016}.recording-badge{position:absolute;top:calc(var(--safe-top) + 62px);left:50%;transform:translateX(-50%);z-index:8;background:rgba(170,0,20,.9);padding:7px 11px;border-radius:999px;font-weight:900;font-size:12px;box-shadow:0 4px 18px rgba(0,0,0,.4)}.modal{border:none;padding:0;background:transparent;color:var(--text);width:min(92vw,560px)}.modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-card{display:grid;gap:16px;background:#15151a;border:1px solid var(--border);border-radius:18px;padding:18px;color:var(--text)}.modal-card label{display:grid;gap:8px}.modal-card input[type=range]{width:100%;accent-color:var(--accent)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:20px;margin:0}.check{grid-template-columns:auto 1fr!important;align-items:center}.hint{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.library-list{display:grid;gap:8px;max-height:60vh;overflow:auto}.library-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:10px}.library-item button{padding:8px 10px}.library-title{font-weight:750}.library-meta{font-size:11px;color:var(--muted);margin-top:3px}.empty{color:var(--muted);padding:18px;text-align:center}.recorded-video{width:100%;max-height:58vh;background:#000;border-radius:14px}.countdown{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(0,0,0,.78);font-size:min(35vw,220px);font-weight:950}.toast{position:fixed;z-index:120;left:50%;bottom:calc(26px + var(--safe-bottom));transform:translateX(-50%);background:#24242a;border:1px solid #3a3a43;padding:10px 14px;border-radius:999px;font-size:13px;box-shadow:0 8px 30px rgba(0,0,0,.35);max-width:90vw;text-align:center}
@media(max-width:650px){.sub{display:none}.panel{padding-top:14px}.script-input{min-height:calc(58dvh - 3.1em);font-size:18px}.quick-settings{grid-template-columns:1fr;gap:8px}.prompter-toolbar{align-items:flex-start}.prompter-toolbar .row{flex-wrap:wrap;justify-content:flex-end}.prompter-toolbar .ghost,.record-btn{padding:9px 10px;font-size:12px}.prompter-text{width:90%}.topbar{padding-left:12px;padding-right:12px}.start-actions{width:100%}.start-actions>*{flex:1}.recording-badge{top:calc(var(--safe-top) + 94px)}}
@media(orientation:landscape) and (max-height:520px){.prompter-toolbar{padding:5px 10px}.controls{padding:2px 10px}.play{width:58px;height:58px}.round{width:44px;height:44px}.quick-settings{grid-template-columns:1fr 1fr;padding:2px 14px 6px}.prompter-scroll{padding:24vh 0}.end-space{height:35vh}.recording-badge{top:calc(var(--safe-top) + 44px)}}

/* CAMERA MODE — leitura concentrada na metade superior */
.camera-mode .reading-frame{
    height:52dvh;
    max-height:52dvh;
    align-self:start;
    overflow:hidden;
}

.camera-mode .prompter-scroll{
    padding:14vh 0 18vh;
}

/* CAMERA MODE — janela de texto realmente limitada à metade superior da tela */
.camera-mode .reading-frame{
    height:auto;
    max-height:none;
}

.camera-mode .prompter-scroll{
    top:0;
    bottom:auto;
    height:34dvh;
    max-height:34dvh;
    padding:8vh 0 12vh;
}

/* CAMERA MODE V3 — janela física fixa entre 15% e 50% da tela */
.camera-mode .reading-frame{
    position:absolute;
    top:15dvh;
    left:0;
    right:0;
    height:35dvh;
    max-height:35dvh;
    overflow:hidden;
    z-index:3;
}

.camera-mode .prompter-scroll{
    position:absolute;
    inset:0 !important;
    height:auto !important;
    max-height:none !important;
    padding:7dvh 0 10dvh;
    overflow-y:auto;
}
