
:root{--bg:#f2ece1;--card:#fffaf0;--text:#211f1d;--mut:#756d62;--brand:#936b2f;--brand2:#651f23;--line:#d8cbb7;--soft:#eee3d1;--ok:#347657;--bad:#9f2f2d;--warn:#a46a1c;--shadow:0 8px 26px rgba(60,39,19,.10);--metal:#c79a4a;--metal2:#8e672f;--wine:#651f23;--ink:#121214}
[data-theme="dark"]{--bg:#111113;--card:#1a1a1e;--text:#f2eee6;--mut:#a7a097;--brand:#c79a4a;--brand2:#711f25;--line:#353238;--soft:#252329;--ok:#52a67a;--bad:#dc625c;--warn:#dda451;--shadow:0 10px 30px rgba(0,0,0,.30);--metal:#d1a65a;--metal2:#9a7133;--wine:#711f25;--ink:#0d0d0f}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}body{padding-bottom:82px}button,select,input{font:inherit}.top{position:sticky;top:0;z-index:20;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:14px 16px;box-shadow:0 2px 12px #0002}.topin{max-width:760px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px}.brand img{width:40px;height:40px;border-radius:10px}.brand b{display:block;font-size:1.02rem}.brand small{opacity:.86}.iconbtn{border:0;background:#ffffff1d;color:white;border-radius:10px;width:40px;height:40px;font-size:1.1rem}.wrap{max-width:760px;margin:18px auto;padding:0 14px}.hero{background:linear-gradient(145deg,var(--card),var(--soft));border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.hero h1{font-size:1.45rem;margin:0 0 6px}.hero p{margin:0;color:var(--mut);line-height:1.45}.statsline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.mini{background:var(--card);border:1px solid var(--line);padding:12px;border-radius:13px}.mini b{font-size:1.15rem}.mini small{display:block;color:var(--mut);font-size:.75rem;margin-top:2px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:22px 2px 10px}.sectiontitle h2{font-size:1rem;margin:0}.sectiontitle span{font-size:.78rem;color:var(--mut)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:11px}.action{border:1px solid var(--line);background:var(--card);color:var(--text);padding:16px;border-radius:16px;text-align:left;box-shadow:var(--shadow);min-height:125px}.action .emo{font-size:1.6rem}.action b{display:block;margin:9px 0 4px}.action small{color:var(--mut);line-height:1.35}.primary{background:var(--brand);color:#fff;border:0;border-radius:12px;padding:12px 15px;font-weight:800}.secondary{background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 15px;font-weight:700}.danger{background:#fff0ef;color:var(--bad);border:1px solid #ffc7c2;border-radius:12px;padding:12px 15px;font-weight:700}.panel{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:16px;box-shadow:var(--shadow);margin-bottom:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1}.select{width:100%;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:11px;padding:12px}.bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:7px 5px calc(7px + env(safe-area-inset-bottom))}.bottomin{max-width:760px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.tab{background:none;border:0;color:var(--mut);font-size:.72rem;padding:6px 2px}.tab span{font-size:1.25rem;display:block;margin-bottom:2px}.tab.active{color:var(--brand);font-weight:800}.screen{display:none}.screen.active{display:block}.qmeta{display:flex;justify-content:space-between;color:var(--mut);font-size:.85rem}.bar{height:9px;background:var(--line);border-radius:99px;overflow:hidden;margin:12px 0}.fill{height:100%;background:var(--brand)}.cat{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brand);font-weight:900}.topic{font-size:.76rem;color:var(--mut);margin-top:3px}.question{font-size:1.08rem;line-height:1.48;font-weight:750;margin:12px 0 14px}.option{width:100%;text-align:left;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:13px;padding:13px;margin:7px 0;font-weight:620}.option.selected{border:2px solid var(--brand);background:var(--soft)}.option.correct{border:2px solid var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--card))}.option.wrong{border:2px solid var(--bad);background:color-mix(in srgb,var(--bad) 8%,var(--card))}.exp{border-left:4px solid var(--brand);background:var(--soft);padding:12px;border-radius:10px;margin-top:12px;line-height:1.45}.navrow{display:flex;justify-content:space-between;gap:9px;margin-top:16px}.qgrid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.qnum{padding:8px 0;border:0;border-radius:8px;background:var(--soft);color:var(--mut);font-size:.76rem}.qnum.answered{background:color-mix(in srgb,var(--brand) 18%,var(--card));color:var(--brand)}.qnum.current{outline:2px solid var(--brand)}.score{font-size:3rem;font-weight:950;color:var(--brand);margin:6px 0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.metric{border:1px solid var(--line);border-radius:12px;padding:11px}.metric small{color:var(--mut);display:block;margin-bottom:3px}.hist{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:11px 0}.hist:last-child{border:0}.pill{display:inline-block;background:var(--soft);color:var(--brand);border-radius:999px;padding:5px 8px;font-size:.73rem;font-weight:800}.weak{margin:8px 0}.weakhead{display:flex;justify-content:space-between;font-size:.84rem}.weakbar{height:7px;background:var(--line);border-radius:99px;margin-top:5px;overflow:hidden}.weakfill{height:100%;background:var(--brand)}.empty{text-align:center;color:var(--mut);padding:35px 10px}.install{display:none;width:100%;margin-top:14px}.bookmark{float:right;border:0;background:var(--soft);color:var(--brand);width:38px;height:38px;border-radius:10px}.bookmark.on{background:var(--brand);color:white}.modal{position:fixed;inset:0;background:#0008;z-index:60;display:none;align-items:flex-end}.modal.show{display:flex}.sheet{background:var(--card);width:100%;max-height:82vh;overflow:auto;border-radius:22px 22px 0 0;padding:20px max(18px,calc((100vw - 720px)/2));padding-bottom:calc(20px + env(safe-area-inset-bottom))}.sheet h3{margin-top:0}.setting{padding:12px 0;border-bottom:1px solid var(--line)}.setting:last-child{border:0}.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:var(--text);color:var(--card);padding:10px 14px;border-radius:999px;font-size:.82rem;z-index:100;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.source-note{font-size:.76rem;color:var(--mut);line-height:1.4;margin-top:12px}@media(max-width:560px){.cards{grid-template-columns:1fr}.statsline{grid-template-columns:repeat(3,1fr)}.metrics{grid-template-columns:1fr}.hero h1{font-size:1.25rem}.qgrid{grid-template-columns:repeat(8,1fr)}}


.bottomin.five{grid-template-columns:repeat(5,1fr)}
.online-callout{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(145deg,var(--card),var(--soft))}.online-callout p{margin:5px 0 0}.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#27b66e;box-shadow:0 0 0 4px color-mix(in srgb,#27b66e 18%,transparent)}.live-dot.offline{background:#9aa5a0;box-shadow:none}.online-status{border-color:color-mix(in srgb,var(--brand) 32%,var(--line))}.filtergrid{display:grid;grid-template-columns:1.4fr 1fr;gap:9px}.filtergrid label span{display:block;color:var(--mut);font-size:.72rem;font-weight:800;margin:0 0 5px 2px}.chiprow{display:flex;gap:7px;overflow:auto;margin-top:10px;padding-bottom:2px}.chip{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--mut);padding:8px 11px;border-radius:999px;font-size:.78rem;font-weight:800}.chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.contest-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.summarybox{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:11px}.summarybox b{display:block;font-size:1.1rem}.summarybox small{color:var(--mut);font-size:.72rem}.contest-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:16px;margin-bottom:11px;box-shadow:var(--shadow)}.contest-card.urgent{border-color:#e4a740}.contest-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.contest-title{font-weight:850;line-height:1.35}.contest-org{color:var(--mut);font-size:.82rem;margin-top:4px}.contest-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.ctag{font-size:.7rem;padding:5px 7px;border-radius:999px;background:var(--soft);color:var(--brand);font-weight:800}.ctag.urgent{background:#fff3df;color:#9a5a00}.ctag.closed{background:#f1f1f1;color:#777}.contest-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}.infoitem{border-top:1px solid var(--line);padding-top:8px}.infoitem small{display:block;color:var(--mut);font-size:.7rem}.infoitem b{font-size:.83rem}.contest-actions{display:flex;gap:8px;margin-top:12px}.contest-actions a{text-decoration:none;text-align:center;flex:1}.newflag{background:#e8fff3;color:#087a4b;border-radius:999px;padding:4px 7px;font-size:.66rem;font-weight:900}.contest-empty{text-align:center;padding:30px 15px;color:var(--mut)}
@media(max-width:560px){.online-callout{align-items:flex-start;flex-direction:column}.online-callout button{width:100%}.filtergrid{grid-template-columns:1fr}.contest-info{grid-template-columns:1fr 1fr}.bottomin.five .tab{font-size:.64rem}.bottomin.five .tab span{font-size:1.1rem}}

.filteractions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.filterbtn{background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:11px;padding:11px 12px;text-align:left;font-weight:800;font-size:.82rem}.activefilters{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.filterpill{display:inline-flex;align-items:center;gap:5px;background:var(--soft);color:var(--brand);border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:.69rem;font-weight:800}.pickerbar{display:flex;gap:8px;position:sticky;top:-20px;background:var(--card);padding:6px 0 12px;z-index:2}.pickerbar button{flex:1}.pickersearch{margin:4px 0 10px}.checklist{border:1px solid var(--line);border-radius:14px;overflow:hidden}.checkrow{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.checkrow:last-child{border-bottom:0}.checkrow input{width:19px;height:19px;accent-color:var(--brand)}.checkrow span{flex:1;font-weight:700}.checkrow small{color:var(--mut)}.stategrid{display:grid;grid-template-columns:1fr;gap:8px}.statecard{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--card)}.statecard input{width:20px;height:20px;accent-color:var(--brand)}.statecard b{display:block}.statecard small{color:var(--mut)}
@media(max-width:560px){.filteractions{grid-template-columns:1fr}.pickerbar{top:-20px}}

.sourceq{margin-top:10px;padding-top:8px;border-top:1px solid var(--border,#e5e7eb);font-size:.78rem;opacity:.72}

.exam-config{margin-top:14px}.configlabel{display:block}.configlabel>span{display:block;font-weight:800;margin-bottom:8px}.exam-board-desc{margin-top:9px;line-height:1.4}.exam-board-desc b{color:var(--brand,#066948)}


/* =========================================================
   ESPARTA CONCURSOS — IDENTIDADE VISUAL
   ========================================================= */
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--brand) 8%,transparent) 0,transparent 28rem),
    radial-gradient(circle at 0% 28%,color-mix(in srgb,var(--wine) 8%,transparent) 0,transparent 24rem),
    var(--bg);
}
.top{
  background:
    linear-gradient(110deg,rgba(8,8,10,.96),rgba(30,27,25,.97) 56%,rgba(86,28,31,.94));
  border-bottom:1px solid color-mix(in srgb,var(--metal) 55%,transparent);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
.top:after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--metal),var(--wine),var(--metal),transparent);
  opacity:.7;
}
.topin{position:relative}
.brand img{
  width:44px;height:44px;border-radius:12px;
  border:1px solid rgba(209,166,90,.65);
  box-shadow:0 0 0 3px rgba(199,154,74,.08),0 7px 16px rgba(0,0,0,.24);
}
.brand b{
  font-size:1.03rem;letter-spacing:.085em;font-weight:950;
  color:#f4e7c8;
}
.brand small{color:#c8beb0;opacity:.95;letter-spacing:.025em}
.iconbtn{
  border:1px solid rgba(209,166,90,.35);
  background:rgba(255,255,255,.06);
  color:#e5c487;
}
.hero{
  position:relative;overflow:hidden;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--card) 95%,var(--brand)),var(--card) 56%,color-mix(in srgb,var(--wine) 8%,var(--card)));
  border:1px solid color-mix(in srgb,var(--metal) 48%,var(--line));
  border-radius:19px;
  box-shadow:var(--shadow);
}
.hero:before{
  content:"";
  position:absolute;right:-62px;top:-85px;width:215px;height:215px;
  border:1px solid color-mix(in srgb,var(--metal) 22%,transparent);
  border-radius:50%;
  box-shadow:0 0 0 18px color-mix(in srgb,var(--metal) 3%,transparent),
             0 0 0 44px color-mix(in srgb,var(--wine) 3%,transparent);
  pointer-events:none;
}
.hero:after{
  content:"Λ";
  position:absolute;right:23px;bottom:-26px;
  font-family:var(--font-sans);font-size:9rem;font-weight:900;
  color:color-mix(in srgb,var(--metal) 8%,transparent);
  transform:scaleX(.78);
  pointer-events:none;
}
.hero-kicker{
  position:relative;z-index:1;
  font-size:.67rem;font-weight:950;letter-spacing:.16em;
  color:var(--brand);margin-bottom:8px;
}
.hero h1{
  position:relative;z-index:1;
  font-family:var(--font-sans);
  font-size:1.58rem;line-height:1.14;letter-spacing:.01em;
  max-width:520px;
}
.hero p,.statsline,.hero .install{position:relative;z-index:1}
.mini{
  background:color-mix(in srgb,var(--card) 94%,var(--metal));
  border-color:color-mix(in srgb,var(--metal) 28%,var(--line));
}
.mini b{color:var(--brand)}
.sectiontitle h2{
  font-family:var(--font-sans);
  letter-spacing:.015em;
}
.sectiontitle span{
  border:1px solid color-mix(in srgb,var(--metal) 34%,var(--line));
  background:color-mix(in srgb,var(--metal) 10%,var(--card));
  color:var(--brand);padding:5px 9px;border-radius:999px;font-weight:900;font-size:.72rem;
}
.panel,.contest-card{
  border-color:color-mix(in srgb,var(--metal) 20%,var(--line));
}
.exam-config{
  border-left:3px solid var(--metal);
}
.action{
  position:relative;overflow:hidden;
  border-color:color-mix(in srgb,var(--metal) 24%,var(--line));
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.action:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(var(--metal),var(--wine));
}
.action:hover,.action:active{
  border-color:color-mix(in srgb,var(--metal) 58%,var(--line));
  box-shadow:0 9px 22px color-mix(in srgb,var(--metal) 10%,transparent);
  transform:translateY(-1px);
}
.emo{
  display:grid!important;place-items:center;
  width:40px;height:40px;
  border:1px solid color-mix(in srgb,var(--metal) 38%,var(--line));
  border-radius:11px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--metal) 14%,var(--card)),var(--card));
  color:var(--brand);
  font-family:var(--font-sans);font-weight:950!important;
}
.primary{
  background:linear-gradient(135deg,var(--brand),var(--metal2));
  color:#14110d;
  border:1px solid color-mix(in srgb,var(--metal) 75%,#fff);
  box-shadow:0 5px 14px color-mix(in srgb,var(--brand) 18%,transparent);
}
.primary:hover,.primary:active{filter:brightness(1.06)}
.secondary,.filterbtn{
  border-color:color-mix(in srgb,var(--metal) 25%,var(--line));
}
.select:focus,input:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 13%,transparent);
}
.bottom{
  background:color-mix(in srgb,var(--card) 92%,transparent);
  border-top:1px solid color-mix(in srgb,var(--metal) 24%,var(--line));
  box-shadow:0 -8px 26px rgba(0,0,0,.07);
}
.tab.active{color:var(--brand)}
.tab.active span{
  text-shadow:0 0 14px color-mix(in srgb,var(--brand) 35%,transparent);
}
.bar{height:8px}
.fill{background:linear-gradient(90deg,var(--wine),var(--brand),var(--metal))}
.cat{color:var(--brand);letter-spacing:.08em}
.option{
  border-color:color-mix(in srgb,var(--metal) 14%,var(--line));
}
.option.selected{
  border-color:var(--brand);
  background:color-mix(in srgb,var(--brand) 12%,var(--card));
}
.exp{
  border-left-color:var(--metal);
  background:color-mix(in srgb,var(--metal) 9%,var(--card));
}
.bookmark{
  border:1px solid color-mix(in srgb,var(--metal) 25%,var(--line));
}
.bookmark.on{
  background:linear-gradient(135deg,var(--brand),var(--metal2));
  color:#17120d;
}
.pill,.ctag,.filterpill{
  background:color-mix(in srgb,var(--metal) 10%,var(--card));
  color:var(--brand);
  border-color:color-mix(in srgb,var(--metal) 22%,var(--line));
}
.chip.active{
  background:linear-gradient(135deg,var(--wine),color-mix(in srgb,var(--wine) 72%,var(--brand)));
  border-color:color-mix(in srgb,var(--metal) 28%,var(--wine));
}
.live-dot{
  background:#d3a455;
  box-shadow:0 0 0 4px rgba(211,164,85,.13),0 0 15px rgba(211,164,85,.22);
}
.online-callout{
  border-left:3px solid var(--wine);
}
.score{
  color:var(--brand);
  font-family:var(--font-sans);
}
.modal{background:rgba(3,3,5,.76);backdrop-filter:blur(3px)}
.sheet{
  border-top:1px solid color-mix(in srgb,var(--metal) 35%,var(--line));
}
.newflag{
  background:color-mix(in srgb,var(--metal) 14%,var(--card));
  color:var(--brand);
  border:1px solid color-mix(in srgb,var(--metal) 30%,var(--line));
}
[data-theme="dark"] .primary{color:#14110d}
[data-theme="dark"] .danger{background:#32191b;border-color:#623034}
[data-theme="dark"] .ctag.closed{background:#2b292d;color:#999}
[data-theme="dark"] .hero h1{color:#f5efe4}
[data-theme="dark"] .hero-kicker{color:#d4aa60}
[data-theme="dark"] .brand small{color:#bcb4a9}
@media(max-width:560px){
  .hero h1{font-size:1.38rem}
  .brand b{font-size:.94rem}
  .brand small{font-size:.68rem}
}

/* Biblioteca de Estudos */
.bottomin.six{grid-template-columns:repeat(6,1fr)}
.bottomin.six .tab{font-size:.62rem;padding-left:2px;padding-right:2px}
.bottomin.six .tab span{font-size:1.05rem}
.study-intro{border-left:3px solid var(--metal)}
.study-card{background:var(--card);border:1px solid color-mix(in srgb,var(--metal) 20%,var(--line));border-radius:15px;padding:15px;margin-bottom:11px;box-shadow:var(--shadow);cursor:pointer;transition:.15s ease}
.study-card:active{transform:scale(.995)}
.study-card.done{border-color:color-mix(in srgb,var(--ok) 48%,var(--line));background:color-mix(in srgb,var(--ok) 5%,var(--card))}
.study-card-top{display:flex;gap:12px;justify-content:space-between}.study-card h3{margin:5px 0 6px;font-size:1rem}.study-card p{margin:0;color:var(--mut);font-size:.84rem;line-height:1.42}.study-cat{display:inline-block;color:var(--brand);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.study-check{flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--brand);font-weight:900}.study-card.done .study-check{background:var(--ok);color:white;border-color:var(--ok)}
.study-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.study-meta span{font-size:.68rem;padding:5px 7px;border-radius:999px;background:var(--soft);color:var(--mut)}
.study-reader h2{font-family:var(--font-sans);margin:6px 0 10px}.study-reader .lead{font-size:.94rem;line-height:1.55;color:var(--mut)}.study-reader h3{margin:19px 0 8px;color:var(--brand);font-size:.92rem}.study-reader ul{padding-left:20px;margin:8px 0}.study-reader li{margin:7px 0;line-height:1.45;font-size:.9rem}.study-box{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:12px;margin:13px 0}.study-box h3{margin-top:0}.formula-box{border-left:3px solid var(--metal)}.trap-box{border-left:3px solid var(--wine)}.formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--card);padding:9px 10px;border-radius:8px;margin:6px 0;border:1px solid var(--line);font-size:.84rem}.study-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.study-actions button{flex:1;min-width:160px}
@media(max-width:430px){.bottomin.six .tab{font-size:.56rem}.bottomin.six .tab span{font-size:.98rem}}

/* Academia Esparta */
.course-dashboard{border:1px solid color-mix(in srgb,var(--metal) 38%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--card) 96%,var(--metal)),var(--card))}
.course-dashboard-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.course-dashboard-head h3{margin:4px 0 5px;font-family:var(--font-sans);font-size:1.23rem}
.mastery-ring{--mastery:0deg;width:82px;height:82px;min-width:82px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--metal) 0 var(--mastery),color-mix(in srgb,var(--line) 65%,transparent) var(--mastery) 360deg)}
.mastery-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--card)}.mastery-ring b,.mastery-ring small{position:relative;z-index:1;text-align:center}.mastery-ring b{font-size:1.15rem;color:var(--brand);align-self:end}.mastery-ring small{font-size:.62rem;color:var(--mut);align-self:start}
.plan-config{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:9px;margin-top:14px}.plan-config label span{display:block;font-size:.72rem;color:var(--mut);font-weight:800;margin-bottom:5px}.plan-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.plan-summary{margin-top:13px}.plan-empty,.plan-alert{padding:11px 12px;border-radius:11px;background:var(--soft);display:flex;flex-direction:column;gap:2px}.plan-empty span{font-size:.8rem;color:var(--mut)}.plan-alert{color:var(--bad)}
.plan-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.plan-stats>div{border:1px solid var(--line);border-radius:10px;padding:9px;background:color-mix(in srgb,var(--card) 94%,var(--metal))}.plan-stats b{display:block;font-size:1rem;color:var(--brand)}.plan-stats small{font-size:.65rem;color:var(--mut)}
.today-plan{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}.today-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:8px}.today-title h3{margin:2px 0 0;font-size:1rem}.today-title>span{font-size:.75rem;font-weight:900;color:var(--brand)}
.today-task{width:100%;display:grid;grid-template-columns:32px 1fr 18px;gap:10px;align-items:center;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:10px;margin:7px 0;color:var(--text)}.today-task b{display:block}.today-task small{display:block;color:var(--mut);font-size:.72rem;margin-top:2px}.task-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--wine),var(--metal2));color:#f7ead0;font-weight:950}
.module-score{text-align:right;min-width:78px}.module-score b{display:block;color:var(--brand);font-size:1rem}.module-score small{display:block;color:var(--mut);font-size:.62rem}.module-score.large b{font-size:1.45rem}.module-score.large small{font-size:.69rem}
.course-mini-steps{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 7px}.course-mini-steps span{font-size:.62rem;padding:4px 6px;border-radius:999px;background:var(--soft);color:var(--mut);border:1px solid var(--line)}.course-mini-steps span.ok{background:color-mix(in srgb,var(--ok) 14%,var(--card));color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
.course-reader-head{display:flex;justify-content:space-between;gap:12px}.course-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:16px 0}.course-stepper>span{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 3px;border:1px solid var(--line);border-radius:9px;color:var(--mut);font-weight:900;background:var(--soft)}.course-stepper>span span{font-size:.54rem;font-weight:700;margin-top:2px}.course-stepper>span.done{background:color-mix(in srgb,var(--ok) 13%,var(--card));color:var(--ok);border-color:color-mix(in srgb,var(--ok) 32%,var(--line))}
.course-block{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:16px 0;border-top:1px solid var(--line)}.course-num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--wine),var(--metal2));color:#f7ead0;font-family:var(--font-sans);font-weight:950}.course-content h3{margin:3px 0 10px}.course-content h4{margin:12px 0 6px}.course-content>p{color:var(--mut);line-height:1.45}.course-content .primary,.course-content .secondary{margin-top:9px}
.worked-example{border:1px solid color-mix(in srgb,var(--metal) 35%,var(--line));border-radius:12px;padding:12px;background:color-mix(in srgb,var(--metal) 7%,var(--card));line-height:1.42}.worked-example ol{padding-left:25px}.worked-example li{padding:3px 5px}.worked-example li.answer-key{color:var(--ok);font-weight:800}.solution{border-top:1px solid var(--line);padding-top:9px;margin-top:8px}.solution p{margin:4px 0;color:var(--mut)}
.course-result{display:inline-block;padding:7px 9px;border-radius:9px;background:color-mix(in srgb,var(--metal) 12%,var(--card));border:1px solid color-mix(in srgb,var(--metal) 25%,var(--line));color:var(--brand);margin-bottom:7px}
.strategy-row{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.strategy-row>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--brand);font-weight:900}.strategy-row b,.strategy-row small{display:block}.strategy-row small{color:var(--mut);font-size:.7rem}
@media(max-width:620px){.plan-config{grid-template-columns:1fr 1fr}.plan-config label:first-child{grid-column:1/-1}.plan-stats{grid-template-columns:1fr 1fr}.course-dashboard-head{align-items:flex-start}.mastery-ring{width:72px;height:72px;min-width:72px}.course-reader-head{align-items:flex-start}.course-stepper>span span{display:none}}

