
:root{--navy:#052b55;--teal:#087f83;--gold:#d2a534;--cream:#fbf8ef;--ink:#1f2937;--muted:#667085;--line:#dce7e4;--shadow:0 18px 45px rgba(5,43,85,.12);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px clamp(16px,4vw,56px);gap:20px}.brand img{width:178px;max-height:62px;object-fit:contain}.nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.nav a{font-size:.9rem;font-weight:850;color:var(--navy);padding:9px 10px;border-radius:999px}.nav a:hover,.nav .active{background:#e8f6f4;color:var(--teal)}.menu{display:none;border:0;background:var(--navy);color:#fff;border-radius:12px;padding:10px 12px;font-weight:900}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:12px 17px;font-weight:900;background:white;color:var(--navy);box-shadow:0 6px 18px rgba(5,43,85,.06);cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.primary{background:var(--navy);color:white;border-color:var(--navy)}.teal{background:var(--teal);color:white;border-color:var(--teal)}.gold{background:var(--gold);color:white;border-color:var(--gold)}.small{padding:9px 13px;font-size:.9rem}.danger{background:#a43b2b;color:#fff;border-color:#a43b2b}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center;padding:70px clamp(18px,6vw,82px);background:radial-gradient(circle at 15% 10%,rgba(8,127,131,.13),transparent 30%),radial-gradient(circle at 90% 12%,rgba(210,165,52,.12),transparent 28%)}.hero-logo{width:min(540px,92vw);margin:auto}.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--teal);font-weight:1000;font-size:.76rem}h1,h2,h3{line-height:1.08;color:var(--navy)}h1{font-family:Georgia,serif;font-size:clamp(2.55rem,6vw,5.4rem);margin:12px 0 16px}h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.25rem);margin:0 0 12px}h3{margin:0 0 8px;font-size:1.23rem}.lead{font-size:clamp(1.06rem,2vw,1.28rem);color:var(--muted);max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.section{padding:70px clamp(18px,5vw,76px)}.tint{background:linear-gradient(180deg,#fff,#f2faf8)}.cream{background:var(--cream)}.head{max-width:920px;text-align:center;margin:0 auto 34px}.head.left{text-align:left;margin-left:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}.card,.panel,.term,.quiz,.exam{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 28px rgba(5,43,85,.06)}.card{transition:.18s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.icon{font-size:2rem;margin-bottom:10px}.card p,.panel p,.term p,.exam p{color:var(--muted)}.tag{display:inline-flex;background:#e8f6f4;color:var(--teal);padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:900;margin:3px}.tag.gold{background:#fff4d9;color:#946b12}.tag.navy{background:#e8eef6;color:var(--navy)}
.page{padding:54px clamp(18px,5vw,76px) 36px;background:linear-gradient(135deg,#f8fffd,#fff8e6);border-bottom:1px solid var(--line)}.wrap{max-width:1120px;margin:auto}.crumb{color:var(--muted);font-weight:850}.search{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-top:20px}.searchrow{display:flex;gap:12px;flex-wrap:wrap}.searchrow input,.searchrow select,.form input,.form select,.form textarea{border:1px solid var(--line);border-radius:15px;padding:13px;background:white;color:var(--ink);outline:0}.searchrow input{flex:1;min-width:230px}.article{max-width:1000px;margin:auto}.box{background:white;border:1px solid var(--line);border-left:6px solid var(--teal);border-radius:20px;padding:22px;margin:22px 0;box-shadow:0 8px 24px rgba(5,43,85,.06)}.table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.table th,.table td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:#e8f6f4;color:var(--navy)}.table tr:last-child td{border-bottom:0}
.choices{display:grid;gap:10px;margin:14px 0}.choice{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;cursor:pointer;text-align:left}.choice:hover{border-color:var(--teal)}.choice.correct{background:#e7f8ec;border-color:#34a853;color:#145c2f}.choice.wrong{background:#ffecec;border-color:#d93025;color:#8b1a1a}.feedback{font-weight:900;color:var(--navy);min-height:24px}.score{background:var(--navy);color:white;border-radius:22px;padding:20px;text-align:center}.score strong{font-size:2.4rem;display:block}.dictgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.term h3{display:flex;justify-content:space-between;gap:8px}.term small{background:#e8f6f4;color:var(--teal);border-radius:999px;padding:5px 9px;font-size:.75rem;white-space:nowrap}.hidden{display:none!important}.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:20px;background:white}
.form{display:grid;gap:14px}.form.two{grid-template-columns:repeat(2,1fr)}.form textarea{min-height:140px}.notice{padding:16px 18px;border-radius:18px;background:#fff8df;border:1px solid #f0d98d;color:#695019;font-weight:850}.pay-panel{display:none;margin-top:20px}.pay-panel.active{display:block}.pay-email{font-size:1.2rem;background:white;border:1px dashed var(--teal);border-radius:14px;padding:12px;margin:10px 0;color:var(--teal);word-break:break-all}.timer{font-size:2.2rem;color:var(--navy);font-weight:1000;margin:10px 0}.payment-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.payment-option{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff}.payment-option strong{font-size:1.3rem;color:var(--teal)}.donations{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.donations button{border:1px solid var(--line);background:white;border-radius:16px;padding:16px;font-weight:900;color:var(--navy);cursor:pointer}.donations button.selected{border-color:var(--gold);box-shadow:0 0 0 4px rgba(210,165,52,.18)}
.footer{background:var(--navy);color:white;padding:40px clamp(18px,5vw,76px);display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.footer img{width:220px;background:white;border-radius:16px;padding:8px;margin-bottom:12px}.footer a{display:inline-block;margin:0 14px 8px 0;color:white;opacity:.9}.footer a:hover{opacity:1;color:#ffe6a2}
@media(max-width:900px){.hero{grid-template-columns:1fr;text-align:center}.actions{justify-content:center}.menu{display:inline-flex}.nav{display:none;position:absolute;top:76px;left:12px;right:12px;background:white;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow);flex-direction:column}.nav.open{display:flex}.footer{grid-template-columns:1fr}.form.two{grid-template-columns:1fr}}
@media(max-width:520px){.brand img{width:135px}.section,.page,.hero{padding-left:16px;padding-right:16px}.searchrow{display:grid}}

@media(min-width:901px){.score{position:sticky;top:96px;align-self:start}}

/* v6 upgrades */
.subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:900;background:#e8f6f4;color:var(--teal);margin:3px}
.badge.exam{background:#fff4d9;color:#946b12}.badge.hard{background:#ffecec;color:#8b1a1a}.badge.plnm{background:#e8eef6;color:var(--navy)}
.split-layout{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:start}.sidebar{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 8px 24px rgba(5,43,85,.06)}
.sidebar a,.sidebar button{display:block;width:100%;text-align:left;margin:6px 0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px;color:var(--navy);font-weight:850;cursor:pointer}.sidebar a:hover,.sidebar button:hover{border-color:var(--teal);background:#f2fbfa}
.term .related{margin-top:8px}.term .related a{font-weight:900;color:var(--teal);margin-right:8px}
.exam-card{display:flex;flex-direction:column;gap:12px}.exam-meta{display:flex;gap:8px;flex-wrap:wrap}.progressbar{height:12px;background:#e8eef6;border-radius:999px;overflow:hidden;margin:14px 0}.progressbar span{display:block;height:100%;width:0;background:var(--teal);transition:.2s}.exam-top{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);position:sticky;top:88px;z-index:5}.exam-timer{font-weight:1000;color:var(--navy);font-size:1.7rem}.exam-question{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin:18px 0;box-shadow:0 8px 24px rgba(5,43,85,.06)}.exam-result{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:20px}
.filebox{border:2px dashed var(--line);border-radius:18px;padding:16px;background:#fbfffd}.filebox input{width:100%}.pay-page-card{max-width:880px;margin:auto}.copyrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.copyrow code{background:#fff;border:1px dashed var(--teal);border-radius:14px;padding:12px;color:var(--teal);font-weight:1000;word-break:break-all}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--navy);color:white;border-radius:999px;padding:12px 18px;box-shadow:var(--shadow);z-index:99}
.plnm-hero{background:linear-gradient(135deg,#e8f6f4,#fff);border:1px solid var(--line);border-radius:32px;padding:30px}
.level-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.level-map a{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;font-weight:900;color:var(--navy);box-shadow:0 8px 22px rgba(5,43,85,.05)}
@media(max-width:900px){.split-layout{grid-template-columns:1fr}.sidebar{position:static}.exam-top{position:static}}

.elite-card{background:linear-gradient(135deg,#052b55,#087f83);color:#fff}.elite-card h3,.elite-card p{color:#fff}.elite-card .btn{background:#fff;color:var(--navy)}

.nb-footer{margin-top:18px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:10px 12px;color:var(--navy);max-width:360px}
.nb-footer img{width:96px!important;background:transparent!important;border-radius:10px!important;padding:0!important;margin:0!important}
.nb-footer span{font-weight:900;font-size:.9rem;color:var(--navy)}
.quotes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.quote-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 28px rgba(5,43,85,.06);position:relative}
.quote-card p{font-family:Georgia,serif;font-size:1.18rem;color:var(--navy);margin:0 0 12px}
.quote-card cite{font-style:normal;font-weight:900;color:var(--teal)}
.quote-card::before{content:"“";font-family:Georgia,serif;font-size:4rem;position:absolute;right:18px;top:0;color:rgba(8,127,131,.12)}

.author-hero-img{border-radius:32px;box-shadow:var(--shadow);border:1px solid var(--line);margin:24px auto;max-width:1120px;width:100%}
.author-profile{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start}
.author-initial{width:96px;height:96px;border-radius:26px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:2.6rem;font-weight:900;box-shadow:0 14px 30px rgba(5,43,85,.18)}
.timeline{border-left:4px solid var(--teal);padding-left:18px;margin-top:14px}
.timeline p{margin:8px 0;color:var(--muted)}
.fact-list{display:grid;gap:10px;margin-top:12px}
.fact-list div{background:#f8fffd;border:1px solid var(--line);border-radius:16px;padding:12px}
@media(max-width:640px){.author-profile{grid-template-columns:1fr}.author-initial{width:76px;height:76px;font-size:2rem}}

.summary-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.summary-tabs a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;color:var(--navy)}
.summary-tabs a:hover{border-color:var(--teal);background:#f2fbfa}
.summary-block{scroll-margin-top:110px}
.summary-block h2{margin-top:26px}
.summary-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.study-note{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 8px 24px rgba(5,43,85,.06)}
.author-mini{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;margin:18px 0}
.author-mini span{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:1.8rem;font-weight:900;flex:0 0 auto}
.mega-list li{margin-bottom:8px}

.level-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-weight:900;border:1px solid var(--line);background:#fff}
.level-facil{color:#137a3a}.level-medio{color:#a46a00}.level-dificil{color:#b54612}.level-exame{color:#9b1235}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.form-grid label{display:grid;gap:6px;font-weight:800;color:var(--navy)}
.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);border-radius:14px;padding:12px;font:inherit;background:#fff}
.form-grid textarea{min-height:130px;grid-column:1/-1}
.notice-ship{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06)}

.exam-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}
.exam-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.exam-stat strong{display:block;font-size:2rem;color:var(--teal);line-height:1}
.exam-phase{counter-increment:phase;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;position:relative;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.exam-phase:before{content:counter(phase);position:absolute;top:-14px;left:18px;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
.phase-grid{counter-reset:phase;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.exam-pillrow{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.exam-pillrow a,.exam-pillrow span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;color:var(--navy)}
.week-plan{display:grid;gap:14px}
.week-day{display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}
.week-day b{background:#f2fbfa;border-radius:14px;padding:10px;text-align:center;color:var(--teal)}
.exam-table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(5,43,85,.06)}
.exam-table th,.exam-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
.exam-table th{background:#f2fbfa;color:var(--navy)}
.warning-card{background:#fff8e6;border:1px solid #efd28a;border-radius:24px;padding:20px}
.success-card{background:#f2fbfa;border:1px solid var(--line);border-radius:24px;padding:20px}
@media(max-width:640px){.week-day{grid-template-columns:1fr}.exam-table{font-size:.92rem}}

.error-bank{display:grid;gap:18px}
.error-item{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.error-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.bad-example,.good-example{border-radius:18px;padding:14px;border:1px solid var(--line)}
.bad-example{background:#fff3f0}
.good-example{background:#f2fbfa}
.error-label{font-weight:900;display:block;margin-bottom:6px}
.error-filter{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.error-filter button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;color:var(--navy)}
.error-filter button:hover{border-color:var(--teal);background:#f2fbfa}
.exam-tip{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:18px;padding:14px;margin-top:12px}
@media(max-width:720px){.error-row{grid-template-columns:1fr}}

.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.resource-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.resource-card h3{margin-top:0}
.resource-example{background:#f2fbfa;border:1px solid var(--line);border-radius:16px;padding:12px;margin:12px 0}
.resource-effect{background:#fff8e6;border:1px solid #efd28a;border-radius:16px;padding:12px;margin:12px 0}
.resource-answer{background:#fff;border-left:5px solid var(--teal);border-radius:14px;padding:14px;margin:12px 0;box-shadow:0 8px 18px rgba(5,43,85,.05)}
.resource-filter{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.resource-filter button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;color:var(--navy)}
.resource-filter button:hover{border-color:var(--teal);background:#f2fbfa}
.quiz-mini{display:grid;gap:14px}
.quiz-mini details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}
.quiz-mini summary{font-weight:900;cursor:pointer;color:var(--navy)}
.formula-box{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 24px rgba(5,43,85,.06)}

.progress-hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}
.progress-tile{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.progress-tile strong{display:block;font-size:2.2rem;color:var(--teal);line-height:1;margin-bottom:8px}
.badge-wall{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.medal-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06);position:relative;overflow:hidden}
.medal-card.locked{opacity:.55;filter:grayscale(.7)}
.medal-icon{font-size:2.4rem;margin-bottom:10px;display:block}
.medal-status{display:inline-flex;border-radius:999px;padding:7px 11px;font-weight:900;border:1px solid var(--line);background:#f2fbfa;color:var(--teal)}
.medal-card.locked .medal-status{background:#f5f5f5;color:#777}
.progress-bar{height:14px;background:#eef3f6;border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));width:0%}
.profile-rank{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 12px 28px rgba(5,43,85,.08)}
.progress-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.progress-actions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;color:var(--navy)}
.progress-actions button:hover{border-color:var(--teal);background:#f2fbfa}

.account-shell{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:start}
.account-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 14px 32px rgba(5,43,85,.08)}
.account-form{display:grid;gap:14px}
.account-form label{display:grid;gap:7px;font-weight:900;color:var(--navy)}
.account-form input,.account-form select,.account-form textarea{border:1px solid var(--line);border-radius:15px;padding:12px;font:inherit;background:#fff}
.account-form textarea{min-height:100px}
.account-status{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:24px;padding:18px;margin-top:16px}
.profile-chiprow{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.profile-chip{display:inline-flex;gap:7px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-weight:900;color:var(--navy)}
.account-avatar{width:88px;height:88px;border-radius:26px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-family:Georgia,serif;font-weight:900;box-shadow:0 12px 26px rgba(5,43,85,.18)}
.account-top{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.account-warning{background:#fff8e6;border:1px solid #efd28a;border-radius:20px;padding:16px}
.account-ok{background:#f2fbfa;border:1px solid var(--line);border-radius:20px;padding:16px}
.mini-log{display:grid;gap:10px;margin-top:14px}
.mini-log div{background:#f8fffd;border:1px solid var(--line);border-radius:16px;padding:12px}
@media(max-width:860px){.account-shell{grid-template-columns:1fr}}

.online-banner{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 14px 34px rgba(5,43,85,.08)}
.db-status{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 13px;border:1px solid var(--line);background:#fff;font-weight:900}
.db-status.off{color:#9b1235;background:#fff3f0}
.db-status.on{color:#137a3a;background:#f2fbfa}
.xp-level-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 14px 34px rgba(5,43,85,.08)}
.xp-ring{width:128px;height:128px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--teal) 0deg,var(--teal) var(--xpdeg,0deg),#eef3f6 var(--xpdeg,0deg));margin:auto;position:relative}
.xp-ring:after{content:"";position:absolute;width:92px;height:92px;background:#fff;border-radius:50%}
.xp-ring strong{position:relative;z-index:1;font-size:2rem;color:var(--navy)}
.xp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.xp-rule{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}
.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.admin-table th,.admin-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
.admin-table th{background:#f2fbfa;color:var(--navy)}
.codebox{background:#071d2b;color:#e9fff9;border-radius:20px;padding:16px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:.92rem}


/* Navega Letras v21 polish */
:root{
  --glass:rgba(255,255,255,.78);
  --soft-shadow:0 18px 44px rgba(5,43,85,.11);
  --deep-shadow:0 24px 70px rgba(5,43,85,.18);
}
.site-header{
  backdrop-filter:saturate(160%) blur(14px);
  background:rgba(255,255,255,.88)!important;
  border-bottom:1px solid rgba(20,116,130,.16)!important;
}
.brand img{filter:drop-shadow(0 6px 12px rgba(5,43,85,.12))}
.nav a{
  transition:.18s ease;
}
.nav a:hover{
  transform:translateY(-1px);
}
.hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(20,116,130,.12);
}
.hero:before{
  content:"";
  position:absolute;
  inset:-35% -10% auto auto;
  width:520px;
  height:520px;
  background:radial-gradient(circle,rgba(20,116,130,.18),transparent 63%);
  pointer-events:none;
}
.hero:after{
  content:"";
  position:absolute;
  left:-220px;
  bottom:-260px;
  width:560px;
  height:560px;
  background:radial-gradient(circle,rgba(217,165,65,.18),transparent 65%);
  pointer-events:none;
}
.hero > *{position:relative;z-index:1}
.card,.box,.account-card,.xp-level-card,.progress-tile,.resource-card,.error-item,.exam-stat,.exam-phase{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover,.account-card:hover,.xp-level-card:hover,.progress-tile:hover,.resource-card:hover,.error-item:hover,.exam-stat:hover,.exam-phase:hover{
  transform:translateY(-3px);
  box-shadow:var(--soft-shadow);
  border-color:rgba(20,116,130,.34);
}
.btn,.progress-actions button,.resource-filter button,.error-filter button{
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover,.progress-actions button:hover,.resource-filter button:hover,.error-filter button:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(5,43,85,.10);
}
.account-shell.v21-dashboard{
  grid-template-columns:1fr;
}
.v21-dashboard-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
  align-items:start;
}
.v21-setup-steps{
  counter-reset:v21step;
  display:grid;
  gap:14px;
}
.v21-step{
  counter-increment:v21step;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px 18px 18px 66px;
  position:relative;
  box-shadow:0 10px 24px rgba(5,43,85,.06);
}
.v21-step:before{
  content:counter(v21step);
  position:absolute;
  left:18px;
  top:17px;
  width:34px;
  height:34px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--navy),var(--teal));
  color:#fff;
  font-weight:900;
}
.v21-status-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
}
.v21-status{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:16px;
}
.v21-status b{display:block;color:var(--navy);margin-bottom:6px}
.v21-ok{color:#137a3a;font-weight:900}
.v21-warn{color:#9b6b00;font-weight:900}
.v21-bad{color:#9b1235;font-weight:900}
.v21-admin-hero{
  background:linear-gradient(135deg,#f2fbfa,#fff,#fff8e6);
  border:1px solid var(--line);
  border-radius:30px;
  padding:24px;
  box-shadow:var(--soft-shadow);
}
.v21-mini-kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;
  margin-top:18px;
}
.v21-mini-kpi{
  background:rgba(255,255,255,.86);
  border:1px solid var(--line);
  border-radius:20px;
  padding:16px;
}
.v21-mini-kpi strong{
  display:block;
  font-size:1.8rem;
  color:var(--teal);
}
.v21-config-panel{
  background:#071d2b;
  color:#e9fff9;
  border-radius:24px;
  padding:20px;
  box-shadow:var(--deep-shadow);
}
.v21-config-panel code{
  color:#fff7c2;
}
.v21-config-panel a{color:#b8fff3}
.v21-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  padding:9px 12px;
  font-weight:900;
}
.v21-pill.ok{background:#f2fbfa;color:#137a3a}
.v21-pill.warn{background:#fff8e6;color:#9b6b00}
.v21-pill.bad{background:#fff3f0;color:#9b1235}
.v21-quick-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.v21-quick-nav a{
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
}
@media(max-width:900px){
  .v21-dashboard-grid{grid-template-columns:1fr}
  .site-header{position:relative!important}
}


/* Navega Letras v22 local-only + search + partners */
.nl-search-mini{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 7px 5px 12px;box-shadow:0 6px 16px rgba(5,43,85,.05)}
.nl-search-mini input{border:0;outline:0;min-width:150px;font:inherit;background:transparent;color:var(--navy)}
.nl-search-mini button{border:0;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;border-radius:999px;padding:8px 11px;cursor:pointer;font-weight:900}
.search-panel{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(5,43,85,.08)}
.search-main{display:grid;grid-template-columns:1fr auto;gap:12px}
.search-main input{border:1px solid var(--line);border-radius:18px;padding:14px;font:inherit;background:#fff}
.search-main button{border:0;border-radius:18px;padding:14px 18px;font-weight:900;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;cursor:pointer}
.search-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.search-filters button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:9px 13px;font-weight:900;cursor:pointer}
.search-filters button.active,.search-filters button:hover{background:#f2fbfa;border-color:rgba(20,116,130,.38)}
.search-results{display:grid;gap:14px}
.search-result{display:block;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 24px rgba(5,43,85,.06);transition:.18s ease}
.search-result:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(5,43,85,.10);border-color:rgba(20,116,130,.35)}
.search-tag{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-weight:900;color:var(--teal);background:#f2fbfa;margin-bottom:8px}
.site-footer{margin-top:40px;background:#071d2b;color:#e9fff9;padding:34px 22px}
.footer-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:center}
.footer-brand{display:flex;gap:14px;align-items:center}
.footer-brand img{width:58px;height:58px;object-fit:contain;border-radius:16px;background:#fff;padding:5px}
.footer-brand h3{margin:0;color:#fff}.footer-brand p{margin:5px 0 0;color:#cce7e2}
.partners{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px;align-items:center}
.partner-card{display:flex;gap:9px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:9px 12px;color:#fff;font-weight:900}
.partner-card img{width:38px;height:38px;object-fit:contain;border-radius:10px;background:#fff;padding:4px}
.local-only-note{background:#f2fbfa;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.xp-local-clean{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06)}
@media(max-width:850px){.footer-inner{grid-template-columns:1fr}.partners{justify-content:flex-start}.nl-search-mini{width:100%}.nl-search-mini input{min-width:0;width:100%}.search-main{grid-template-columns:1fr}}


/* Navega Letras v23 privacy + mini chatbot */
.privacy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.privacy-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 10px 24px rgba(5,43,85,.06)}
.privacy-card h3{margin-top:0}
.data-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.data-actions button,.data-actions label{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.data-actions button:hover,.data-actions label:hover{background:#f2fbfa;border-color:rgba(20,116,130,.38)}
.data-actions input[type=file]{display:none}
.data-console{background:#071d2b;color:#e9fff9;border-radius:20px;padding:16px;margin-top:14px;white-space:pre-wrap;font-family:ui-monospace,Consolas,monospace;font-size:.92rem}
.nl-chatbot-button{position:fixed;right:22px;bottom:22px;z-index:9998;width:62px;height:62px;border-radius:22px;border:0;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;box-shadow:0 18px 40px rgba(5,43,85,.28);font-size:1.7rem;cursor:pointer}
.nl-chatbot{position:fixed;right:22px;bottom:94px;z-index:9999;width:min(380px,calc(100vw - 34px));height:520px;max-height:calc(100vh - 120px);background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 70px rgba(5,43,85,.26);display:none;overflow:hidden}
.nl-chatbot.open{display:grid;grid-template-rows:auto 1fr auto}
.nl-chat-head{background:linear-gradient(135deg,#071d2b,#147482);color:#fff;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.nl-chat-head h3{margin:0;color:#fff;font-size:1.05rem}
.nl-chat-head p{margin:2px 0 0;color:#d8fff8;font-size:.86rem}
.nl-chat-head button{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:12px;padding:8px 10px;cursor:pointer}
.nl-chat-messages{padding:15px;overflow:auto;background:linear-gradient(180deg,#f7fbfb,#fff)}
.nl-msg{max-width:85%;padding:11px 13px;border-radius:18px;margin:8px 0;line-height:1.35;box-shadow:0 6px 16px rgba(5,43,85,.06)}
.nl-msg.bot{background:#f2fbfa;border:1px solid var(--line);color:var(--navy);border-top-left-radius:6px}
.nl-msg.user{background:#071d2b;color:#fff;margin-left:auto;border-top-right-radius:6px}
.nl-chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:0 15px 10px;background:#fff}
.nl-chat-suggestions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:.85rem;font-weight:800;cursor:pointer;color:var(--navy)}
.nl-chat-suggestions button:hover{background:#f2fbfa}
.nl-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff}
.nl-chat-form input{border:1px solid var(--line);border-radius:16px;padding:11px;font:inherit}
.nl-chat-form button{border:0;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;font-weight:900;padding:0 14px;cursor:pointer}
.nl-chat-note{font-size:.78rem;color:#5d6b72;padding:0 15px 10px;background:#fff}
.footer-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.footer-links a{color:#b8fff3;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;font-weight:800}
@media(max-width:650px){.nl-chatbot-button{right:14px;bottom:14px}.nl-chatbot{right:10px;bottom:84px;width:calc(100vw - 20px)}}


/* Navega Letras v24 simplified header/footer */
.site-header{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:18px!important;
  align-items:center!important;
  padding:14px 22px!important;
}
.nav{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.nav a{
  padding:9px 11px!important;
  border-radius:999px!important;
  border:1px solid transparent!important;
}
.nav .hide-v24{display:none!important}
.menu-more{
  position:relative;
}
.menu-more summary{
  list-style:none;
  cursor:pointer;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--navy);
  font-weight:900;
}
.menu-more summary::-webkit-details-marker{display:none}
.menu-more[open] summary{
  background:#f2fbfa;
  border-color:rgba(20,116,130,.35);
}
.menu-more-panel{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:260px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 24px 60px rgba(5,43,85,.18);
  padding:12px;
  z-index:9997;
  display:grid;
  gap:6px;
}
.menu-more-panel a{
  display:block!important;
  border:0!important;
  padding:10px 12px!important;
  border-radius:14px!important;
}
.nl-search-mini{
  max-width:230px;
}
.nl-search-mini input{
  min-width:95px!important;
  width:100%;
}
.site-footer{
  margin-top:40px;
  background:#071d2b!important;
  color:#e9fff9!important;
  padding:34px 22px!important;
}
.footer-inner.v24-footer{
  max-width:1180px;
  margin:auto;
  display:grid;
  grid-template-columns:1.1fr 1.15fr .75fr;
  gap:24px;
  align-items:start;
}
.footer-block{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  padding:18px;
}
.footer-brand.v24-brand{
  display:flex;
  gap:14px;
  align-items:center;
}
.footer-brand.v24-brand img{
  width:58px;
  height:58px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
  padding:5px;
}
.footer-block h3,.footer-block h4{color:#fff;margin:0 0 8px}
.footer-block p{color:#cce7e2;margin:6px 0}
.footer-logo-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:12px;
}
.footer-logo-pill{
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
  font-weight:900;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:9px 11px;
}
.footer-logo-pill img{
  width:38px;
  height:38px;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
  padding:4px;
}
.footer-links.v24-links{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
}
.footer-links.v24-links a{
  color:#b8fff3!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:999px!important;
  padding:8px 11px!important;
  font-weight:900!important;
  display:inline-flex;
  width:max-content;
}
.footer-mini{
  max-width:1180px;
  margin:18px auto 0;
  color:#9fc9c3;
  font-size:.92rem;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:14px;
}
@media(max-width:980px){
  .site-header{grid-template-columns:1fr!important}
  .nav{justify-content:flex-start!important}
  .menu-more-panel{left:0;right:auto}
  .footer-inner.v24-footer{grid-template-columns:1fr}
}
@media(max-width:620px){
  .nav{display:grid!important;grid-template-columns:1fr 1fr!important}
  .nl-search-mini{grid-column:1/-1;max-width:100%}
  .menu-more{grid-column:1/-1}
  .menu-more-panel{position:static;margin-top:8px}
}


/* Navega Letras v25 category header + PLNM journey + year filters */
.nav-category{position:relative}
.nav-category summary{list-style:none;cursor:pointer;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:900}
.nav-category summary::-webkit-details-marker{display:none}
.nav-category[open] summary{background:#f2fbfa;border-color:rgba(20,116,130,.35)}
.category-panel{position:absolute;right:-160px;top:calc(100% + 12px);width:min(860px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 26px 70px rgba(5,43,85,.20);padding:18px;z-index:9997;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cat-group{background:linear-gradient(180deg,#f8fffd,#fff);border:1px solid var(--line);border-radius:22px;padding:14px}
.cat-group h4{margin:0 0 10px;color:var(--navy)}
.cat-group a{display:block!important;border:0!important;border-radius:13px!important;padding:8px 9px!important;color:var(--navy)!important}
.cat-group a:hover{background:#f2fbfa!important}
.plnm-journey{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.plnm-map{display:grid;gap:18px;position:relative}
.plnm-map:before{content:"";position:absolute;left:33px;top:38px;bottom:38px;width:6px;border-radius:999px;background:linear-gradient(var(--teal),var(--gold));opacity:.35}
.plnm-node{position:relative;display:grid;grid-template-columns:74px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:16px;box-shadow:0 12px 28px rgba(5,43,85,.08)}
.plnm-bubble{width:62px;height:62px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;font-size:1.7rem;font-weight:900;box-shadow:0 14px 24px rgba(5,43,85,.18);z-index:1}
.plnm-node.locked{opacity:.58;filter:grayscale(.7)}
.plnm-node.done .plnm-bubble{background:linear-gradient(135deg,#137a3a,var(--teal))}
.plnm-meta{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}
.plnm-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:#f2fbfa;color:var(--navy);border-radius:999px;padding:6px 9px;font-weight:900;font-size:.86rem}
.plnm-side{display:grid;gap:16px;position:sticky;top:18px}
.plnm-stat-card,.plnm-lesson-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 12px 28px rgba(5,43,85,.08)}
.plnm-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plnm-stat{background:#f8fffd;border:1px solid var(--line);border-radius:18px;padding:12px;text-align:center}
.plnm-stat strong{display:block;font-size:1.5rem;color:var(--teal)}
.hearts{letter-spacing:2px;font-size:1.2rem}
.lesson-modal{position:fixed;inset:0;background:rgba(7,29,43,.58);z-index:10000;display:none;align-items:center;justify-content:center;padding:18px}
.lesson-modal.open{display:flex}
.lesson-box{width:min(620px,100%);background:#fff;border-radius:30px;border:1px solid var(--line);box-shadow:0 30px 90px rgba(0,0,0,.3);overflow:hidden}
.lesson-head{background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.lesson-head h3{margin:0;color:#fff}
.lesson-head button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:12px;padding:8px 10px;cursor:pointer}
.lesson-body{padding:22px}
.lesson-options{display:grid;gap:10px;margin-top:18px}
.lesson-options button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:18px;padding:14px;text-align:left;font-weight:900;cursor:pointer}
.lesson-options button:hover{background:#f2fbfa;border-color:rgba(20,116,130,.35)}
.lesson-feedback{margin-top:14px;border-radius:18px;padding:14px;display:none}
.lesson-feedback.ok{display:block;background:#f2fbfa;border:1px solid rgba(19,122,58,.25);color:#137a3a}
.lesson-feedback.bad{display:block;background:#fff3f0;border:1px solid rgba(155,18,53,.20);color:#9b1235}
.lesson-progress{height:12px;background:#eef3f6;border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.lesson-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));width:0%}
.plnm-duo-cta{background:linear-gradient(135deg,#f2fbfa,#fff8e6);border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 12px 28px rgba(5,43,85,.08)}
.year-filter-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 10px 24px rgba(5,43,85,.06);margin:16px 0}
.year-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.year-buttons button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-weight:900;color:var(--navy);cursor:pointer}
.year-buttons button.active,.year-buttons button:hover{background:#f2fbfa;border-color:rgba(20,116,130,.38)}
@media(max-width:980px){.category-panel{right:auto;left:0;grid-template-columns:1fr 1fr}.plnm-journey{grid-template-columns:1fr}.plnm-side{position:static}}
@media(max-width:650px){.category-panel{position:static;width:100%;grid-template-columns:1fr;margin-top:8px}.plnm-node{grid-template-columns:58px 1fr}.plnm-bubble{width:50px;height:50px;border-radius:18px}}


/* Navega Letras v26 header/footer cleanup */
.site-header .nav > a[href="pesquisa.html"]{
  display:none!important;
}
.site-header{
  border-bottom:1px solid rgba(7,45,84,.12)!important;
}
.nav{
  gap:10px!important;
}
.nl-search-mini{
  max-width:300px!important;
}
.nl-search-mini input{
  min-width:170px!important;
}
.site-footer{
  background:#07345f!important;
  color:#e9fff9!important;
  margin-top:0!important;
  padding:42px 22px 28px!important;
  border-top:0!important;
}
.footer-inner.v24-footer{
  max-width:1180px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr .75fr;
  gap:22px;
  align-items:stretch;
}
.footer-block{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
}
.footer-mini{
  color:#cde7ee!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
}
.footer-logo-pill{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.22)!important;
}
.footer-links.v24-links a{
  background:rgba(255,255,255,.08)!important;
}
.legacy-footer-zone,
.old-footer-zone,
.footer-legacy,
.pre-footer-links{
  display:none!important;
}
@media(max-width:980px){
  .footer-inner.v24-footer{grid-template-columns:1fr}
  .nl-search-mini{max-width:100%!important}
}

/* v54 gamification and richer visuals */
.game-hero, .quiz-hub-hero, .trophy-hero, .study-hero{width:min(1180px,calc(100% - 32px));margin:0 auto 24px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#08264f,#0f4da1 48%,#11c9d3);color:#fff;box-shadow:0 18px 54px rgba(5,34,74,.18)}
.game-hero h1,.quiz-hub-hero h1,.trophy-hero h1,.study-hero h1{margin:0 0 10px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.02;letter-spacing:-.04em;color:#fff}
.game-hero p,.quiz-hub-hero p,.trophy-hero p,.study-hero p{max-width:860px;color:#e8f6ff;line-height:1.65}
.game-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center}
.hero-art-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px);padding:22px;border-radius:26px}
.hero-art-card img{max-width:110px;display:block;margin-bottom:14px}
.hero-stat-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.hero-stat{background:rgba(255,255,255,.14);padding:10px 14px;border-radius:999px;font-weight:900}
.quiz-level-grid,.trophy-grid,.media-grid{width:min(1180px,calc(100% - 32px));margin:0 auto 26px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.level-card,.trophy-card,.media-card{background:#fff;border:1px solid rgba(5,34,74,.08);border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(5,34,74,.06)}
.level-card h3,.trophy-card h3,.media-card h3{margin:10px 0 8px;color:#05224a}.level-card p,.trophy-card p,.media-card p{color:#5e718e;line-height:1.55}
.level-card .thumb-illustration,.media-card .thumb-illustration{height:180px;border-radius:18px;background:linear-gradient(180deg,#f6fbff,#eaf6ff);display:flex;align-items:center;justify-content:center;overflow:hidden}
.level-card .thumb-illustration svg,.media-card .thumb-illustration svg{width:100%;height:100%}
.level-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.level-actions a,.soft-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:10px 14px;font-weight:900;border:1px solid rgba(0,51,153,.14);color:#003399;background:#fff}.soft-btn.primary,.level-actions a.primary{background:#003399;color:#fff}
.stats-strip{width:min(1180px,calc(100% - 32px));margin:0 auto 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat-box{background:#fff;border:1px solid rgba(5,34,74,.08);border-radius:22px;padding:18px;box-shadow:0 10px 24px rgba(5,34,74,.05)}.stat-box b{display:block;color:#05224a;font-size:1.6rem}.stat-box span{color:#607089}
.quiz-shell{width:min(980px,calc(100% - 32px));margin:0 auto 28px;background:#fff;border:1px solid rgba(5,34,74,.08);border-radius:28px;padding:24px;box-shadow:0 16px 44px rgba(5,34,74,.06)}
.question-card{padding:18px;border-radius:22px;background:#f8fbff;border:1px solid rgba(5,34,74,.06);margin-bottom:16px}.question-card h3{margin:0 0 12px;color:#05224a;font-size:1.18rem}.question-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.question-meta span{padding:6px 10px;border-radius:999px;background:#ebf4ff;color:#003399;font-weight:900;font-size:.88rem}
.option-list{display:grid;gap:10px}.option-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid rgba(5,34,74,.08);border-radius:18px;background:#fff;cursor:pointer}.option-item input{margin-top:3px}.option-item:hover{border-color:#11c9d3;box-shadow:0 8px 22px rgba(17,201,211,.12)}
.quiz-result-panel{margin-top:18px;padding:18px;border-radius:22px;background:#eef8ff;border:1px solid rgba(17,201,211,.25)}
.trophy-grid{grid-template-columns:repeat(4,1fr)}
.trophy-card img{width:84px;height:84px;object-fit:contain;display:block;margin-bottom:12px}.trophy-card .tier{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.tier.bronze{background:#f7e0cf;color:#8e4b1a}.tier.silver{background:#ebeff6;color:#47617d}.tier.gold{background:#fff1bf;color:#8a6400}.tier.platinum{background:#eef3ff;color:#514db8}.tier.hidden{background:#eee8ff;color:#56439a}
.trophy-card.locked{opacity:.76;filter:saturate(.78)}.trophy-card.unlocked{box-shadow:0 16px 40px rgba(0,51,153,.10);border-color:rgba(17,201,211,.25)}.trophy-card small{display:block;color:#607089;margin-top:8px}.trophy-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.trophy-counts{display:flex;gap:8px;flex-wrap:wrap}.trophy-counts span{padding:8px 10px;border-radius:999px;background:#f4f7fb;color:#3f5676;font-weight:900}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 auto 18px;width:min(1180px,calc(100% - 32px))}.filter-row button{border:1px solid rgba(0,51,153,.14);border-radius:999px;background:#fff;padding:10px 14px;font-weight:900;color:#294869;cursor:pointer}.filter-row button.active{background:#003399;color:#fff}
.hidden-note{font-style:italic;color:#7d6fb5}
.quiz-banner-illustration{display:grid;grid-template-columns:1fr 1fr;gap:14px}.illustration-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:14px;min-height:180px}
.progress-pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#eef8ff;color:#003399;font-weight:900}
@media(max-width:980px){.game-hero-grid,.quiz-banner-illustration{grid-template-columns:1fr}.quiz-level-grid,.media-grid{grid-template-columns:1fr 1fr}.trophy-grid{grid-template-columns:repeat(3,1fr)}.stats-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.quiz-level-grid,.media-grid,.trophy-grid,.stats-strip{grid-template-columns:1fr}}
