@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');:root{--wine:#70263d;--wine2:#8a3850;--wine-dark:#481a2b;--beige:#eadcc8;--paper:#fbf8f2;--ink:#2f2930;--muted:#79727a;--line:#e9e3dc;--green:#66816c;--shadow:0 14px 40px #3b20210c;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans)}a{color:var(--wine);text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3{line-height:1.2;margin:0 0 14px}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.025em}h1{font-size:clamp(2.2rem,4vw,3.65rem)}h2{font-size:1.72rem}h3{font-size:1.12rem}p{color:var(--muted);margin:.3em 0 1em}.brand{display:flex;gap:10px;align-items:center;color:var(--wine-dark);font-size:15px;line-height:1.08;font-weight:700;letter-spacing:.08em}.brand small{display:block;color:#968b86;font-size:8px;letter-spacing:.18em;margin-top:5px}.brand-light{font-weight:400}.brand-mark{width:39px;height:39px;border-radius:13px 13px 13px 4px;background:var(--wine);color:#fff8f0;display:grid;place-items:center;font-family:var(--serif);font-size:24px;letter-spacing:-.1em}.public-nav{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#fbf8f2ee;border-bottom:1px solid #efe9e1}.public-nav nav{display:flex;align-items:center;gap:28px}.public-nav nav>a:not(.btn){color:#65585c;font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;padding:11px 18px;border-radius:9px;font-size:13px;font-weight:700;transition:.18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #70263d22}.btn-primary{background:var(--wine);color:#fff}.btn-primary:hover{background:var(--wine2)}.btn-outline{border-color:#d8c8c1;background:transparent;color:var(--wine)}.btn-light{background:#fffaf2;color:var(--wine)}.btn-lg{padding:15px 22px}.btn-block{width:100%;margin-top:6px}.hero{max-width:1260px;margin:auto;padding:74px 6vw 60px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:24px;min-height:580px}.hero-copy{position:relative;z-index:1}.eyebrow{display:block;color:var(--wine2);font-size:10px;font-weight:700;letter-spacing:.17em;margin-bottom:15px}.hero h1{font-size:clamp(3rem,5vw,4.7rem);line-height:1.08;color:#33242a;margin-bottom:22px}.hero h1 em,.welcome-row h1 em{color:var(--wine);font-weight:600}.hero-copy>p{font-size:16px;line-height:1.8;max-width:480px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.text-link{font-size:13px;font-weight:700}.hero-proof{display:flex;align-items:center;gap:12px;margin-top:44px;color:#877d7c;font-size:11px}.mini-avatars{letter-spacing:-5px;color:#9b6a68;font-size:18px}.hero-art{height:430px;position:relative;display:grid;place-items:center}.hero-art img{position:relative;z-index:1;width:100%;max-width:560px;max-height:420px;object-fit:contain;border-radius:47% 47% 18% 18%;mix-blend-mode:multiply}.hero-orbit{position:absolute;width:380px;height:380px;border-radius:50%;background:#f0e4d5;right:10%;top:5%}.owl-note,.floating-note{position:absolute;z-index:2;background:#fffdf8;border-radius:14px;box-shadow:var(--shadow);padding:13px 16px;display:flex;align-items:center;gap:10px}.owl-note{bottom:48px;left:-7px}.owl-note>span{font-size:25px}.owl-note b,.owl-note small{display:block}.owl-note b{font-size:12px}.owl-note small{font-size:10px;color:var(--muted)}.floating-note{right:0;top:50px;font-size:11px;color:var(--wine);transform:rotate(3deg)}.stat-strip{display:flex;justify-content:center;gap:9vw;background:#f2ece3;padding:24px 5vw}.stat-strip div{display:flex;align-items:center;gap:12px;color:#675d5a;font-size:12px}.stat-strip strong{font:600 20px var(--serif);color:var(--wine)}.section{max-width:1200px;padding:94px 5vw;margin:auto}.section-head{text-align:center;margin-bottom:43px}.section-head h2{font-size:2.4rem}.section-head p{margin:0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{padding:24px 21px;border:1px solid var(--line);border-radius:15px;background:#fffdf9;box-shadow:0 9px 25px #3b202108;min-height:230px}.feature-card.featured{background:#f5ede3;border-color:#ead9c8}.feature-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f0e5dc;color:var(--wine);font-family:var(--serif);font-size:21px;margin-bottom:22px}.feature-card h3{font-family:var(--serif);font-size:18px}.feature-card p{font-size:12px;line-height:1.65;min-height:60px}.feature-card>a{font-size:11px;font-weight:700}.how-section{background:#f1ebe3;padding:74px max(8vw,24px);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.how-section h2{font-size:2.45rem}.how-section>div>p{max-width:460px;line-height:1.8}.how-section .btn{margin-top:12px}.steps{display:grid;gap:18px}.steps>div{display:flex;gap:19px;background:#fffaf5;padding:19px;border-radius:12px}.steps>div>b{font:600 20px var(--serif);color:var(--wine)}.steps strong,.steps small{display:block}.steps strong{font-size:13px}.steps small{font-size:11px;color:var(--muted);margin-top:4px}.owl-banner{margin:65px auto 90px;max-width:1120px;padding:34px 42px;background:var(--wine);color:white;border-radius:20px;display:flex;align-items:center;gap:28px}.owl-banner h2,.owl-banner p,.owl-banner .eyebrow{color:#fff}.owl-banner h2{font-size:1.8rem}.owl-banner p{font-size:12px;max-width:560px;color:#f1dfe2}.owl-large{font-size:54px}.owl-banner .btn{margin-left:auto;white-space:nowrap}.public-footer{text-align:center;border-top:1px solid var(--line);padding:24px;color:#928985;font-size:11px}.public-main{min-height:70vh}.auth-card{width:min(450px,calc(100% - 30px));margin:62px auto;background:#fffdfa;border:1px solid var(--line);border-radius:18px;padding:35px;box-shadow:var(--shadow);position:relative}.auth-card h1{font-size:2.1rem}.auth-card>p{font-size:13px}.auth-owl{position:absolute;right:30px;top:25px;font-size:37px}.auth-wide{width:min(740px,calc(100% - 30px))}.form-stack{display:grid;gap:15px;margin-top:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}.form-stack label,.form-grid label,.filter-row label{display:grid;gap:6px;color:#524a4b;font-size:12px;font-weight:600}.form-stack input,.form-stack textarea,.form-stack select,.form-grid input,.form-grid select,.filter-row select{width:100%;border:1px solid #e3ddd6;border-radius:8px;padding:11px 12px;background:#fffdfa;color:var(--ink);outline:none}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus,.form-grid input:focus,.form-grid select:focus{border-color:#a96779;box-shadow:0 0 0 3px #70263d12}.form-stack textarea{resize:vertical;line-height:1.65}.form-stack label small{font-size:10px;color:var(--muted);font-weight:400}.auth-bottom{text-align:center;margin-top:23px!important}.auth-bottom a{font-weight:700}.form-grid .btn{align-self:end}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;flex:0 0 250px;background:#fffdfa;border-right:1px solid var(--line);padding:25px 17px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{padding:0 5px 22px;border-bottom:1px solid var(--line)}.side-user{display:flex;align-items:center;gap:11px;padding:20px 6px}.avatar{width:37px;height:37px;border-radius:50%;background:#eadbd0;color:var(--wine);display:grid;place-items:center;font-weight:700}.side-user b,.side-user small{display:block}.side-user b{font-size:12px}.side-user small{font-size:10px;color:var(--muted);margin-top:3px}.sidebar nav{display:grid;gap:5px;margin-top:10px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;color:#696166;font-size:12px;font-weight:600}.nav-link>span{font-size:17px;width:22px;text-align:center}.nav-link:hover,.nav-link.active{background:#f6efea;color:var(--wine)}.nav-link.active{font-weight:700}.logout{margin-top:auto}.main-area{flex:1;min-width:0}.topbar{height:64px;background:#fffdfaee;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;position:sticky;top:0;z-index:5;font-size:12px;font-weight:700;color:#65595b}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.today{font-weight:500;color:#948b87}.avatar-small{width:30px;height:30px;font-size:12px}.mobile-menu{display:none;border:0;background:none;margin-right:13px;color:var(--wine);font-size:20px}.content-wrap{max-width:1400px;margin:auto;padding:35px 38px 50px}.app-footer{text-align:center;color:#aaa09a;font-size:10px;padding:15px 20px 25px}.welcome-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.welcome-row h1{font-size:2.3rem}.welcome-row p{margin-bottom:0}.welcome-owl{display:flex;align-items:center;gap:11px;background:#f1e8df;border-radius:35px;padding:10px 16px;font-size:27px}.welcome-owl span{max-width:140px;font-size:10px;color:#6c5b59}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.metric{background:#fffdfa;border:1px solid var(--line);border-radius:12px;padding:19px 20px;box-shadow:0 5px 15px #381d1006}.metric>span,.metric>small{display:block;color:#837a79;font-size:10px}.metric strong{display:block;font:600 28px var(--serif);color:var(--wine);margin:8px 0 2px}.metric strong small{font:500 12px var(--sans);color:var(--muted)}.metric>small{font-size:9px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:17px 0}.panel{background:#fffdfa;border:1px solid var(--line);border-radius:13px;padding:23px;margin:16px 0;box-shadow:0 6px 20px #381d1005}.dashboard-grid .panel{margin:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}.panel-heading h2{font-size:1.35rem;margin:0}.panel-heading a{font-size:10px;font-weight:700;white-space:nowrap}.chart-wrap{height:240px;position:relative}.focus-card{padding:13px 15px;background:#f8f2e9;border-radius:10px;margin:12px 0}.focus-card span,.focus-card b,.focus-card small{display:block}.focus-card span,.focus-card small{font-size:10px;color:var(--muted)}.focus-card b{font-family:var(--serif);margin:3px 0}.focus-good{background:#eef3ed}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:17px}.quick-card{display:grid;background:#fffdfa;border:1px solid var(--line);border-radius:12px;padding:18px;color:var(--ink)}.quick-card>b{color:var(--wine);font-size:22px}.quick-card>span{font-weight:700;font-size:12px;margin:8px 0 3px}.quick-card>small{color:var(--muted);font-size:10px}.page-intro{margin-bottom:24px}.page-intro h1{font-size:2.35rem}.page-intro p{margin:0}.filter-row{margin-bottom:18px}.filter-row label{display:flex;align-items:center;gap:10px}.filter-row select{width:auto}.subject-section{margin-bottom:17px}.content-list article{display:flex;gap:13px;align-items:center;padding:13px 3px;border-top:1px solid #f0ebe6}.content-dot{color:#aa7b64}.content-list article div{flex:1}.content-list article b,.content-list article small{display:block}.content-list article b{font-size:12px}.content-list article small{font-size:10px;color:var(--muted)}.content-list article>a{font-size:10px;font-weight:700}.pill{display:inline-block;border-radius:30px;background:#f2e8df;color:var(--wine);padding:5px 10px;font-size:9px;font-weight:700}.empty-state{padding:25px;text-align:center;color:var(--muted);background:#faf7f2;border-radius:10px;font-size:12px}.progress-track{height:7px;background:#f0eae5;border-radius:8px;overflow:hidden;margin-top:12px}.progress-track span{display:block;height:100%;background:var(--wine2);border-radius:inherit}.quiz-card{max-width:800px;margin:auto}.question-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.quiz-card h2{font:500 19px/1.65 var(--sans);margin:24px 0}.option-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:13px;cursor:pointer;font-size:12px}.option-row:hover{background:#faf5ef}.option-row input{margin-top:4px;accent-color:var(--wine)}.quiz-controls{display:flex;justify-content:space-between;margin-top:12px}.question-image{max-width:100%;max-height:320px;object-fit:contain}.owl-tip{text-align:center;padding:45px 25px}.owl-tip p{font-size:13px}.essay-skeleton{display:grid;gap:9px;margin:20px 0}.essay-skeleton article{display:flex;align-items:center;gap:13px;background:#f8f3ed;padding:12px 14px;border-radius:8px}.essay-skeleton article>b{font:600 17px var(--serif);color:var(--wine)}.essay-skeleton strong,.essay-skeleton small{display:block}.essay-skeleton strong{font-size:11px}.essay-skeleton small{font-size:10px;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.chip-row span,.chip{background:#f4ebe4;border:0;border-radius:20px;padding:7px 11px;font-size:10px;color:#775568}.topic-support{border-top:1px solid var(--line);margin-top:17px;padding-top:15px}.topic-support h3{font-family:var(--serif)}.topic-support blockquote{margin:10px 0;padding:13px;border-left:3px solid #b77c79;background:#faf5ef;color:#655e5c;font:italic 12px/1.6 var(--serif)}.topic-support blockquote small{display:block;margin-top:5px;font:10px var(--sans);color:#988e87}.topic-support .muted{font-size:11px}.writing-count{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.essay-preview{white-space:normal;line-height:1.8;color:#534d4a}.feedback-line{font-size:12px;padding:8px 0;border-bottom:1px solid #f1ece8}.competency{margin:12px 0;font-size:10px}.competency span{display:inline-block;width:75%}.competency b{color:var(--wine)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:#887c78;font-size:9px;text-transform:uppercase;letter-spacing:.07em;padding:11px;border-bottom:1px solid var(--line)}td{padding:12px 11px;border-bottom:1px solid #f2eeea;white-space:nowrap}.performance-row{display:grid;grid-template-columns:1fr 55px;align-items:center;gap:0 12px;margin:13px 0;font-size:11px}.performance-row .progress-track{grid-column:1/3;margin-top:5px}.text-metric{font:600 13px var(--sans)!important}.tip-box{background:#f7f1e9;padding:12px;border-radius:9px;margin-top:13px}.tip-box b{font-size:10px}.tip-box p{font-size:10px;margin:4px 0}.answer-review{padding:14px 0;border-top:1px solid var(--line);font-size:11px}.answer-review p{margin:5px 0;font-size:10px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #f0ebe6;padding:12px 2px}.admin-row b,.admin-row small{display:block}.admin-row b{font-size:11px}.admin-row small{font-size:9px;color:var(--muted)}.btn-icon{border:0;background:#f6efea;border-radius:7px;color:var(--wine);font-size:19px;width:29px;height:29px}.mt{margin-top:30px}.notice{position:fixed;z-index:20;top:76px;right:25px;max-width:420px;padding:13px 17px;border-radius:9px;box-shadow:var(--shadow);font-size:12px}.notice-success{background:#edf4ec;color:#345e3b}.notice-error{background:#fae9e8;color:#7a2b2b}.owl-fab{position:fixed;z-index:11;bottom:23px;right:24px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--wine);font-size:29px;box-shadow:0 8px 24px #38152138;cursor:pointer}.owl-chat{position:fixed;z-index:12;right:24px;bottom:91px;width:min(340px,calc(100vw - 32px));height:410px;background:#fffdfa;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px #2714182b;display:flex;flex-direction:column;overflow:hidden}.owl-chat[hidden]{display:none}.owl-chat header{background:var(--wine);color:#fff;padding:13px 15px;display:flex;justify-content:space-between;font-size:12px;font-weight:700}.owl-chat header button{background:none;border:0;color:white;font-size:23px}.owl-messages{flex:1;overflow:auto;padding:14px}.owl-bubble,.user-bubble{max-width:90%;background:#f4ede6;border-radius:12px 12px 12px 2px;padding:10px 12px;font-size:11px;color:#51474b;margin:0 0 10px}.user-bubble{background:var(--wine);color:#fff;margin-left:auto;border-radius:12px 12px 2px 12px}.owl-chat form{display:flex;border-top:1px solid var(--line);padding:9px;gap:7px}.owl-chat input{flex:1;min-width:0;border:1px solid var(--line);border-radius:7px;padding:9px;font-size:11px}.owl-chat form button{border:0;border-radius:7px;background:var(--wine);color:#fff;font-size:10px;padding:0 12px}.profile-panel{max-width:560px}.muted{color:var(--muted)}@media(max-width:1000px){.feature-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:0;padding-top:50px}.hero-art{height:370px}.hero-orbit{width:300px;height:300px}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-wrap{padding:27px 24px}.sidebar{width:225px;flex-basis:225px}}@media(max-width:400px){.feature-grid,.metric-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:2.6rem}.stat-strip div{font-size:8px}.quiz-controls .btn{padding:9px 11px}.quick-grid{grid-template-columns:1fr}.topbar{font-size:11px}}