/* Logo interno adaptado */
.brand{display:flex;align-items:center;min-width:0}
.brand img.brand-lockup{width:min(62vw,300px);height:auto;max-height:44px;object-fit:contain;border:none;border-radius:0;box-shadow:none;background:none}
.hero-brand-mini{margin-bottom:8px}
.hero-brand-mini img{width:min(54vw,220px);height:auto;opacity:.96;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
@media(max-width:560px){.brand img.brand-lockup{width:min(66vw,240px);max-height:38px}.hero-brand-mini img{width:min(62vw,190px)}}

/* Conteúdo didático expandido */
.didactic-plain{margin:10px 0 14px;padding:14px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--metal) 13%,var(--card)),color-mix(in srgb,var(--wine) 6%,var(--card)));border:1px solid color-mix(in srgb,var(--metal) 35%,var(--line));line-height:1.55}.didactic-plain span{display:block;font-size:.64rem;letter-spacing:.12em;font-weight:950;color:var(--brand);margin-bottom:6px}.didactic-plain p{margin:0;font-size:.94rem}.didactic-summary{margin:13px 0}.didactic-summary p{line-height:1.58;color:var(--text);margin:8px 0}.example-box{border-left:3px solid var(--ok)}.example-box p{line-height:1.55;margin:5px 0}.exam-box{border-left:3px solid var(--wine)}.quick-box{border-left:3px solid var(--metal)}.quick-box ol{padding-left:22px}.quick-box li{margin:6px 0;line-height:1.4}.flashcards-block{margin:13px 0}.flashcards-block h4{margin-bottom:8px}.flashcard{border:1px solid var(--line);border-radius:10px;background:var(--card);margin:7px 0;overflow:hidden}.flashcard summary{cursor:pointer;padding:10px 12px;font-weight:800;color:var(--text);list-style:none}.flashcard summary::-webkit-details-marker{display:none}.flashcard summary:after{content:'＋';float:right;color:var(--brand)}.flashcard[open] summary:after{content:'−'}.flashcard p{margin:0;padding:10px 12px 12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--metal) 6%,var(--card));line-height:1.5;color:var(--mut)}

