:root,html[data-read-theme=dark]{--bg: #0f0c16;--bg-elev: #171322;--bg-soft: #1e1830;--panel: #1a1528;--line: rgba(255, 255, 255, .08);--text: #f0ebf8;--muted: #9b92b0;--purple: #7c3aed;--purple-2: #a78bfa;--purple-dim: rgba(124, 58, 237, .22);--green: #22c55e;--green-dim: rgba(34, 197, 94, .18);--rail: 76px;--toc: 300px;--side-icons: 56px;--font: "IBM Plex Sans", system-ui, sans-serif;--serif: "IBM Plex Serif", Georgia, serif;--radius: 12px;--hover: rgba(255, 255, 255, .08);--ghost: rgba(255, 255, 255, .03);--tip-bg: #ffffff;--tip-fg: #1a1228;--theme-swatch: #1a1228}html[data-read-theme=light]{--bg: #f3f1ec;--bg-elev: #ffffff;--bg-soft: #ebe6dc;--panel: #f7f5f0;--line: rgba(40, 32, 24, .14);--text: #1a1714;--muted: #5c564f;--purple: #5b21b6;--purple-2: #4c1d95;--purple-dim: rgba(91, 33, 182, .12);--green: #15803d;--green-dim: rgba(21, 128, 61, .14);--hover: rgba(28, 25, 23, .06);--ghost: rgba(28, 25, 23, .04);--tip-bg: #1c1917;--tip-fg: #f5f5f4;--theme-swatch: #f3f1ec}html[data-read-theme=sepia]{--bg: #f0e6d2;--bg-elev: #f7f0e0;--bg-soft: #e8dcc4;--panel: #f3ead8;--line: rgba(70, 50, 25, .16);--text: #2c2418;--muted: #5f5040;--purple: #6b4423;--purple-2: #5a3818;--purple-dim: rgba(107, 68, 35, .14);--green: #4d7340;--green-dim: rgba(77, 115, 64, .16);--hover: rgba(44, 36, 24, .07);--ghost: rgba(44, 36, 24, .04);--tip-bg: #2c2418;--tip-fg: #f7f0e0;--theme-swatch: #e8d5a8}html[data-read-theme=sage]{--bg: #e4ebe3;--bg-elev: #f2f6f1;--bg-soft: #d5dfd3;--panel: #ebf1ea;--line: rgba(40, 55, 42, .16);--text: #1a231c;--muted: #4a584e;--purple: #2f5346;--purple-2: #244038;--purple-dim: rgba(47, 83, 70, .14);--green: #2f6b45;--green-dim: rgba(47, 107, 69, .16);--hover: rgba(26, 35, 28, .07);--ghost: rgba(26, 35, 28, .04);--tip-bg: #1a231c;--tip-fg: #f2f6f1;--theme-swatch: #c5d6c4}html[data-read-theme=night]{--bg: #14110e;--bg-elev: #1c1814;--bg-soft: #26201a;--panel: #1a1612;--line: rgba(232, 213, 181, .1);--text: #e8d5b5;--muted: #a89478;--purple: #c4873a;--purple-2: #e0a85c;--purple-dim: rgba(196, 135, 58, .22);--green: #8fbc6b;--green-dim: rgba(143, 188, 107, .18);--hover: rgba(232, 213, 181, .08);--ghost: rgba(232, 213, 181, .03);--tip-bg: #e8d5b5;--tip-fg: #14110e;--theme-swatch: #2a2218}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}body{-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}img,video,iframe,svg{max-width:100%;height:auto}button,input{font:inherit;color:inherit}a{color:var(--purple-2)}#app{min-height:100vh}.lib-layout{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh;width:100%}.rail{background:var(--bg-elev);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:.9rem .35rem;gap:.4rem;position:sticky;top:0;height:100vh;width:var(--rail);box-sizing:border-box;overflow-y:auto}.rail-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,var(--purple),#4c1d95);display:grid;place-items:center;font-weight:800;font-size:1.1rem;margin-bottom:.55rem;color:#fff;flex-shrink:0}.rail-btn{width:100%;min-width:0;height:auto;min-height:3.15rem;padding:.45rem .2rem;border:none;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;font-size:inherit}.rail-btn:hover,.rail-btn.active{background:var(--purple-dim);color:var(--purple-2)}.lib-main{padding:clamp(1.25rem,2.5vw,2rem) clamp(1.25rem,4vw,2.75rem) 3.5rem;max-width:min(1440px,100%);width:100%;margin:0 auto;box-sizing:border-box}.lib-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.lib-head h1{margin:0;font-size:clamp(1.55rem,2.4vw,1.9rem);font-weight:700;color:var(--purple-2)}.search-bar{display:flex;flex:1;width:100%;max-width:min(720px,100%);margin-bottom:1.15rem;background:var(--bg-elev);border:1px solid var(--line);border-radius:999px;overflow:hidden}.search-bar select,.search-bar input{border:none;background:transparent;padding:.8rem 1.05rem;outline:none;font-size:.95rem}.search-bar select{border-right:1px solid var(--line);color:var(--muted);max-width:10rem}.search-bar input{flex:1;min-width:0;color:var(--text)}.search-bar button{border:none;background:var(--purple);color:#fff;font-weight:600;padding:0 1.25rem;cursor:pointer;font-size:.95rem}.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.35rem}.pill{border:1px solid var(--line);background:var(--bg-soft);color:var(--muted);border-radius:999px;padding:.45rem .95rem;cursor:pointer;font-size:.9rem;font-weight:500}.pill.active,.pill:hover{border-color:var(--purple);color:var(--purple-2);background:var(--purple-dim)}.tabs-row{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-bottom:1.1rem;border-bottom:1px solid var(--line);padding-bottom:.55rem}.tab-btn{border:none;background:transparent;color:var(--muted);padding:.55rem .85rem;cursor:pointer;font-weight:600;font-size:.95rem;border-bottom:2px solid transparent}.tab-btn.active{color:var(--text);border-bottom-color:var(--purple)}.book-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:.85rem}.book-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.85rem 1rem;align-items:center;background:linear-gradient(135deg,#7c3aed29,#7c3aed0d);border:1px solid rgba(167,139,250,.12);border-radius:14px;padding:1.15rem 1.2rem;cursor:pointer;text-align:left;width:100%;transition:border-color .15s,transform .15s,background .15s}.book-row:hover{border-color:#a78bfa66;transform:translateY(-2px);background:linear-gradient(135deg,#7c3aed38,#7c3aed14)}.book-icon{width:52px;height:52px;border-radius:12px;background:var(--purple-dim);color:var(--purple-2);display:grid;place-items:center;font-size:1.45rem;flex-shrink:0}.book-row h2{margin:0;font-size:1.12rem;font-weight:650;line-height:1.3}.book-row p{margin:.3rem 0 0;font-size:.9rem;color:var(--muted);line-height:1.4}.book-row .pct{font-size:.95rem;font-weight:700;color:var(--purple-2);min-width:2.5rem;text-align:right}.badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.3rem .55rem;border-radius:999px;background:var(--bg-elev);color:var(--muted);border:1px solid var(--line)}.badge.ok{background:var(--green-dim);color:var(--green);border-color:transparent}.pct{font-variant-numeric:tabular-nums;font-weight:600;color:var(--purple-2);min-width:3rem;text-align:right}.muted{color:var(--muted)}.panel-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem;margin-top:1.5rem;max-width:520px}.panel-card h3{margin:0 0 .5rem;font-size:1rem}.panel-card p{margin:0 0 .85rem;font-size:.9rem;color:var(--muted)}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem}.btn{border:none;border-radius:999px;padding:.55rem 1rem;font-weight:600;cursor:pointer;font-size:.9rem}.btn-primary{background:var(--purple);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn-danger{background:transparent;border:1px solid rgba(239,68,68,.4);color:#f87171}.reader{display:grid;grid-template-columns:var(--rail) 1fr calc(var(--toc) + var(--side-icons));grid-template-rows:auto auto 1fr auto;min-height:100vh;height:100vh;overflow:hidden;transition:grid-template-columns .22s ease;background:var(--bg)}.reader:fullscreen,.reader:-webkit-full-screen{width:100%;height:100%;background:var(--bg)}.btn-fs-top{display:inline-flex;align-items:center;gap:.4rem}.rail-btn.is-fs-active,.btn-fs-top.is-fs-active{border-color:var(--purple);background:var(--purple-dim);color:var(--purple-2)}.fs-exit-fab{position:fixed;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:360;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:999px;padding:.45rem .85rem;font:inherit;font-size:.85rem;font-weight:650;cursor:pointer;box-shadow:0 8px 24px #00000040}.fs-exit-fab[hidden],html.reader-immersive .reader-top,html.reader-immersive .reader-subnav,html.reader-immersive .tool-rail,html.reader-immersive .side-dock,html.reader-immersive .progress-bar,html.reader-immersive .study-dock,html.reader-immersive .chapter-fab,html.reader-immersive .reader-live-strip{display:none!important}html.reader-immersive .reader,html.reader-immersive .reader.side-collapsed{grid-template-columns:1fr;grid-template-rows:1fr;height:100dvh;min-height:100dvh}html.reader-immersive .reader-body{grid-column:1;grid-row:1}html.reader-immersive .fs-exit-fab{display:inline-flex!important}.reader.side-collapsed{grid-template-columns:var(--rail) 1fr var(--side-icons)}.reader-top{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:.85rem;padding:.65rem 1rem;background:var(--bg-elev);border-bottom:1px solid var(--line);min-height:64px}.reader-top .logo-mini{width:32px;height:32px;border-radius:8px;background:linear-gradient(145deg,var(--purple),#4c1d95);display:grid;place-items:center;font-weight:700;font-size:.75rem;flex-shrink:0}.reader-meta{flex:1;min-width:0}.reader-meta h1{margin:0;font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-meta p{margin:.15rem 0 0;font-size:.75rem;color:var(--muted)}.reader-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.reader-subnav{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.35rem 1rem .45rem;background:var(--bg-elev);border-bottom:1px solid var(--line)}.reader-tabs{display:flex;gap:.15rem;align-items:flex-end}.reader-tab{border:none;background:transparent;color:var(--muted);font:inherit;font-weight:650;font-size:.92rem;padding:.45rem .75rem .55rem;cursor:pointer;border-bottom:2px solid transparent}.reader-tab.is-active{color:var(--text);border-bottom-color:var(--purple-2)}.reader-video-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.reader-video-toggle input{accent-color:var(--purple);width:1.05rem;height:1.05rem}.tool-rail .rail-btn.active{background:var(--purple-dim);color:var(--purple-2)}.tool-rail{grid-column:1;grid-row:3;display:flex;flex-direction:column;align-items:center;gap:.28rem;padding:.65rem .3rem;background:var(--bg-elev);border-right:1px solid var(--line);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;width:64px;box-sizing:border-box}.tool-rail::-webkit-scrollbar{width:0;height:0;display:none}.tool-rail .rail-btn{position:relative;width:2.85rem;height:2.85rem;min-width:2.85rem;min-height:2.85rem;border-radius:10px;flex-shrink:0;font-size:1.45rem;font-weight:700;line-height:1;color:var(--text)}.tool-rail .rail-btn u,.tool-rail .rail-btn s{font-size:1.35rem;font-weight:800}.tool-rail .rail-btn.active-pop{background:var(--hover);color:var(--text)}.tool-rail .rail-btn:disabled{opacity:.35;cursor:not-allowed}.tool-rail .rail-tt{font-size:1.35rem;font-weight:800;letter-spacing:-.06em;line-height:1}.tool-rail .tool-ico{display:grid;place-items:center;font-size:1.4rem;line-height:1;font-weight:700}.tool-rail .tool-ico-mark{font-size:1.55rem;color:#fbbf24}.tool-rail .rail-btn[data-tip]:hover:after,.tool-rail .rail-btn[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--tip-bg);color:var(--tip-fg);font-size:.78rem;font-weight:700;padding:.35rem .55rem;border-radius:6px;white-space:nowrap;z-index:260;box-shadow:0 6px 20px #00000059;pointer-events:none}.tool-rail .rail-btn[data-tip]:hover:before,.tool-rail .rail-btn[data-tip]:focus-visible:before{content:"";position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#fff;z-index:261;pointer-events:none}.tool-rail .rail-btn.active-pop[data-tip]:hover:after,.tool-rail .rail-btn.active-pop[data-tip]:hover:before,.tool-rail .rail-btn.active-pop[data-tip]:focus-visible:after,.tool-rail .rail-btn.active-pop[data-tip]:focus-visible:before{content:none;display:none}.tool-pop{position:fixed;z-index:250;min-width:220px;max-width:min(320px,calc(100vw - 24px));padding:.75rem .85rem;background:var(--bg-elev);color:var(--text);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 40px #00000059}.tool-pop[hidden]{display:none!important}.tool-pop-wide{min-width:260px}.tool-pop-title{font-size:.88rem;font-weight:700;margin:0 0 .55rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}.tool-pop-row,.tool-pop-slider{display:flex;align-items:center;gap:.45rem}.tool-pop-row input[type=range],.tool-pop-slider input[type=range]{flex:1;accent-color:var(--purple);height:.35rem}.tool-pop-end{font-size:.85rem;color:var(--muted);width:1.25rem;text-align:center}.tool-pop-swatches{display:flex;flex-wrap:wrap;gap:.45rem}.mark-swatch{width:1.65rem;height:1.65rem;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #00000014}.mark-swatch:hover,.mark-swatch:focus-visible{border-color:var(--text);outline:none}.tool-pop-hint{margin:.55rem 0 0;font-size:.75rem;color:var(--muted)}.btn-theme-top{display:inline-flex;align-items:center;gap:.45rem}.btn-theme-top .tool-ico-theme{width:1rem;height:1rem}.conta-theme{margin-bottom:1rem}.conta-theme h2{margin:0 0 .35rem;font-size:1.15rem}.theme-option{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--text);border-radius:8px;padding:.45rem .5rem;cursor:pointer;font:inherit}.theme-option:hover,.theme-option:focus-visible{background:var(--hover);outline:none}.theme-option.is-active{border-color:var(--purple);background:var(--purple-dim)}.theme-swatch{flex:0 0 auto;width:1.35rem;height:1.35rem;border-radius:999px;border:2px solid var(--line);box-shadow:inset 0 0 0 1px #0000001f}.theme-swatch[data-theme=dark]{background:linear-gradient(145deg,#1a1228,#0f0c16)}.theme-swatch[data-theme=light]{background:linear-gradient(145deg,#fff,#f3f1ec)}.theme-swatch[data-theme=sepia]{background:linear-gradient(145deg,#f7f0e0,#e8d5a8)}.theme-swatch[data-theme=sage]{background:linear-gradient(145deg,#f2f6f1,#c5d6c4)}.theme-swatch[data-theme=night]{background:linear-gradient(145deg,#2a2218,#14110e)}.theme-option-copy{display:flex;flex-direction:column;gap:.05rem;min-width:0}.theme-option-label{font-size:.86rem;font-weight:650}.theme-option-hint{font-size:.72rem;color:var(--muted);line-height:1.3}.tool-ico-theme{width:1.15rem;height:1.15rem;border-radius:999px;background:linear-gradient(90deg,var(--text) 50%,transparent 50%);border:1.5px solid var(--text);box-sizing:border-box}.shortcut-list{margin:0;padding:0;list-style:none;font-size:.82rem;display:flex;flex-direction:column;gap:.4rem;color:#3b3348}.shortcut-list kbd{display:inline-block;font:inherit;font-size:.72rem;font-weight:700;background:#f3f0f8;border:1px solid #ddd5ea;border-radius:4px;padding:.1rem .35rem;margin-right:.15rem}.reader-body{grid-column:2;grid-row:2}.reader-tool-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1.15rem}.tool-chip{border:1px solid rgba(167,139,250,.35);background:#7c3aed1a;color:var(--purple-2);border-radius:999px;padding:.45rem .85rem;font:inherit;font-size:.88rem;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.tool-chip:hover{background:#7c3aed33;color:#fff}.tool-chip.is-active{background:var(--purple);border-color:transparent;color:#fff}.tool-chip.has-data:not(.is-active){border-color:#a78bfa8c}.tts-bar[hidden],.note-box[hidden]{display:none!important}.tts-bar{margin:0 0 1.15rem;padding:.85rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.note-box-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.note-box-head label{margin:0}.section-footer-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem}@media(max-width:720px){.reader-tool-chips{position:sticky;top:0;z-index:5;padding:.45rem 0;background:linear-gradient(180deg,var(--bg) 70%,transparent)}.tool-chip{flex:1 1 auto;justify-content:center;min-height:2.5rem}}.tts-bar.is-active{border-color:#a78bfa73;box-shadow:0 0 0 1px #7c3aed26}.tts-bar-main{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.55rem}.tts-bar-main strong{color:var(--purple-2);font-size:.92rem}.tts-controls{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.tts-rate-lab{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted);font-weight:500}.tts-rate-lab select{font:inherit;color:var(--text);background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:.35rem .45rem;max-width:12rem}.tts-voice-lab select{max-width:14rem}.tts-hint{margin:.55rem 0 0}.audio-wrap{margin-top:.75rem}.audio-wrap audio{width:100%;height:40px}.media-list{display:flex;flex-direction:column;gap:.65rem;margin-top:.85rem}.media-item{padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line);background:var(--bg-elev)}.media-item-head{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.45rem;font-size:.88rem}.media-item audio{width:100%;height:40px}.media-pdf{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.reader-body{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;padding:1.25rem clamp(1rem,3vw,2.5rem) 5.5rem;background:radial-gradient(600px 300px at 20% 0%,rgba(124,58,237,.08),transparent 60%),var(--bg);grid-column:2;grid-row:3}.reader-body::-webkit-scrollbar{width:4px}.reader-body::-webkit-scrollbar-track{background:transparent}.reader-body::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:999px}.reader-body::-webkit-scrollbar-thumb:hover{background:#ffffff6b}html[data-read-theme=light] .reader-body,html[data-read-theme=sepia] .reader-body,html[data-read-theme=sage] .reader-body{scrollbar-color:rgba(40,32,24,.28) transparent}html[data-read-theme=light] .reader-body::-webkit-scrollbar-thumb,html[data-read-theme=sepia] .reader-body::-webkit-scrollbar-thumb,html[data-read-theme=sage] .reader-body::-webkit-scrollbar-thumb{background:#28201847}html[data-read-theme=light] .reader-body::-webkit-scrollbar-thumb:hover,html[data-read-theme=sepia] .reader-body::-webkit-scrollbar-thumb:hover,html[data-read-theme=sage] .reader-body::-webkit-scrollbar-thumb:hover{background:#2820186b}.content-frame{position:relative;max-width:min(var(--prose-max, 1100px),100%);width:100%;margin:0 auto;border:1px solid var(--line);border-radius:14px;background:var(--bg-elev);padding:1.15rem clamp(.85rem,2.5vw,1.75rem) 1.5rem;box-shadow:0 8px 28px #0000001f}.content-frame-fs{position:absolute;top:.65rem;right:.65rem;z-index:2;width:2rem;height:2rem;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;display:grid;place-items:center;font-size:.95rem}.content-frame-fs:hover{border-color:var(--purple-2);background:var(--purple-dim)}.page-turn-hint{text-align:center;font-size:.8rem;margin:1rem 0 0}.settings-block{margin-bottom:.85rem}.settings-label{font-size:.78rem;font-weight:650;color:var(--muted);margin-bottom:.35rem}.chapter-fab{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:calc(3.75rem + env(safe-area-inset-bottom,0));z-index:45;display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .85rem .45rem .45rem;border-radius:999px;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);font:inherit;font-weight:650;cursor:pointer;box-shadow:0 10px 28px #00000038}.chapter-fab-ref{width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:var(--purple-dim);color:var(--purple-2);font-size:.78rem;font-weight:800}.chapter-fab-label{font-size:.88rem;padding-right:.2rem}.chapter-modal[hidden]{display:none!important}.chapter-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:380}.chapter-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.chapter-modal-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 1.5rem));max-height:min(82vh,720px);display:flex;flex-direction:column;background:var(--bg-elev);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 50px #00000059;overflow:hidden}.chapter-modal-head{padding:1rem 1.1rem .75rem;border-bottom:1px solid var(--line);position:relative}.chapter-modal-head h2{margin:.15rem 0 .25rem;font-size:1.15rem}.chapter-modal-close{position:absolute;top:.65rem;left:.65rem;border:none;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;width:2rem;height:2rem}.chapter-modal-list{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;padding:.35rem .5rem 1rem;flex:1}.chapter-modal-list::-webkit-scrollbar{width:0;height:0;display:none}.chapter-acc{border-bottom:1px solid var(--line)}.chapter-acc summary{list-style:none;display:flex;align-items:center;gap:.65rem;padding:.75rem .55rem;cursor:pointer}.chapter-acc summary::-webkit-details-marker{display:none}.chapter-acc-ico{width:1.45rem;height:1.45rem;border-radius:6px;border:1.5px solid var(--muted);display:grid;place-items:center;font-size:.75rem;font-weight:800;flex-shrink:0;color:#fff}.chapter-acc-ico.is-done,.chapter-acc-ico.is-partial{background:var(--green);border-color:var(--green)}.chapter-acc-copy{display:flex;flex-direction:column;gap:.1rem;min-width:0}.chapter-acc-copy strong{font-size:.95rem}.chapter-acc ul{list-style:none;margin:0;padding:0 0 .55rem 2.2rem}.chapter-acc-sec{width:100%;text-align:left;border:none;background:transparent;color:var(--text);font:inherit;padding:.45rem .55rem;border-radius:8px;display:flex;align-items:center;gap:.45rem;cursor:pointer}.chapter-acc-sec:hover{background:var(--hover)}.chapter-acc-sec.is-active{background:var(--hover);font-weight:650}.chapter-acc-check{width:1.1rem;text-align:center;color:var(--green);font-weight:800}.chapter-modal-foot{padding:.75rem 1rem 1rem;border-top:1px solid var(--line)}.reader-body article{max-width:none;width:100%;margin:0;transition:none}.nav-prev{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.9rem;margin-bottom:1rem;padding:0}.nav-prev:hover{color:var(--purple-2)}.section-heading{margin:0 0 .85rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--ghost)}.section-title{font-family:var(--font);font-size:clamp(1.35rem,2.8vw,1.75rem);font-weight:700;margin:0;line-height:1.3;color:var(--text)}.section-meta{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--muted);font-size:.85rem;margin-bottom:1.35rem}.video-wrap{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:#2e1065;margin-bottom:1.5rem;border:1px solid var(--line)}.video-wrap iframe{width:100%;height:100%;border:0}.video-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);padding:1rem;text-align:center}.prose{font-family:var(--font);font-size:1.08rem;line-height:var(--prose-lh, 1.8);color:var(--text);letter-spacing:.01em}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 1.15rem}.prose li{margin-bottom:.45rem}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--text);font-family:var(--sans);font-weight:700;line-height:1.3;margin:1.75rem 0 .85rem}.prose h2{font-size:1.28rem}.prose h3{font-size:1.12rem}.prose strong{color:var(--text);font-weight:700}.prose mark.hl{cursor:pointer}.prose blockquote{border-left:3px solid var(--purple);padding:.35rem 0 .35rem 1rem;color:var(--muted);font-style:italic}.prose mark,.prose .hl{background:#facc1547;color:inherit;border-radius:2px;padding:0 .15em}.note-box{margin-top:2rem;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.note-box label{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.4rem}.note-box textarea{width:100%;min-height:100px;resize:vertical;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;color:var(--text);outline:none}.note-box textarea:focus{border-color:var(--purple)}.toc-panel,.side-dock{background:var(--bg-elev);border-left:1px solid var(--line);display:flex;flex-direction:row;overflow:hidden;min-width:0;grid-column:3;grid-row:3}.side-panel-main{flex:1 1 var(--toc);width:var(--toc);min-width:0;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--line);transition:opacity .18s ease,width .22s ease}.side-dock.collapsed .side-panel-main,.side-panel-main[hidden]{display:none!important;width:0;flex:0 0 0;border:none;opacity:0;pointer-events:none}.side-icons{flex:0 0 var(--side-icons);width:var(--side-icons);display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.75rem .4rem;background:var(--bg)}.side-icon-btn{position:relative;width:2.55rem;height:2.55rem;border:1px solid var(--line);border-radius:10px;background:var(--ghost);color:var(--text);cursor:pointer;font-size:1.2rem;display:grid;place-items:center;padding:0;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.side-icon-btn .side-ico{line-height:1;font-weight:700}.side-icon-btn:hover{color:var(--text);background:var(--hover);border-color:var(--purple-2)}.side-icon-btn.active{background:var(--purple);color:#fff;border-color:transparent;box-shadow:0 0 0 1px var(--purple-dim),0 8px 20px var(--purple-dim)}.side-icon-btn[data-tip]:hover:after,.side-icon-btn[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--tip-bg);color:var(--tip-fg);font-size:.78rem;font-weight:700;padding:.35rem .55rem;border-radius:6px;white-space:nowrap;z-index:260;box-shadow:0 6px 20px #00000059;pointer-events:none}.side-icon-btn[data-tip]:hover:before,.side-icon-btn[data-tip]:focus-visible:before{content:"";position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#fff;z-index:261;pointer-events:none}.side-icon-toggle{margin-top:auto;font-size:1.15rem;font-weight:700;color:var(--purple-2)}.side-collapse-btn{width:1.65rem;height:1.65rem;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;display:grid;place-items:center;padding:0}.side-collapse-btn:hover{color:var(--purple-2);border-color:#a78bfa66}.toc-head-actions{display:flex;align-items:center;gap:.45rem}.toc-head-label{font-size:.88rem;font-weight:700}.progress-expand-btn{margin-left:.5rem;width:2rem;height:2rem;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem;flex-shrink:0}.progress-expand-btn:hover{color:var(--purple-2);border-color:#a78bfa66}.toc-head{padding:.9rem 1rem;border-bottom:1px solid var(--line);font-weight:700;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.toc-list{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding:.5rem 0 1rem}.toc-list::-webkit-scrollbar{width:0;height:0;display:none}.toc-chapter{border:none;background:transparent;width:100%;text-align:left;padding:.7rem 1rem;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.9rem}.toc-chapter:hover{background:#ffffff08}.toc-chapter .dot{width:18px;height:18px;border-radius:999px;border:2px solid var(--muted);flex-shrink:0;display:grid;place-items:center;font-size:.65rem}.toc-chapter .dot.done{background:var(--green);border-color:var(--green);color:#052e16}.toc-sections{list-style:none;margin:0;padding:0 0 .35rem}.toc-sections button{width:100%;border:none;background:transparent;color:var(--muted);text-align:left;padding:.5rem 1rem .5rem 2.6rem;cursor:pointer;font-size:.85rem;display:flex;align-items:center;gap:.45rem}.toc-sections button:hover{color:var(--text);background:var(--ghost)}.toc-sections button.active{background:var(--hover);color:var(--text);font-weight:600}.toc-sections .mark{width:8px;height:8px;border-radius:999px;border:1.5px solid var(--muted);flex-shrink:0}.toc-sections button.done .mark{background:var(--green);border-color:var(--green)}.toc-sections button.active .mark{background:#fff;border-color:#fff}.progress-bar{grid-column:1 / -1;grid-row:4;min-height:42px;background:var(--bg-elev);border-top:1px solid var(--line);display:flex;align-items:center;gap:.85rem;padding:.45rem 1rem;position:relative}.progress-pill{margin-left:auto;font-size:.82rem;font-weight:700;color:var(--text);background:var(--purple-dim);border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem;white-space:nowrap;order:2}.progress-bar .track{flex:1;height:5px;background:var(--bg-soft);border-radius:999px;overflow:hidden;order:1;max-width:12rem;margin-left:auto}.progress-bar .fill{height:100%;background:linear-gradient(90deg,var(--purple),var(--purple-2));border-radius:inherit;transition:width .35s ease}.progress-expand-btn{order:3}.study-dock{position:fixed;left:calc(var(--rail) + .85rem);bottom:3.35rem;z-index:40;display:flex;align-items:center;gap:.65rem;padding:.45rem .55rem .45rem .45rem;background:var(--bg-elev);border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 30px #0000002e;transition:padding .2s ease,gap .2s ease}.study-dock.is-collapsed{gap:.25rem;padding:.4rem}.study-dock.is-collapsed .study-dock-cols{display:none}.study-dock-toggle{width:2.35rem;height:2.35rem;border:none;border-radius:999px;background:var(--purple);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;display:grid;place-items:center;flex-shrink:0}.study-dock.is-paused .study-dock-toggle{background:var(--purple-2)}.study-dock-cols{display:flex;align-items:stretch;gap:0}.study-dock-col{display:flex;flex-direction:column;gap:.1rem;padding:0 .85rem;border-left:1px solid var(--line)}.study-dock-col:first-child{border-left:none;padding-left:.35rem}.study-dock-label{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.study-dock-time{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700;color:var(--text);line-height:1.1}.study-dock-chevron{border:none;background:var(--hover);color:var(--text);cursor:pointer;font-size:1rem;font-weight:700;width:2rem;height:2rem;border-radius:999px;padding:0;display:grid;place-items:center;flex-shrink:0}.study-dock-chevron:hover{color:var(--purple-2);background:var(--purple-dim)}.study-dock.is-collapsed .study-dock-chevron{background:var(--purple-dim);color:var(--purple-2)}html[data-read-theme=light] .study-dock,html[data-read-theme=sepia] .study-dock,html[data-read-theme=sage] .study-dock{background:#fff;color:#1a1714;border-color:#28201829;box-shadow:0 10px 28px #281e1424}html[data-read-theme=sepia] .study-dock{background:#fffcf5}html[data-read-theme=sage] .study-dock{background:#f7faf6}html[data-read-theme=light] .study-dock-time,html[data-read-theme=sepia] .study-dock-time,html[data-read-theme=sage] .study-dock-time{color:#1a1714}html[data-read-theme=light] .study-dock-label,html[data-read-theme=sepia] .study-dock-label,html[data-read-theme=sage] .study-dock-label,html[data-read-theme=light] .study-dock-chevron,html[data-read-theme=sepia] .study-dock-chevron,html[data-read-theme=sage] .study-dock-chevron{color:#5c564f}html[data-read-theme=dark] .study-dock-time,html[data-read-theme=night] .study-dock-time{color:#f5f0ff}html[data-read-theme=night] .study-dock-time{color:#e8d5b5}@media(max-width:720px){.study-dock{left:max(3.5rem,calc(env(safe-area-inset-left,0) + 3.3rem));bottom:calc(3.35rem + env(safe-area-inset-bottom,0));max-width:calc(100vw - 4rem)}}.toast{position:fixed;bottom:3.5rem;left:50%;transform:translate(-50%);background:var(--bg-elev);border:1px solid var(--line);padding:.6rem 1rem;border-radius:999px;font-size:.9rem;z-index:50;opacity:0;pointer-events:none;transition:opacity .25s}.toast.show{opacity:1}.update-banner{position:fixed;top:0;left:0;right:0;z-index:400;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem;padding:.65rem 1rem;background:var(--panel);color:var(--text);border-bottom:1px solid var(--line);box-shadow:0 8px 24px #00000040;transform:translateY(-110%);transition:transform .25s ease}.update-banner.is-visible{transform:translateY(0)}.update-banner-text{font-size:.9rem;font-weight:600}.btn-sm{padding:.35rem .75rem;font-size:.82rem}@media(max-width:1200px){.reader,.reader.side-collapsed{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto 1fr auto;grid-template-areas:"top" "sub" "body" "progress";height:100dvh;min-height:100vh;overflow:hidden}.reader-top{grid-area:top;grid-column:1 / -1;flex-wrap:wrap;gap:.5rem;padding:.55rem .75rem;min-height:0}.reader-subnav,.reader-live-strip{grid-area:sub;grid-column:1 / -1}.reader-meta p{display:none}.reader-actions{width:100%;justify-content:flex-start}.reader-actions .btn{font-size:.82rem;padding:.45rem .7rem}.tool-rail{position:fixed;left:max(.35rem,env(safe-area-inset-left,0));top:50%;transform:translateY(-50%);z-index:35;grid-area:unset;grid-column:unset;grid-row:unset;flex-direction:column;width:auto;height:auto;max-height:min(68vh,26rem);align-self:auto;border:1px solid var(--line);border-radius:14px;border-right:1px solid var(--line);border-bottom:none;justify-content:flex-start;padding:.4rem .3rem;gap:.15rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;background:color-mix(in srgb,var(--bg-elev) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 28px #00000047}.tool-rail::-webkit-scrollbar{width:0;height:0;display:none}.tool-rail .rail-btn{width:2.35rem;height:2.35rem;min-width:2.35rem;min-height:2.35rem;font-size:1.1rem}.tool-rail .rail-btn[data-tip]:hover:after,.tool-rail .rail-btn[data-tip]:hover:before,.tool-rail .rail-btn[data-tip]:focus-visible:after,.tool-rail .rail-btn[data-tip]:focus-visible:before{display:none}.side-dock.collapsed{display:none!important}.side-dock,.side-dock:not(.collapsed){position:fixed;left:0;right:0;bottom:0;z-index:55;grid-column:unset;grid-row:unset;flex-direction:column;border-left:none;border-top:1px solid var(--line);max-height:min(72vh,560px);background:var(--bg-elev);box-shadow:0 -12px 40px #00000059;padding-bottom:env(safe-area-inset-bottom,0)}.side-dock.collapsed .side-panel-main,.side-panel-main[hidden]{display:none!important}.side-panel-main{width:100%;flex:1 1 auto;max-height:none;border-right:none;border-top:none;min-height:0}.side-icons{flex-direction:row;width:100%;justify-content:space-around;padding:.45rem .35rem;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--bg);order:-1}.side-icon-btn{width:2.55rem;height:2.55rem}.side-icon-btn[data-tip]:hover:after,.side-icon-btn[data-tip]:hover:before{display:none}.side-icon-toggle{margin-top:0;margin-left:0}.reader-body{grid-area:body;grid-column:1 / -1!important;grid-row:auto;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem 1rem 4.5rem 3.6rem;scrollbar-width:none;-ms-overflow-style:none}.reader-body::-webkit-scrollbar{width:0;height:0;display:none}.reader-body article,.reader-body .content-frame{max-width:100%;width:100%}.progress-bar{grid-area:progress;grid-column:1 / -1!important;grid-row:auto;position:relative;z-index:25;min-height:0;padding:.4rem .75rem calc(.4rem + env(safe-area-inset-bottom,0))}.progress-bar .track{display:none}.study-dock{left:max(3.6rem,calc(env(safe-area-inset-left,0) + 3.4rem));right:auto;bottom:calc(3.35rem + env(safe-area-inset-bottom,0));max-width:min(100% - 1.3rem,20rem)}.study-dock.is-collapsed .study-dock-cols{display:none}.chapter-fab{bottom:calc(3.35rem + env(safe-area-inset-bottom,0))}.sel-toolbar{max-width:calc(100vw - 12px);left:6px!important;right:6px;width:auto}.section-title{font-size:1.25rem}.prose{font-size:1.05rem}.video-wrap{border-radius:10px;margin-bottom:1rem}.q-card,.note-box,.tts-bar{border-radius:12px}}@media(max-width:640px){.lib-layout{grid-template-columns:1fr}.rail{flex-direction:row;height:auto;width:100%;position:sticky;top:0;z-index:20;justify-content:flex-start;padding:.45rem .55rem;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.2rem}.rail-btn{min-width:3.4rem;min-height:3rem;flex:0 0 auto}.rail-txt{font-size:.62rem;max-width:3.6rem}.rail-logo{margin-bottom:0;margin-right:.25rem;width:38px;height:38px}.book-row{grid-template-columns:auto 1fr}.book-row .badge,.book-row .pct{display:none}.lib-main{padding:1rem .9rem calc(2.5rem + env(safe-area-inset-bottom,0))}.lib-head{flex-direction:column;align-items:stretch}.lib-head-actions{width:100%}.lib-head-actions .btn{flex:1}.search-bar{max-width:100%}.book-list{grid-template-columns:1fr}.tabs-row{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.tab-btn{white-space:nowrap;flex:0 0 auto}.admin-editor-grid{grid-template-columns:1fr!important}.admin-tree{max-height:28vh;border-right:none;border-bottom:1px solid var(--line)}.admin-editor-top{padding:.55rem .65rem}.admin-editor-top .btn-row{width:100%}.studio-grid,.prepare-pdf-row,.auth-grid{grid-template-columns:1fr}.toast{left:.75rem;right:.75rem;transform:none;width:auto;text-align:center;bottom:calc(1rem + env(safe-area-inset-bottom,0))}}@media(min-width:641px)and (max-width:900px){.lib-layout{grid-template-columns:var(--rail) minmax(0,1fr)}.lib-main{padding:1.25rem 1.5rem 3rem}.book-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(hover:none)and (pointer:coarse){.btn,.tool-chip,.pill,.side-icon-btn,.tool-rail .rail-btn{min-height:44px}.prose{-webkit-user-select:text;user-select:text}}.empty{color:var(--muted);padding:2rem 0}.small-lead{margin:.35rem 0 0;font-size:.9rem;font-weight:400}.admin-banner{background:var(--purple-dim);border:1px solid rgba(167,139,250,.25);border-radius:var(--radius);padding:.85rem 1rem;font-size:.9rem;color:var(--text);margin-bottom:1.25rem;line-height:1.45}.admin-h2{font-size:1.05rem;margin:1.5rem 0 .65rem;color:var(--purple-2)}.admin-row{grid-template-columns:auto 1fr auto auto;cursor:default}.admin-row-main{cursor:pointer;min-width:0}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.btn-sm{padding:.35rem .7rem!important;font-size:.8rem!important}.admin-editor{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.admin-editor-top{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);background:var(--bg-elev);position:sticky;top:0;z-index:10}.admin-editor-title{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.35rem}.admin-editor-title input{width:100%;border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;padding:.45rem .65rem;color:var(--text)}.admin-editor-title input:first-child{font-weight:700;font-size:1.05rem}.admin-editor-grid{display:grid;grid-template-columns:260px 1fr 1fr;gap:0;flex:1;min-height:0}.admin-tree,.admin-form,.admin-preview{border-right:1px solid var(--line);padding:1rem;overflow-y:auto;max-height:calc(100vh - 70px)}.admin-preview{border-right:none;background:radial-gradient(500px 200px at 50% 0%,rgba(124,58,237,.08),transparent 60%)}.admin-tree-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.tree-ch{margin-bottom:.75rem}.tree-ch-btn{width:100%;text-align:left;border:none;background:var(--bg-soft);color:var(--text);font-weight:600;padding:.5rem .65rem;border-radius:8px;cursor:pointer;font-size:.88rem}.tree-ch-btn:hover{background:var(--purple-dim)}.tree-ch ul{list-style:none;margin:.35rem 0;padding:0 0 0 .5rem}.tree-sec-btn{width:100%;text-align:left;border:none;background:transparent;color:var(--muted);padding:.4rem .5rem;border-radius:6px;cursor:pointer;font-size:.85rem}.tree-sec-btn:hover,.tree-sec-btn.active{background:#ffffff0f;color:var(--text)}.tree-add{font-size:.8rem;margin-left:.5rem;background:none;border:none;color:var(--purple-2);cursor:pointer;text-decoration:underline}.admin-meta-block{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.65rem}.admin-meta-block label,.field-block{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.85rem}.admin-meta-block input,.field-block input,.field-block textarea{font:inherit;font-weight:500;color:var(--text);border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;padding:.55rem .65rem}.field-block textarea{min-height:220px;resize:vertical;line-height:1.5;font-family:ui-monospace,Cascadia Code,monospace;font-size:.88rem}.field-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.admin-preview-head{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.75rem}.admin-preview-body{font-size:1rem!important}.draft-banner{grid-column:1 / -1;background:#facc151f;color:#fde68a;text-align:center;font-size:.85rem;font-weight:600;padding:.45rem;border-bottom:1px solid rgba(250,204,21,.2)}@media(max-width:1100px){.admin-editor-grid{grid-template-columns:220px 1fr}.admin-preview{display:none}}.rail-btn{width:100%;min-width:0;min-height:3.15rem;padding:.45rem .2rem;flex-direction:column;gap:.2rem}.rail-ico{font-size:1.4rem;line-height:1;font-weight:700}.rail-txt{font-size:.72rem;font-weight:650;letter-spacing:.01em;max-width:4.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}.rail-btn-conta.guest{color:var(--purple-2);background:var(--purple-dim)}.lib-head-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.account-cta{margin-bottom:1rem}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;align-items:start}.auth-grid .panel-card,.conta-page .panel-card{max-width:none;margin-top:0}.panel-card-highlight{border-color:#a78bfa73;box-shadow:0 0 0 1px #7c3aed26}@media(max-width:720px){.auth-grid{grid-template-columns:1fr}}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{font:inherit;font-weight:500;color:var(--text);border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;padding:.7rem .85rem;transition:border-color .15s ease,box-shadow .15s ease}.auth-form input:focus{outline:none;border-color:#a78bfa8c;box-shadow:0 0 0 3px #7c3aed2e}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:hover,.auth-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);transition:background-color 9999s ease-in-out 0s;box-shadow:0 0 0 1000px var(--bg-elev) inset;border:1px solid var(--line)}.auth-submit{margin-top:.25rem;width:100%;justify-content:center}.auth-form-inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.auth-form-inline label{flex:1 1 160px}.auth-form-inline .btn{width:auto}.conta-page{max-width:880px}.conta-hero{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.conta-mark{flex:0 0 auto;width:3rem;height:3rem;border-radius:14px;display:grid;place-items:center;font-weight:800;font-size:1.25rem;color:#fff;background:linear-gradient(145deg,var(--purple),#5b21b6);box-shadow:0 10px 28px #5b21b659}.conta-hero h1{margin:0;font-size:clamp(1.55rem,3vw,1.9rem);letter-spacing:-.02em}.conta-lead{margin:.35rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.45;max-width:36rem}.conta-note{margin:0 0 1.35rem;padding:.7rem .95rem;border-radius:10px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);font-size:.88rem;line-height:1.45}.conta-note.is-warn{border-color:#facc1559;background:#facc1514;color:#fde68a}.auth-card{padding:1.35rem 1.35rem 1.45rem;min-height:100%}.auth-card h2{margin:0 0 .35rem;font-size:1.2rem;letter-spacing:-.01em}.conta-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.conta-trust li{font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.35rem .75rem;background:#ffffff08}.conta-session{padding:1.35rem;margin-bottom:1rem}.conta-session-top{display:flex;gap:1rem;align-items:center;margin-bottom:1.1rem}.conta-avatar{width:3.25rem;height:3.25rem;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:1.2rem;color:#fff;background:linear-gradient(145deg,var(--purple-2),var(--purple))}.conta-session-name{margin:0;font-size:1.15rem}.conta-session-email{margin:.2rem 0 .45rem;color:var(--muted);font-size:.9rem}.conta-role{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--purple-2);background:var(--purple-dim);border-radius:999px;padding:.2rem .55rem}.conta-actions{margin-top:.25rem}.conta-join{margin-bottom:0}@media(max-width:640px){.conta-hero{gap:.75rem}.auth-form-inline{flex-direction:column;align-items:stretch}.auth-form-inline .btn{width:100%}}.check-row{flex-direction:row!important;align-items:center;gap:.5rem!important;font-weight:500!important;color:var(--text)!important}.roadmap-list{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.92rem;line-height:1.55}.q-stats{margin:1rem 0 0;font-size:.9rem}.q-block{margin:1.75rem 0;padding-top:.5rem;border-top:1px solid var(--line)}.q-block-title{font-family:var(--serif);font-size:1.2rem;margin:0 0 .35rem;color:var(--purple-2)}.q-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin:.85rem 0}.q-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.q-num{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.q-stem{margin:0 0 .85rem;font-size:1.02rem;line-height:1.5}.q-options{display:flex;flex-direction:column;gap:.45rem}.q-opt{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;border-radius:10px;border:1px solid var(--line);background:var(--bg-elev);cursor:pointer;font-weight:500;font-size:.95rem}.q-opt input{margin-top:.2rem}.q-letter{font-weight:700;color:var(--purple-2);min-width:1.1rem}.q-opt.is-correct{border-color:#22c55e8c;background:#22c55e1f}.q-opt.is-wrong{border-color:#f871718c;background:#f871711a}.q-opt.is-picked-sim{border-color:#a78bfa8c;background:#7c3aed26}.sim-section-title{font-family:var(--serif);font-size:1.15rem;margin:1.5rem 0 .65rem;color:var(--purple-2)}.sim-setup{display:flex;flex-direction:column;gap:.85rem}.sim-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600}.sim-field input,.sim-field select{font:inherit;font-weight:500;color:var(--text);background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;max-width:16rem}.sim-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);position:sticky;top:0;z-index:5}.sim-timer{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.35rem;letter-spacing:.04em;color:var(--purple-2);min-width:4.5rem;text-align:right}.sim-timer.is-low{color:#f87171;animation:sim-pulse 1s ease infinite}@keyframes sim-pulse{50%{opacity:.65}}.sim-dots{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.sim-dot{width:2rem;height:2rem;border-radius:8px;border:1px solid var(--line);background:var(--bg-elev);color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:600}.sim-dot.filled{border-color:#a78bfa73;color:var(--text)}.sim-dot.active{background:var(--purple);border-color:var(--purple);color:#fff}.sim-footer{justify-content:space-between}.sim-result-hero{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.1rem 1.25rem;margin-bottom:1rem;background:linear-gradient(120deg,#7c3aed38,#7c3aed0f);border:1px solid var(--line);border-radius:var(--radius)}.sim-score{font-size:2.4rem;font-weight:800;color:var(--purple-2);line-height:1;min-width:4.5rem}.sim-card{margin-top:0}.perf-main{max-width:920px}.perf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin-bottom:1rem}.perf-kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem}.perf-kpi-val{font-size:1.65rem;font-weight:800;color:var(--purple-2);line-height:1.1;font-variant-numeric:tabular-nums}.perf-kpi-sub{font-size:.95rem;font-weight:600;color:var(--muted)}.perf-kpi-lbl{font-size:.78rem;color:var(--muted);line-height:1.3}.perf-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.15rem 1.15rem;margin-bottom:.85rem}.perf-card h2{margin:0 0 .35rem;font-size:1.05rem;font-family:var(--serif);color:var(--text)}.perf-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.82rem;color:var(--muted);margin:.5rem 0 .65rem}.perf-legend i{display:inline-block;width:.65rem;height:.65rem;border-radius:2px;margin-right:.35rem;vertical-align:middle}.lg-ok{background:#22c55e}.lg-bad{background:#f87171}.lg-pend{background:#a78bfa8c}.chart-wrap{margin-top:.35rem}.chart-wrap-line{overflow-x:auto}.chart-svg{display:block;max-width:100%}.chart-axis{fill:var(--muted);font-size:10px;font-family:var(--font)}.chart-bar-label{font-size:11px}.chart-point-label{fill:var(--purple-2);font-size:10px;font-weight:700;font-family:var(--font)}.chart-empty{padding:1.5rem .5rem;text-align:center;color:var(--muted);font-size:.92rem}.perf-sim-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.perf-sim-row{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--line);background:var(--bg-elev);cursor:pointer;color:inherit}.perf-sim-row:hover{border-color:#a78bfa66}.perf-sim-pct{font-weight:800;font-variant-numeric:tabular-nums;min-width:3rem;color:var(--purple-2)}.perf-sim-pct.ok{color:var(--green)}.perf-sim-pct.bad{color:#f87171}.perf-sim-row strong{font-weight:600;font-size:.92rem}.q-footer{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.q-result{margin:0;font-weight:600;width:100%}.q-result.ok{color:var(--green)}.q-result.bad{color:#f87171}.q-comment{width:100%;font-size:.92rem;color:var(--muted);line-height:1.5;padding:.65rem .75rem;background:#ffffff08;border-radius:8px;border-left:3px solid var(--purple)}.q-admin{margin:1rem 0;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:#00000026}.q-admin-list{list-style:none;margin:0 0 .85rem;padding:0}.q-admin-list li{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.q-admin-list li span{flex:1;min-width:12rem}.q-admin-form select{font:inherit;color:var(--text);border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;padding:.55rem .65rem}.book-row-wrap{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;min-width:0}.book-row-wrap .book-row{flex:1;min-width:0}.book-q-btn{align-self:flex-start;white-space:nowrap}.qb-main{max-width:840px}.qb-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0 0 1rem;padding:.85rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);font-size:.92rem;color:var(--muted)}.qb-stats strong{color:var(--text);font-weight:700;margin-right:.2rem}.qb-pct{margin-left:auto;color:var(--purple-2);font-weight:600}.qb-filters{margin-bottom:1rem}.qb-filter-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.qb-filter-row select,.qb-filter-row input{font:inherit;color:var(--text);background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem;min-width:9rem}.qb-filter-row input{flex:1;min-width:12rem}.q-context{margin:0 0 .55rem;font-size:.82rem}.qb-list{padding-bottom:2.5rem}.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}.roadmap-list li{margin-bottom:.35rem}.prose .hl,.hl{background:#fef08a;color:inherit;border-radius:2px;padding:0 .1em}.hl-yellow{background:#fef08a!important}.hl-green{background:#bbf7d0!important}.hl-blue{background:#bfdbfe!important}.hl-pink{background:#fbcfe8!important}.hl-lavender{background:#ddd6fe!important}.hl-orange{background:#fed7aa!important}.hl-coral{background:#fecaca!important}.hl-cyan{background:#a5f3fc!important}.hl-underline{background:transparent!important;text-decoration:underline;text-decoration-color:#c4b5fd;text-decoration-thickness:2px;text-underline-offset:3px;padding:0}.hl-strike{background:transparent!important;text-decoration:line-through;text-decoration-color:#f87171;opacity:.85;padding:0}.sel-toolbar{position:fixed;z-index:200;display:flex;flex-direction:column;gap:.45rem;padding:.5rem .55rem;background:var(--panel);border:1px solid var(--purple-2);border-radius:12px;box-shadow:0 12px 40px #00000059;max-width:calc(100vw - 16px)}.sel-toolbar[hidden]{display:none!important}.sel-toolbar-actions{display:flex;align-items:center;justify-content:center;gap:.35rem}.sel-toolbar-colors{display:flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap;padding-top:.15rem;border-top:1px solid rgba(255,255,255,.08)}.sel-action{width:2.15rem;height:2.15rem;border:none;border-radius:999px;background:#ffffff0f;color:#f5f0ff;cursor:pointer;font:inherit;font-size:1rem;font-weight:700;display:grid;place-items:center;padding:0}.sel-action:hover{background:#ffffff1f}.sel-action.is-active{background:var(--purple);color:#fff;box-shadow:0 0 0 2px #a78bfa59}.sel-swatch{width:1.45rem;height:1.45rem;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #00000026}.sel-swatch:hover{transform:scale(1.1)}.sel-swatch.is-picked{border-color:#fff;box-shadow:0 0 0 2px #7c3aed8c}.sel-yellow{background:#fef08a}.sel-green{background:#4ade80}.sel-blue{background:#60a5fa}.sel-pink{background:#f472b6}.sel-lavender{background:#a78bfa}.sel-orange{background:#fb923c}.sel-coral{background:#f87171}.sel-cyan{background:#22d3ee}.sel-tool{min-width:1.7rem;height:1.55rem;border:none;border-radius:6px;background:#ffffff0f;color:#f5f0ff;cursor:pointer;font:inherit;font-size:.85rem;font-weight:700;padding:0 .35rem}.sel-tool:hover{background:var(--purple-dim);color:var(--purple-2)}.callout-seliga{position:relative;border:1px solid var(--line)!important;background:var(--purple-dim)!important;border-radius:12px!important;padding:1.1rem 1.2rem 1.1rem 1.15rem!important;margin:1.5rem 0!important;color:var(--text)!important;quotes:none;font-style:normal!important}.callout-seliga .callout-badge{display:inline-block;font-family:var(--font);font-size:.72rem;font-weight:800;letter-spacing:.06em;color:#fff;background:linear-gradient(135deg,var(--purple),#5b21b6);padding:.28rem .6rem;border-radius:999px;margin-bottom:.65rem}.filter-wrap{position:relative}.filter-wrap>summary{list-style:none;cursor:pointer}.filter-wrap>summary::-webkit-details-marker{display:none}.filter-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:11rem;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.35rem;z-index:40;display:flex;flex-direction:column;gap:.2rem;box-shadow:0 12px 40px #00000059}.filter-opt{border:none;background:transparent;color:var(--text);text-align:left;padding:.45rem .65rem;border-radius:8px;cursor:pointer;font:inherit;font-size:.88rem}.filter-opt:hover,.filter-opt.active{background:var(--purple-dim);color:var(--purple-2)}.right-tabs{display:flex;gap:.2rem}.right-tab{width:2rem;height:2rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:.95rem}.right-tab.active{background:var(--purple-dim);color:var(--purple-2);border-color:#a78bfa59}.toc-panel-title{display:none}.side-panel-body{padding:.75rem .85rem 1.5rem;overflow-y:auto;flex:1;min-height:0}.side-group{margin-bottom:.85rem}.marks-list{list-style:none;margin:.4rem 0 0;padding:0}.marks-list li,.mark-row{margin:.4rem 0;padding:.45rem .55rem;border-radius:8px;font-size:.88rem;line-height:1.4}.marks-list.compact li{font-size:.82rem}.mark-row{display:flex;flex-direction:column;gap:.35rem}.mark-row p{margin:0}.hl-count{font-size:.68rem;background:#fef08a40;color:#fde047;border-radius:6px;padding:.05rem .35rem;margin-left:auto}.notebook-card{border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;margin-bottom:.65rem;background:var(--bg-elev)}.notebook-card h4{margin:0 0 .15rem;font-size:.92rem}.notebook-note{margin:.45rem 0 0;font-size:.88rem;color:var(--muted);white-space:pre-wrap}.search-hit{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:.15rem;text-align:left;border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;padding:.55rem .65rem;margin-bottom:.4rem;cursor:pointer;color:inherit;font:inherit}.search-hit:hover{border-color:#a78bfa66}.mode-hint{margin-top:.75rem}.btn-complete{min-width:7.5rem}.toc-sections button{display:flex;align-items:center;gap:.45rem;width:100%}.meu-caderno-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}.download-panel .dl-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin:.85rem 0 1rem}.dl-pill{border:1px solid rgba(167,139,250,.45);background:transparent;color:var(--purple-2);border-radius:999px;padding:.4rem .9rem;font-weight:700;font-size:.82rem;cursor:pointer}.dl-pill.active{background:var(--purple);border-color:transparent;color:#fff}.dl-actions{display:flex;flex-direction:column;gap:.55rem}.comments-head{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.85rem}.comment-form{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.comment-kinds{display:flex;flex-wrap:wrap;gap:.45rem .75rem;font-size:.82rem;color:var(--muted)}.comment-kinds label{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.comment-form textarea{width:100%;resize:vertical;min-height:88px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;color:var(--text);font:inherit}.comment-form textarea:focus{outline:none;border-color:var(--purple)}.comment-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;margin-bottom:.55rem}.comment-card header{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:.4rem}.comment-card p{margin:0 0 .5rem;white-space:pre-wrap;font-size:.9rem;line-height:1.45}.studio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:.85rem;margin-bottom:1.35rem}.studio-card{text-align:left;border:1px solid rgba(167,139,250,.25);background:linear-gradient(145deg,#7c3aed24,#120e1c66);border-radius:14px;padding:1.1rem 1.15rem;cursor:pointer;color:inherit;font:inherit;display:flex;flex-direction:column;gap:.45rem;transition:border-color .15s,transform .15s}.studio-card:hover{border-color:#a78bfa8c;transform:translateY(-2px)}.studio-card strong{font-size:1.05rem;color:var(--purple-2)}.studio-card span{font-size:.88rem;color:var(--muted);line-height:1.4}.prepare-block{margin-bottom:1.75rem;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.prepare-drop{margin-top:.85rem;padding:1.5rem 1rem;border:1.5px dashed rgba(167,139,250,.4);border-radius:12px;text-align:center;background:#7c3aed0f}.prepare-drop.is-drag{border-color:var(--purple-2);background:#7c3aed29}.prepare-pdf-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.75rem}.prepare-next{margin:.5rem 0 1rem;padding-left:1.2rem;color:var(--muted);line-height:1.55}.turmas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1.5rem}.turma-code-card .turma-code{font-size:clamp(1.75rem,5vw,2.4rem);letter-spacing:.2em;font-weight:700;margin:.35rem 0 .5rem;color:var(--purple-2)}.turma-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.turma-table{width:100%;border-collapse:collapse;font-size:.92rem}.turma-table th,.turma-table td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.turma-table th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.turma-table tr:last-child td{border-bottom:none}@media(max-width:640px){.turma-code-card .turma-code{letter-spacing:.12em}}.live-panel{margin-bottom:1.25rem}.live-panel.is-live{border-color:#22c55e73;box-shadow:0 0 0 1px #22c55e26}.live-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.live-panel-head h3{margin:0}.live-banner.is-live{margin-bottom:.75rem}.live-banner-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem .9rem;border-radius:10px;background:#22c55e1f;border:1px solid rgba(34,197,94,.28)}.live-banner-inner p{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}.live-dot{width:.65rem;height:.65rem;border-radius:50%;background:#22c55e;box-shadow:0 0 #22c55e80;animation:live-pulse 1.6s ease-out infinite;flex:0 0 auto}@keyframes live-pulse{0%{box-shadow:0 0 #22c55e73}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}.live-controls{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.live-control-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-bottom:.65rem}.live-grow{flex:1 1 220px;display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}.live-grow select,.live-grow input{font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem}.live-quick{margin-bottom:.65rem}.reader-live-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.55rem 1rem;background:#22c55e24;border-bottom:1px solid rgba(34,197,94,.3);grid-column:1 / -1}.reader-live-strip[hidden]{display:none!important}.reader-live-text{flex:1 1 160px;font-size:.9rem}.reader-live-text strong{margin-right:.35rem}.turmas-grid-wide{margin-bottom:1.25rem}.recent-attempts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;max-height:220px;overflow-y:auto}.recent-attempts li{display:flex;flex-wrap:wrap;gap:.4rem .65rem;align-items:center;font-size:.88rem;padding:.35rem 0;border-bottom:1px solid var(--line)}.recent-attempts li:last-child{border-bottom:none}.recent-tag{font-size:.75rem;font-weight:600;padding:.1rem .4rem;border-radius:6px}.recent-tag.ok{background:var(--green-dim);color:var(--green)}.recent-tag.bad{background:#ef44442e;color:#f87171}.doubt-form{margin-bottom:1rem}.doubt-form textarea{width:100%;resize:vertical;min-height:64px;font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;padding:.5rem .65rem}.doubt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.doubt-item{padding:.75rem .85rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft)}.doubt-item.is-resolved{opacity:.72}.doubt-item p{margin:.4rem 0 .55rem;white-space:pre-wrap}.doubt-meta{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:center;font-size:.85rem}.presence-card{margin-bottom:1.25rem}.presence-list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.presence-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.9rem}.presence-list li.is-me strong{color:var(--purple-2)}.presence-list li.hand-up{background:#facc151f;border-radius:8px;padding:.25rem .4rem}.hand-badge{font-size:1rem}.auto-follow-row{margin:.35rem 0 .65rem}.live-subhead{margin:.85rem 0 .4rem;font-size:.92rem}.activity-log{list-style:none;margin:0;padding:0;max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.activity-log li{display:flex;flex-wrap:wrap;gap:.35rem .65rem;font-size:.85rem;padding:.3rem 0;border-bottom:1px solid var(--line)}.activity-log li:last-child{border-bottom:none}.lib-live-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--radius);background:#22c55e1f;border:1px solid rgba(34,197,94,.32)}.lib-live-banner p{margin:.2rem 0 0}.lib-live-banner .btn-row{margin-left:auto}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom,0));background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(124,58,237,.28),transparent 55%),var(--bg)}.login-card{width:min(420px,100%);text-align:center}.login-brand{width:64px;height:64px;margin:0 auto 1.1rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.55rem;color:#fff;background:linear-gradient(145deg,#5b8def,#3b6fd9);box-shadow:0 8px 28px #3b6fd959}.login-card h1{margin:0 0 .45rem;font-size:clamp(1.35rem,4vw,1.65rem);font-weight:700;letter-spacing:-.02em}.login-lead{margin:0 0 1.5rem;color:var(--muted);font-size:.92rem;line-height:1.45}.login-form{display:flex;flex-direction:column;gap:.85rem;text-align:left}.login-form>label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--muted)}.login-field{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;padding:.15rem .65rem;transition:border-color .15s ease,box-shadow .15s ease}.login-field:focus-within{border-color:#5b8defb3;box-shadow:0 0 0 3px #5b8def33}.login-ico{flex:0 0 auto;opacity:.65;font-size:.95rem}.login-field input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);padding:.75rem .25rem;font:inherit;font-weight:500}.login-field input:focus{outline:none}.login-eye{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:.35rem;border-radius:8px;line-height:1}.login-eye:hover{color:var(--text);background:var(--hover)}.login-check{flex-direction:row!important;align-items:center;gap:.55rem!important;font-weight:500!important;color:var(--text)!important;font-size:.88rem!important}.login-check input{width:1.05rem;height:1.05rem;accent-color:var(--green)}.login-submit{width:100%;margin-top:.35rem;padding:.85rem 1rem;font-size:1rem;font-weight:700;border-radius:12px;background:#7eb6ff;color:#0b1220;border:none}.login-submit:hover:not(:disabled){filter:brightness(1.05)}.login-submit:disabled{opacity:.45;cursor:not-allowed}.login-alt{width:100%;margin-top:.75rem;border-radius:12px;border-color:#7eb6ff73;color:#9ec5ff}.login-switch{margin:1.15rem 0 0;font-size:.9rem;color:var(--muted)}.home-main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0));max-width:720px}.home-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.home-topbar h1{margin:0;font-size:1.15rem;font-weight:700}.home-menu-btn{width:2.4rem;height:2.4rem;border:none;border-radius:10px;background:var(--bg-elev);color:var(--text);cursor:pointer;font-size:1.15rem;line-height:1}.home-menu-btn:hover{background:var(--purple-dim);color:var(--purple-2)}.home-tabs{display:flex;gap:.45rem;margin-bottom:1.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.home-tab{flex:0 0 auto;border:none;border-radius:999px;padding:.55rem 1rem;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.home-tab.active{background:var(--bg-soft);color:var(--text)}.home-hero-copy{margin-bottom:1.35rem}.home-hero-copy h2{margin:0 0 .35rem;font-size:clamp(1.25rem,3.5vw,1.55rem);font-weight:700}.home-hero-copy p{margin:0;color:var(--muted);font-size:.92rem}.home-section-block{margin-bottom:1.5rem}.home-section-block>h2{margin:0 0 .75rem;font-size:1rem;font-weight:700}.home-last-card{width:100%;display:flex;align-items:flex-start;gap:.85rem;text-align:left;border:1px solid var(--line);background:var(--bg-soft);color:inherit;border-radius:14px;padding:1rem;cursor:pointer;font:inherit}.home-last-card:hover{border-color:#a78bfa66;background:var(--panel)}.home-last-ico{font-size:1.35rem;line-height:1;margin-top:.1rem}.home-last-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.home-kicker{font-size:.75rem;color:var(--muted);font-weight:600}.home-last-copy strong{font-size:.98rem;line-height:1.35}.home-linkish{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;border:none;background:transparent;color:var(--purple-2);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}.home-empty-last{padding:1rem;border-radius:14px;background:var(--bg-elev);border:1px dashed var(--line)}.home-empty-last p{margin:0 0 .75rem;color:var(--muted)}.home-continue{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--bg-soft)}.home-continue-row{width:100%;display:flex;align-items:flex-start;gap:.85rem;text-align:left;border:none;border-bottom:1px solid var(--line);background:transparent;color:inherit;padding:.95rem 1rem;cursor:pointer;font:inherit}.home-continue-row:last-child{border-bottom:none}.home-continue-row:hover{background:var(--hover)}.home-continue-ico{width:1.5rem;text-align:center;opacity:.85;margin-top:.15rem}.home-continue-row strong{display:block;font-size:.95rem;margin-bottom:.15rem}.home-continue-row .muted{display:block;font-size:.82rem;line-height:1.35}.home-course-list{display:flex;flex-direction:column;gap:.55rem}.home-course-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;text-align:left;border:1px solid var(--line);background:var(--bg-elev);color:inherit;border-radius:12px;padding:.85rem .95rem;cursor:pointer;font:inherit}.home-course-row:hover{border-color:#a78bfa59}.home-course-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.home-course-copy strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-course-copy .muted{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-course-pct{font-size:.85rem;font-weight:700;color:var(--purple-2)}.bottom-nav{display:none}.has-bottom-nav .lib-main{padding-bottom:calc(5.25rem + env(safe-area-inset-bottom,0))}@media(max-width:640px){.has-bottom-nav>.rail{display:none}.has-bottom-nav{grid-template-columns:1fr}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg-elev);border-top:1px solid var(--line);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom,0))}.bottom-nav-btn{border:none;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.35rem .2rem;border-radius:10px;cursor:pointer;font:inherit;min-height:3.1rem}.bottom-nav-btn.active{color:var(--purple-2)}.bottom-nav-ico{font-size:1.2rem;line-height:1;font-weight:700}.bottom-nav-txt{font-size:.65rem;font-weight:650}.home-layout .home-topbar{position:sticky;top:0;z-index:15;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-left:-.15rem;margin-right:-.15rem;padding:.35rem .15rem}}@media(min-width:641px){.home-topbar .home-menu-btn:first-child{visibility:hidden}}.asst-page{max-width:820px}.admin-banner.is-warn{border-color:#eab30873;background:#eab3081f}.asst-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem}.asst-chip{border:1px solid var(--line);background:var(--bg-elev);color:var(--text);border-radius:999px;padding:.45rem .85rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.asst-chip:hover{border-color:#a78bfa73;background:var(--purple-dim);color:var(--purple-2)}.asst-thread{display:flex;flex-direction:column;gap:.75rem;min-height:12rem;max-height:min(52vh,420px);overflow-y:auto;scrollbar-width:thin;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);margin-bottom:1rem}.asst-bubble{max-width:min(100%,36rem);padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line)}.asst-bubble pre{margin:0;white-space:pre-wrap;word-break:break-word;font:inherit;font-size:.92rem;line-height:1.45}.asst-user{align-self:flex-end;background:var(--purple-dim);border-color:#a78bfa59}.asst-bot{align-self:flex-start;background:var(--bg-soft)}.asst-form textarea{width:100%;box-sizing:border-box;margin-bottom:.75rem;border:1px solid var(--line);border-radius:12px;background:var(--bg-elev);color:var(--text);padding:.75rem .9rem;font:inherit;resize:vertical;min-height:5rem}.asst-form textarea:focus{outline:none;border-color:#a78bfa8c;box-shadow:0 0 0 3px #7c3aed2e}