.logout-form{margin-top:auto}.logout-form .logout{width:100%;border:0;background:transparent;text-align:left;margin:0}

/* ENTRELINHAS · revisão visual e novos módulos */
:root{--paper:#f4ece2;--line:#e8dacc;--shadow:0 14px 40px #3b20210c}
body{background:var(--paper)}.public-nav,.topbar{background:#f7f0e7}.sidebar{background:#f9f4ed}.panel,.metric,.feature-card,.auth-card,.owl-chat{background:#fffaf2}.feature-card.featured,.stat-strip,.how-section{background:#efe4d7}.hero{background:radial-gradient(ellipse at 79% 42%,#ead7c2 0,transparent 35%),linear-gradient(135deg,#f4ece2,#f8f2e9)}
.brand{gap:0}.brand-logo{display:block;width:156px;height:78px;object-fit:contain;object-position:center;background:transparent;flex:none}.sidebar .brand{justify-content:flex-start;padding:0 0 15px}.sidebar .brand-logo{width:150px;height:72px}.public-nav .brand-logo{width:170px;height:82px}.avatar-photo{object-fit:cover;overflow:hidden}.avatar-small.avatar-photo{border-radius:50%}.profile-avatar-preview{display:flex;align-items:center;gap:14px;margin:0 0 20px}.profile-avatar-preview .avatar{width:76px;height:76px;font-size:28px}.profile-avatar-preview small{display:block;color:var(--muted);font-size:11px}
.back-button{border:0;background:transparent;color:var(--wine);font-weight:700;font-size:12px;padding:8px 10px;border-radius:8px;white-space:nowrap}.back-button:hover{background:#efe3d9}.topbar .back-button{margin-right:12px}.theme-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid #ded1c3;border-radius:25px;background:#fbf7f0;color:var(--wine);padding:7px 11px;font-size:11px;font-weight:700;white-space:nowrap}.theme-toggle:hover{background:#f1e6d9}.public-nav>.back-button{display:inline-flex}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.topic-card{padding:23px;border:1px solid var(--line);border-radius:14px;background:#fffaf2;box-shadow:0 6px 18px #381d1005}.topic-card h3{font:600 1.25rem var(--serif);margin:14px 0 8px}.topic-card p{font-size:12px;line-height:1.7;min-height:48px}.topic-card form{margin-top:15px}.essay-guide{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;background:linear-gradient(130deg,#fffaf3,#f4e9dc)}.essay-guide h2{font-size:1.5rem}.essay-guide p{font-size:12px}.score-legend{display:grid;gap:6px;align-content:center}.score-legend span{display:flex;justify-content:space-between;border-bottom:1px solid #eadfd1;padding:5px 0;font-size:10px;color:var(--muted)}.score-legend b{color:var(--wine)}.essay-result-score{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:15px;padding:24px 30px;background:#fffaf2}.essay-result-score>div:first-child>span,.essay-result-score>div:first-child>b{display:block}.essay-result-score>div:first-child>span{font-size:11px;color:var(--muted)}.essay-result-score>div:first-child>strong{display:block;font:600 clamp(2.3rem,5vw,4rem) var(--serif);color:var(--wine);line-height:1.2}.essay-result-score>div:first-child>b{font-size:13px;color:var(--wine);margin:4px 0}.essay-result-score p{font-size:12px;margin:0}.score-gauge{--score:0;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(var(--wine) calc(var(--score)*1%),#eadfd3 0);position:relative}.score-gauge:before{content:"";position:absolute;inset:10px;background:#fffaf2;border-radius:50%}.score-gauge span{position:relative;font:600 21px var(--serif);color:var(--wine)}.score-low{border-left:5px solid #a95e59}.score-mid{border-left:5px solid #bd9455}.score-high{border-left:5px solid #64856b}
/* Escrita concentrada */
.writing-body{background:#f3ece3;min-height:100vh}.writing-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px max(4vw,20px);background:#faf5edee;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.writing-top .brand-logo{width:150px;height:72px}.writing-top-actions{display:flex;align-items:center;gap:12px}.writing-layout{max-width:1350px;margin:0 auto;padding:28px 4vw 70px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);gap:24px;align-items:start}.writing-main,.writing-aside .panel{background:#fffaf2;border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,38px);box-shadow:var(--shadow)}.writing-heading{margin-bottom:22px}.writing-heading h1{font-size:clamp(1.9rem,3.4vw,3rem);margin-bottom:9px}.writing-heading p{font-size:13px}.writing-prompt{padding:15px 17px;background:#f3e9dc;border-radius:10px;margin-bottom:13px}.writing-prompt b{font-size:12px;color:var(--wine)}.writing-prompt p{font-size:12px;margin:5px 0 0;line-height:1.65}.writing-source{padding:12px 15px;margin:10px 0;border:1px solid var(--line);border-radius:10px;background:#fcf6ec}.writing-source summary{font-size:11px;font-weight:700;color:var(--wine);cursor:pointer}.writing-source p{font-size:11px;margin:9px 0 0}.web-inspiration{display:flex;justify-content:space-between;gap:12px;padding:14px;margin:14px 0;background:#f6efe5;border-radius:10px}.web-inspiration b,.web-inspiration small{display:block}.web-inspiration b{font-size:11px}.web-inspiration small{font-size:9px;color:var(--muted);margin-top:4px}.web-inspiration ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}.web-inspiration a{font-size:10px;font-weight:700}.writing-form{display:grid;gap:10px;margin-top:20px}.writing-form label{font-size:11px;font-weight:700;color:#5e5153}.writing-form input[type=text],.writing-form textarea{width:100%;border:1px solid #e2d8cb;border-radius:9px;background:#fffdf9;color:#342d30;padding:12px 14px;outline:none}.writing-form input[type=text]:focus,.writing-form textarea:focus{border-color:#a86b7b;box-shadow:0 0 0 3px #70263d12}.writing-form textarea{resize:vertical;min-height:300px;font:15px/1.85 var(--sans)}.writing-toolbar{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:var(--muted)}.live-review{padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:#fbf6ee}.live-review h2{font-size:1.15rem;margin-bottom:7px}.live-review p,.live-review li{font-size:11px;color:#63595a}.live-review ul{margin:8px 0;padding-left:20px}.live-review small{font-size:9px;color:var(--muted)}.structure-list{list-style:none;margin:15px 0 0;padding:0;display:grid;gap:13px}.structure-list li{display:grid;gap:2px}.structure-list b{font-size:11px;color:var(--wine)}.structure-list small{font-size:10px;color:var(--muted)}.writing-aside-note{text-align:center}.writing-aside-note .owl-large{font-size:44px}.writing-aside-note>b{display:block;font:600 1.2rem var(--serif)}.writing-aside-note p{font-size:11px}.writing-aside-note>a{font-size:11px;font-weight:700}
/* Biblioteca e pausa */
.book-card{position:relative;overflow:hidden;padding:0 0 20px;min-height:0}.book-card .book-cover{width:100%;height:190px;object-fit:cover;object-position:center 43%;display:block;margin-bottom:17px}.book-card>.pill,.book-card>h3,.book-card>p,.book-card>.tip-box{margin-left:20px;margin-right:20px}.book-card>h3{margin-top:10px}.book-card>p{min-height:0}.book-card .tip-box{background:#f4ece1}.game-panel canvas{display:block;width:100%;height:auto;max-width:480px;border:1px solid var(--line);border-radius:10px;background:#fffaf2;touch-action:none}.game-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}.game-controls .btn{padding:8px 12px;font-size:11px}.game-controls>span{margin-left:auto;font-size:11px;color:var(--muted)}.game-controls label{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.game-controls input[type=color]{width:30px;height:28px;padding:1px;border:1px solid var(--line);border-radius:4px}.game-controls input[type=range]{width:85px}.mobile-arrows{display:none;grid-template-columns:repeat(3,44px);justify-content:center;gap:5px}.mobile-arrows button{height:38px;border:1px solid var(--line);border-radius:8px;background:#f5ece2;color:var(--wine);font-weight:700}.mobile-arrows button:first-child{grid-column:2}.break-reminder{display:flex;align-items:center;gap:12px;background:#efe4d7}.break-reminder b{font-family:var(--serif);color:var(--wine)}.break-reminder span{font-size:11px;color:var(--muted)}
/* Fundo escuro opcional e persistente */
body[data-theme="dark"]{--paper:#1c1a20;--ink:#f1e9e1;--muted:#b8aeb3;--line:#3b353e;--beige:#44313b;background:#1c1a20;color:#f1e9e1}body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .public-nav,body[data-theme="dark"] .panel,body[data-theme="dark"] .metric,body[data-theme="dark"] .feature-card,body[data-theme="dark"] .auth-card,body[data-theme="dark"] .owl-chat,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .essay-result-score,body[data-theme="dark"] .writing-main,body[data-theme="dark"] .writing-aside .panel,body[data-theme="dark"] .writing-top{background:#26232b;color:#eee5e4;border-color:#3b353e}body[data-theme="dark"] .hero,body[data-theme="dark"] .writing-body{background:radial-gradient(ellipse at 82% 35%,#44303a 0,transparent 40%),#1c1a20}body[data-theme="dark"] .hero h1,body[data-theme="dark"] .section-head h2,body[data-theme="dark"] .how-section h2{color:#f4eae4}body[data-theme="dark"] .stat-strip,body[data-theme="dark"] .how-section,body[data-theme="dark"] .feature-card.featured,body[data-theme="dark"] .essay-guide,body[data-theme="dark"] .writing-prompt,body[data-theme="dark"] .writing-source,body[data-theme="dark"] .web-inspiration,body[data-theme="dark"] .live-review,body[data-theme="dark"] .break-reminder,body[data-theme="dark"] .tip-box,body[data-theme="dark"] .essay-skeleton article,body[data-theme="dark"] .focus-card,body[data-theme="dark"] .steps>div{background:#302a33;color:#eee5e4}body[data-theme="dark"] .nav-link,body[data-theme="dark"] .public-nav nav>a:not(.btn),body[data-theme="dark"] .side-user b,body[data-theme="dark"] h1,body[data-theme="dark"] h2,body[data-theme="dark"] h3,body[data-theme="dark"] .feature-card h3,body[data-theme="dark"] .writing-form label,body[data-theme="dark"] .content-list article b{color:#efe6e2}body[data-theme="dark"] .form-stack input,body[data-theme="dark"] .form-stack textarea,body[data-theme="dark"] .form-stack select,body[data-theme="dark"] .form-grid input,body[data-theme="dark"] .form-grid select,body[data-theme="dark"] .filter-row select,body[data-theme="dark"] .writing-form input[type=text],body[data-theme="dark"] .writing-form textarea{background:#211f26;color:#f2e9e5;border-color:#504550}body[data-theme="dark"] .theme-toggle,body[data-theme="dark"] .back-button{background:#302a33;color:#f1dfe2;border-color:#51434e}body[data-theme="dark"] .essay-result-score .score-gauge:before{background:#26232b}body[data-theme="dark"] .book-card .book-cover{filter:brightness(.86)}body[data-theme="dark"] .game-panel canvas{background:#24212a;border-color:#514550}body[data-theme="dark"] .writing-form textarea{color:#f3ece8}body[data-theme="dark"] .option-row{border-color:#4c414b;color:#eee5e4}body[data-theme="dark"] .option-row:hover{background:#342d36}body[data-theme="dark"] .empty-state{background:#302a33;color:#d1c4c7}
@media(max-width:900px){.writing-layout{grid-template-columns:1fr}.writing-aside{display:grid;grid-template-columns:1fr 1fr;gap:12px}.writing-aside .panel{margin:0}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.public-nav{padding:0 15px;height:75px}.public-nav>.back-button{display:inline-block}.public-nav .brand-logo{width:112px;height:63px}.public-nav nav{gap:8px}.public-nav nav>a:not(.btn){display:none}.public-nav nav .btn{padding:8px 10px;font-size:10px}.public-nav nav .theme-toggle span{display:none}.brand-logo{width:125px;height:65px}.sidebar .brand-logo{width:135px;height:66px}.topbar{padding:0 13px;gap:3px}.topbar .back-button{font-size:10px;padding:6px}.topbar-right{gap:6px}.theme-toggle span{display:none}.today{display:none}.content-wrap{padding:24px 15px 35px}.topic-grid,.essay-guide{grid-template-columns:1fr}.score-legend span{justify-content:flex-start;gap:10px}.writing-top{padding:5px 11px}.writing-top .brand-logo{width:115px;height:60px}.writing-top-actions{gap:5px}.writing-top-actions>.pill{display:none}.writing-top-actions .btn{padding:8px;font-size:10px}.writing-layout{padding:14px 10px 40px}.writing-main{padding:19px 15px}.writing-form textarea{min-height:250px}.web-inspiration{display:block}.web-inspiration ul{margin-top:10px}.writing-aside{grid-template-columns:1fr}.essay-result-score{padding:18px}.score-gauge{width:82px;height:82px}.score-gauge span{font-size:17px}.game-panel{padding:15px}.mobile-arrows{display:grid}.feature-grid{grid-template-columns:1fr}.break-reminder{align-items:flex-start;flex-direction:column}.book-card .book-cover{height:220px}}

/* Logo transparente, jogos visíveis e cadastros no painel */
.brand-logo{object-fit:contain!important;object-position:center!important;background:transparent!important}
.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-registrations{margin-top:20px}
.admin-registrations .panel-heading{align-items:center}
.admin-registrations h2{margin:4px 0}
@media(max-width:900px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.quick-grid{grid-template-columns:1fr}}

/* Tema noturno em marrom, com contraste quente e logo visível */
body[data-theme="dark"]{--paper:#201812;--ink:#f3e6d5;--muted:#c3ae99;--line:#514031;--beige:#473326;--wine:#925161;background:#201812;color:#f3e6d5;color-scheme:dark}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .topbar,body[data-theme="dark"] .public-nav,body[data-theme="dark"] .writing-top{background:#291f18;color:#f3e6d5;border-color:#49382a}
body[data-theme="dark"] .panel,body[data-theme="dark"] .metric,body[data-theme="dark"] .feature-card,body[data-theme="dark"] .auth-card,body[data-theme="dark"] .owl-chat,body[data-theme="dark"] .topic-card,body[data-theme="dark"] .essay-result-score,body[data-theme="dark"] .writing-main,body[data-theme="dark"] .writing-aside .panel,body[data-theme="dark"] .quick-card,body[data-theme="dark"] .admin-registrations{background:#2c2119;color:#f3e6d5;border-color:#514031}
body[data-theme="dark"] .hero,body[data-theme="dark"] .writing-body{background:radial-gradient(ellipse at 82% 35%,#493423 0,transparent 43%),#201812;color:#f3e6d5}
body[data-theme="dark"] .stat-strip,body[data-theme="dark"] .how-section,body[data-theme="dark"] .feature-card.featured,body[data-theme="dark"] .essay-guide,body[data-theme="dark"] .writing-prompt,body[data-theme="dark"] .writing-source,body[data-theme="dark"] .web-inspiration,body[data-theme="dark"] .live-review,body[data-theme="dark"] .break-reminder,body[data-theme="dark"] .tip-box,body[data-theme="dark"] .essay-skeleton article,body[data-theme="dark"] .focus-card,body[data-theme="dark"] .steps>div,body[data-theme="dark"] .admin-row,body[data-theme="dark"] .content-list article{background:#36281e;color:#f0e2d0;border-color:#54412f}
body[data-theme="dark"] h1,body[data-theme="dark"] h2,body[data-theme="dark"] h3,body[data-theme="dark"] .hero h1,body[data-theme="dark"] .section-head h2,body[data-theme="dark"] .how-section h2,body[data-theme="dark"] .feature-card h3,body[data-theme="dark"] .writing-form label,body[data-theme="dark"] .content-list article b,body[data-theme="dark"] .side-user b,body[data-theme="dark"] .nav-link,body[data-theme="dark"] .public-nav nav>a:not(.btn){color:#f3e6d5}
body[data-theme="dark"] p,body[data-theme="dark"] small,body[data-theme="dark"] .muted,body[data-theme="dark"] .eyebrow,body[data-theme="dark"] .today{color:#c3ae99}
body[data-theme="dark"] .form-stack input,body[data-theme="dark"] .form-stack textarea,body[data-theme="dark"] .form-stack select,body[data-theme="dark"] .form-grid input,body[data-theme="dark"] .form-grid select,body[data-theme="dark"] .filter-row select,body[data-theme="dark"] .writing-form input[type=text],body[data-theme="dark"] .writing-form textarea{background:#211912;color:#f3e6d5;border-color:#5c4936}
body[data-theme="dark"] .theme-toggle,body[data-theme="dark"] .back-button,body[data-theme="dark"] .pill{background:#3a2b20;color:#f1dec4;border-color:#604b37}
body[data-theme="dark"] .essay-result-score .score-gauge:before{background:#2c2119}
body[data-theme="dark"] .book-card .book-cover{filter:brightness(.84) saturate(.9)}
body[data-theme="dark"] .game-panel canvas{background:#37291f;border-color:#604b37}
body[data-theme="dark"] .option-row{border-color:#584433;color:#f3e6d5}body[data-theme="dark"] .option-row:hover{background:#3a2b20}
body[data-theme="dark"] .empty-state{background:#36281e;color:#dfcdb8}
body[data-theme="dark"] .table-scroll table{color:#f3e6d5}body[data-theme="dark"] .table-scroll th,body[data-theme="dark"] .table-scroll td{border-color:#514031}body[data-theme="dark"] .table-scroll th{color:#e8c98f}
body[data-theme="dark"] .owl-bubble{background:#3a2b20;color:#f3e6d5}body[data-theme="dark"] .user-bubble{background:#925161;color:#fff5eb}
body[data-theme="dark"] .brand-logo{filter:brightness(0) saturate(100%) invert(91%) sepia(14%) saturate(430%) hue-rotate(346deg) brightness(104%) contrast(92%)!important}


/* Fluxo editorial de redação: preparar, ler, refletir e só então escrever */
.back-button{display:inline-flex;margin:0 0 16px;padding:7px 12px;border:1px solid #dccfc2;border-radius:20px;color:var(--wine);font-size:12px;font-weight:700}.owl-writing-note{display:flex;gap:16px;align-items:center;background:#f3e8da;border:1px solid #e8d7c2;border-radius:13px;padding:16px 20px;margin:18px 0;color:#503b32}.owl-writing-note>span{font-size:31px}.owl-writing-note p{margin:0;color:#59463c;font-size:13px}.owl-writing-note b{display:block;color:var(--wine);margin-bottom:3px}.prep-context{border-left:4px solid var(--wine)}.prep-context h2{margin-top:12px}.prep-context h3{font-size:15px;margin:18px 0 5px}.prep-context>p{line-height:1.8}.prep-supports{padding-bottom:10px}.prep-support{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--line)}.prep-number{font:600 20px var(--serif);color:var(--wine2)}.prep-support h3{font:600 16px var(--serif);margin:0 0 8px}.prep-support p{font-size:13px;line-height:1.8;color:var(--ink);margin:0 0 9px}.prep-support small{font-size:11px}.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reflection-list,.repertoire-list{padding-left:22px}.reflection-list li,.repertoire-list li{padding:6px 0;color:var(--ink);font-size:13px;line-height:1.7}.prep-start{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#f5ece1}.prep-start h2{margin-bottom:6px}.prep-start p{margin:0;max-width:620px}.prep-return{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f4eadf;border:1px solid #e9d8c4;border-radius:11px;padding:12px 15px;margin:12px 0 20px;color:#56433a;font-size:12px}.prep-return .btn{white-space:nowrap}.analysis-list{padding-left:20px;margin:10px 0}.analysis-list li{padding:9px 0;border-bottom:1px solid #f0e9e2;color:var(--ink);font-size:12px;line-height:1.7}.analysis-list.positive li::marker{color:#66816c}.theme-review{border-left:4px solid #b98b56}.theme-review p{line-height:1.75}.score-legend{display:grid;gap:4px}.score-legend span{font-size:10px}.score-legend b{display:inline-block;min-width:80px;color:var(--wine)}
body[data-theme="dark"] .back-button{background:#3a2b20;border-color:#604b37;color:#f1dec4}body[data-theme="dark"] .owl-writing-note,body[data-theme="dark"] .prep-start,body[data-theme="dark"] .prep-return{background:#36281e;border-color:#54412f;color:#f0e2d0}body[data-theme="dark"] .owl-writing-note p,body[data-theme="dark"] .prep-support p,body[data-theme="dark"] .reflection-list li,body[data-theme="dark"] .repertoire-list li,body[data-theme="dark"] .analysis-list li{color:#f0e2d0}body[data-theme="dark"] .prep-number,body[data-theme="dark"] .score-legend b{color:#e4bd83}body[data-theme="dark"] .prep-support{border-color:#514031}body[data-theme="dark"] .analysis-list li{border-color:#514031}body[data-theme="dark"] .theme-review{border-left-color:#d4a76a}
@media(max-width:760px){.prep-grid{grid-template-columns:1fr}.prep-start,.prep-return{align-items:flex-start;flex-direction:column}.prep-return .btn{white-space:normal}.prep-support{grid-template-columns:30px 1fr}}

/* Validação formativa da redação */
.validation-list{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.validation-list li{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fffdf9}.validation-list li>span{flex:0 0 23px;height:23px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px}.validation-list .is-detected>span{background:#eaf1e9;color:#426747}.validation-list .is-missing>span{background:#f7ece8;color:#8a4a42}.validation-list b,.validation-list small{display:block}.validation-list b{font-size:11px}.validation-list small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.5}

body[data-theme="dark"] .validation-list li{background:#35271f;border-color:#554333;color:#f0e2d0}body[data-theme="dark"] .validation-list small{color:#cfbaa1}body[data-theme="dark"] .validation-list .is-detected>span{background:#304034;color:#c8dec8}body[data-theme="dark"] .validation-list .is-missing>span{background:#4a302a;color:#efb9ad}


/* Painel docente: navegação e superfície próprias, mantendo a identidade ENTRELINHAS */
.teacher-app{background:var(--paper)}.teacher-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.teacher-sidebar{height:100vh;position:sticky;top:0;background:#fffdfa;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;z-index:6}.teacher-sidebar>.brand{padding:0 5px 20px;border-bottom:1px solid var(--line)}.teacher-identity{display:flex;align-items:center;gap:11px;padding:20px 6px}.teacher-identity b,.teacher-identity small{display:block}.teacher-identity b{font-size:12px}.teacher-identity small{font-size:10px;color:var(--muted);margin-top:3px}.teacher-sidebar nav{display:grid;gap:4px;margin-top:8px}.teacher-nav-link{width:100%;display:flex;align-items:center;gap:11px;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#696166;text-align:left;font-size:12px;font-weight:600}.teacher-nav-link>span{width:22px;text-align:center;font-size:17px}.teacher-nav-link:hover,.teacher-nav-link.active{background:#f6efea;color:var(--wine)}.teacher-logout{margin-top:auto}.teacher-main{min-width:0}.teacher-topbar{height:68px;position:sticky;top:0;z-index:5;display:flex;align-items:center;padding:0 30px;background:#fffdfaee;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.teacher-topbar>div:first-of-type{display:grid;line-height:1.35}.teacher-topbar>div:first-of-type small{font-size:8px;letter-spacing:.14em;color:var(--wine2)}.teacher-topbar>div:first-of-type b{font-size:13px}.teacher-topbar .topbar-right{margin-left:auto;display:flex;align-items:center;gap:13px}.teacher-content{max-width:1500px;margin:auto;padding:32px 36px 50px}.teacher-footer{text-align:center;color:#9b918c;font-size:10px;padding:10px 20px 24px}.teacher-page-intro{position:relative;margin-bottom:22px}.teacher-page-intro h1{font-size:clamp(2rem,3.5vw,2.8rem);margin:0 0 8px}.teacher-page-intro p{margin:0 0 12px}.teacher-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.teacher-metrics article{background:#fffdfa;border:1px solid var(--line);border-radius:12px;padding:16px 17px;box-shadow:0 5px 16px #381d1007}.teacher-metrics article small,.teacher-metrics article span{display:block;color:var(--muted);font-size:9px}.teacher-metrics article strong{display:block;color:var(--wine);font:600 27px var(--serif);margin:7px 0 1px}.teacher-metrics .metric-highlight{background:#f5ece1;border-color:#e8d7c5}.teacher-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-panel{min-width:0;background:#fffdfa;border:1px solid var(--line);border-radius:13px;padding:21px;margin:14px 0;box-shadow:0 6px 20px #381d1005}.teacher-panel h2{font-size:1.28rem;margin-bottom:12px}.teacher-panel h3{margin:22px 0 10px}.teacher-chart{height:245px;position:relative}.teacher-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.teacher-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.teacher-panel-heading h2{margin:0}.teacher-panel-heading>a{font-size:10px;font-weight:700;white-space:nowrap}.teacher-recent-list>a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 2px;border-top:1px solid #f0ebe6;color:var(--ink)}.teacher-recent-list b,.teacher-recent-list small{display:block}.teacher-recent-list b{font-size:11px}.teacher-recent-list small,.teacher-recent-list strong{font-size:9px;color:var(--muted)}.teacher-recent-list strong{white-space:nowrap}.teacher-empty{padding:22px;background:#faf6f0;border-radius:9px;color:var(--muted);font-size:12px}.teacher-form{display:grid;gap:15px}.teacher-form label,.teacher-grade-form label{display:grid;gap:6px;color:#524a4b;font-size:11px;font-weight:600}.teacher-form input,.teacher-form select,.teacher-form textarea,.teacher-grade-form input,.teacher-grade-form textarea,.teacher-inline-form select{width:100%;border:1px solid #e3ddd6;border-radius:8px;padding:10px 11px;background:#fffdfa;color:var(--ink);outline:none}.teacher-form input:focus,.teacher-form select:focus,.teacher-form textarea:focus,.teacher-grade-form input:focus,.teacher-grade-form textarea:focus{border-color:#a96779;box-shadow:0 0 0 3px #70263d12}.teacher-form textarea,.teacher-grade-form textarea{resize:vertical;line-height:1.65}.teacher-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.teacher-form-grid>label{display:grid;gap:6px;font-size:11px;font-weight:600}.teacher-span-2{grid-column:1/-1}.teacher-question-heading{margin:24px 0 12px;padding-top:17px;border-top:1px solid var(--line)}.teacher-question-heading small{color:var(--muted);font-size:10px}.teacher-question-editor{border:1px solid var(--line);border-radius:10px;padding:15px;margin:10px 0;background:#fdfaf6}.teacher-question-editor>label{margin:10px 0}.teacher-question-top{display:flex;justify-content:space-between;align-items:center}.teacher-choice-fields{display:grid;grid-template-columns:1fr 110px;gap:12px;align-items:end}.teacher-remove-question{border:0;background:transparent;color:#8b4550;font-weight:700;font-size:10px;padding:5px}.teacher-inline-form{display:flex;align-items:center;gap:5px;margin-bottom:5px}.teacher-inline-form select{width:auto;min-width:90px;padding:6px;font-size:10px}.teacher-inline-form .btn{padding:6px 8px;font-size:9px}.teacher-question-summary{border-top:1px solid var(--line);padding:11px 0}.teacher-question-summary p{color:var(--ink);font-size:12px}.teacher-question-summary ul{font-size:11px;color:var(--muted)}.teacher-submission{border:1px solid var(--line);border-radius:10px;padding:15px;margin:12px 0}.teacher-submission dl{margin:8px 0}.teacher-submission dt{font-size:10px;font-weight:700;color:var(--wine)}.teacher-submission dd{margin:2px 0 12px;font-size:12px;white-space:pre-wrap}.teacher-grade-form{display:grid;grid-template-columns:140px 1fr auto;gap:10px;align-items:end}.teacher-grade-form label{font-size:10px}.teacher-grade-form .btn{height:39px}.teacher-feedback-read,.teacher-auto-note{padding:13px 15px;margin:12px 0;background:#f5ece1;border-radius:9px}.teacher-feedback-read b,.teacher-auto-note b{font-size:11px;color:var(--wine)}.teacher-feedback-read p,.teacher-auto-note p{margin:5px 0 0;font-size:11px}.teacher-correction-layout{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.8fr);gap:14px;align-items:start}.teacher-essay-link{display:grid;gap:3px;padding:11px;border-top:1px solid var(--line);color:var(--ink);border-radius:6px}.teacher-essay-link b{font-size:11px}.teacher-essay-link small,.teacher-essay-link span{font-size:9px;color:var(--muted)}.teacher-essay-link.active,.teacher-essay-link:hover{background:#f6efea}.teacher-essay-text{padding:20px;background:#fcf8f2;border:1px solid var(--line);border-radius:9px;line-height:1.9;color:var(--ink);white-space:normal;margin:14px 0}.teacher-correction-form{margin-top:17px}.teacher-profile-panel{max-width:650px}.teacher-profile-panel h2{margin:10px 0 0}.teacher-profile-panel>form>p{font-size:11px;margin:0}.student-assignment{max-width:950px;margin:17px auto}.student-assignment>p{font-size:12px}.student-assignment>small{font-size:10px;color:var(--muted)}.student-assignment-form fieldset{border:1px solid var(--line);border-radius:9px;padding:14px;margin:15px 0}.student-assignment-form legend{font-size:11px;font-weight:700;color:var(--wine);padding:0 6px}.student-assignment-form fieldset>p{font-size:12px;color:var(--ink)}.student-assignment-form textarea{width:100%;border:1px solid #e3ddd6;border-radius:8px;padding:10px;background:#fffdfa;color:var(--ink)}.student-choice{display:flex;align-items:flex-start;gap:9px;padding:8px;border-radius:7px;font-size:11px}.student-choice:hover{background:#f8f2ec}.student-choice input{accent-color:var(--wine);margin-top:4px}.teacher-app .notice{position:sticky;top:75px;margin:12px 0;max-width:none}.teacher-activity-detail>p{font-size:12px}.teacher-activity-detail .pill{margin:2px}.teacher-app .mobile-menu{display:none}
body[data-theme="dark"] .teacher-app{background:#241b16;color:#f0e2d0}body[data-theme="dark"] .teacher-sidebar,body[data-theme="dark"] .teacher-topbar{background:#2d221b;border-color:#514031}body[data-theme="dark"] .teacher-panel,body[data-theme="dark"] .teacher-metrics article{background:#30241c;border-color:#514031;color:#f0e2d0}body[data-theme="dark"] .teacher-metrics .metric-highlight,body[data-theme="dark"] .teacher-feedback-read,body[data-theme="dark"] .teacher-auto-note{background:#403023;border-color:#604a35}body[data-theme="dark"] .teacher-metrics article strong,body[data-theme="dark"] .teacher-question-summary b,body[data-theme="dark"] .teacher-feedback-read b,body[data-theme="dark"] .teacher-auto-note b{color:#edc78e}body[data-theme="dark"] .teacher-nav-link{color:#d6c5b0}body[data-theme="dark"] .teacher-nav-link:hover,body[data-theme="dark"] .teacher-nav-link.active,body[data-theme="dark"] .teacher-essay-link.active,body[data-theme="dark"] .teacher-essay-link:hover{background:#403023;color:#f1d29c}body[data-theme="dark"] .teacher-form input,body[data-theme="dark"] .teacher-form select,body[data-theme="dark"] .teacher-form textarea,body[data-theme="dark"] .teacher-grade-form input,body[data-theme="dark"] .teacher-grade-form textarea,body[data-theme="dark"] .teacher-inline-form select,body[data-theme="dark"] .student-assignment-form textarea{background:#241b16;border-color:#604b37;color:#f0e2d0}body[data-theme="dark"] .teacher-question-editor,body[data-theme="dark"] .teacher-empty,body[data-theme="dark"] .teacher-essay-text{background:#2b211a;border-color:#514031;color:#f0e2d0}body[data-theme="dark"] .teacher-recent-list>a,body[data-theme="dark"] .teacher-question-summary,body[data-theme="dark"] .teacher-submission,body[data-theme="dark"] .teacher-essay-link,body[data-theme="dark"] .teacher-question-heading{border-color:#514031;color:#f0e2d0}body[data-theme="dark"] .teacher-essay-text,body[data-theme="dark"] .teacher-submission dd,body[data-theme="dark"] .teacher-question-summary p,body[data-theme="dark"] .student-assignment-form fieldset>p{color:#f0e2d0}body[data-theme="dark"] .teacher-page-intro .eyebrow,body[data-theme="dark"] .teacher-topbar small{color:#e4bd83}body[data-theme="dark"] .student-choice:hover{background:#403023}
@media(max-width:1100px){.teacher-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-content{padding:27px 24px}}
@media(max-width:850px){.teacher-shell{grid-template-columns:1fr}.teacher-sidebar{position:fixed;left:-270px;top:0;width:250px;transition:left .2s ease;box-shadow:15px 0 35px #24171218}.teacher-sidebar.open{left:0}.teacher-app .mobile-menu{display:block}.teacher-chart-grid,.teacher-two-col{grid-template-columns:1fr}.teacher-correction-layout{grid-template-columns:1fr}.teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-grade-form{grid-template-columns:1fr}.teacher-topbar{padding:0 17px}.teacher-content{padding:22px 16px 35px}}
@media(max-width:520px){.teacher-metrics{grid-template-columns:1fr 1fr;gap:8px}.teacher-metrics article{padding:13px}.teacher-metrics article strong{font-size:23px}.teacher-form-grid{grid-template-columns:1fr}.teacher-span-2{grid-column:auto}.teacher-choice-fields{grid-template-columns:1fr}.teacher-chart{height:220px}.teacher-panel{padding:15px}.teacher-topbar .topbar-right .theme-toggle span{display:none}.teacher-recent-list>a{align-items:flex-start}.teacher-page-intro .btn{margin-top:10px}}

/* ===== v6 · login/perfil, capítulos de estudo e revisão completa do modo escuro ===== */
.inline-form{display:inline;margin:0}.public-nav nav .inline-form .btn{padding:9px 14px}
.topbar-profile{display:inline-flex;align-items:center;gap:8px;color:inherit;border-radius:25px}.topbar-profile:hover .avatar{box-shadow:0 0 0 3px #70263d30}.topbar-name{font-size:12px;font-weight:700;color:var(--ink)}
a.side-user{color:inherit;text-decoration:none;border-radius:12px;transition:background .15s}a.side-user:hover{background:#70263d12}
.btn-small{padding:7px 12px;font-size:11px}.chapter-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.chapter-nav .chip{text-decoration:none}
.chapter-panel{scroll-margin-top:90px}.chapter-panel .content-list article{flex-wrap:wrap}.chapter-panel .content-list article>div{flex:1 1 220px;min-width:0}.chapter-panel .content-list article>.btn{white-space:nowrap}
.topic-link{color:var(--ink);font-weight:700}.topic-link:hover{color:var(--wine);text-decoration:underline}.group-title{margin:18px 0 8px;font:600 1.05rem var(--serif)}
.lesson-panel .lesson-list{margin:10px 0 20px;padding-left:22px;display:grid;gap:10px}.lesson-panel .lesson-list li{line-height:1.7;color:var(--ink)}
.lesson-example{margin-top:10px}.lesson-pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0}.lesson-pager .btn{max-width:100%;text-align:left}
.profile-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.profile-card>div:nth-child(2){flex:1 1 220px;min-width:0}.profile-card b{display:block;font:600 1.2rem var(--serif)}.profile-card small{color:var(--muted)}.profile-card .eyebrow{margin-bottom:4px}.profile-card .avatar{width:64px;height:64px;font-size:26px}.profile-card-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-card-link{display:block;border-radius:50%}
.profile-data{display:grid;gap:10px;margin:0 0 20px}.profile-data>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:8px 0}.profile-data dt{font-size:12px;color:var(--muted)}.profile-data dd{margin:0;font-weight:600;text-align:right;word-break:break-word}.profile-actions{display:flex;gap:10px;flex-wrap:wrap}
.competency{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:10px 0}.competency .progress-track{grid-column:1/-1}
.notice{word-break:break-word}.table-scroll{overflow-x:auto}img{max-width:100%}
/* ---- modo escuro: cobertura completa ---- */
body[data-theme="dark"]{color-scheme:dark}
body[data-theme="dark"] a:where(:not(.btn,.nav-link,.teacher-nav-link,.brand,.back-button)){color:#e9c48e}
body[data-theme="dark"] .btn-outline{color:#e9c48e;border-color:#6b5540;background:transparent}body[data-theme="dark"] .btn-outline:hover{background:#3a2b20}
body[data-theme="dark"] .btn-primary{background:#925161;color:#fff}body[data-theme="dark"] .btn-primary:hover{background:#a65f70}
body[data-theme="dark"] .btn-light{background:#f3e6d5;color:#481a2b}
body[data-theme="dark"] input,body[data-theme="dark"] select,body[data-theme="dark"] textarea{background:#241b16;border-color:#604b37;color:#f3e6d5}
body[data-theme="dark"] input:disabled{background:#2d231c;color:#bba68f;-webkit-text-fill-color:#bba68f}
body[data-theme="dark"] input::placeholder,body[data-theme="dark"] textarea::placeholder{color:#9c8a76}
body[data-theme="dark"] option{background:#241b16;color:#f3e6d5}
body[data-theme="dark"] label,body[data-theme="dark"] legend,body[data-theme="dark"] dt,body[data-theme="dark"] dd,body[data-theme="dark"] li,body[data-theme="dark"] td,body[data-theme="dark"] th{color:#f0e2d0}
body[data-theme="dark"] .topic-link,body[data-theme="dark"] .topbar-name,body[data-theme="dark"] .lesson-panel .lesson-list li,body[data-theme="dark"] .profile-card b{color:#f3e6d5}
body[data-theme="dark"] .topic-link:hover{color:#e9c48e}
body[data-theme="dark"] .profile-data>div,body[data-theme="dark"] .score-legend span{border-color:#514031}
body[data-theme="dark"] .profile-data dt{color:#c3ae99}
body[data-theme="dark"] a.side-user:hover{background:#3a2b20}
body[data-theme="dark"] .avatar{background:#925161;color:#fff5eb}
body[data-theme="dark"] .btn-icon{background:#3a2b20;color:#f1dec4;border-color:#604b37}
body[data-theme="dark"] .chip,body[data-theme="dark"] .chip-row span{background:#3a2b20;color:#f1dec4;border-color:#604b37}
body[data-theme="dark"] .essay-preview{background:#2b211a;color:#f0e2d0}
body[data-theme="dark"] .feature-icon{background:#3a2b20;color:#e9c48e}
body[data-theme="dark"] .floating-note,body[data-theme="dark"] .owl-note{background:#3a2b20;color:#f1dec4}body[data-theme="dark"] .owl-note small{color:#c3ae99}
body[data-theme="dark"] .focus-good,body[data-theme="dark"] .welcome-owl{background:#36281e;color:#f0e2d0;border-color:#54412f}
body[data-theme="dark"] .hero-orbit{background:#3a2b20}
body[data-theme="dark"] .hero-art img{mix-blend-mode:normal;filter:brightness(.88)}
body[data-theme="dark"] .mobile-arrows button{background:#3a2b20;color:#f1dec4;border-color:#604b37}
body[data-theme="dark"] .notice-error{background:#4a2227;color:#ffd9d5;border-color:#8a4048}
body[data-theme="dark"] .notice-success{background:#22382a;color:#d8f0dc;border-color:#3f6a4b}
body[data-theme="dark"] .progress-track{background:#3a2b20}
body[data-theme="dark"] .topic-support blockquote{background:#2b211a;color:#f0e2d0;border-color:#925161}
body[data-theme="dark"] .tip-box,body[data-theme="dark"] .content-list article,body[data-theme="dark"] .admin-row{border-color:#514031}
body[data-theme="dark"] .tip-box{background:#2f241b;color:#f0e2d0}body[data-theme="dark"] .tip-box p{color:#e0cdb6}
body[data-theme="dark"] .content-dot{color:#e9c48e}
body[data-theme="dark"] .public-footer,body[data-theme="dark"] .app-footer{color:#b9a58f;border-color:#514031}
body[data-theme="dark"] .quick-card,body[data-theme="dark"] .answer-review,body[data-theme="dark"] .focus-card{background:#2f241b;border-color:#514031;color:#f0e2d0}
body[data-theme="dark"] details,body[data-theme="dark"] summary{color:#f0e2d0}
body[data-theme="dark"] ::selection{background:#925161;color:#fff}
body[data-theme="dark"] hr{border-color:#514031}
/* ---- responsividade extra ---- */
@media(max-width:850px){.public-nav{height:auto;min-height:70px;flex-wrap:wrap;gap:10px;padding:10px 16px}.public-nav nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.profile-card-actions{width:100%}.profile-card-actions .btn{flex:1 1 auto}}
@media(max-width:560px){.public-nav .brand-logo{width:130px;height:62px}.public-nav nav>a:not(.btn){display:none}.topbar-name{display:none}.lesson-pager .btn{width:100%}.chapter-panel .content-list article>.btn{flex:1 1 auto}.profile-data>div{flex-direction:column;gap:2px}.profile-data dd{text-align:left}.hero-actions{flex-wrap:wrap}}
body[data-theme="dark"] .nav-link:hover,body[data-theme="dark"] .nav-link.active{background:#3a2b20;color:#f1d29c}
body[data-theme="dark"] .hero h1 em,body[data-theme="dark"] .welcome-row h1 em{color:#e9c48e}
body[data-theme="dark"] .eyebrow{color:#d9b27a}
body[data-theme="dark"] .logout.nav-link:hover{color:#ffb3a6}
.hero-video{position:relative;z-index:1;width:100%;max-width:580px;aspect-ratio:16/9;border-radius:26px;overflow:hidden;background:#241b16;box-shadow:var(--shadow);border:1px solid var(--line)}.hero-video video,.hero-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#000}.hero-video-sound{position:absolute;right:12px;bottom:12px;z-index:2;border:0;border-radius:20px;background:#000000a8;color:#fff;font-size:12px;font-weight:700;padding:7px 12px;backdrop-filter:blur(4px)}.hero-video-sound:hover{background:#000000d0}
@media(max-width:560px){.hero-art{height:auto;padding:10px 0 30px}.hero-video{border-radius:18px}}

html{scroll-behavior:smooth;scroll-padding-top:90px}.section,.chapter-panel{scroll-margin-top:95px}










.app-loader{position:fixed;inset:0;z-index:100;background:linear-gradient(135deg,#f4ece2,#ead7c2);display:grid;place-items:center;align-content:center;gap:12px;color:#70263d;transition:opacity .24s,visibility .24s}.app-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}.app-loader-owl{font-size:66px;animation:owlFloat 1.35s ease-in-out infinite}.loader-dots{display:flex;gap:6px}.loader-dots i{width:8px;height:8px;border-radius:50%;background:#8a3850;animation:dotPulse 1s infinite}.loader-dots i:nth-child(2){animation-delay:.15s}.loader-dots i:nth-child(3){animation-delay:.3s}@keyframes owlFloat{50%{transform:translateY(-8px) rotate(-3deg)}}@keyframes dotPulse{50%{opacity:.25;transform:scale(.75)}}
.public-menu-toggle{display:none}.game-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.educational-game{min-height:290px}.educational-game[hidden]{display:none}.game-options{display:grid;gap:8px;margin:18px 0}.game-options .option-row{width:100%;text-align:left;background:transparent}.game-feedback{min-height:25px;font-weight:700;color:var(--wine)}.game-score{display:block;margin-top:12px;color:var(--muted);font-size:12px}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.memory-card{height:58px;border:1px solid var(--line);border-radius:9px;background:#f3e5d6;color:var(--wine);font-size:20px;font-weight:700}.memory-card.flipped,.memory-card.matched{background:var(--wine);color:white}.game-answer{display:flex;gap:8px;margin:20px 0}.game-answer input{max-width:160px;border:1px solid var(--line);border-radius:8px;padding:10px}body[data-theme=dark] .app-loader{background:#241b16;color:#f1d29c}body[data-theme=dark] .memory-card{background:#403023;border-color:#604b37}body[data-theme=dark] .game-answer input{background:#241b16;color:#f0e2d0}
@media(max-width:720px){.public-menu-toggle{display:inline-flex;border:1px solid #d8c8c1;background:transparent;color:var(--wine);border-radius:8px;padding:8px}.public-nav{position:relative}.public-nav nav.is-open{display:flex;position:absolute;z-index:20;top:68px;right:12px;left:12px;padding:12px;background:#fffaf2;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.public-nav nav.is-open>a:not(.btn){display:block;padding:8px}.games-grid{grid-template-columns:1fr}.game-tabs{overflow:auto;flex-wrap:nowrap}.game-tabs .btn{white-space:nowrap}.memory-card{height:50px}}

.video-frame{aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#201812;margin:14px 0}.video-frame iframe{width:100%;height:100%;border:0}

/* Flashcards */
.flashcard-review{max-width:760px;margin:auto}.flashcard-progress{margin-bottom:18px}.flashcard{width:100%;min-height:240px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fffaf2,#f2e3d4);color:var(--ink);padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;cursor:pointer;box-shadow:var(--shadow)}.flashcard strong{font:600 clamp(20px,3vw,30px)/1.4 "DM Sans",sans-serif}.flashcard-side,.flashcard small{color:var(--muted);font-size:13px}.flashcard.is-flipped{background:#f6e9dc}.flashcard-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px}.teacher-avatar-preview{display:flex;align-items:center;gap:16px;margin-bottom:18px}body[data-theme="dark"] .flashcard{background:#2f241b;border-color:#514031;color:#f0e2d0}
.flashcard{perspective:1000px;transform-style:preserve-3d;transition:transform .46s cubic-bezier(.2,.72,.25,1),background-color .24s,box-shadow .24s}.flashcard.is-flipped{transform:rotateY(180deg)}.flashcard.is-flipped>*{transform:rotateY(180deg)}.flashcard-side,.flashcard strong,.flashcard small{transition:transform .46s cubic-bezier(.2,.72,.25,1);backface-visibility:hidden}.flashcard-save-status{min-height:1.4em;margin:12px 0 0;color:var(--muted);font-size:12px;text-align:center}.flashcard-controls .btn:disabled{opacity:.65;cursor:wait}@media(max-width:520px){.flashcard{min-height:210px;padding:22px}.flashcard-controls .btn{flex:1 1 40%}}@media(prefers-reduced-motion:reduce){.flashcard,.flashcard>*{transition:none}}
.flashcard-review{width:min(100%,900px);max-width:900px;margin:0 auto;padding:clamp(20px,4vw,38px);display:grid;gap:18px}.flashcard-progress{width:min(100%,720px);margin:0 auto}.flashcard-progress>span{display:block;margin-bottom:10px;font-size:14px;font-weight:700;color:var(--wine)}.flashcard-review button#flashcard{position:relative;isolation:isolate;width:min(100%,720px);min-height:320px;margin:0 auto;padding:clamp(25px,6vw,58px);overflow:hidden;border:1px solid #d8c2ad;border-radius:22px;background:radial-gradient(ellipse at 10% 0%,#f3e4d1 0,transparent 42%),linear-gradient(145deg,#fffdf8,#f4e9dc);box-shadow:0 18px 45px #4b291414;color:#2d2630}.flashcard-review button#flashcard:before{content:"";position:absolute;inset:14px;border:1px solid #8b405014;border-radius:15px;pointer-events:none}.flashcard-review button#flashcard:focus-visible{outline:3px solid #a65b70;outline-offset:4px}.flashcard-review .flashcard-side{position:relative;z-index:1;padding:7px 12px;border-radius:30px;background:#70263d12;color:#70263d;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.flashcard-review #fcText{position:relative;z-index:1;max-width:580px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(22px,3vw,32px);line-height:1.38;color:#322733}.flashcard-review #flashcard small{position:relative;z-index:1;color:#806f68;font-size:12px}.flashcard-review .flashcard-controls{width:min(100%,720px);margin:0 auto;gap:10px}.flashcard-review .flashcard-controls .btn{min-height:44px;border-radius:12px}.flashcard-review .flashcard-progress .progress-track{height:9px;border-radius:20px;background:#eee4da;overflow:hidden}.flashcard-review .flashcard-progress .progress-track span{height:100%;border-radius:20px;background:linear-gradient(90deg,#70263d,#b96d77);transition:width .3s ease}.flashcard-review .flashcard-save-status{width:min(100%,720px);margin:-5px auto 0;font-size:12px}body[data-theme="dark"] .flashcard-review button#flashcard{border-color:#66513f;background:radial-gradient(ellipse at 10% 0%,#4a382b 0,transparent 45%),linear-gradient(145deg,#352a23,#29242a);color:#f2e6d7}body[data-theme="dark"] .flashcard-review #fcText{color:#f2e6d7}body[data-theme="dark"] .flashcard-review .flashcard-side{background:#d6a6ad1b;color:#e5b9c0}@media(max-width:600px){.flashcard-review{padding:17px;gap:15px}.flashcard-review button#flashcard{min-height:260px;border-radius:17px}.flashcard-review .flashcard-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.flashcard-review .flashcard-controls .btn{width:100%;padding:10px 8px;font-size:12px}}@media(prefers-reduced-motion:reduce){.flashcard-review .progress-track span{transition:none}}

.avatar-upload,.teacher-avatar-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.avatar-upload>label,.teacher-avatar-fields>label{flex:1}

/* Navegação lateral: rolagem própria sem alterar a geometria ou a identidade visual. */
.sidebar,.teacher-sidebar{box-sizing:border-box;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#c9b4a4 transparent}
.sidebar{-webkit-overflow-scrolling:touch;}
.teacher-sidebar{-webkit-overflow-scrolling:touch;}
.sidebar::-webkit-scrollbar,.teacher-sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-thumb,.teacher-sidebar::-webkit-scrollbar-thumb{background:#c9b4a4;border-radius:8px}
.sidebar::-webkit-scrollbar-track,.teacher-sidebar::-webkit-scrollbar-track{background:transparent}
.nav-link,.teacher-nav-link{box-sizing:border-box;min-height:42px;gap:10px;transition:background-color .16s ease,color .16s ease}
.nav-link>span,.teacher-nav-link>span{width:22px;min-width:22px;display:inline-flex;align-items:center;justify-content:center;font-size:initial}
.nav-icon{width:19px;height:19px;flex:0 0 19px;display:block}
.nav-link:focus-visible,.teacher-nav-link:focus-visible{outline:2px solid var(--wine);outline-offset:2px}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .teacher-sidebar{scrollbar-color:#745b47 transparent}
body[data-theme="dark"] .sidebar::-webkit-scrollbar-thumb,body[data-theme="dark"] .teacher-sidebar::-webkit-scrollbar-thumb{background:#745b47}
@media(max-width:850px){.teacher-sidebar{height:100vh;height:100dvh;overflow-y:auto;box-sizing:border-box;padding-bottom:max(16px,env(safe-area-inset-bottom))}}

.sidebar>.brand,.sidebar>.side-user,.sidebar>.logout-form,.teacher-sidebar>.brand,.teacher-sidebar>.teacher-identity,.teacher-sidebar>.teacher-logout{flex:0 0 auto}.sidebar nav,.teacher-sidebar nav{flex:0 0 auto}

/* Cabeçalho fixo e lista independente rolável nas barras laterais. */
.sidebar,.teacher-sidebar{overflow:hidden}
.sidebar-menu-scroll,.teacher-menu-scroll{box-sizing:border-box;min-height:0;flex:1 1 auto;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#c9b4a4 transparent;-webkit-overflow-scrolling:touch}
.sidebar-menu-scroll::-webkit-scrollbar,.teacher-menu-scroll::-webkit-scrollbar{width:6px}
.sidebar-menu-scroll::-webkit-scrollbar-thumb,.teacher-menu-scroll::-webkit-scrollbar-thumb{background:#c9b4a4;border-radius:8px}
.sidebar-menu-scroll::-webkit-scrollbar-track,.teacher-menu-scroll::-webkit-scrollbar-track{background:transparent}
.sidebar-menu-scroll nav,.teacher-menu-scroll nav{flex:0 0 auto}
.sidebar-menu-scroll .logout-form,.teacher-menu-scroll .teacher-logout{flex:0 0 auto}
body[data-theme="dark"] .sidebar-menu-scroll,body[data-theme="dark"] .teacher-menu-scroll{scrollbar-color:#745b47 transparent}
body[data-theme="dark"] .sidebar-menu-scroll::-webkit-scrollbar-thumb,body[data-theme="dark"] .teacher-menu-scroll::-webkit-scrollbar-thumb{background:#745b47}

/* Keep long side menus independently scrollable while the brand and profile stay visible. */
.sidebar-menu-scroll,.teacher-menu-scroll{flex:1 1 0;max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-block:12px}
.sidebar-menu-scroll:focus-visible,.teacher-menu-scroll:focus-visible{outline:2px solid var(--wine2);outline-offset:-2px}
.sidebar-menu-scroll:focus-within::-webkit-scrollbar-thumb,.teacher-menu-scroll:focus-within::-webkit-scrollbar-thumb{background:#a57c72}

@media(max-width:850px){
  .app-shell{display:block;min-height:100vh}
  body:not(.teacher-app) .mobile-menu{display:block}
  .sidebar{position:fixed;inset:0 auto 0 0;z-index:11;width:min(290px,86vw);height:100vh;height:100dvh;max-height:100dvh;overflow:hidden;transform:translateX(-105%);transition:transform .22s ease;box-shadow:12px 0 32px #24171224}
  .sidebar.open{transform:translateX(0)}
  .teacher-sidebar{z-index:11;overflow:hidden}
  .sidebar-menu-scroll,.teacher-menu-scroll{flex:1 1 0;min-height:0;max-height:none;overscroll-behavior:contain;touch-action:pan-y}
  body.menu-open{overflow:hidden}
  body.menu-open:after{content:"";position:fixed;inset:0;z-index:10;background:#21161a80;touch-action:none}
  .topbar{z-index:9}
}
.owl-bubble,.user-bubble{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.55}
.owl-error{border:1px solid #d8a7a1;background:#fff0ed}
.owl-retry{border:0;background:transparent;color:var(--wine);font-size:inherit;font-weight:700;text-decoration:underline;padding:2px 4px}
.owl-loading{padding:9px 14px;margin:0;color:var(--muted);font-size:12px}
.owl-chat form button:disabled{opacity:.6;cursor:wait}
.owl-config-note{padding:12px 15px;border:1px solid #e8d1a8;border-radius:10px;background:#fff8e9;color:#675035;font-size:12px;line-height:1.55}
@media(max-width:520px){.owl-chat{left:12px;right:12px;bottom:12px;width:auto;height:min(72dvh,560px);max-height:calc(100dvh - 24px)}.owl-page-chat{height:min(68dvh,680px)}.owl-chat form button{min-height:42px}.owl-chat input{font-size:16px}}

/* Flashcards swap the text in place; don't hide it behind a rotated back face. */
.flashcard-review button#flashcard,.flashcard-review button#flashcard.is-flipped{transform:none;transition:background .24s ease,border-color .24s ease,box-shadow .24s ease}
.flashcard-review button#flashcard.is-flipped{background:radial-gradient(ellipse at 90% 0%,#ead5dc 0,transparent 42%),linear-gradient(145deg,#fffaf4,#f0e2e5);border-color:#c89aa7;box-shadow:0 18px 45px #70263d1c}
.flashcard-review button#flashcard.is-flipped>*{transform:none;backface-visibility:visible}
.flashcard-review button#flashcard.is-flipped #fcText{animation:flashcard-reveal .24s ease-out}
@keyframes flashcard-reveal{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.flashcard-review button#flashcard .flashcard-side,.flashcard-review button#flashcard #fcText,.flashcard-review button#flashcard small{backface-visibility:visible}
body[data-theme="dark"] .flashcard-review button#flashcard.is-flipped{background:radial-gradient(ellipse at 90% 0%,#49323b 0,transparent 45%),linear-gradient(145deg,#352a30,#29242a);border-color:#74515d}
@media(prefers-reduced-motion:reduce){.flashcard-review button#flashcard.is-flipped #fcText{animation:none}}

/* Landing page: hero editorial e matérias em destaque */
.public-main:has(>.hero){background:#f8f0e5}
.public-main:has(>.hero)>.hero{max-width:1480px;min-height:600px;padding:58px clamp(28px,7.2vw,110px) 46px;grid-template-columns:minmax(0,1.02fr) minmax(0,1.12fr);gap:2vw;overflow:hidden}
.public-main:has(>.hero)>.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 15px;border-radius:99px;background:#f1dfd0;color:#70263d;letter-spacing:.12em}
.public-main:has(>.hero)>.hero h1{font-size:clamp(3.35rem,6.2vw,6rem);line-height:.99;letter-spacing:-.045em;max-width:760px;margin:13px 0 20px;color:#35111e}
.public-main:has(>.hero)>.hero h1 em{color:#8d173d}
.public-main:has(>.hero)>.hero .hero-copy>p{max-width:500px;font-size:clamp(15px,1.25vw,18px);line-height:1.65;color:#51444a}
.public-main:has(>.hero)>.hero .hero-proof{margin-top:25px}
.public-main:has(>.hero)>.hero .hero-art{height:490px;min-width:0}
.public-main:has(>.hero)>.hero .hero-orbit{width:min(36vw,490px);height:min(36vw,490px);right:1%;top:0;background:#efd4c4}
.public-main:has(>.hero)>.hero .hero-art>img,.public-main:has(>.hero)>.hero .hero-video{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:48% 48% 12% 12%;mix-blend-mode:normal;box-shadow:0 24px 70px #44132124}
.public-main:has(>.hero)>.hero .hero-video video,.public-main:has(>.hero)>.hero .hero-video iframe{width:100%;height:100%;object-fit:cover;border:0;border-radius:inherit}
.public-main:has(>.hero)>.hero .owl-note{left:-22px;bottom:24px}
.public-main:has(>.hero)>.hero .floating-note{right:-5px;top:34px}
.public-main:has(>.hero)~.public-footer{background:#35111e;color:#e9d9d0}
.public-main:has(>.hero)>.stat-strip{position:relative;z-index:2;width:min(1280px,calc(100% - 64px));margin:-12px auto 0;padding:22px clamp(18px,3vw,48px);display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid #eedaca;border-radius:28px;background:#fff8ee;box-shadow:0 16px 42px #44132112}
.public-main:has(>.hero)>.stat-strip div{justify-content:center;min-height:52px;padding:0 16px;border-right:1px solid #ead7c8}
.public-main:has(>.hero)>.stat-strip div:last-child{border:0}
.public-main:has(>.hero)>.stat-strip strong{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#70263d;color:#fff;font:600 16px var(--serif)}
.public-main:has(>.hero)>.stat-strip span{max-width:130px;font-weight:600;color:#35242a}
.public-main:has(>.hero)>#disciplinas{max-width:none;margin-top:0;padding:82px max(7vw,28px) 95px;background:radial-gradient(ellipse at 80% 0%,#591b31 0,transparent 42%),#35111e;color:#fff8ee}
.public-main:has(>.hero)>#disciplinas .section-head{text-align:left;max-width:1100px;margin:0 auto 34px}
.public-main:has(>.hero)>#disciplinas .section-head .eyebrow{color:#e49aaf}
.public-main:has(>.hero)>#disciplinas .section-head h2{font-size:clamp(2.3rem,4vw,3.4rem);color:#fff4e8;margin-bottom:10px}
.public-main:has(>.hero)>#disciplinas .section-head p{color:#e4d4d0}
.public-main:has(>.hero)>#disciplinas .feature-grid{max-width:1100px;margin:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.public-main:has(>.hero)>#disciplinas .feature-card{min-height:235px;padding:25px;background:#fff4e8;color:#35111e;border:1px solid #f1d9c8;box-shadow:0 15px 34px #1b071021}
.public-main:has(>.hero)>#disciplinas .feature-card.featured{background:linear-gradient(145deg,#a71f50,#70263d);color:#fff8ee;border-color:#a94969}
.public-main:has(>.hero)>#disciplinas .feature-card p{color:inherit;opacity:.82}
.public-main:has(>.hero)>#disciplinas .feature-card>a{color:inherit}
.public-main:has(>.hero)>#disciplinas .feature-icon{border-radius:50%;background:#70263d;color:#fff;font-family:var(--sans);font-weight:700}
.public-main:has(>.hero)>#disciplinas .feature-card.featured .feature-icon{background:#ffffff26;color:#fff}
.public-main:has(>.hero)>.how-section{background:#f3e7d9}
@media(max-width:900px){.public-main:has(>.hero)>.hero{grid-template-columns:1fr 1fr;padding:44px 5vw;min-height:520px}.public-main:has(>.hero)>.hero h1{font-size:clamp(3rem,7vw,4.6rem)}.public-main:has(>.hero)>.hero .hero-art{height:390px}.public-main:has(>.hero)>.stat-strip{grid-template-columns:repeat(3,1fr);row-gap:12px}.public-main:has(>.hero)>.stat-strip div:nth-child(3){border-right:0}.public-main:has(>.hero)>#disciplinas .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.public-main:has(>.hero)>.hero{display:flex;flex-direction:column;align-items:stretch;padding:36px 22px 32px;gap:12px}.public-main:has(>.hero)>.hero .hero-copy{order:0}.public-main:has(>.hero)>.hero h1{font-size:clamp(2.8rem,14vw,4rem)}.public-main:has(>.hero)>.hero .hero-actions{flex-wrap:wrap;gap:14px}.public-main:has(>.hero)>.hero .hero-art{order:1;height:300px;margin:8px 5px 0}.public-main:has(>.hero)>.hero .hero-orbit{width:270px;height:270px;right:8%;top:4%}.public-main:has(>.hero)>.hero .owl-note{left:-10px;bottom:8px}.public-main:has(>.hero)>.stat-strip{width:calc(100% - 28px);grid-template-columns:1fr 1fr;padding:15px;border-radius:20px}.public-main:has(>.hero)>.stat-strip div{justify-content:flex-start;border-right:0;border-bottom:1px solid #ead7c8;padding:8px}.public-main:has(>.hero)>.stat-strip div:last-child{grid-column:span 2;justify-content:center;border:0}.public-main:has(>.hero)>#disciplinas{padding:60px 22px}.public-main:has(>.hero)>#disciplinas .feature-grid{grid-template-columns:1fr}.public-main:has(>.hero)>#disciplinas .feature-card{min-height:0}}
.public-nav{background:#f8eee2;border-bottom-color:#e8d2c2}
.public-nav nav{padding:8px 11px;border:1px solid #8d344c;border-radius:999px;background:linear-gradient(120deg,#571226,#79243e);box-shadow:0 8px 24px #45101e24;gap:18px}
.public-nav nav>a:not(.btn){color:#fff6ed;font-weight:600}
.public-nav nav>a:not(.btn):hover{color:#f0b6c4}
.public-nav nav .theme-toggle{border-color:#ffffff45;color:#fff6ed;background:#ffffff0d}
.public-nav nav .btn-outline{color:#fff6ed;border-color:#ffffff70;background:transparent}
.public-nav nav .btn-primary{color:#571226;background:#fff4e8;border-color:#fff4e8}
.public-nav nav .btn:hover{box-shadow:0 6px 16px #25081255}
body:not([data-theme="dark"]) .public-nav nav{background:linear-gradient(135deg,#fffaf4,#f4e8df);border-color:#e6cfc3;box-shadow:0 8px 24px #45101e12}
body:not([data-theme="dark"]) .public-nav nav>a:not(.btn){color:#64243a}
body:not([data-theme="dark"]) .public-nav nav>a:not(.btn):hover{color:#a33d5c}
body:not([data-theme="dark"]) .public-nav nav .theme-toggle{border-color:#d9bdb4;color:#70263d;background:#fffaf4}
body:not([data-theme="dark"]) .public-nav nav .btn-outline{color:#70263d;border-color:#cdaeb0;background:#fffaf4}
body:not([data-theme="dark"]) .public-nav nav .btn-primary{color:#fff8f2;background:#70263d;border-color:#70263d}
body:not([data-theme="dark"]) .public-nav nav .btn-primary:hover{background:#8a3850;border-color:#8a3850}
@media(max-width:760px){.public-nav nav{border-radius:18px}}

/* Menu lateral em vinho claro e tema noturno com base neutra */
.sidebar,.teacher-sidebar{background:#91475f;border-color:#7b354e;color:#fff8f3}
.sidebar>.brand,.teacher-sidebar>.brand{margin:0 2px 4px;padding:8px 8px 14px;border:0;border-radius:12px;background:#fbf4eb}
.sidebar>.brand .brand-logo,.teacher-sidebar>.brand .brand-logo{filter:none!important}
.sidebar .side-user,.teacher-sidebar .teacher-identity{color:#fff8f3}
.sidebar .side-user small,.teacher-sidebar .teacher-identity small{color:#f4dfe5}
.sidebar .avatar,.teacher-sidebar .avatar{background:#f1ded6;color:#70263d}
.sidebar nav,.teacher-sidebar nav{gap:5px}
.sidebar .nav-link,.teacher-sidebar .teacher-nav-link{color:#fff6f1}
.sidebar .nav-link:hover,.teacher-sidebar .teacher-nav-link:hover{background:#9b5369;color:#fff}
.sidebar .nav-link.active,.teacher-sidebar .teacher-nav-link.active{background:#f5e2dc;color:#64243a;box-shadow:inset 3px 0 #e6b4bf}
.sidebar .logout.nav-link:hover,.teacher-sidebar .teacher-logout .teacher-nav-link:hover{background:#a34c62;color:#fff}
.sidebar .nav-link:focus-visible,.teacher-sidebar .teacher-nav-link:focus-visible{outline-color:#f6d9df}
.sidebar,.teacher-sidebar{scrollbar-color:#d49eac transparent}
.sidebar::-webkit-scrollbar-thumb,.teacher-sidebar::-webkit-scrollbar-thumb{background:#d49eac}
.sidebar-menu-scroll,.teacher-menu-scroll{scrollbar-color:#d49eac transparent}
.sidebar-menu-scroll::-webkit-scrollbar-thumb,.teacher-menu-scroll::-webkit-scrollbar-thumb{background:#d49eac}

body[data-theme="dark"]{--paper:#191a22;--ink:#eeeaf2;--muted:#b5b0bd;--line:#383844;--wine:#c16b85;--wine2:#d98ba0;--wine-dark:#f2dce3;--shadow:0 14px 40px #0005;background:#191a22;color:#eeeaf2;color-scheme:dark}
body[data-theme="dark"] .app-shell,body[data-theme="dark"] .main-area,body[data-theme="dark"] .teacher-shell,body[data-theme="dark"] .teacher-main,body[data-theme="dark"] .public-main{background:#191a22;color:#eeeaf2}
body[data-theme="dark"] .sidebar,body[data-theme="dark"] .teacher-sidebar{background:#54263a;border-color:#63364a;color:#fff8f3;scrollbar-color:#936176 transparent}
body[data-theme="dark"] .sidebar>.brand,body[data-theme="dark"] .teacher-sidebar>.brand{background:#fbf4eb}
body[data-theme="dark"] .sidebar>.brand .brand-logo,body[data-theme="dark"] .teacher-sidebar>.brand .brand-logo{filter:none!important}
body[data-theme="dark"].teacher-app{background:#191a22;color:#eeeaf2}
body[data-theme="dark"] .sidebar .nav-link,body[data-theme="dark"] .teacher-sidebar .teacher-nav-link{color:#f5eaf0}
body[data-theme="dark"] .sidebar .nav-link:hover,body[data-theme="dark"] .teacher-sidebar .teacher-nav-link:hover{background:#71384f;color:#fff}
body[data-theme="dark"] .sidebar .nav-link.active,body[data-theme="dark"] .teacher-sidebar .teacher-nav-link.active{background:#f0dbe2;color:#4c2034;box-shadow:inset 3px 0 #d789a1}
body[data-theme="dark"] .sidebar-menu-scroll::-webkit-scrollbar-thumb,body[data-theme="dark"] .teacher-menu-scroll::-webkit-scrollbar-thumb{background:#936176}
body[data-theme="dark"] .topbar,body[data-theme="dark"] .teacher-topbar{background:#20212a;border-color:#383844;color:#e9e4ed}
body[data-theme="dark"] .today,body[data-theme="dark"] .side-user small,body[data-theme="dark"] .teacher-identity small{color:#c2bdc9}
body[data-theme="dark"] .panel,body[data-theme="dark"] .teacher-panel,body[data-theme="dark"] .metric,body[data-theme="dark"] .auth-card,body[data-theme="dark"] .feature-card,body[data-theme="dark"] .quick-card,body[data-theme="dark"] .answer-review,body[data-theme="dark"] .focus-card{background:#24252f;border-color:#393a47;color:#eeeaf2}
body[data-theme="dark"] .panel p,body[data-theme="dark"] .teacher-panel p,body[data-theme="dark"] .auth-card p,body[data-theme="dark"] .feature-card p,body[data-theme="dark"] .page-intro p{color:#bdb8c5}
body[data-theme="dark"] .panel h1,body[data-theme="dark"] .panel h2,body[data-theme="dark"] .panel h3,body[data-theme="dark"] .teacher-panel h1,body[data-theme="dark"] .teacher-panel h2,body[data-theme="dark"] .teacher-panel h3,body[data-theme="dark"] .page-intro h1,body[data-theme="dark"] .page-intro h2{color:#f3eef5}
body[data-theme="dark"] .stat-strip,body[data-theme="dark"] .how-section,body[data-theme="dark"] .steps>div,body[data-theme="dark"] .quick-actions{background:#23242d;border-color:#393a47;color:#eeeaf2}
body[data-theme="dark"] .stat-strip div,body[data-theme="dark"] .stat-strip span,body[data-theme="dark"] .steps strong{color:#eeeaf2}
body[data-theme="dark"] .stat-strip strong{background:#8f4560;color:#fff}
body[data-theme="dark"] .public-nav{background:#20212a;border-color:#383844}
body[data-theme="dark"] .public-nav nav{background:linear-gradient(120deg,#60283e,#7b3852);border-color:#87506a}
body[data-theme="dark"] .owl-note,body[data-theme="dark"] .floating-note{background:#292a35;color:#f1eaf1;border:1px solid #41414f}
body[data-theme="dark"] .form-stack input,body[data-theme="dark"] .form-stack textarea,body[data-theme="dark"] .form-stack select,body[data-theme="dark"] .form-grid input,body[data-theme="dark"] .form-grid select,body[data-theme="dark"] .filter-row select,body[data-theme="dark"] .game-answer input{background:#1d1e27;border-color:#42424f;color:#f1edf4}
body[data-theme="dark"] table th{background:#292a35;color:#eeeaf2}body[data-theme="dark"] table td{border-color:#393a47;color:#e5e1e9}body[data-theme="dark"] tbody tr:hover{background:#2a2b36}
body[data-theme="dark"] .btn-primary{background:#a4516c;color:#fff}body[data-theme="dark"] .btn-primary:hover{background:#b9627e}
body[data-theme="dark"] .btn-outline{color:#e8b7c5;border-color:#68505d}body[data-theme="dark"] .btn-outline:hover{background:#332a34}
body[data-theme="dark"] .hero h1,body[data-theme="dark"] .how-section h2{color:#f5edf2}
body[data-theme="dark"] .public-main:has(>.hero){background:#191a22}
body[data-theme="dark"] .public-main:has(>.hero)>.hero .hero-copy>p{color:#d0cad4}
body[data-theme="dark"] .public-main:has(>.hero)>.stat-strip{background:#25252f;border-color:#41404b}
body[data-theme="dark"] .public-main:has(>.hero)>.stat-strip div{border-color:#3b3944}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas{background:radial-gradient(ellipse at 80% 0%,#57283c 0,transparent 42%),#20202a}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card{background:#292a35;color:#f4edf3;border-color:#45414b}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card.featured{background:linear-gradient(145deg,#873b58,#60283e);color:#fff8f3;border-color:#98546c}
body[data-theme="dark"] .owl-banner{background:#5f2b41}
@media(max-width:600px){.sidebar>.brand,.teacher-sidebar>.brand{margin-bottom:8px}}
.student-password-reset{min-width:145px}
.student-password-reset summary{color:var(--wine);font-size:12px;font-weight:700;cursor:pointer}
.student-password-reset[open] summary{margin-bottom:10px}
.student-password-reset .teacher-form{min-width:230px;gap:8px}
.student-password-reset .teacher-form label{font-size:11px}
.student-password-reset .teacher-form input{min-width:0;padding:8px;font-size:12px}
body[data-theme="dark"] .student-password-reset summary{color:#e8b7c5}

/* Contraste consistente para todas as seções da página inicial no tema escuro. */
body[data-theme="dark"] .public-main:has(>.hero)>.hero h1{color:#f7eee7}
body[data-theme="dark"] .public-main:has(>.hero)>.hero h1 em{color:#ef86a8}
body[data-theme="dark"] .public-main:has(>.hero)>.hero .hero-copy>p,
body[data-theme="dark"] .public-main:has(>.hero)>.hero .hero-proof{color:#ddcfc6}
body[data-theme="dark"] .public-main:has(>.hero)>.hero .eyebrow{color:#e7a1b3}
body[data-theme="dark"] .public-main:has(>.hero)>.stat-strip{background:#292630;border-color:#49434f}
body[data-theme="dark"] .public-main:has(>.hero)>.stat-strip div,
body[data-theme="dark"] .public-main:has(>.hero)>.stat-strip span{color:#f0e8e8}
body[data-theme="dark"] .public-main:has(>.hero)>.stat-strip div{border-color:#49434f}
body[data-theme="dark"] .public-main:has(>.hero)>.stat-strip strong{background:#873951;color:#fff7f1}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .section-head h2{color:#f7eee7}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .section-head p{color:#d0c4cb}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card{background:#2c2933;color:#f5edf0;border-color:#49434f}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card h3{color:#fff4ed}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card p{color:#d2c8d0;opacity:1}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card.featured{background:linear-gradient(145deg,#873951,#642a42);color:#fff7f1;border-color:#a45770}
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card.featured h3,
body[data-theme="dark"] .public-main:has(>.hero)>#disciplinas .feature-card.featured p{color:#fff7f1}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section{background:#25232c;color:#f4eaf0}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section h2{color:#f7eee7}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section>div>p{color:#cfc3cc}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section .eyebrow{color:#e6b678}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section .steps>div{background:#302d37;border:1px solid #49434f}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section .steps>div>b{color:#e88ba5}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section .steps strong{color:#f6eef2}
body[data-theme="dark"] .public-main:has(>.hero)>.how-section .steps small{color:#cfc3cc}
body[data-theme="dark"] .public-main:has(>.hero)>.owl-banner{background:#682a43;color:#fff7f1}
body[data-theme="dark"] .public-main:has(>.hero)>.owl-banner p{color:#f0dfe5}
.essay-ai-report{display:grid;gap:14px;padding:18px;border:1px solid #e8d5c7;border-radius:14px;background:#fffaf4}.essay-ai-report[hidden]{display:none}.essay-ai-report h2,.essay-ai-report h3{margin:0 0 9px}.essay-ai-report section{padding:14px 0;border-top:1px solid var(--line)}.essay-ai-card{margin:10px 0;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.essay-ai-card p{margin:7px 0;color:var(--ink)}.essay-ai-card blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--wine);font-weight:700;color:var(--wine)}.essay-ai-card small{font-weight:700;text-transform:capitalize;color:var(--wine)}.essay-ai-report pre{max-height:420px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border-radius:9px;background:#f4ece4;color:var(--ink);font:13px/1.7 var(--sans)}.essay-ai-report details{padding:12px 0}.essay-ai-report summary{cursor:pointer;font-weight:700;color:var(--wine)}.essay-ai-report button:disabled{opacity:.6;cursor:wait}body[data-theme="dark"] .essay-ai-report{background:#302a33;border-color:#54412f}body[data-theme="dark"] .essay-ai-card{background:#36281e;border-color:#54412f}body[data-theme="dark"] .essay-ai-report pre{background:#211912;color:#f3e6d5}body[data-theme="dark"] .essay-ai-card p{color:#f0e2d0}
.essay-ai-card[data-category="ortografia"]{border-left:4px solid #bd4058}.essay-ai-card[data-category="gramatica"]{border-left:4px solid #7560af}.essay-ai-card[data-category="pontuacao"]{border-left:4px solid #d17a36}.essay-ai-card[data-category="coesao"],.essay-ai-card[data-category="coerencia"]{border-left:4px solid #378276}.essay-ai-card[data-category="argumentacao"],.essay-ai-card[data-category="tema"]{border-left:4px solid #3970a4}.essay-ai-card[data-category="registro"],.essay-ai-card[data-category="estrutura"]{border-left:4px solid #9b657b}

/* ===== Página inicial (v13) — fiel ao layout "Estude e Evolua" ===== */
:root{--lp-cream:#f7e8d9}
.public-nav.lp-nav .lp-links{display:flex;align-items:center;gap:clamp(16px,2.6vw,40px);margin:0 auto}
.public-nav.lp-nav .lp-links>a{display:inline-flex;align-items:center;gap:9px;padding:10px 2px;border-bottom:2px solid transparent;color:#4a3036;font-size:14px;font-weight:500;white-space:nowrap}
.public-nav.lp-nav .lp-links>a.is-active{color:#3a0d1d;font-weight:700;border-color:#70263d}
.public-nav.lp-nav .lp-links svg{width:20px;height:20px;flex:none}
.public-nav.lp-nav .lp-actions{display:flex;align-items:center;gap:16px}
.public-nav.lp-nav .theme-toggle{width:48px;height:48px;padding:0;border:0;border-radius:50%;background:#f0dfcf;color:#70263d;font-size:20px;display:grid;place-items:center}
.public-nav.lp-nav .theme-toggle span{display:none}
.public-nav.lp-nav .lp-enter{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 26px;border-radius:14px;background:#4a1325;color:#fff;font-size:15px;font-weight:600;white-space:nowrap}
.public-nav.lp-nav .lp-enter svg{width:18px;height:18px}
body.is-landing .public-nav.lp-nav{position:relative;z-index:5;height:96px;padding:0 max(7.2vw,24px) 0 max(7.2vw,20px);background:var(--lp-cream);border:0}
body.is-landing .public-nav.lp-nav::before{content:"";position:absolute;left:0;top:0;width:150px;height:118px;background:#5e1e2d;border-radius:0 0 100% 0;z-index:-1}
body.is-landing .public-nav.lp-nav .brand-logo{width:190px;height:95px;object-fit:contain}
body.is-landing .public-main{background:var(--lp-cream)}
.lp-hero{position:relative;min-height:514px;padding:0 max(7.2vw,24px);background:var(--lp-cream)}
.lp-copy{position:relative;z-index:2;max-width:650px;padding:34px 0 40px}
.lp-pill{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 26px 0 16px;border-radius:999px;background:#f0ddcc;color:#6d2d3c;font-size:13px;font-weight:500;letter-spacing:.14em}
.lp-pill svg{width:22px;height:22px}
.lp-copy h1{margin:26px 0 22px;font:700 clamp(40px,4.7vw,72px)/1.04 var(--serif);letter-spacing:-.02em;color:#3a0d1d}
.lp-copy h1 em{font-style:italic;color:#6f1a3a}
.lp-copy>p{max-width:480px;margin:0;color:#5a4a4d;font-size:18px;line-height:1.6}
.lp-cta{display:flex;align-items:center;flex-wrap:wrap;gap:24px 40px;margin-top:34px}
.lp-btn{display:inline-flex;align-items:center;gap:14px;height:64px;padding:0 38px;border-radius:18px;background:#4a1325;color:#fff;font-size:18px;font-weight:600;box-shadow:0 14px 30px #4a132533;transition:transform .2s}
.lp-btn:hover{transform:translateY(-2px)}
.lp-play{display:inline-flex;align-items:center;gap:14px;padding:0;border:0;background:none;color:#3a0d1d;font-size:16px;font-weight:700;cursor:pointer}
.lp-play svg{width:38px;height:38px;color:#70263d;stroke-width:1.5}
.lp-photo{position:absolute;right:0;top:0;width:min(52%,860px);aspect-ratio:736/514;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%),linear-gradient(180deg,transparent,#000 8%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 16%),linear-gradient(180deg,transparent,#000 8%,#000 90%,transparent);mask-composite:intersect}
.lp-photo img{display:block;width:100%;height:100%;object-fit:cover}
.lp-strip{position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);max-width:1284px;width:calc(100% - 2*max(24px,4vw));margin:0 auto;padding:30px 20px;border-radius:30px;background:#fcf2e8;box-shadow:0 18px 50px #3b102014}
.lp-strip>div{display:flex;align-items:center;gap:14px;padding:0 22px;border-left:1px solid #ead8c8}
.lp-strip>div:first-child{border-left:0}
.lp-strip span{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#6a1b33;color:#fff}
.lp-strip b{color:#3a2b2b;font-size:15px;font-weight:600;line-height:1.35}
.lp-subjects{position:relative;margin-top:-62px;padding:120px max(5vw,24px) 130px;min-height:420px;overflow:hidden;background:linear-gradient(180deg,#46141f,#300a12);color:#fff}
.lp-subjects-in{position:relative;z-index:2;max-width:1056px;margin:0 auto}
.lp-subjects-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.lp-subjects h2{margin:0;font:600 clamp(28px,3vw,40px)/1.15 var(--serif);color:#fff}
.lp-subjects h2 em{font-style:italic;color:#c0406f}
.lp-subjects-head p{margin:10px 0 0;color:#ecd9d6;font-size:16px}
.lp-subjects-head>a{margin-top:26px;color:#fff;font-size:14px;white-space:nowrap}
.lp-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;width:77%;margin-top:34px}
.lp-card{display:flex;align-items:flex-start;gap:22px;min-height:150px;padding:30px 32px;border-radius:12px;background:linear-gradient(135deg,#8a2548,#66172f);color:#fff;transition:transform .2s}
.lp-card:hover{transform:translateY(-3px)}
.lp-card.is-light{background:#e8d3c6;color:#3a1522}
.lp-card-ico{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#a8325a;color:#fff}
.lp-card.is-light .lp-card-ico{background:#4a1325}
.lp-card h3{margin:0 0 8px;font:600 22px var(--serif);color:inherit}
.lp-card p{margin:0;font-size:14.5px;line-height:1.55;opacity:.85}
.lp-deco-book,.lp-deco-owl{position:absolute;bottom:0;pointer-events:none;z-index:1}
.lp-deco-book{left:0;width:min(14vw,215px);-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%),linear-gradient(90deg,#000 78%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent,#000 16%),linear-gradient(90deg,#000 78%,transparent);mask-composite:intersect}
.lp-deco-owl{right:0;width:min(30vw,420px);-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%),linear-gradient(270deg,#000 85%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent,#000 22%),linear-gradient(270deg,#000 85%,transparent);mask-composite:intersect}
.lp-dialog{width:min(920px,92vw);padding:0;border:0;border-radius:18px;background:#000;overflow:visible}
.lp-dialog::backdrop{background:#1b0a10cc}
.lp-dialog video,.lp-dialog iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:18px}
.lp-dialog-close{position:absolute;right:-6px;top:-46px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#4a1325;font-size:24px;line-height:1;cursor:pointer}
@media(max-width:1100px){.public-nav.lp-nav .lp-links{display:none}.public-nav.lp-nav .lp-actions{margin-left:auto}}
@media(max-width:900px){body.is-landing .public-nav.lp-nav{height:76px}body.is-landing .public-nav.lp-nav .brand-logo{width:130px;height:65px}.lp-hero{min-height:0;padding-bottom:0}.lp-photo{position:relative;width:calc(100% + 2*max(7.2vw,24px));margin:0 calc(-1*max(7.2vw,24px))}.lp-copy{padding-bottom:20px}.lp-strip{grid-template-columns:repeat(2,1fr);gap:20px 0;margin-top:-8px}.lp-strip>div{padding:0 12px}.lp-strip>div:nth-child(odd){border-left:0}.lp-subjects{margin-top:-40px;padding-top:90px}.lp-subjects-head{flex-direction:column;gap:6px}.lp-subjects-head>a{margin-top:6px}.lp-cards{grid-template-columns:1fr;width:100%}.lp-deco-owl{width:46vw;opacity:.9}.lp-deco-book{display:none}}
@media(max-width:520px){.public-nav.lp-nav .lp-enter{padding:0 16px}.lp-btn{height:56px;padding:0 28px;font-size:16px}.lp-strip{grid-template-columns:1fr}.lp-strip>div{border-left:0}}
/* Modo escuro da página inicial */
body.is-landing[data-theme="dark"] .public-nav.lp-nav,body.is-landing[data-theme="dark"] .public-main,body[data-theme="dark"] .lp-hero{background:#1f1712}
body[data-theme="dark"] .public-nav.lp-nav .lp-links>a{color:#e4d6cd}
body[data-theme="dark"] .public-nav.lp-nav .lp-links>a.is-active{color:#fff;border-color:#c0406f}
body[data-theme="dark"] .public-nav.lp-nav .theme-toggle{background:#3a2a22;color:#f3e6d5}
body[data-theme="dark"] .lp-pill{background:#3a2a22;color:#e8cfc4}
body[data-theme="dark"] .lp-copy h1{color:#f6e9df}
body[data-theme="dark"] .lp-copy h1 em{color:#d9628f}
body[data-theme="dark"] .lp-copy>p{color:#cdbfb6}
body[data-theme="dark"] .lp-play{color:#f6e9df}
body[data-theme="dark"] .lp-strip{background:#2b211b;box-shadow:none}
body[data-theme="dark"] .lp-strip>div{border-color:#43342a}
body[data-theme="dark"] .lp-strip b{color:#efe6e2}
body[data-theme="dark"] .lp-subjects h2,body[data-theme="dark"] .lp-card h3{color:inherit}
body[data-theme="dark"] .lp-card.is-light{background:#3a2a22;color:#f3e6d5}
@media(prefers-reduced-motion:reduce){.lp-btn,.lp-card{transition:none}}
/* Modo escuro da página inicial: paleta única (marrom/vinho) em todas as seções */
body.is-landing[data-theme="dark"]{background:#1f1712;color:#f3e6d5}
body.is-landing[data-theme="dark"] .public-nav.lp-nav .lp-links{background:none;box-shadow:none;border:0}
body.is-landing[data-theme="dark"] .public-main:has(>.hero)>.how-section,body.is-landing[data-theme="dark"] .how-section{background:#2b211b;color:#f3e6d5}
body.is-landing[data-theme="dark"] .public-footer{background:#1f1712;color:#b9a58f;border-color:#514031}
body.is-landing[data-theme="dark"] .public-nav.lp-nav .lp-enter{background:#925161;color:#fff}
body.is-landing[data-theme="dark"] .lp-hero,body.is-landing[data-theme="dark"] .public-nav.lp-nav{background:#1f1712}
body.is-landing[data-theme="dark"] .how-section .steps>div{background:#35271f;border-color:#514031}

/* v13: turma, miniaturas e cartões compactos */
.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.class-grid article{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fffaf4}.class-grid h3{margin:0 0 9px;font-size:15px}.class-pair{display:flex;gap:7px;flex-wrap:wrap}.class-pair a{padding:7px 9px;border-radius:7px;background:#f4e6dc;color:var(--wine);font-size:11px;font-weight:700}.teacher-student-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.teacher-student-video{padding:15px}.teacher-student-video h2{font-size:18px;margin:8px 0}.video-card-player{display:grid;gap:8px}.video-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#281a19}.video-thumb img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}.video-play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#70263d;color:#fff;font-size:18px;box-shadow:0 5px 20px #0005}.video-thumb:hover img{transform:scale(1.03);transition:transform .2s}.video-frame{margin:0}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-grid{gap:10px}.metric{padding:14px;min-height:100px}.btn{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}@media(max-width:720px){.class-grid{grid-template-columns:1fr}.teacher-student-video-grid{grid-template-columns:1fr}}

.student-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.student-year-card{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffaf4}.student-year-card h3{margin:0;font:600 18px var(--serif)}.student-year-card.is-current{border-color:#c88b98;box-shadow:0 8px 22px #70263d12}.student-year-card.is-locked{opacity:.62}.student-class-options{display:flex;gap:6px}.student-class-option{padding:6px 8px;border-radius:6px;background:#f0e4d9;color:var(--wine);font-size:11px;font-weight:700}.student-year-card small{font-size:11px;color:var(--muted)}@media(max-width:760px){.student-year-grid{grid-template-columns:1fr}}

.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.calendar-heading h2{margin:0;text-transform:capitalize;font:600 22px var(--serif)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:700;text-align:center}.calendar-day{min-height:92px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fffdfa}.calendar-day.is-empty{background:transparent;border-style:dashed;opacity:.45}.calendar-day.is-today{border:2px solid #b96d77}.calendar-day>b{font-size:11px}.calendar-event{display:block;margin-top:5px;padding:5px;border-radius:5px;font-size:10px;line-height:1.2;color:inherit;overflow:hidden}.calendar-event span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pending{color:#8c5d16}.status-submitted{color:#286b70}.status-completed{color:#36733d}.status-overdue{color:#a43b4b}.status-closed{color:#71636b}.calendar-event.status-pending{background:#faedc7}.calendar-event.status-submitted{background:#d9eeee}.calendar-event.status-completed{background:#dcefdc}.calendar-event.status-overdue{background:#f7dce0}.calendar-event.status-closed{background:#e8e0e5}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:11px;font-weight:700}.calendar-legend span:before{content:'●';margin-right:5px}.calendar-list{display:grid;gap:7px}.calendar-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px;border-top:1px solid var(--line);color:var(--ink)}.calendar-list-item span{font-size:11px;color:var(--muted)}.calendar-list-item strong{font-size:10px;white-space:nowrap}@media(max-width:600px){.calendar-heading h2{font-size:18px}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-day{min-height:70px;padding:4px}.calendar-event{font-size:8px;padding:4px}.calendar-list-item{grid-template-columns:1fr}.calendar-list-item strong{justify-self:start}}

/* Biblioteca: cards maiores e capa completa; seleção de data no calendário docente */
.library-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.library-book-grid .book-card{padding-bottom:24px;min-height:100%}.library-book-grid .book-cover{width:100%;height:420px;object-fit:contain;object-position:center;background:#f4ece1;padding:14px}.calendar-day[data-select-date]{cursor:pointer}.calendar-day[data-select-date]:hover,.calendar-day.is-selected-date{outline:2px solid #70263d;outline-offset:1px;background:#fff4e8}
@media(max-width:900px){.library-book-grid{grid-template-columns:1fr}}@media(max-width:600px){.library-book-grid .book-cover{height:340px}}

/* Tema escuro aplicado aos cartões do ano escolar */
body[data-theme="dark"] .student-year-card{background:#26232b!important;border-color:#3b353e;color:#eee5e4}body[data-theme="dark"] .student-year-card h3,body[data-theme="dark"] .student-year-card p,body[data-theme="dark"] .student-year-card small{color:#eee5e4}body[data-theme="dark"] .student-class-option{background:#3a2b20;color:#f1dec4}

/* Boletim sem alterar a identidade visual */
.report-edit-form{border-top:1px solid var(--line,#eadfe1);padding:1.2rem 0;margin-top:1rem}.report-card{max-width:850px;margin:1.5rem auto;padding:2rem;background:#fffdf9;border:1px solid #e5d6d1;border-radius:18px;box-shadow:0 12px 34px #45252b12;color:#2e2630}.report-card header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #70263d;padding-bottom:1rem}.report-card h2{margin:.3rem 0}.report-mark{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#f4e8e7;color:#70263d;font-size:1.7rem}.report-identification{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem;padding:1rem 0}.report-identification p{display:flex;flex-direction:column;gap:.2rem;margin:.4rem 0}.report-identification small,.report-note{color:#74656a}.report-table{width:100%;border-collapse:collapse;margin:1rem 0}.report-table th,.report-table td{text-align:left;padding:.75rem;border-bottom:1px solid #eadfe1}.report-table th:last-child,.report-table td:last-child{text-align:right}.report-table tfoot th{color:#70263d}.report-status{padding:1rem;text-align:center;border-radius:10px;font-size:1.25rem;font-weight:700}.is-failed{background:#fae7e5;color:#942d27}.is-council{background:#fff1cc;color:#805800}.is-approved{background:#e3f2e7;color:#216239}.report-note{text-align:center;font-size:.86rem}@media print{.no-print{display:none!important}.report-card{box-shadow:none!important}}@media(max-width:600px){.report-card{padding:1rem}.report-identification{grid-template-columns:1fr 1fr}.report-card header{align-items:flex-start}}

/* Extensões funcionais discretas, usando os tokens visuais existentes */
.xp-progress{height:10px;background:#eadfe1;border-radius:99px;overflow:hidden;margin:1rem 0 .35rem}.xp-progress span{display:block;height:100%;background:#70263d;border-radius:inherit;transition:width .4s}.journey-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:1.1rem}.journey-mini-grid a{padding:.8rem;border:1px solid #eadfe1;border-radius:12px;color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:.2rem}.journey-mini-grid a:hover{transform:translateY(-2px)}.journey-mini-grid span{font-size:.8rem;color:#74656a}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.achievement-card{padding:1rem;border:1px solid #eadfe1;border-radius:14px;display:flex;flex-direction:column;gap:.35rem}.achievement-card b{font-size:1.4rem;color:#70263d}.achievement-card small,.achievement-card em{color:#74656a}.achievement-card.is-locked{opacity:.55;filter:saturate(.35)}.focus-timer{text-align:center;max-width:560px;margin:auto}.focus-time{font-size:clamp(3.5rem,12vw,7rem);font-variant-numeric:tabular-nums;color:#70263d;font-weight:700}.focus-controls{display:flex;gap:.6rem;justify-content:center;margin:1rem 0;flex-wrap:wrap}.focus-timer label{display:inline-flex;flex-direction:column;text-align:left;margin:.5rem;gap:.25rem}.challenge-card{max-width:700px}.challenge-card strong{font-size:1.2rem;color:#70263d}@media(max-width:700px){.journey-mini-grid{grid-template-columns:1fr 1fr}}

/* Cards de capítulos para aluno e professora */
.chapter-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.chapter-card{background:#fffdfa;border:1px solid var(--line);border-radius:13px;padding:20px;box-shadow:0 6px 20px #381d1005;scroll-margin-top:90px}.chapter-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.chapter-card h2,.chapter-card h3{margin:.25rem 0;font-family:var(--serif);color:var(--wine)}.chapter-card>p{font-size:11px;line-height:1.6;color:var(--muted);min-height:36px}.chapter-card details{border-top:1px solid var(--line);padding-top:12px;margin-top:13px}.chapter-card summary{cursor:pointer;color:var(--wine);font-size:11px;font-weight:700}.chapter-topic-list{display:grid;gap:8px;margin-top:12px}.chapter-topic-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px;background:#faf6f1;border-radius:9px}.chapter-topic-item b,.chapter-topic-item small{display:block}.chapter-topic-item b{font-size:11px}.chapter-topic-item small{font-size:9px;color:var(--muted);margin-top:3px}.chapter-topic-actions{display:flex;gap:5px;flex-shrink:0}.teacher-chapter-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teacher-chapter-card{min-height:160px}@media(max-width:800px){.chapter-card-grid,.teacher-chapter-card-grid{grid-template-columns:1fr}}@media(max-width:600px){.chapter-topic-item{align-items:flex-start;flex-direction:column}.chapter-topic-actions{width:100%}.chapter-topic-actions .btn{flex:1;text-align:center}}body[data-theme="dark"] .chapter-card{background:#24252f;border-color:#393a47}body[data-theme="dark"] .chapter-topic-item{background:#302f39}

/* Notas da etapa: leitura simples para alunos e edição em lote pela professora */
.stage-grade-list{display:grid;gap:16px}.stage-grade-card{border:1px solid var(--line);border-radius:13px;padding:18px;background:#fffdfa}.stage-grade-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.stage-grade-card h2{margin:.2rem 0}.stage-grade-form{border-bottom:1px solid var(--line);padding:14px 0}.stage-grade-form:last-child{border-bottom:0}.stage-grade-form h3{margin:.2rem 0 .8rem;color:var(--wine)}.stage-grade-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.stage-grade-fields label{display:grid;gap:5px;font-size:10px;font-weight:700}.stage-grade-fields input{border:1px solid var(--line);border-radius:7px;padding:9px;background:#fffdfa}.stage-notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stage-note-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fffdfa}.stage-note-card h3{margin:0 0 10px;color:var(--wine)}.stage-note-card>div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-size:11px}.stage-note-card>div strong{font-size:1.1rem;color:var(--wine)}.essay-note-card>strong{display:block;font:600 2rem var(--serif);color:var(--wine)}.essay-note-card small{display:block;color:var(--muted);margin-top:5px}@media(max-width:600px){.stage-grade-fields{grid-template-columns:1fr 1fr}.stage-grade-card header{flex-direction:column}}

/* Vídeos da professora: edição inline e cartões dos alunos */
.teacher-edit-video{margin-bottom:8px}.teacher-edit-video summary{display:inline-block;cursor:pointer;list-style:none}.teacher-edit-video summary::-webkit-details-marker{display:none}.teacher-edit-video[open]{min-width:min(560px,80vw)}.teacher-edit-video .teacher-form{margin-top:10px}
.teacher-student-video small{display:block;margin:2px 0 10px;color:var(--muted,#6b5a52)}

/* Vídeos: cartões de tamanho médio */
.teacher-student-video-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.teacher-student-video{padding:14px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.teacher-student-video h2{font-size:16px;line-height:1.3;margin:3px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.teacher-student-video .pill{align-self:flex-start}
.teacher-student-video small{font-size:12px;margin:0}
.teacher-student-video .video-frame{margin:4px 0;border-radius:10px}
.teacher-student-video p{margin:0;font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.teacher-student-video .btn{margin-top:auto;padding:8px 12px;font-size:13px;text-align:center}
@media(max-width:560px){.teacher-student-video-grid{grid-template-columns:1fr}}
/* Sino de notificações */
.notif{position:relative}.notif-btn{list-style:none;cursor:pointer;position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line,#e5d8cc);background:var(--card,#fff);font-size:17px}
.notif-btn::-webkit-details-marker{display:none}.notif-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#c0392b;color:#fff;font-size:11px;line-height:18px;text-align:center}
.notif-panel{position:absolute;right:0;top:46px;z-index:60;width:min(340px,88vw);max-height:70vh;overflow:auto;background:var(--card,#fff);color:inherit;border:1px solid var(--line,#e5d8cc);border-radius:12px;box-shadow:0 12px 34px #0003;padding:10px}
.notif-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:13px}.notif-read{border:0;background:none;color:#70263d;font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline}
.notif-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.notif-panel li a{display:flex;gap:9px;padding:8px;border-radius:8px;text-decoration:none;color:inherit}.notif-panel li a:hover{background:#70263d12}
.notif-panel li.is-new a{background:#70263d0f;border-left:3px solid #70263d}.notif-ico{font-size:18px}.notif-panel small{display:block;font-size:11px;opacity:.75}.notif-panel b{display:block;font-size:13px;line-height:1.3}.notif-panel em{font-size:11px;opacity:.65;font-style:normal}.notif-empty{margin:8px;font-size:13px;opacity:.75}

/* Notas: soma e média */
.stage-grade-total{margin:10px 0;padding:8px 12px;border-radius:8px;background:#70263d0f;font-size:13px}
.stage-note-card>.report-status{display:block;margin-top:8px;padding:8px;font-size:.95rem;border-top:0}

/* Crédito na página inicial */
.lp-credit{margin:22px 0 0;font-size:14px;opacity:.8}.lp-credit strong{color:var(--wine,#70263d)}
.public-footer .footer-credit{display:inline-block;margin-top:6px;font-size:12px;opacity:.85}

/* Rodapé público Entrelinhas */
.public-footer{min-height:120px;padding:28px max(5vw,24px);border-top:1px solid var(--wine);background:var(--paper);color:var(--wine-dark);display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.4vw,40px);font-size:14px;line-height:1.5}
.footer-feather{font-size:25px;transform:rotate(-25deg);color:var(--wine)}
.footer-copy,.footer-credit{padding-left:clamp(18px,2.4vw,40px);border-left:1px solid var(--wine)}
.footer-credit{font-size:14px;opacity:1}
.owl-fab{padding:5px;border:0;overflow:hidden}
.owl-fab img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
@media(max-width:700px){.public-footer{min-height:0;padding:24px 20px 90px;flex-direction:column;gap:10px;text-align:center;font-size:13px}.footer-feather{font-size:22px}.footer-copy,.footer-credit{padding:0;border:0;max-width:34em}.footer-credit{font-size:12px}.owl-fab{right:16px;bottom:16px;width:52px;height:52px}}

/* Controles e celebração do Modo foco */
.focus-duration{display:inline-flex;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:8px 14px;margin:10px auto}.focus-duration legend{padding:0 6px;color:var(--wine);font-size:12px;font-weight:700}.focus-duration label{margin:2px;min-width:90px}.focus-duration input{width:100%;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink)}.focus-confetti{position:fixed;inset:0;width:100vw;height:100vh;z-index:100;pointer-events:none}@media(max-width:480px){.focus-duration{width:100%;gap:8px}.focus-duration label{min-width:0;flex:1}}

.xp-topbar{display:inline-flex;align-items:center;padding:6px 11px;border-radius:20px;background:#70263d12;color:var(--wine);font-size:12px;font-weight:800;white-space:nowrap}.word-search-targets{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0}.word-search-word{padding:5px 9px;border:1px solid var(--line);border-radius:20px;font-size:12px;font-weight:700}.word-search-word.found{background:#e7f0e6;color:#345e3b;text-decoration:line-through}.word-search-board{display:grid;grid-template-columns:repeat(10,minmax(25px,38px));gap:4px;justify-content:center;margin:15px auto}.word-search-cell{aspect-ratio:1;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-weight:700}.word-search-cell.selected{background:#eadcc8}.word-search-cell.found{background:#e7f0e6;color:#345e3b}.challenge-locked{text-align:center;padding:20px}.challenge-locked p{margin:8px auto 15px}.game-tabs{flex-wrap:wrap}@media(max-width:450px){.word-search-board{gap:2px;grid-template-columns:repeat(10,minmax(23px,1fr))}.word-search-cell{padding:2px;font-size:12px}.xp-topbar{font-size:11px;padding:5px 8px}}
.word-search-cell{touch-action:none;user-select:none;-webkit-user-select:none}.word-search-cell.selecting{background:#eadcc8;border-color:#70263d;box-shadow:inset 0 0 0 2px #70263d}.word-search-cell.found{background:#dcebd9;border-color:#66816c;color:#234b2b;box-shadow:inset 0 0 0 2px #66816c}.word-search-cell:focus-visible{outline:3px solid #d2a25d;outline-offset:1px}

.owl-challenge{max-width:760px;margin:22px auto;border-color:#e7d2bd;background:linear-gradient(145deg,#fffaf3,#f7ecdf)}.owl-challenge-heading{display:flex;align-items:center;gap:16px}.owl-challenge-heading h2{margin:4px 0;color:var(--wine)}.owl-challenge-heading p{margin:0}.owl-challenge-mascot{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#70263d;color:white;font-size:34px;flex:none}.owl-challenge-progress{margin:20px 0 12px;color:var(--wine);font-size:13px;font-weight:700}.owl-challenge-progress>div{height:8px;margin-top:7px;border-radius:99px;background:#eadcc8;overflow:hidden}.owl-challenge-progress>div span{display:block;width:20%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#70263d,#c47a65);transition:width .25s}.owl-challenge-question h3,.owl-challenge-result h3{font-family:var(--serif);color:var(--wine);margin:12px 0}.owl-challenge-answers{display:grid;gap:9px}.owl-challenge-answers .option-row{text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fffdfa;color:var(--ink)}.owl-challenge-answers .option-row:hover:not(:disabled){border-color:var(--wine);background:#f7edf0}.owl-challenge-answers .option-row:disabled{opacity:1}.owl-challenge-answers .challenge-answer-correct{background:#e5f1e4!important;border-color:#66816c!important;color:#294d30!important}.owl-challenge-answers .challenge-answer-wrong{background:#fae9e8!important;border-color:#b86767!important}.owl-challenge-result{padding:18px;text-align:center;border-radius:14px;background:#fff8ed}.owl-challenge-result p{margin-bottom:18px}@media(max-width:520px){.owl-challenge{padding:16px}.owl-challenge-heading{align-items:flex-start}.owl-challenge-mascot{width:48px;height:48px;font-size:27px}}
.focus-celebration{margin:12px auto;padding:12px 16px;border-radius:12px;background:#fff0cc;color:#70263d;font-size:16px;animation:focus-pop .45s ease-out}.focus-celebration strong{font-family:var(--serif);font-size:22px}.focus-rest-view{max-width:580px;margin:20px auto 8px;padding:22px 18px;border:1px solid #ead7c3;border-radius:18px;background:linear-gradient(145deg,#fffaf2,#f3e4d5);text-align:center;animation:focus-pop .45s ease-out}.focus-rest-view[hidden],.focus-celebration[hidden]{display:none}.focus-rest-owl{display:block;width:min(100%,350px);height:auto;max-height:300px;object-fit:contain;margin:0 auto 14px;border-radius:14px}.focus-rest-view h2{margin:4px 0 8px;color:var(--wine)}.focus-rest-view p{margin:0 0 12px}.focus-rest-countdown{display:inline-block;padding:7px 13px;border-radius:20px;background:#70263d12;color:var(--wine);font-weight:700}.focus-rest-countdown b{font-variant-numeric:tabular-nums}@keyframes focus-pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.focus-rest-view,.focus-celebration{animation:none}}
.focus-rest-owl{mix-blend-mode:normal;opacity:1;filter:drop-shadow(0 8px 16px #3b202130)}.focus-rest-start{display:inline-flex;width:auto;margin:0}.focus-rest-start[hidden]{display:none}.focus-timer.is-resting .focus-duration,.focus-timer.is-resting>label{opacity:.75}@media(max-width:520px){.focus-rest-owl{max-height:240px}.focus-rest-start{width:100%}}
.teacher-form label:has(>input+button.password-visibility-toggle),.form-stack label:has(>input+button.password-visibility-toggle){position:relative}.teacher-form label:has(>input+button.password-visibility-toggle)>input,.form-stack label:has(>input+button.password-visibility-toggle)>input{padding-right:44px}.password-visibility-toggle{position:absolute;right:8px;top:27px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;padding:3px;border:0;border-radius:6px;background:transparent;color:var(--wine);cursor:pointer}.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{background:#70263d12;outline:2px solid #a96779;outline-offset:1px}
.owl-rewards-panel{display:grid;gap:20px;margin-block:22px;border-color:#e8d7c8}.owl-reward-current{display:grid;grid-template-columns:minmax(120px,190px) 1fr;align-items:center;gap:22px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#fff8eb,#f7edf0)}.owl-reward-current-art,.owl-reward-card-art{display:grid;place-items:center;min-width:0}.owl-reward-avatar{position:relative;display:grid;place-items:center;width:min(100%,170px);aspect-ratio:1;border-radius:50%;isolation:isolate}.owl-reward-avatar img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 12px #391a2630)}.owl-reward-avatar.has-owl-frame{outline:5px solid #d5a74e;outline-offset:4px;box-shadow:0 0 0 9px #f4e3b4,0 0 24px #c8994733}.owl-look-magic img{filter:drop-shadow(0 0 12px #a567db99) drop-shadow(0 8px 12px #391a2630)}.owl-look-master{background:radial-gradient(circle,#fff6d8 0,#f6df98 70%,transparent 72%)}.owl-look-badge{position:absolute;right:4%;bottom:4%;display:grid;place-items:center;min-width:38px;min-height:38px;padding:5px;border:2px solid #fff;border-radius:50%;background:#fffaf0;box-shadow:0 2px 8px #39233530;font-size:1.15rem}.owl-reward-current h3{margin:0 0 8px}.owl-reward-current p{margin:6px 0}.owl-reward-unlock-notice{padding:12px 16px;border:1px solid #d8b15c;border-radius:12px;background:#fff5d8;color:#654717;animation:owl-reward-pop .55s ease-out both}.owl-reward-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}.owl-reward-card{display:grid;align-content:start;justify-items:start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);min-width:0}.owl-reward-card-art{width:100%;min-height:120px}.owl-reward-card .owl-reward-avatar{width:120px}.owl-reward-card.is-locked{opacity:.68}.owl-reward-card.is-locked .owl-reward-avatar{filter:grayscale(.7)}.owl-reward-card.is-new{border-color:#d5a74e;box-shadow:0 0 0 2px #d5a74e35}.owl-reward-card h3{margin:4px 0}.owl-reward-card p{margin:0;color:var(--muted,#6e6264)}.owl-reward-xp{font-size:.82rem;font-weight:700;color:var(--wine,#70263d)}@keyframes owl-reward-pop{0%{transform:scale(.97);opacity:0}100%{transform:scale(1);opacity:1}}.flashcard-manager-list{display:grid;gap:14px}.flashcard-manager-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}.flashcard-manager-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.flashcard-manager-heading h3{margin:5px 0}.flashcard-manager-card details{margin-top:12px}.flashcard-manager-card summary{cursor:pointer;color:var(--wine,#70263d);font-weight:700}.flashcard-manager-preview{margin:12px 0;padding:14px;border-radius:12px;background:var(--paper,#fbf8f4)}.flashcard-manager-preview p{margin:10px 0 0}.flashcard-manager-form{display:grid;gap:12px}.flashcard-manager-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:12px 0}.flashcard-manager-filters label{flex:1;min-width:min(100%,220px)}.flashcard-manager-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.flashcard-manager-actions form{margin:0}.flashcard-manager-actions .btn-danger{color:#8e2c36;border-color:#dca9ad}.is-published{background:#e8f4ec;color:#28633b}.is-draft{background:#f5eee1;color:#75541f}
@media(max-width:640px){.owl-reward-current{grid-template-columns:1fr;text-align:center}.owl-reward-current-art{justify-self:center}.flashcard-manager-heading{flex-direction:column}.flashcard-manager-filters{align-items:stretch}.flashcard-manager-filters .btn{width:100%}.flashcard-manager-actions form,.flashcard-manager-actions .btn{flex:1}.flashcard-manager-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.owl-reward-unlock-notice{animation:none}}