/* ===== Conhecimentos Específicos — aprofundamento ===== */
.level-tag{border-color:color-mix(in srgb,var(--wine) 38%,var(--line))!important;color:color-mix(in srgb,var(--brand) 72%,var(--text))!important;background:color-mix(in srgb,var(--wine) 9%,var(--card))!important;font-weight:900}
.deep-section{margin:14px 0}.deep-section>h4{margin-bottom:8px}.formula-guide{border:1px solid color-mix(in srgb,var(--metal) 35%,var(--line));border-left:4px solid var(--metal);border-radius:11px;padding:11px 12px;margin:8px 0;background:color-mix(in srgb,var(--metal) 7%,var(--card))}.formula-guide>b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--brand);font-size:.95rem}.formula-guide p{margin:5px 0;color:var(--text);line-height:1.45}.formula-guide small{display:block;color:var(--mut);line-height:1.4}
.worked-series{display:grid;gap:10px}.deep-worked{border:1px solid color-mix(in srgb,var(--metal) 30%,var(--line));border-radius:13px;padding:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--card) 95%,var(--metal)),var(--card))}.deep-worked>span{font-size:.62rem;letter-spacing:.12em;color:var(--brand);font-weight:950}.deep-worked h4{margin:4px 0 7px}.deep-worked .problem{font-weight:700;line-height:1.45}.deep-worked ol{padding-left:22px;color:var(--mut)}.deep-worked li{margin:5px 0}.final-answer{margin-top:9px;padding:8px 10px;border-radius:9px;background:color-mix(in srgb,var(--ok) 12%,var(--card));border:1px solid color-mix(in srgb,var(--ok) 30%,var(--line));color:var(--ok);font-weight:900}.bank-example-title{margin-top:16px!important;padding-top:12px;border-top:1px solid var(--line)}
.mistake-box{border-left:4px solid var(--bad)!important;background:color-mix(in srgb,var(--bad) 6%,var(--card))!important}.connection-box{border-left:4px solid var(--brand)!important}.course-reader .lead:after{content:' • Conteúdo aprofundado para concursos';color:var(--brand);font-weight:800;font-size:.78rem}

