:root{--bg: #14151c;--surface: #1e2029;--surface-soft: #23252f;--ink: #f0f1f5;--ink-soft: #a8abb8;--ink-faint: #6b6e7d;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--c-purple: #9b94f0;--c-purple-track: rgba(155, 148, 240, .16);--c-purple-deep: #b9b3f7;--c-purple-bold: #7c3aed;--c-orange: #ef7a4f;--c-orange-track: rgba(239, 122, 79, .16);--c-orange-deep: #f5a07e;--c-orange-bold: #f97316;--c-pink: #e573a0;--c-pink-track: rgba(229, 115, 160, .16);--c-pink-deep: #f09bc0;--c-pink-bold: #db2777;--reading: #3fcf9a;--reading-text: #5fe0b0;--reading-track: rgba(63, 207, 154, .16);--brand-accent: #c2456b;--fonte-titulo: "Fraunces", Georgia, serif;--fonte-texto: "Inter", system-ui, -apple-system, sans-serif;--raio: 18px;--raio-sm: 12px;--accent: var(--c-purple);--accent-track: var(--c-purple-track);--accent-deep: var(--c-purple-deep);--accent-bold: var(--c-purple-bold)}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--fonte-texto);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--fonte-titulo);font-weight:600;line-height:1.12;margin:0 0 .4em;color:var(--ink)}p{margin:0 0 1em}a{color:inherit;text-decoration:none}button{font-family:var(--fonte-texto);cursor:pointer}input,textarea,select{font-family:var(--fonte-texto);font-size:1rem}.container{width:100%;max-width:1040px;margin:0 auto;padding:32px 22px 80px;animation:tela-entra .3s ease}@keyframes tela-entra{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.voltar{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--ink-soft);background:none;border:none;padding:0;margin-bottom:18px;font-family:inherit}.voltar:hover{color:var(--ink)}.voltar:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--ink-faint);font-weight:600;text-transform:uppercase;margin:0}.eyebrow .rule{display:inline-block;width:48px;height:2px;background:var(--brand-accent);vertical-align:middle;margin-right:12px;border-radius:2px}.home-title{font-family:var(--fonte-titulo);line-height:1;margin:14px 0 6px;display:flex;align-items:baseline;gap:.18em;flex-wrap:wrap}.home-title .l1,.home-title .l2,.home-title .dot{font-size:clamp(38px,6.5vw,64px)}.home-title .l1{font-weight:600;color:var(--ink)}.home-title .l2{font-weight:500;font-style:italic;color:var(--ink)}.home-title .dot{font-weight:600;color:var(--brand-accent);margin-left:-.08em}.greeting{font-size:14px;color:var(--ink-soft);margin:10px 0 0}.section-label{font-size:13px;font-weight:600;color:var(--ink-soft);margin:30px 0 14px}.section-label.muted{color:var(--ink-faint)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:var(--raio);padding:18px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-align:left;width:100%;font-family:inherit;color:inherit}.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #0006}.card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-track)}.card.empty{background:var(--surface-soft);opacity:.74;cursor:default}.card.empty:hover{transform:none;box-shadow:none}.card.done{border-color:var(--accent)}.card-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.icon{flex:none;width:40px;height:40px;border-radius:var(--raio-sm);background:var(--accent-track);display:flex;align-items:center;justify-content:center;font-size:20px}.card-head{flex:1;min-width:0}.name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.name{font-size:16px;font-weight:600;color:var(--ink)}.teaser{font-size:12.5px;line-height:1.35;color:var(--ink-soft);margin-top:4px}.empty .teaser{color:var(--ink-faint)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--accent-deep);background:var(--accent-track);padding:4px 9px;border-radius:99px;white-space:nowrap}.progress{height:7px;border-radius:99px;background:var(--accent-track);overflow:hidden;margin-bottom:7px}.progress>i{display:block;height:100%;width:0%;background:var(--accent);border-radius:99px;transition:width 1.3s cubic-bezier(.34,1.2,.64,1)}.meta{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-faint)}.subj-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.subj-head .emoji{font-size:30px}.subj-head .nm{font-family:var(--fonte-titulo);font-weight:600;font-size:clamp(28px,5vw,44px);color:var(--accent-bold)}.subj-sub{font-size:14px;color:var(--ink-soft);margin:0 0 22px}.continue{display:block;width:100%;text-align:left;font-family:inherit;cursor:pointer;background:color-mix(in srgb,var(--accent-bold) 14%,transparent);border:1px solid var(--accent-bold);border-radius:var(--raio);padding:16px 18px;margin-bottom:18px;color:inherit}.continue:hover{filter:brightness(1.08)}.continue:focus-visible{outline:2px solid var(--accent-bold);outline-offset:2px}.continue .lbl{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-bold);margin-bottom:6px}.continue .row{display:flex;align-items:center;justify-content:space-between;gap:12px}.continue .ttl{font-size:17px;font-weight:600;color:var(--ink)}.continue .info{font-size:12.5px;color:var(--accent-bold);margin-top:2px}.play{flex:none;width:40px;height:40px;border-radius:50%;background:var(--accent-bold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px}.lessons{display:flex;flex-direction:column;gap:12px}.lesson{display:block;width:100%;text-align:left;font-family:inherit;cursor:pointer;color:inherit;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent-bold);border-radius:var(--raio);padding:15px 17px;transition:transform .16s ease,box-shadow .16s ease}.lesson:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000059}.lesson.done{border-color:var(--accent-bold)}.lesson:focus-visible{outline:2px solid var(--accent-bold);outline-offset:2px}.lesson-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.lesson .nm{font-size:15.5px;font-weight:600;margin-bottom:4px}.lesson .sub{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--ink-faint)}.kind{display:inline-flex;align-items:center;gap:4px}.st-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.st-badge.st-nova{color:var(--ink-soft);background:var(--surface-soft)}.st-badge.st-andamento,.st-badge.st-lida,.st-badge.st-concluida{color:var(--accent-bold);background:color-mix(in srgb,var(--accent-bold) 16%,transparent)}.arrow{color:var(--accent-bold);font-size:18px}.lprog{margin-top:12px}.lprog .bar-wrap{height:6px;border-radius:99px;background:color-mix(in srgb,var(--accent-bold) 16%,transparent);overflow:hidden;margin-bottom:5px}.lprog .bar{display:block;height:100%;width:0%;background:var(--accent-bold);border-radius:99px;transition:width 1.3s cubic-bezier(.34,1.2,.64,1)}.lprog .txt{font-size:11px;color:var(--ink-faint)}.read-progress{position:sticky;top:0;left:0;height:4px;background:transparent;z-index:50;margin:-32px -22px 22px}.read-progress>i{display:block;height:100%;width:0%;background:var(--accent-bold);transition:width .1s linear}.reading-wrap{max-width:880px;margin:0 auto}.content-title{font-family:var(--fonte-titulo);font-weight:600;font-size:clamp(30px,5vw,46px);margin:0 0 6px}.content-date{font-size:14px;color:var(--ink-soft);margin:0 0 24px}.lesson-header{position:sticky;top:0;z-index:40;margin:0 0 36px;padding:16px 0 14px;background:var(--bg);border-bottom:3px solid var(--accent-bold)}.lesson-header .voltar{margin-bottom:8px}.lesson-header .content-title{margin:6px 0 2px}.lesson-header .content-date{margin:0 0 12px}.lesson-toggle{display:flex;justify-content:flex-start;width:100%;gap:8px;margin:0;flex-wrap:wrap}.toggle-btn{font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border-radius:99px;padding:9px 18px;border:1.5px solid var(--border);background:var(--surface);color:var(--ink-soft);display:inline-flex;align-items:center;gap:6px;transition:background .15s ease,color .15s ease,border-color .15s ease}.toggle-btn.active{background:var(--accent-bold);border-color:var(--accent-bold);color:#fff}.toggle-btn:focus-visible{outline:2px solid var(--accent-bold);outline-offset:2px}.lesson-end{margin-top:28px;background:var(--accent-track);border:1px solid var(--accent-bold);border-radius:var(--raio);padding:24px;text-align:center}.lesson-end .chk{width:52px;height:52px;border-radius:50%;background:var(--accent-bold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 12px}.lesson-end h3{font-family:var(--fonte-titulo);font-weight:600;color:var(--accent-bold);font-size:22px;margin:0 0 6px}.lesson-end p{font-size:14px;color:var(--ink-soft);margin:0 0 18px}.end-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.visualizador{display:block;width:100%;min-height:240px;border:0;background:transparent}.btn{font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border-radius:99px;padding:11px 22px;display:inline-flex;align-items:center;gap:7px;border:1.5px solid transparent;transition:filter .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}.btn.primary{background:var(--accent-bold);color:#fff;border-color:var(--accent-bold)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;color:var(--accent-bold);border-color:var(--accent-bold)}.btn.ghost:hover{background:var(--accent-track)}.btn-primario{background:var(--accent-bold);color:#fff;border:1.5px solid var(--accent-bold);border-radius:14px;padding:11px 22px;font-weight:600;font-size:14px}.btn-primario:hover{filter:brightness(1.08)}.btn-primario:disabled{opacity:.55;cursor:not-allowed}.btn-secundario{background:var(--surface);border:1.5px solid var(--border-strong);color:var(--ink);border-radius:14px;padding:11px 22px;font-weight:600;font-size:14px}.btn-secundario:hover{border-color:var(--accent);color:var(--accent-deep)}.btn-perigo{background:var(--surface);border:1.5px solid #ef4444;color:#ef4444;border-radius:14px;padding:11px 22px;font-weight:600;font-size:14px}.btn-perigo:hover{background:#ef4444;color:#fff}.btn-bloco{width:100%;justify-content:center}.campo{margin-bottom:16px}.campo label{display:block;font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:6px}.campo input,.campo textarea,.campo select{width:100%;background:var(--surface);border:1.5px solid var(--border-strong);border-radius:12px;padding:11px 13px;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--accent-bold);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-bold) 22%,transparent)}.campo textarea{resize:vertical;line-height:1.5}.campo textarea.codigo{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85rem}.bloco-exercicios{margin-top:30px}.bloco-exercicios>h2{display:flex;align-items:center;gap:8px;font-size:1.5rem}.exercicio{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent-bold);border-radius:var(--raio);padding:18px 16px;margin-bottom:16px}.exercicio .numero{display:inline-block;font-family:var(--fonte-titulo);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--accent-bold);padding:3px 12px;border-radius:999px;margin-bottom:10px}.exercicio .pergunta{font-size:1.06rem;font-weight:500;margin-bottom:12px}.feedback{margin-top:12px;padding:14px;border-radius:14px;font-size:.97rem;line-height:1.5}.feedback-acerto{background:var(--reading-track);border:1px solid rgba(63,207,154,.4);color:var(--reading-text)}.feedback-ajuste{background:var(--c-orange-track);border:1px solid rgba(239,122,79,.4);color:var(--c-orange-deep)}.feedback-erro{background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px 22px;box-shadow:0 24px 60px #0009}.modal h3{font-size:1.35rem;margin-bottom:4px;color:var(--ink)}.modal p{color:var(--ink-soft);font-size:.92rem}.admin-aula{display:flex;align-items:center;justify-content:space-between;gap:12px;border-left:4px solid var(--accent);background:var(--surface);border:1px solid var(--border);border-radius:var(--raio);padding:15px 17px}.admin-aula .acoes{display:flex;gap:8px;flex-shrink:0}.admin-aula .acoes .btn,.admin-aula .acoes .btn-secundario,.admin-aula .acoes .btn-primario,.admin-aula .acoes .btn-perigo{padding:8px 13px;font-size:.85rem}.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;-webkit-overflow-scrolling:touch}.tab{flex-shrink:0;border:1.5px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:8px 15px;font-size:.9rem;font-weight:600;color:var(--ink-soft);white-space:nowrap}.tab.ativa{background:var(--accent);border-color:var(--accent);color:#fff}.faixa-admin{background:var(--accent);color:#fff;font-size:.85rem;font-weight:600;text-align:center;padding:7px 12px}.centro{text-align:center}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.linha-acoes{display:flex;gap:10px;flex-wrap:wrap}.aviso{text-align:center;color:var(--ink-soft);padding:48px 16px}.aviso .icone{font-size:2.4rem;display:block;margin-bottom:8px}.spinner{width:26px;height:26px;border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:girar .8s linear infinite;display:inline-block}@keyframes girar{to{transform:rotate(360deg)}}.divisoria{border:none;border-top:1px solid var(--border);margin:26px 0}@media (prefers-reduced-motion: reduce){.container{animation:none}.card,.lesson{transition:none}.progress>i,.lprog .bar,.read-progress>i{transition:none}}