/* ===== Caderno de Fórmulas ===== */
.bottomin.seven{grid-template-columns:repeat(7,1fr)}.bottomin.seven .tab{font-size:.49rem;padding:5px 1px}.bottomin.seven .tab span{font-size:.94rem}
.formula-hero{display:flex;justify-content:space-between;align-items:center;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--card) 96%,var(--metal)),var(--card));border-color:color-mix(in srgb,var(--metal) 36%,var(--line))}.formula-hero h3{font-family:var(--font-sans);font-size:1.3rem;margin:4px 0}.sigma-mark{font-family:var(--font-sans);font-size:5rem;color:color-mix(in srgb,var(--metal) 40%,transparent);line-height:.8;margin-right:12px}
.formula-filtergrid{display:grid;grid-template-columns:1.5fr 1fr;gap:9px}.formula-filtergrid label span{display:block;font-size:.72rem;color:var(--mut);font-weight:800;margin-bottom:5px}.formula-toolbar{margin-top:9px}.formula-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.formula-chip{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--mut);padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:800}.formula-chip.active{background:linear-gradient(135deg,var(--wine),var(--metal2));color:#f7ead0;border-color:var(--metal2)}
.formula-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.formula-card{background:var(--card);border:1px solid color-mix(in srgb,var(--metal) 22%,var(--line));border-radius:14px;padding:13px;cursor:pointer;box-shadow:var(--shadow)}.formula-card:hover{border-color:color-mix(in srgb,var(--metal) 55%,var(--line))}.formula-card-head{display:flex;justify-content:space-between;gap:10px}.formula-card h3{margin:3px 0 8px;font-size:.98rem}.formula-expression{font-family:var(--font-sans);font-weight:900;font-size:1.1rem;color:var(--brand);padding:10px;border-radius:9px;background:color-mix(in srgb,var(--metal) 9%,var(--card));border:1px solid color-mix(in srgb,var(--metal) 22%,var(--line));overflow-wrap:anywhere}.formula-expression.large{font-size:1.42rem;margin:10px 0 16px}.formula-card p{font-size:.8rem;color:var(--mut);line-height:1.38}.formula-card-foot{display:flex;gap:7px;align-items:center;font-size:.66rem;color:var(--mut)}.formula-card-foot span:last-child{margin-left:auto;font-size:1rem}.calc-badge{color:var(--brand)!important;background:color-mix(in srgb,var(--metal) 12%,var(--card));padding:3px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--metal) 20%,var(--line))}.formula-star{background:none;border:1px solid var(--line);color:var(--mut);width:34px;height:34px;padding:0;border-radius:9px;font-size:1rem}.formula-star.on{color:var(--metal);border-color:var(--metal)}.formula-reader-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.formula-reader h4{margin:14px 0 6px}.formula-reader p,.formula-reader li{line-height:1.46}.formula-calc-button{width:100%;margin-top:12px}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.calc-grid label span{display:block;font-size:.72rem;color:var(--mut);font-weight:800;margin-bottom:5px}.calc-grid label small{font-weight:500}.calc-result{margin:12px 0;padding:14px;border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--wine) 18%,var(--card)),color-mix(in srgb,var(--metal) 12%,var(--card)));border:1px solid color-mix(in srgb,var(--metal) 35%,var(--line))}.calc-result small,.calc-result b{display:block}.calc-result b{font-family:var(--font-sans);font-size:1.35rem;color:var(--brand);margin-top:3px}
@media(max-width:650px){.formula-list{grid-template-columns:1fr}.formula-filtergrid{grid-template-columns:1fr}.sigma-mark{font-size:3.8rem}.bottomin.seven .tab{font-size:.45rem}.bottomin.seven .tab span{font-size:.86rem}}
@media print{.top,.bottom,.filters,.formula-chips,.source-note,.formula-star,.formula-toolbar{display:none!important}.screen{display:none!important}#formulas{display:block!important}.formula-list{grid-template-columns:1fr 1fr}.formula-card{break-inside:avoid;box-shadow:none}.formula-card-foot{display:none}body{background:white;color:black}.formula-expression{color:#6e4d20}}


/* ===== Esparta Plataforma: cloud, edital, erros, professor e calculadoras ===== */
.top-actions{display:flex;gap:7px;align-items:center}.cloud-status{position:relative}.cloud-status:after{content:"";position:absolute;right:4px;bottom:4px;width:6px;height:6px;border-radius:50%;background:var(--mut)}
.cloud-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px}.cloud-strip p{margin:3px 0 0}.sync-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--mut);margin-right:7px}.sync-dot.online{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 15%,transparent)}
.platform-card{border-color:color-mix(in srgb,var(--metal) 30%,var(--line))}.platform-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.platform-toolbar .grow{flex:1;min-width:180px}.calc-toolbar{margin-bottom:10px}
.quiz-ai-row{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.professor-btn{border-color:color-mix(in srgb,var(--metal) 48%,var(--line));color:var(--brand)}
.account-hero{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}.account-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--wine),var(--metal2));color:#fff;font-weight:950;font-size:1.2rem}.cloud-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.field{display:block;margin:10px 0}.field>span{display:block;font-size:.72rem;font-weight:900;color:var(--mut);margin-bottom:5px}.feature-unavailable{padding:13px;border-radius:12px;background:var(--soft);border:1px dashed var(--line);line-height:1.5}.feature-unavailable code{color:var(--brand)}
.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;border:1.5px dashed color-mix(in srgb,var(--metal) 50%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--metal) 6%,var(--card));cursor:pointer;text-align:center}.upload-zone input{display:none}.upload-zone>span{font-size:2rem;color:var(--brand)}.upload-zone small{color:var(--mut);margin-top:4px}.divider{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:.7rem;margin:12px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.edict-textarea{width:100%;min-height:150px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--text);padding:11px;resize:vertical;font:inherit}.edict-textarea.small-area{min-height:90px}.edict-result-card{margin-top:15px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--metal) 35%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--metal) 7%,var(--card)),var(--card))}.edict-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.edict-grid>div{padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}.edict-grid small,.edict-grid b{display:block}.edict-grid small{color:var(--mut);font-size:.65rem}.edict-grid b{margin-top:2px;font-size:.82rem}.edict-excerpt{max-height:55vh;overflow:auto;line-height:1.55;font-size:.83rem;background:var(--soft);padding:12px;border-radius:11px;margin:10px 0}.ai-thinking{padding:13px;margin-top:12px;border-radius:11px;background:color-mix(in srgb,var(--metal) 10%,var(--card));color:var(--brand);font-weight:800}
.error-summary-panel{border-color:color-mix(in srgb,var(--bad) 25%,var(--line))}.sectiontitle.compact{margin:0 0 8px}.error-list{margin-top:10px}.error-card{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:11px;margin:7px 0;color:var(--text)}.error-card b,.error-card small{display:block}.error-card small{color:var(--mut);font-size:.7rem;margin-top:3px}.error-badge{min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--bad) 14%,var(--card));color:var(--bad);font-weight:950}.error-badge.resolved{background:color-mix(in srgb,var(--ok) 14%,var(--card));color:var(--ok)}.error-detail ol{padding-left:24px}.error-detail li{padding:5px}.error-detail .answer-key{color:var(--ok);font-weight:800}
.professor-head{display:flex;gap:11px;align-items:center}.professor-mark{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-family:var(--font-sans);font-size:1.7rem;background:linear-gradient(135deg,var(--wine),var(--metal2));color:#f7ead0}.professor-head h2{margin:2px 0}.professor-quick{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.professor-quick button{border:1px solid var(--line);background:var(--soft);color:var(--text);padding:9px;border-radius:9px;font-weight:800}.professor-answer{margin-top:13px;padding:13px;border:1px solid color-mix(in srgb,var(--metal) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--metal) 6%,var(--card));line-height:1.55}.full{width:100%}.course-ai-row{margin:8px 0 12px}
.calc-pro-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.calc-pro-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--text)}.calc-pro-card span{font-size:.62rem;color:var(--brand);font-weight:900;text-transform:uppercase}.calc-pro-card b{margin:5px 0 3px}.calc-pro-card small{color:var(--mut);line-height:1.35}.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calc-field span{display:block;font-size:.7rem;color:var(--mut);font-weight:800;margin-bottom:4px}.calc-field small{font-weight:500}.calc-pro-result{margin-top:13px;border:1px solid color-mix(in srgb,var(--metal) 30%,var(--line));border-radius:12px;overflow:hidden}.calc-result-line{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--line)}.calc-result-line:last-child{border-bottom:0}.calc-result-line span{color:var(--mut)}.calc-result-line b{color:var(--brand);text-align:right}
@media(max-width:620px){.cloud-strip{align-items:flex-start}.edict-grid,.calc-pro-grid,.calc-fields{grid-template-columns:1fr}.professor-quick{grid-template-columns:1fr 1fr}.platform-toolbar .grow{width:100%;flex-basis:100%}}


/* ===== Professor Esparta multi-provedor ===== */
.ai-setting-card{border-left:3px solid var(--metal);padding-left:12px}
.ai-config .field{margin-top:13px}.ai-key-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ai-key-hint{font-size:.7rem;color:var(--mut);margin-top:-4px;padding-left:2px}
.ai-remember{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--soft);margin:12px 0}
.ai-remember input{margin-top:3px;accent-color:var(--metal)}.ai-remember span,.ai-remember b,.ai-remember small{display:block}.ai-remember small{color:var(--mut);line-height:1.35;margin-top:3px}
.ai-advanced{border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin:12px 0;background:var(--soft)}.ai-advanced summary{cursor:pointer;font-weight:600;font-size:.82rem;color:var(--mut)}.ai-advanced[open] summary{margin-bottom:8px}
.ai-provider-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0}
.ai-provider-badge,.ai-model-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--metal) 35%,var(--line));font-size:.68rem;font-weight:900}
.ai-provider-badge{background:linear-gradient(135deg,color-mix(in srgb,var(--wine) 28%,var(--card)),color-mix(in srgb,var(--metal) 15%,var(--card)));color:var(--brand)}
.ai-model-badge{background:var(--soft);color:var(--mut);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.ai-mini-config{margin-left:auto;border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:900}
.ai-test-ok{padding:12px;border-radius:11px;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--line));background:color-mix(in srgb,var(--ok) 9%,var(--card));color:var(--ok);font-weight:900}
.professor-answer-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.professor-answer-meta small{color:var(--mut)}


/* ===== v3.4 • Prontidão, conta e sincronização ===== */
.readiness-card{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--metal) 32%,var(--line))}.readiness-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--metal),var(--wine))}.readiness-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.readiness-head h3{margin:.2rem 0}.readiness-score{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--metal);background:color-mix(in srgb,var(--metal) 9%,var(--card));font-size:1.25rem;font-weight:950;color:var(--brand);flex:0 0 auto}.readiness-bar{height:9px;border-radius:999px;background:var(--soft);overflow:hidden;margin:13px 0}.readiness-fill{height:100%;width:0;background:linear-gradient(90deg,var(--wine),var(--metal));transition:width .35s ease}.readiness-actions{gap:8px;flex-wrap:wrap}.sync-health{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.sync-health>div{padding:11px;border-radius:11px;background:var(--soft);border:1px solid var(--line)}.sync-health small,.sync-health b{display:block}.sync-health small{color:var(--mut);margin-bottom:3px}.auth-links{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.auth-links button{border:0;background:transparent;color:var(--brand);font-weight:850;text-decoration:underline;text-underline-offset:3px;padding:5px 0}.auth-feedback{padding:10px 12px;border-radius:10px;margin:10px 0;border:1px solid var(--line);background:var(--soft);font-size:.78rem}.auth-feedback.error{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}.auth-feedback.ok{border-color:color-mix(in srgb,var(--ok) 45%,var(--line));color:var(--ok)}
@media(max-width:520px){.readiness-score{width:68px;height:68px;font-size:1.05rem}.sync-health{grid-template-columns:1fr}}


/* v3.5 • Saúde do monitor */
.monitor-health{padding:14px 16px}
.monitor-health-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.monitor-health-head>div{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;row-gap:2px}
.monitor-health-head small{grid-column:2;color:var(--muted)}
.monitor-health-head>span{font-size:12px;color:var(--muted);font-weight:700}
.health-light{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}
.health-light.healthy{color:#36b37e;background:#36b37e}.health-light.attention{color:#d9a441;background:#d9a441}.health-light.stale{color:#d85b5b;background:#d85b5b}
.health-sources{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.health-source{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;min-width:120px}
.health-source b{font-size:12px}.health-source small{color:var(--muted);margin-top:2px}

.realbank-note{margin-top:8px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;font-size:.78rem;line-height:1.35;opacity:.88}.realbank-note b{color:var(--gold)}
/* ===== v3.8.3 — Portal de acesso simples e forte ===== */
body.access-pending{overflow:hidden;background:#151618}
body.access-pending>.top,body.access-pending>.wrap,body.access-pending>.bottom{display:none!important}
.access-gate{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;overflow:auto;padding:24px 16px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#121315 0%,#17191d 100%);color:#f7f8fa}
body.access-pending .access-gate,.access-gate.active{display:flex}
.access-shell{width:min(100%,460px);margin:auto;padding:28px 24px 22px;border:1px solid rgba(255,255,255,.08);border-radius:26px;background:#1b1d21;box-shadow:0 18px 50px rgba(0,0,0,.32)}
.access-brand-simple{text-align:center;margin-bottom:22px}
.access-brand-lockup{width:min(250px,80%);display:block;margin:0 auto 16px;object-fit:contain}
.access-kicker{color:#dbc27c;font-size:.72rem;font-weight:800;letter-spacing:.16em;margin:0 0 10px}
.access-brand-simple h1{margin:0 0 10px;color:#ffffff;font-size:2rem;line-height:1.06;letter-spacing:-.02em}
.access-lead{margin:0 auto;max-width:360px;color:#e2e5eb;font-size:.95rem;line-height:1.55}
.access-choice{display:grid;gap:12px}.access-choice[hidden]{display:none}
.access-option{width:100%;display:grid;grid-template-columns:48px 1fr 16px;gap:14px;align-items:center;text-align:left;border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:16px;background:#23262b;color:#fff;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.access-option:hover,.access-option:focus-visible{transform:translateY(-1px);border-color:rgba(219,194,124,.40);background:#272b31;outline:none}
.access-login{background:linear-gradient(180deg,#262a30 0%,#22252b 100%)}
.access-test{background:linear-gradient(180deg,#22252a 0%,#1f2227 100%)}
.access-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#2d3138;border:1px solid rgba(255,255,255,.07);color:#f0d28e;font-size:1.3rem}
.access-option b{display:block;color:#ffffff;font-size:1rem}
.access-option small{display:block;margin-top:4px;color:#d6dbe3;font-size:.8rem;line-height:1.4}
.access-arrow{font-size:1.5rem;color:#d7bb74}
.access-install-btn,.access-install-inline{width:100%;min-height:48px;border-radius:14px}
.access-install-btn{margin-top:4px}
.access-install-inline{margin-top:12px}
.access-login-panel{margin-top:4px}.access-login-panel[hidden]{display:none}
.access-panel-simple h2{margin:8px 0 4px;font-size:1.45rem;color:#fff}
.access-panel-simple .small{color:#dde2ea}
.access-back{border:0;background:transparent;color:#ddc27c;padding:4px 0 8px;font-weight:700;cursor:pointer}
.access-field{display:block;margin:14px 0}.access-field span{display:block;margin-bottom:7px;color:#ffffff;font-size:.83rem;font-weight:700}
.access-field input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.10);background:#101215;color:#ffffff;border-radius:14px;padding:14px 15px;font:inherit;outline:none}
.access-field input::placeholder{color:#b0b6c0}.access-field input:focus{border-color:#dbc27c;box-shadow:0 0 0 3px rgba(219,194,124,.10)}
.access-submit{width:100%;min-height:50px;margin-top:8px;border-radius:14px}
.access-links{display:flex;justify-content:space-between;gap:12px;margin:12px 0}.access-links button{border:0;background:transparent;color:#f0d28e;padding:4px 0;font-size:.83rem;cursor:pointer}
.access-divider{display:flex;align-items:center;gap:12px;color:#c6ccd6;font-size:.77rem;margin:14px 0}.access-divider:before,.access-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.08)}
.access-feedback{margin-top:12px;padding:11px 12px;border-radius:12px;font-size:.83rem;line-height:1.45}.access-feedback.error{background:rgba(150,34,48,.18);border:1px solid rgba(232,94,109,.26);color:#ffe3e6}.access-feedback.ok{background:rgba(68,128,88,.16);border:1px solid rgba(107,190,131,.26);color:#e6ffec}.access-feedback.info{background:rgba(219,194,124,.10);border:1px solid rgba(219,194,124,.22);color:#f6e8bf}
.access-foot{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);color:#d0d5dd;font-size:.74rem;text-align:center}
.test-mode-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(219,194,124,.28);border-radius:999px;padding:4px 8px;font-size:.7rem;color:#d3ac5d;background:rgba(219,194,124,.08)}
@media(max-width:560px){.access-gate{align-items:flex-start;padding-top:max(16px,env(safe-area-inset-top))}.access-shell{padding:22px 18px 20px;border-radius:22px}.access-brand-lockup{width:min(220px,84%)}.access-brand-simple h1{font-size:1.78rem}.access-lead{font-size:.92rem}.access-option{padding:14px}.access-links{flex-direction:column;align-items:flex-start;gap:4px}}

/* Play Store 1.0 — privacidade e conta */
.access-legal{flex-basis:100%;margin-top:4px}.access-legal a{color:#f0d28e;text-decoration:none}.access-legal a:hover{text-decoration:underline}.account-privacy-links{margin-top:14px}
.access-terms{margin:4px 0 10px;color:#aeb4bf;line-height:1.4}.access-terms a{color:#f0d28e}
/* Tela inicial enxuta (1.3.0) */
.access-shell-simple{padding:32px 26px 20px}
.access-shell-simple .access-brand-simple{margin-bottom:26px}
.access-shell-simple .access-brand-lockup{margin-bottom:14px}
.access-choice-simple{gap:10px}
.access-cta{width:100%;min-height:52px;border-radius:14px;font-weight:800;letter-spacing:.06em;font-size:.95rem;cursor:pointer}
.access-cta-ghost{background:transparent;border:1px solid rgba(219,194,124,.45);color:#f0d28e}
.access-cta-ghost:hover,.access-cta-ghost:focus-visible{background:rgba(219,194,124,.08);outline:none}
.access-hint{margin:0;text-align:center;color:#9aa1ac;font-size:.78rem}
.access-signup{margin:14px 0 0;text-align:center;color:#c9ced6;font-size:.88rem}
.access-linkbtn{border:0;background:transparent;color:#f0d28e;font:inherit;font-weight:700;padding:2px;cursor:pointer}
.access-linkbtn:hover{text-decoration:underline}
.access-install-link{display:none;justify-self:center;margin:6px 0 0;font-size:.82rem;font-weight:600;color:#aeb4bf}
.access-foot a{color:#aeb4bf;text-decoration:none}.access-foot a:hover{color:#f0d28e}
.access-shell-simple .access-foot{margin-top:22px;padding-top:12px;gap:8px;color:#6f7680}
.access-panel-simple .auth-service-status{margin-top:4px}
.access-shell-simple .access-brand-compact{width:min(230px,70%);margin-left:auto;margin-right:auto}


/* ===== 1.0.2 — Resiliência do login ===== */
.auth-service-status{display:none;align-items:center;gap:8px;margin:10px 0 2px;padding:10px 12px;border-radius:12px;font-size:.80rem;font-weight:700;line-height:1.35}
.auth-service-status.show{display:flex}
.auth-service-status::before{content:"";width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:#8b929e;box-shadow:0 0 0 3px rgba(139,146,158,.12)}
.auth-service-status.online{color:#dff6e6;background:rgba(56,142,85,.13);border:1px solid rgba(94,190,124,.22)}
.auth-service-status.online::before{background:#64c987;box-shadow:0 0 0 3px rgba(100,201,135,.12)}
.auth-service-status.offline{color:#ffe1e4;background:rgba(166,49,63,.15);border:1px solid rgba(236,94,109,.26)}
.auth-service-status.offline::before{background:#ef6b7b;box-shadow:0 0 0 3px rgba(239,107,123,.12)}
.auth-service-status.checking{color:#f5e8bf;background:rgba(219,194,124,.09);border:1px solid rgba(219,194,124,.18)}
.auth-service-status.checking::before{background:#dbc27c;box-shadow:0 0 0 3px rgba(219,194,124,.10)}

/* ===== Esparta 1.1 — Brasil ===== */
.regionchips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.regionchip{padding:7px 10px;font-size:.72rem}.regionchip.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.region-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}.region-quick{min-height:40px}
.region-block{margin-top:16px}.region-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.region-heading b{font-size:.9rem}.region-heading .ghost{font-size:.72rem;padding:6px 8px}
@media(min-width:640px){.stategrid{grid-template-columns:repeat(2,minmax(0,1fr))}.region-quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.contest-summary{grid-template-columns:repeat(4,1fr)}
@media(max-width:560px){.contest-summary{grid-template-columns:repeat(2,1fr)}}

/* ===== Esparta 1.2 — Radar nacional / Fase 2 ===== */
.radar-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.contest-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.matchflag{background:var(--soft);color:var(--brand);border:1px solid var(--line);border-radius:999px;padding:4px 7px;font-size:.66rem;font-weight:900}.matchflag.good{background:#eef8ff;color:#176b8c;border-color:#c7e5f2}.matchflag.high{background:#e8fff3;color:#087a4b;border-color:#bfead5}.contest-match-text{margin-top:7px;font-size:.75rem;color:var(--mut);font-weight:800}.ctag.official{background:#e8fff3;color:#087a4b}.linkbtn{text-decoration:none;text-align:center}.source-monitor-list{display:grid;gap:9px;margin:12px 0 18px}.source-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:var(--soft)}.source-card b{display:block}.source-card small{display:block;color:var(--mut);margin-top:2px}.source-card>span{font-size:.75rem;font-weight:800;color:var(--mut)}.source-card a{font-size:.75rem;font-weight:800;color:var(--brand);text-decoration:none}.source-card.source-ok{border-color:color-mix(in srgb,#27b66e 35%,var(--line))}.source-card.source-error{border-color:color-mix(in srgb,#d85b5b 45%,var(--line))}.priority-grid{display:grid;gap:8px;margin-top:10px}.priority-region{border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:var(--card)}.priority-region b{display:block;margin-bottom:3px}.priority-region small{color:var(--mut);line-height:1.45}.radar-sphere-list{margin-top:8px}.radar-official{margin:12px 0;border:1px solid var(--line);border-radius:12px}.contest-info{grid-template-columns:repeat(2,1fr)}
@media(min-width:720px){.contest-info{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.radar-actions{grid-template-columns:1fr}.source-card{grid-template-columns:1fr auto}.source-card a{grid-column:1/-1}.contest-actions{flex-wrap:wrap}.contest-actions>*{flex:1 1 46%}}

/* 1.4.0 — navegação enxuta e próxima ação */
.subnav{display:flex;gap:6px;margin:4px 0 14px;padding:4px;background:var(--soft);border:1px solid var(--line);border-radius:12px}
.subtab{flex:1;border:0;background:transparent;color:var(--mut);font:inherit;font-weight:700;font-size:.86rem;padding:9px 6px;border-radius:9px;cursor:pointer}
.subtab.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.next-action{border-color:color-mix(in srgb,var(--metal) 45%,var(--line));margin-top:14px}
.next-action h3{margin:6px 0 4px}
.next-action .primary{margin-top:8px}

/* Esparta Pro */
.pro-offer h2{margin:6px 0 8px}
.pro-reason{color:var(--text)}
.pro-list{margin:12px 0 16px;padding-left:20px}.pro-list li{margin:6px 0}
.pro-buttons{display:grid;gap:10px;margin:12px 0}
.pro-buy{display:block;text-align:center;text-decoration:none;padding:13px 14px;border-radius:12px;font-weight:700}
.pro-buy small{font-weight:500;opacity:.8}
.muted-note{opacity:.75}
.pro-banner{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:12px 14px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--metal) 55%,var(--line));background:transparent;color:var(--text);font:inherit;cursor:pointer;text-align:left}
.pro-banner b{color:var(--metal)}.pro-banner small{color:var(--mut);white-space:nowrap}
.plan-status{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.plan-status.pro{border-color:color-mix(in srgb,var(--metal) 55%,var(--line))}.plan-status.pro b{color:var(--metal)}

/* =========================================================
   MARCA 2.0 — camada final (sobrepõe o visual antigo)
   Paleta e fontes vêm de brand.css. Regra: dourado só em ações
   principais e destaques; vinho só para erro/alerta; sem degradês decorativos.
   ========================================================= */
:root{
  --bg:var(--esp-stone-50);--card:var(--esp-stone-0);--soft:#efe8da;--line:var(--esp-stone-200);
  --text:#1d1b18;--mut:#6b6358;
  --brand:var(--esp-gold-600);--metal:var(--esp-gold-600);--metal2:#6f4f1b;--on-brand:#fffdf9;
  --wine:var(--esp-wine-600);--bad:var(--esp-wine-600);--ok:var(--esp-green-600);--warn:#9a5b12;
  --shadow:0 1px 2px rgba(29,27,24,.06),0 6px 18px rgba(29,27,24,.06);
  --top-bg:var(--esp-graphite-950);
}
[data-theme="dark"]{
  --bg:var(--esp-graphite-950);--card:var(--esp-graphite-900);--soft:var(--esp-graphite-800);--line:var(--esp-graphite-700);
  --text:#f4f1ea;--mut:#a39d93;
  --brand:var(--esp-gold-400);--metal:var(--esp-gold-400);--metal2:#b08a3e;--on-brand:#17130c;
  --wine:var(--esp-wine-300);--bad:var(--esp-wine-300);--ok:var(--esp-green-300);--warn:#e0a54f;
  --shadow:0 1px 2px rgba(0,0,0,.30),0 8px 24px rgba(0,0,0,.22);
  --top-bg:#0b0b0d;
}
html,body,button,select,input,textarea{font-family:var(--font-sans)}
body{background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,.sectiontitle h2,.hero h1,.study-reader h2,.score{font-family:var(--font-sans);letter-spacing:-.015em}
h1,.hero h1{font-weight:800}
h2,h3,.sectiontitle h2{font-weight:750}

/* Cabeçalho: grafite sólido + fio dourado fino (o único detalhe decorativo da marca) */
.top{background:var(--top-bg);border-bottom:1px solid color-mix(in srgb,var(--metal) 45%,transparent);box-shadow:none}
.top:after{content:none}
.brand img,.brand .esp-logo img{border:0;box-shadow:none}
.iconbtn{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#e9dcbd}

/* Cartões sem degradês, anéis ou marca d'água */
.hero{background:var(--card);border:1px solid var(--line)}
.hero:before,.hero:after,.action:before,.readiness-card:before{content:none}
.hero h1{color:var(--text)}
.mini{background:var(--soft);border-color:var(--line)}
.panel,.contest-card,.action,.option,.secondary,.filterbtn,.bookmark{border-color:var(--line)}
.online-callout,.formula-hero,.course-dashboard,.didactic-plain{background:var(--card)}
.online-callout{border-left:1px solid var(--line)}
.exam-config{border-left:1px solid var(--line)}
.emo{background:var(--soft);border-color:var(--line);font-weight:700!important}
.sigma-mark{color:color-mix(in srgb,var(--metal) 30%,transparent)}
.professor-mark,.course-num{background:var(--soft);color:var(--brand);border:1px solid var(--line);font-weight:800}
.ai-provider-badge{background:var(--soft)}
.readiness-score{background:var(--soft)}

/* Botões: dourado sólido para a ação principal; texto normal (sem caixa alta espaçada) */
.primary{background:var(--brand);color:var(--on-brand);border:1px solid transparent;box-shadow:none;font-weight:700}
.primary:hover,.primary:active{filter:none;background:color-mix(in srgb,var(--brand) 88%,#fff)}
[data-theme="dark"] .primary{color:var(--on-brand)}
.bookmark.on{background:var(--brand);color:var(--on-brand)}
.chip.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.fill{background:var(--brand)}
.tab.active span{text-shadow:none}
.live-dot{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 18%,transparent)}
.pill,.ctag,.filterpill,.newflag{background:color-mix(in srgb,var(--brand) 10%,var(--card));border-color:color-mix(in srgb,var(--brand) 22%,var(--line))}
.danger{background:color-mix(in srgb,var(--bad) 8%,var(--card));color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,var(--line))}
[data-theme="dark"] .danger{background:color-mix(in srgb,var(--bad) 10%,var(--card));border-color:color-mix(in srgb,var(--bad) 30%,var(--line))}
.option.correct{border-color:var(--ok)}.option.wrong{border-color:var(--bad)}

/* Tela de acesso: mesma paleta do app */
.access-gate{background:var(--esp-graphite-950)}
.access-shell{background:var(--esp-graphite-900);border-color:var(--esp-graphite-700);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.access-cta{letter-spacing:0;font-size:1rem;font-weight:700}
.access-cta.primary{background:var(--esp-gold-400);color:#17130c}
.access-cta-ghost{border-color:color-mix(in srgb,var(--esp-gold-400) 45%,transparent);color:var(--esp-gold-400)}
.access-brand-simple .esp-logo{margin:0 auto 14px}
.brand .esp-logo-word b{font-size:1.05rem;letter-spacing:.14em;font-weight:700;color:#f3e6c4}
.brand .esp-logo-word small{color:var(--esp-gold-400);opacity:1;letter-spacing:.34em;font-size:.56rem}
.readiness-fill{background:var(--brand)}
