/* ===== AEE sem Mistério: design system ===== */

:root{
  --paper:#faf6ef;
  --surface:#ffffff;
  --surface-2:#f2ece0;
  --surface-3:#e9e1d0;
  --ink:#20261f;
  --ink-soft:#3c4238;
  --muted:#6d6b5f;
  --line:#e2dac8;
  --line-strong:#cfc4a9;
  --brand:#2c6a57;
  --brand-dark:#1c4436;
  --brand-light:#e2efe6;
  --brand-light-2:#d1e4da;
  --accent:#c96a35;
  --accent-dark:#9b4f27;
  --accent-light:#f6e4d4;
  --verde:#3f8f5c;
  --verde-bg:#e3f3e7;
  --laranja:#d98a25;
  --laranja-bg:#faedd6;
  --vermelho:#c24a41;
  --vermelho-bg:#f8e2df;
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
  --shadow-sm:0 1px 2px rgba(32,38,31,.06), 0 1px 1px rgba(32,38,31,.04);
  --shadow-md:0 6px 20px rgba(32,38,31,.09);
  --shadow-lg:0 16px 44px rgba(32,38,31,.14);
  --font-serif:'Fraunces', Georgia, serif;
  --font-sans:'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color-scheme: light;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#161d19;
    --surface:#1d2621;
    --surface-2:#26312a;
    --surface-3:#2f3c33;
    --ink:#eae6d9;
    --ink-soft:#cfcabb;
    --muted:#9a9a8a;
    --line:#37453b;
    --line-strong:#465448;
    --brand:#7cc7a8;
    --brand-dark:#a9dcc4;
    --brand-light:#22352c;
    --brand-light-2:#26382f;
    --accent:#e79a63;
    --accent-dark:#f3b587;
    --accent-light:#3a2c22;
    --verde:#69c98c;
    --verde-bg:#20362a;
    --laranja:#e8ac52;
    --laranja-bg:#3a2f1c;
    --vermelho:#e88178;
    --vermelho-bg:#3b2320;
    --shadow-sm:0 1px 2px rgba(0,0,0,.3);
    --shadow-md:0 6px 20px rgba(0,0,0,.35);
    --shadow-lg:0 16px 44px rgba(0,0,0,.45);
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --paper:#161d19;
  --surface:#1d2621;
  --surface-2:#26312a;
  --surface-3:#2f3c33;
  --ink:#eae6d9;
  --ink-soft:#cfcabb;
  --muted:#9a9a8a;
  --line:#37453b;
  --line-strong:#465448;
  --brand:#7cc7a8;
  --brand-dark:#a9dcc4;
  --brand-light:#22352c;
  --brand-light-2:#26382f;
  --accent:#e79a63;
  --accent-dark:#f3b587;
  --accent-light:#3a2c22;
  --verde:#69c98c;
  --verde-bg:#20362a;
  --laranja:#e8ac52;
  --laranja-bg:#3a2f1c;
  --vermelho:#e88178;
  --vermelho-bg:#3b2320;
  --shadow-sm:0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 6px 20px rgba(0,0,0,.35);
  --shadow-lg:0 16px 44px rgba(0,0,0,.45);
  color-scheme: dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;
  max-width:100vw;
  background:repeating-linear-gradient(180deg,
    var(--paper) 0px,
    color-mix(in srgb, var(--paper) 90%, var(--brand) 10%) 500px,
    var(--paper) 1000px,
    color-mix(in srgb, var(--paper) 88%, var(--accent) 12%) 1500px,
    var(--paper) 2000px);
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  transition:background .25s ease, color .25s ease;
}
img{max-width:100%;display:block}
.page-watermark{
  position:fixed;
  top:50%;
  left:50%;
  width:min(70vw,640px);
  max-width:none;
  transform:translate(-50%,-50%);
  opacity:.05;
  z-index:0;
  pointer-events:none;
  user-select:none;
}
:root[data-theme="dark"] .page-watermark{opacity:.07;filter:invert(1)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .page-watermark{opacity:.07;filter:invert(1)}}
.site-header,main,.site-footer{position:relative;z-index:1}
a{color:var(--brand-dark);}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.2;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:500}
h2{font-size:clamp(1.55rem,2.8vw,2.15rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
h4{font-size:1.05rem;font-family:var(--font-sans);font-weight:700;text-transform:none}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.3em}
li{margin-bottom:.4em}
.lead{font-size:1.15rem;color:var(--ink-soft)}
.muted{color:var(--muted)}
.skip-link{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:.7em 1.2em;z-index:999;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

/* ---- layout helpers ---- */
.section{padding:5rem 0}
.section:first-of-type{border-top:none}
.section-alt{background:var(--surface-2)}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.6rem}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 1.6rem}
.kicker{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-sans);font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-dark);background:var(--brand-light);padding:.4em .9em;border-radius:99px;margin-bottom:1.1em}
.section-head{max-width:720px;margin-bottom:2.4rem}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.grid{display:grid;gap:1.4rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:880px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
@media (min-width:640px) and (max-width:880px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}

/* ---- progress + header ---- */
.progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--accent);width:0%;z-index:1000;transition:width .1s linear}
.site-header{position:sticky;top:0;z-index:1600;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{max-width:1320px;margin:0 auto;padding:.85rem 1.6rem;display:flex;align-items:center;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.5em;font-family:var(--font-serif);font-size:1.15rem;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;min-width:0;flex-shrink:1}
.brand em{font-style:normal;color:var(--brand-dark)}
.brand-mark{height:32px;width:auto;display:block;flex-shrink:0}
.brand-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.main-nav{display:flex;gap:clamp(.8rem,1.3vw,1.5rem);flex:1;justify-content:center}
.main-nav a{color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.94rem;padding:.3em 0;border-bottom:2px solid transparent;transition:border-color .15s, color .15s}
.main-nav a:hover,.main-nav a.active{color:var(--brand-dark);border-color:var(--accent)}
.nav-shortcut{background:var(--brand-light);color:var(--brand-dark)!important;border-radius:999px;padding:.35em .9em!important;border-bottom:none!important;white-space:nowrap}
.nav-shortcut:hover{background:var(--brand);color:#fff!important}
.header-actions{display:flex;gap:.5rem;align-items:center}

/* ---- nav items with subsections ---- */
.nav-item{position:relative;display:flex;flex-direction:column}
.nav-item-row{display:flex;align-items:center;gap:.25em}
.nav-item-row a{white-space:nowrap}
.nav-expand{display:none;background:none;border:none;padding:.2em;color:var(--ink-soft);cursor:pointer;flex-shrink:0}
.nav-expand svg{transition:transform .2s}
.nav-sub{display:flex;flex-direction:column}

@media (min-width:1201px){
  .nav-item.has-sub{padding-bottom:.3em}
  .nav-sub{position:absolute;top:100%;left:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:.5rem;min-width:230px;gap:.1rem;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease, transform .15s ease;z-index:600}
  .nav-item.has-sub:hover .nav-sub,.nav-item.has-sub:focus-within .nav-sub{opacity:1;visibility:visible;transform:translateY(0)}
  .nav-sub a{font-size:.85rem;font-weight:600;padding:.5em .7em;border-radius:7px;white-space:nowrap;border-bottom:none !important}
  .nav-sub a:hover{background:var(--surface-2);color:var(--brand-dark)}
}
.icon-btn{background:none;border:1px solid var(--line);border-radius:99px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);transition:background .15s,border-color .15s}
.icon-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}
.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#menuToggle{display:none}
.icon-moon{display:none}
:root[data-theme="dark"] .icon-sun{display:none}
:root[data-theme="dark"] .icon-moon{display:block}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .icon-sun{display:none}
  :root:not([data-theme="light"]) .icon-moon{display:block}
}

@media (max-width:1200px){
  .main-nav{position:fixed;inset:64px 0 0 0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:1.5rem 1.8rem;gap:1.1rem;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;border-top:1px solid var(--line)}
  .main-nav.open{transform:translateX(0)}
  .main-nav a{font-size:1.1rem;width:100%}
  #menuToggle{display:flex}
  .nav-item{width:100%}
  .nav-item-row{width:100%}
  .nav-item-row a{flex:1;min-width:0;overflow-wrap:break-word}
  .nav-expand{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:99px}
  .nav-expand:hover{background:var(--surface-2)}
  .nav-item.open .nav-expand svg{transform:rotate(180deg)}
  .nav-sub{max-height:0;overflow:hidden;transition:max-height .3s ease;padding-left:1rem;width:100%;gap:.2rem}
  .nav-item.open .nav-sub{max-height:600px;margin-top:.5rem}
  .nav-sub a{font-size:.95rem;width:100%;padding:.35em 0;border-bottom:none}
  .header-inner{gap:.5rem;padding:.7rem 1rem}
  .brand-text{font-size:clamp(.92rem,4.6vw,1.1rem)}
  .header-actions{gap:.35rem}
  .icon-btn{width:34px;height:34px}
}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-sans);font-weight:700;font-size:.95rem;padding:.75em 1.5em;border-radius:99px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s ease, box-shadow .12s ease, background .15s ease}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark);box-shadow:var(--shadow-sm)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-dark)}
.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-sm{padding:.45em 1em;font-size:.85rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---- hero ---- */
.hero{padding:4.5rem 0 4rem;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(700px 420px at 85% -10%, var(--brand-light) 0%, transparent 65%),
  radial-gradient(600px 380px at -10% 30%, var(--accent-light) 0%, transparent 60%);
  z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr}}
.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.3rem}
.badge{display:inline-flex;align-items:center;gap:.4em;font-size:.78rem;font-weight:700;padding:.35em .85em;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft)}
.hero h1{margin-bottom:.4em}
.hero .lead{max-width:52ch}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-meta{display:flex;gap:1.6rem;margin-top:2.2rem;flex-wrap:wrap}
.hero-meta div{font-size:.85rem;color:var(--muted)}
.hero-meta strong{display:block;font-family:var(--font-serif);font-size:1.5rem;color:var(--ink);font-weight:600}
.hero-portrait{position:relative}
.hero-portrait img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover;width:100%}
.hero-portrait-tag{position:absolute;top:-1rem;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1.2rem;box-shadow:var(--shadow-md);max-width:230px;width:max-content;text-align:center}
.hero-portrait-tag strong{display:block;font-family:var(--font-serif);font-size:1rem}
.hero-portrait-tag span{font-size:.82rem;color:var(--muted)}

/* ---- cards ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;box-shadow:var(--shadow-sm)}
.card h3{margin-bottom:.4em}
.card-icon{width:44px;height:44px;border-radius:12px;background:var(--brand-light);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.8rem}

/* ---- module nav pills ---- */
.subnav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;padding:.7rem 0}
.subnav a{font-size:.82rem;font-weight:700;padding:.4em 1em;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);text-decoration:none;white-space:nowrap;transition:all .15s}
.subnav a:hover,.subnav a.active{background:var(--brand);border-color:var(--brand);color:#fff}

/* ---- sumário do curso: fichário de abas ---- */
.toc-fichario{display:flex;flex-direction:column}
.toc-tab{
  display:flex;align-items:center;gap:1rem;
  padding:1.3rem 1.6rem 1.8rem;
  text-decoration:none;color:var(--ink);
  border:1px solid var(--line);
  position:relative;
  transition:transform .15s ease, box-shadow .15s ease;
  clip-path:polygon(0% 0%, 100% 0%, 100% 85%, 90% 91%, 80% 85%, 70% 91%, 60% 85%, 50% 91%, 40% 85%, 30% 91%, 20% 85%, 10% 91%, 0% 85%);
}
.toc-tab:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.toc-tab:last-child{
  clip-path:none;
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  padding-bottom:1.3rem;
  box-shadow:var(--shadow-md);
}
.toc-tab:not(:first-child){margin-top:-2.1rem;padding-top:2.6rem}
.toc-tab:hover{transform:translateY(-2px)}
.toc-tab:nth-child(1){background:color-mix(in srgb, var(--brand) 5%, var(--paper));z-index:10}
.toc-tab:nth-child(2){background:color-mix(in srgb, var(--brand) 10%, var(--paper));z-index:9}
.toc-tab:nth-child(3){background:color-mix(in srgb, var(--brand) 16%, var(--paper));z-index:8}
.toc-tab:nth-child(4){background:color-mix(in srgb, var(--accent) 9%, var(--paper));z-index:7}
.toc-tab:nth-child(5){background:color-mix(in srgb, var(--accent) 15%, var(--paper));z-index:6}
.toc-tab:nth-child(6){background:color-mix(in srgb, var(--accent) 22%, var(--paper));z-index:5}
.toc-tab:nth-child(7){background:color-mix(in srgb, var(--accent) 30%, var(--paper));z-index:4}
.toc-tab:nth-child(8){background:color-mix(in srgb, var(--brand) 30%, var(--paper));z-index:3}
.toc-tab:nth-child(9){background:color-mix(in srgb, var(--brand) 40%, var(--paper));z-index:2}
.toc-tab:nth-child(10){background:color-mix(in srgb, var(--brand) 52%, var(--paper));z-index:1}
.toc-tab-index{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;color:var(--brand-dark);opacity:.55;flex-shrink:0;min-width:1.6rem;display:inline-block}
.toc-tab-body{display:flex;flex-direction:column;gap:.2em;min-width:0;flex:1}
.toc-tab-title{font-family:var(--font-serif);font-size:1.08rem;font-weight:600}
.toc-tab-desc{font-size:.85rem;color:var(--ink-soft)}
.toc-tab-count{font-size:.78rem;font-weight:700;color:var(--brand-dark);white-space:nowrap;background:color-mix(in srgb, var(--surface) 70%, transparent);padding:.3em .8em;border-radius:99px;flex-shrink:0}
@media (max-width:640px){
  .toc-tab{padding:1.1rem 1.2rem 1.6rem;gap:.7rem}
  .toc-tab:not(:first-child){margin-top:-1.6rem;padding-top:2.1rem}
  .toc-tab-desc{display:none}
  .toc-tab-count{display:none}
}

/* ---- timeline ---- */
.timeline{position:relative;margin:2.5rem 0;padding-left:0}
.timeline::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:var(--line-strong)}
.timeline-item{position:relative;padding:0 0 1.8rem 3.2rem}
.timeline-item:last-child{padding-bottom:0}
.timeline-dot{position:absolute;left:11px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--surface);border:3px solid var(--brand);z-index:1}
.timeline-year{font-family:var(--font-serif);font-weight:600;color:var(--brand-dark);font-size:1.05rem;margin-bottom:.2em}
.timeline-item h4{margin-bottom:.2em;font-size:1rem}
.timeline-item p{color:var(--ink-soft);font-size:.95rem;margin-bottom:0}

/* ---- tables ---- */
.table-wrap{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{padding:.75em 1em;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--surface-2);font-family:var(--font-sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover{background:var(--surface-2)}
.table-wrap.compact th,.table-wrap.compact td{padding:.55em .8em;font-size:.86rem}

/* ---- tabs ---- */
.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
.tab-btn{background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:.5em 1.2em;font-weight:700;font-size:.88rem;cursor:pointer;color:var(--ink-soft);transition:all .15s}
.tab-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}
.tab-panel{display:none;animation:fadeIn .3s ease}
.tab-panel.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* ---- accordion (details) ---- */
.acc{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:.8rem;overflow:hidden}
.acc summary{cursor:pointer;list-style:none;padding:1.05rem 1.3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:700;font-family:var(--font-sans);color:var(--ink)}
.acc summary::-webkit-details-marker{display:none}
.acc summary .chev{transition:transform .2s;color:var(--muted);flex-shrink:0}
.acc[open] summary .chev{transform:rotate(180deg)}
.acc-body{padding:0 1.3rem 1.4rem}
.acc summary:hover{background:var(--surface-2)}

/* ---- checklist / steps ---- */
.steplist{list-style:none;padding:0;margin:1rem 0}
.steplist li{display:flex;gap:.7em;align-items:flex-start;padding:.5em 0;border-bottom:1px dashed var(--line)}
.steplist li:last-child{border-bottom:none}
.steplist input[type=checkbox]{margin-top:.3em;width:18px;height:18px;accent-color:var(--brand);flex-shrink:0;cursor:pointer}
.steplist label{cursor:pointer;font-size:.95rem}
.steplist li.done label{color:var(--muted);text-decoration:line-through}

.level-radio{display:flex;flex-direction:column;gap:.6rem;margin:1rem 0}
.level-radio label{display:flex;gap:.7em;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7em .9em;cursor:pointer;font-size:.92rem}
.level-radio input{margin-top:.25em;accent-color:var(--brand);cursor:pointer}
.level-radio label:has(input:checked){border-color:var(--brand);background:var(--brand-light)}

textarea.obs{width:100%;min-height:70px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7em .9em;font-family:var(--font-sans);font-size:.92rem;background:var(--surface);color:var(--ink);resize:vertical}
textarea.obs:focus,input:focus{outline:2px solid var(--brand);outline-offset:1px}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-bottom:1.2rem}
@media (max-width:640px){.field-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.3em}
.field label{font-size:.8rem;font-weight:700;color:var(--muted)}
.field input{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6em .8em;font-family:var(--font-sans);font-size:.92rem;background:var(--surface);color:var(--ink)}

/* ---- tri-state skill toggle ---- */
.skill-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65em 0;border-bottom:1px solid var(--line)}
.skill-row:last-child{border-bottom:none}
.skill-row span.label{font-size:.93rem}
.tri{display:inline-flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;flex-shrink:0}
.tri button{width:34px;height:30px;border:none;background:var(--surface);cursor:pointer;position:relative;border-left:1px solid var(--line)}
.tri button:first-child{border-left:none}
.tri button::after{content:"";width:12px;height:12px;border-radius:50%;display:block;margin:0 auto;background:var(--line-strong);opacity:.4}
.tri button[data-c="verde"]::after{background:var(--verde)}
.tri button[data-c="laranja"]::after{background:var(--laranja)}
.tri button[data-c="vermelho"]::after{background:var(--vermelho)}
.tri button.on::after{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 20%, transparent)}
.tri button.on[data-c="verde"]{background:var(--verde-bg)}
.tri button.on[data-c="laranja"]{background:var(--laranja-bg)}
.tri button.on[data-c="vermelho"]{background:var(--vermelho-bg)}

.skill-group{margin-bottom:1.6rem}
.skill-group h4{font-size:.95rem;color:var(--brand-dark);margin-bottom:.2em}
.skill-summary{display:flex;gap:1.2rem;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.4rem;margin:1.4rem 0;position:sticky;top:130px;z-index:40}
.skill-summary .stat{display:flex;align-items:center;gap:.5em;font-size:.88rem;font-weight:700}
.skill-summary .dot{width:11px;height:11px;border-radius:50%}
.skill-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.2rem 0}

/* ---- pequenas legendas / captions ---- */
figure{margin:1.3rem 0}
figure img{border-radius:var(--radius);border:1px solid var(--line)}
figcaption{font-size:.85rem;color:var(--muted);margin-top:.5em;font-style:italic}
#atividadesGrid figure img,
#atividadesGrid .img-pair img{width:100%;height:130px;object-fit:cover;display:block}
@media (max-width:880px){#atividadesGrid figure img,#atividadesGrid .img-pair img{height:170px}}
.img-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:640px){.img-pair{grid-template-columns:1fr}}

/* ---- comparison / evite-prefira ---- */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
@media (max-width:700px){.compare{grid-template-columns:1fr}}
.compare .box{border-radius:var(--radius);padding:1rem 1.2rem;font-size:.92rem}
.compare .evite{background:var(--vermelho-bg);border:1px solid color-mix(in srgb, var(--vermelho) 30%, transparent)}
.compare .prefira{background:var(--verde-bg);border:1px solid color-mix(in srgb, var(--verde) 30%, transparent)}
.compare .tag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.4em}
.compare .evite .tag{color:var(--vermelho)}
.compare .prefira .tag{color:var(--verde)}

/* ---- chip filter ---- */
.chipbar{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.3rem}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:.4em 1em;font-size:.85rem;font-weight:700;cursor:pointer;color:var(--ink-soft)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---- protocol card (Piaget) ---- */
.prova{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:1.3rem;overflow:hidden}
.prova-head{padding:1.3rem 1.5rem;background:var(--surface-2);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none}
.prova-head::-webkit-details-marker{display:none}
.prova-head .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}
.prova-head h4{margin:0;font-family:var(--font-serif);font-weight:600;font-size:1.05rem}
.prova-body{padding:1.5rem}
.prova-materiais{font-size:.9rem;color:var(--ink-soft);background:var(--surface-2);border-radius:var(--radius-sm);padding:.8em 1em;margin-bottom:1.2rem}
.prova-materiais strong{color:var(--ink)}

.prova-sub{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin:1.4rem 0 .5rem}
.prova-group-title{display:flex;align-items:center;gap:.8rem;margin:3rem 0 .5rem}
.prova-group-title .badge{background:var(--brand);color:#fff;border:none}

/* ---- roadmap / mod cards ---- */
.mod-card{position:relative;padding-left:3.5rem}
.mod-card .num{position:absolute;left:0;top:0;font-family:var(--font-serif);font-size:2.4rem;color:var(--brand-light-2);font-weight:600;line-height:1}
:root[data-theme="dark"] .mod-card .num{color:var(--surface-3)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .mod-card .num{color:var(--surface-3)}}

/* ---- callout ---- */
.callout{border-left:4px solid var(--accent);background:var(--accent-light);border-radius:0 var(--radius) var(--radius) 0;padding:1.1rem 1.4rem;font-size:.95rem}
.callout.callout-brand{border-color:var(--brand);background:var(--brand-light)}
.callout strong{color:var(--ink)}

/* ---- footer ---- */
.site-footer{background:var(--brand-dark);color:#eef3ee;padding:3.5rem 0 2rem}
:root[data-theme="dark"] .site-footer{background:#0f1613}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .site-footer{background:#0f1613}}
.site-footer a{color:#cfe6db}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}
.footer-grid h4{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.footer-grid p,.footer-grid a{font-size:.9rem;color:#cfe0d6}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2.5rem;padding-top:1.5rem;font-size:.82rem;color:#a9c2b5;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}

/* ---- clickable download card ---- */
.card-download{cursor:pointer;transition:border-color .15s, box-shadow .15s, transform .1s}
.card-download:hover{border-color:var(--brand);box-shadow:var(--shadow-md)}
.card-download:active{transform:scale(.99)}
.card-download:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* ---- search panel ---- */
.search-panel{position:fixed;inset:0;background:rgba(20,20,15,.5);z-index:1500;display:flex;align-items:flex-start;justify-content:center;padding:9vh 1.2rem 1.2rem}
.search-panel[hidden]{display:none}
.search-panel-inner{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;padding:1rem;max-height:74vh;display:flex;flex-direction:column}
.search-input-row{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line-strong);border-radius:99px;padding:.6em 1.1em;margin-bottom:.7rem;color:var(--muted)}
.search-input-row input{flex:1;border:none;background:transparent;font-size:1rem;color:var(--ink);outline:none;min-width:0}
.search-input-row input::-webkit-search-cancel-button{display:none}
.search-input-row button{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:.2em}
.search-results{overflow-y:auto}
.search-result{display:block;padding:.7em .8em;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink)}
.search-result:hover,.search-result.active{background:var(--surface-2)}
.search-result .sr-group{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-dark);font-weight:700;display:block;margin-bottom:.2em}
.search-result .sr-title{font-weight:600;font-size:.95rem}
.search-empty{color:var(--muted);font-size:.9rem;padding:.6em .8em}

/* ---- install banner (PWA) ---- */
.install-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:520px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1rem 1.2rem;display:flex;align-items:center;gap:.9rem;z-index:1400;animation:installSlideUp .3s ease}
.install-banner[hidden]{display:none}
.install-banner-icon{width:42px;height:42px;border-radius:10px;flex-shrink:0}
.install-banner-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.install-banner-text strong{font-size:.95rem}
.install-banner-text span{font-size:.82rem;color:var(--muted)}
.install-banner-actions{display:flex;gap:.5rem;flex-shrink:0}
@keyframes installSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:560px){
  .install-banner{flex-wrap:wrap;left:.7rem;right:.7rem;bottom:.7rem}
  .install-banner-actions{width:100%;justify-content:flex-end}
}

/* ---- popup modal ---- */
.modal-overlay{position:fixed;inset:0;background:rgba(20,20,15,.55);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1.5rem}
.modal-overlay[hidden]{display:none}
.modal-box{background:var(--surface);border-radius:var(--radius-lg);padding:1.8rem 2rem;max-width:440px;box-shadow:var(--shadow-lg);border-top:4px solid var(--accent)}
.modal-box h4{margin-bottom:.6em;font-family:var(--font-serif);font-size:1.2rem}
.modal-box p{font-size:.94rem;color:var(--ink-soft)}
.modal-box .btn{margin-top:1rem}

/* ---- toast ---- */
.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,120%);background:var(--ink);color:var(--paper);padding:.8em 1.4em;border-radius:99px;font-size:.88rem;font-weight:600;box-shadow:var(--shadow-md);transition:transform .3s ease;z-index:900}
.toast.show{transform:translate(-50%,0)}

/* ---- misc ---- */
.divider{display:none}
.small{font-size:.85rem}
.author-strip{display:flex;gap:1rem;align-items:center;margin-top:1.5rem}
.author-strip img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.author-strip strong{display:block;font-size:.95rem}
.author-strip span{font-size:.82rem;color:var(--muted)}
.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.pill-list li{list-style:none;margin:0;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:.35em .95em;font-size:.85rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.center-btn{display:flex;justify-content:center;margin-top:1.5rem}
.print-only{display:none}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.back-top{position:fixed;right:1.5rem;bottom:1.5rem;background:var(--brand);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);text-decoration:none;opacity:0;pointer-events:none;transition:opacity .25s}
.back-top.show{opacity:1;pointer-events:auto}

@media print{
  .site-header,.subnav,.back-top,.progress-bar,.toast,.hero-cta,.skill-toolbar,.search-panel,.install-banner{display:none !important}
  body{background:#fff;color:#000}
  .section{padding:1rem 0;border:none}
  .print-only{display:block}
  a[href]::after{content:none}
}

@media (max-width:640px){
  .section{padding:3.2rem 0}
  .skill-summary{position:static}
}

.dono-card{margin:0 0 1.6rem;border-left:4px solid var(--accent)}
.dono-card .field-grid{margin-top:.6rem}

.cars-item{padding:.9rem 0;border-bottom:1px solid var(--line)}
.cars-item:last-child{border-bottom:none}
.cars-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.55rem}
.cars-n{min-width:2.4rem;font-family:var(--font-display,inherit);color:var(--brand);font-weight:700}
.cars-titulo{flex:1}
.cars-val{font-weight:700;min-width:2.2rem;text-align:center;padding:.1rem .5rem;border-radius:99px;background:var(--surface);border:1px solid var(--line)}
.cars-val[data-band="verde"]{background:var(--verde-bg);color:var(--verde);border-color:var(--verde)}
.cars-val[data-band="laranja"]{background:var(--laranja-bg);color:var(--laranja);border-color:var(--laranja)}
.cars-val[data-band="vermelho"]{background:var(--vermelho-bg);color:var(--vermelho);border-color:var(--vermelho)}
.cars-scale{display:flex;flex-wrap:wrap;gap:.35rem}
.cars-scale button{min-width:2.9rem;height:2.4rem;padding:0 .5rem;border:1px solid var(--line-strong);border-radius:.6rem;background:var(--surface);color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.cars-scale button:hover{border-color:var(--brand)}
.cars-scale button.on{color:#fff;font-weight:700;border-color:transparent}
.cars-scale button.on[data-band="verde"]{background:var(--verde)}
.cars-scale button.on[data-band="laranja"]{background:var(--laranja)}
.cars-scale button.on[data-band="vermelho"]{background:var(--vermelho)}
.cars-det{margin-top:.5rem}
.cars-resumo{margin:1.4rem 0 .8rem}
.cars-total{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:1rem;background:var(--surface);border:1px solid var(--line)}
.cars-total[data-band="verde"]{background:var(--verde-bg);border-color:var(--verde)}
.cars-total[data-band="laranja"]{background:var(--laranja-bg);border-color:var(--laranja)}
.cars-total[data-band="vermelho"]{background:var(--vermelho-bg);border-color:var(--vermelho)}
.cars-total-n{font-size:2rem;font-weight:700;line-height:1}
.cars-grafico{display:block;width:100%;max-width:1100px;height:auto;background:#fff;border:1px solid var(--line);border-radius:1rem;margin:.6rem 0}
@media (max-width:560px){.cars-scale button{min-width:2.5rem}}

.tea-inst{margin:.9rem 0}
.tea-inst > summary{align-items:center}
.inst-title{display:flex;flex-direction:column;gap:.15rem;text-align:left}
.inst-title strong{font-size:1.05rem}
.inst-sub{font-weight:400;line-height:1.35}
.mchat-item{display:flex;align-items:flex-start;gap:.7rem;padding:.75rem 0;border-bottom:1px solid var(--line)}
.mchat-item:last-child{border-bottom:none}
.mchat-item .cars-n{min-width:1.8rem}
.mchat-txt{flex:1;font-size:.95rem}
.mchat-ex{display:inline}
.mchat-ctrl{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.mchat-item.risco{background:linear-gradient(90deg,var(--vermelho-bg),transparent 60%)}
.mchat-flag{font-size:.75rem;font-weight:700;color:var(--vermelho)}
.mchat-sn{display:inline-flex;gap:.35rem;flex-wrap:wrap}
.mchat-sn button{min-width:3.2rem;height:2.2rem;padding:0 .7rem;border:1px solid var(--line-strong);border-radius:.6rem;background:var(--surface);color:var(--ink);font:inherit;font-size:.9rem;cursor:pointer}
.mchat-sn button:hover{border-color:var(--brand)}
.mchat-sn button.on{background:var(--brand);color:#fff;border-color:transparent;font-weight:700}
.mchat-esc button{height:auto;min-height:2.2rem;padding:.3rem .8rem;text-align:left}
.mchat-fu{margin:.5rem 0}
.mchat-fu-sum{text-align:left}
.fu-q{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.5rem 0}
.fu-q > strong{flex-basis:100%}
.fu-sub{padding:.3rem 0 .3rem 1rem;border-left:2px solid var(--line)}
.fu-txt{flex:1;min-width:14rem;font-size:.93rem}
.mchat-fu-res{margin-top:.8rem;font-size:.93rem}
@media (max-width:560px){.mchat-item{flex-wrap:wrap}.mchat-ctrl{width:100%;padding-left:2.5rem}}

/* ===== Aulas ao vivo: caixinhas de vídeo, painel e marcação de assistida ===== */
[id]{scroll-margin-top:5.2rem}

.aula-slot:empty{display:none}
.aula-box{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.3rem;align-items:stretch;margin:1.4rem 0 1.8rem;padding:1rem;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);text-align:left}
.aula-box[data-estado="disponivel"]{border-left-color:var(--verde)}
.aula-box[data-estado="hoje"]{border-left-color:var(--accent)}
.aula-player{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}
.aula-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.aula-player-vazio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1.4rem;text-align:center;color:var(--muted);font-size:.95rem;border:2px dashed var(--line-strong);background:repeating-linear-gradient(135deg,var(--surface-2),var(--surface-2) 12px,var(--surface) 12px,var(--surface) 24px)}
.aula-player-vazio svg{color:var(--brand);opacity:.7}
.aula-side{display:flex;flex-direction:column;gap:.55rem;justify-content:center;min-width:0}
.aula-badge{align-self:flex-start;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-dark);background:var(--brand-light);padding:.3em .85em;border-radius:99px}
.aula-titulo{font-family:var(--font-serif);font-size:1.2rem;line-height:1.25;margin:0}
.aula-data{margin:0;font-size:.95rem;color:var(--ink-soft)}
.aula-status{align-self:flex-start;font-size:.82rem;font-weight:700;padding:.3em .9em;border-radius:99px;background:var(--accent-light);color:var(--accent-dark)}
.aula-box[data-estado="disponivel"] .aula-status{background:var(--verde-bg);color:var(--verde)}

.aula-check{display:inline-flex;align-items:center;gap:.65rem;cursor:pointer;font-weight:700;margin-top:.3rem;-webkit-tap-highlight-color:transparent}
.aula-check input{position:absolute;opacity:0;width:1px;height:1px}
.aula-check-box{flex-shrink:0;width:1.7rem;height:1.7rem;border:2px solid var(--line-strong);border-radius:8px;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;transition:all .15s}
.aula-check-box::after{content:"";width:.5rem;height:.9rem;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.aula-check input:checked + .aula-check-box{background:var(--verde);border-color:var(--verde)}
.aula-check input:checked + .aula-check-box::after{opacity:1}
.aula-check input:focus-visible + .aula-check-box{outline:3px solid var(--brand);outline-offset:2px}
.aula-check:hover .aula-check-box{border-color:var(--brand)}

.aula-resumo{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.aula-resumo p{margin:0}
.aula-progresso{flex:1 1 220px;height:12px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.aula-progresso-barra{height:100%;background:var(--verde);border-radius:99px;transition:width .3s}
.aula-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.aula-linha{display:grid;grid-template-columns:auto 4.2rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.aula-linha.proxima{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}
.aula-linha.vista{background:var(--verde-bg);border-color:transparent}
.aula-linha-data{display:flex;flex-direction:column;align-items:center;line-height:1.2;font-family:var(--font-serif)}
.aula-linha-data strong{font-size:1.15rem}
.aula-linha-data span{font-size:.8rem;color:var(--muted);font-family:var(--font-sans)}
.aula-linha-corpo{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.aula-linha-corpo span{font-size:.85rem;color:var(--muted)}
.aula-linha-ir{font-weight:700;font-size:.88rem;white-space:nowrap}
.aula-check-compacto{margin:0}

.aula-faixa{margin-top:1.1rem}
.aula-faixa a{display:inline-flex;align-items:center;gap:.7rem;padding:.65rem 1.1rem;border-radius:var(--radius);background:var(--accent-light);color:var(--ink);text-decoration:none;font-size:.92rem;line-height:1.35}
.aula-faixa a:hover{background:var(--brand-light)}
.aula-faixa-ponto{flex-shrink:0;width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:aulaPulso 2s infinite}
@keyframes aulaPulso{70%{box-shadow:0 0 0 .6rem transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.aula-faixa-ponto{animation:none}}

@media (max-width:760px){
  .aula-box{grid-template-columns:1fr;padding:.8rem}
  .aula-linha{grid-template-columns:auto minmax(0,1fr);row-gap:.4rem}
  .aula-linha-data{flex-direction:row;gap:.5rem;grid-column:2;align-items:baseline;justify-content:flex-start}
  .aula-linha-corpo{grid-column:1 / -1}
  .aula-linha-ir{grid-column:1 / -1}
}

/* ===== Caixinhas que abrem e fecham (títulos numerados) ===== */
.acc-sec{border-left:4px solid var(--brand);margin-bottom:1rem}
.acc-sec > summary{padding:1.1rem 1.3rem}
.acc-sec > summary .acc-h{margin:0;font-size:clamp(1.05rem,1.8vw,1.28rem);flex:1;line-height:1.3}
.acc-sec > .acc-body{padding-top:.4rem}
.acc-sec > .acc-body > :first-child{margin-top:0}
.acc-sec[open] > summary{margin-bottom:.9rem}
.acc-tools{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;margin:0 0 .9rem}
.topico > .aula-slot + .acc-sec{margin-top:0}

@media print{.aula-slot,.acc-tools,.aula-faixa{display:none !important}}

/* ===== Só uma divisória: entre os vídeos das aulas e as ferramentas interativas ===== */
#sondagem-inicial,#paee-template{border-top:2px solid var(--line-strong)}
.section + .section{margin-top:0}

/* ===== Foto dentro da biografia ===== */
.hero-solo{grid-template-columns:1fr;max-width:860px}
.bio-foto{margin:0 0 1.4rem;max-width:260px}
.bio-foto img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.bio-foto figcaption{margin-top:.6rem;display:flex;flex-direction:column;gap:.1rem;font-size:.85rem;color:var(--muted)}
.bio-foto figcaption strong{font-family:var(--font-serif);font-size:1rem;color:var(--ink)}

/* ===== Etiqueta de aula no sumário e faixa de aulas do módulo ===== */
.toc-tab-count[data-aula-chip]{background:var(--accent-light);color:var(--accent-dark)}
.aula-trilha{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 1.6rem}
.aula-trilha:empty{display:none}
.aula-trilha-titulo{font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.3rem}
.aula-trilha a{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border-radius:var(--radius);background:var(--accent-light);color:var(--ink);text-decoration:none;font-size:.9rem}
.aula-trilha a:hover{background:var(--brand-light)}
.aula-trilha a.vista{background:var(--verde-bg)}
.aula-trilha-data{font-weight:700;color:var(--accent-dark);white-space:nowrap}
.aula-trilha a.vista .aula-trilha-data{color:var(--verde)}
@media print{.aula-trilha{display:none !important}}

/* ===== Celular: navegação mais fácil ===== */
.bottom-bar{display:none}
body.menu-aberto{overflow:hidden}
.nav-aulas{font-weight:700}
@media (max-width:1200px){
  .nav-aulas{background:var(--accent-light);border-radius:var(--radius);padding:.7rem 1rem !important;color:var(--accent-dark) !important}
  .main-nav a{padding-top:.55rem;padding-bottom:.55rem}
  .nav-sub a{padding-top:.6rem;padding-bottom:.6rem}
}
@media (max-width:700px){
  body{padding-bottom:4.4rem}
  .bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:1700;display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border-top:1px solid var(--line-strong);padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(32,38,31,.08)}
  .bottom-bar a,.bottom-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:3.1rem;border:0;background:none;border-radius:var(--radius-sm);font:inherit;font-size:.72rem;font-weight:700;color:var(--ink-soft);text-decoration:none;cursor:pointer}
  .bottom-bar a span,.bottom-bar button span{font-size:1.15rem;line-height:1}
  .bottom-bar a:active,.bottom-bar button:active{background:var(--surface-2)}
  .back-top{bottom:5.2rem;right:1rem}
  .install-banner{bottom:4.6rem}
  .subnav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;margin-left:-1.6rem;margin-right:-1.6rem;padding:.6rem 1.6rem;scrollbar-width:none}
  .subnav::-webkit-scrollbar{display:none}
  .subnav a{scroll-snap-align:start;padding:.65em 1.1em;font-size:.88rem}
  .acc summary,.acc-sec > summary{min-height:3.2rem}
  .acc-tools{justify-content:stretch}
  .acc-tools .btn{flex:1;justify-content:center}
  .hero{padding:2.6rem 0 2.4rem}
  .section{padding:3rem 0}
  .aula-linha-ir{justify-self:start}
}
@media print{.bottom-bar{display:none !important}}
@media (max-width:1200px){ .main-nav{justify-content:flex-start} }
@media (max-width:700px){ .main-nav{padding-bottom:6rem} }

/* ===== Sininho, perfil e popups ===== */
.icon-btn{position:relative}
.bell-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--paper)}
.bell-badge[hidden]{display:none}
.perfil-btn{overflow:visible}
.perfil-btn .perfil-foto{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.perfil-btn .perfil-foto[hidden],.perfil-btn .perfil-face[hidden]{display:none}
.perfil-btn.com-foto{padding:0;border-color:var(--brand)}
#btnSair{display:none !important}

.bell-panel,.perfil-panel{position:fixed;top:4.4rem;right:1rem;width:min(23.5rem,calc(100vw - 2rem));max-height:calc(100dvh - 6rem);overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1800;padding:1rem 1.1rem 1.1rem}
.bell-panel[hidden],.perfil-panel[hidden]{display:none}
.bell-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem;font-size:1.02rem}
.bell-fechar,.perfil-fechar{border:0;background:none;font-size:1.05rem;cursor:pointer;color:var(--muted);width:2.2rem;height:2.2rem;border-radius:50%}
.bell-fechar:hover,.perfil-fechar:hover{background:var(--surface-2)}
.bell-lista{list-style:none;margin:0 0 .8rem;padding:0;display:flex;flex-direction:column;gap:.55rem}
.bell-msg{padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);display:flex;flex-direction:column;gap:.25rem}
.bell-msg.nova{border-color:var(--accent);background:var(--accent-light)}
.bell-msg-data{font-size:.74rem;color:var(--muted);font-weight:700}
.bell-msg p{margin:0;font-size:.9rem;color:var(--ink-soft)}
.bell-msg .btn{align-self:flex-start;margin-top:.3rem}
.bell-lembrete{width:100%;border:1px solid var(--line-strong);background:transparent;border-radius:var(--radius);padding:.7rem 1rem;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;color:var(--ink)}
.bell-lembrete[aria-pressed="true"]{background:var(--brand-light);border-color:var(--brand);color:var(--brand-dark)}

.perfil-foto-linha{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.perfil-avatar-grande{width:84px;height:84px;border-radius:50%;background:var(--surface-2);border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;color:var(--ink-soft)}
.perfil-avatar-grande svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.perfil-avatar-grande img{width:100%;height:100%;object-fit:cover}
.perfil-avatar-grande [hidden]{display:none}
.perfil-foto-acoes{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}
.perfil-upload{cursor:pointer}
.perfil-link{border:0;background:none;padding:.35rem 0;font:inherit;font-size:.85rem;font-weight:700;color:var(--brand-dark);cursor:pointer;text-decoration:underline}
.perfil-panel .field{margin-bottom:.8rem}
.perfil-panel .field input{width:100%}
.perfil-msg{min-height:1.2em;margin:0 0 .6rem;font-size:.85rem;color:var(--verde);font-weight:600}
.perfil-msg.erro{color:var(--vermelho)}
.perfil-panel .btn-primary{width:100%;justify-content:center}
.perfil-rodape{display:flex;justify-content:space-between;margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--line)}

.popup-fundo{position:fixed;inset:0;z-index:2100;background:rgba(20,24,20,.55);display:flex;align-items:center;justify-content:center;padding:1rem}
.popup-card{width:100%;max-width:25rem;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.6rem 1.5rem 1.4rem;text-align:center;animation:popupEntra .22s ease-out}
@keyframes popupEntra{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.popup-card{animation:none}}
.popup-icone{font-size:2.2rem;line-height:1;margin-bottom:.5rem}
.popup-card h2{font-size:1.3rem;margin:0 0 .7rem}
.popup-corpo p{margin:0 0 .7rem;font-size:.97rem;color:var(--ink-soft)}
.popup-nota{margin:.3rem 0 1.1rem;padding:.65rem .8rem;border-radius:var(--radius-sm);background:var(--brand-light);color:var(--brand-dark);font-size:.84rem;text-align:left}
.popup-botoes{display:flex;flex-direction:column;gap:.5rem}
.popup-botoes .btn{justify-content:center}
body.popup-ativo{overflow:hidden}
@media (max-width:700px){
  .popup-fundo{align-items:flex-end;padding:0}
  .popup-card{max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(1.4rem + env(safe-area-inset-bottom))}
  .bell-panel,.perfil-panel{top:3.9rem;right:.5rem;left:.5rem;width:auto}
  #themeToggle{display:none}
}
@media print{.bell-panel,.perfil-panel,.popup-fundo{display:none !important}}

/* ===== Avisos verdes em caixinhas que abrem e fecham ===== */
.acc-aviso{border-left:4px solid var(--brand);background:var(--brand-light);border-color:var(--brand-light-2);border-left-color:var(--brand);margin:1rem 0}
.acc-aviso > summary{justify-content:flex-start;gap:.7rem;padding:.85rem 1.1rem;color:var(--brand-dark)}
.acc-aviso > summary:hover{background:var(--brand-light-2)}
.acc-aviso > summary .chev{margin-left:auto;color:var(--brand-dark)}
.aviso-icone{flex-shrink:0;width:1.55rem;height:1.55rem;border-radius:50%;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;line-height:1}
.acc-aviso .acc-body{padding-top:.2rem;font-size:.95rem}
.acc-aviso .acc-body > :last-child{margin-bottom:0}

/* ===== Enxugar: menos espaço, texto de abertura recolhido ===== */
.section{padding:3.2rem 0}
.section-head{margin-bottom:1.4rem}
h2{margin-bottom:.5rem}
.acc-lead{margin:.2rem 0 1.1rem;background:transparent}
.acc-lead > summary{padding:.7rem 1.1rem;font-weight:600;font-size:.92rem;color:var(--ink-soft)}
.hero{padding:3rem 0 2.4rem}
.hero-solo .lead{max-width:40rem}
@media (max-width:700px){ .section{padding:2.2rem 0} .hero{padding:1.8rem 0 1.6rem} }
@media (max-width:700px){ .hero-meta{display:none} .hero-cta .btn{flex:1 1 100%;justify-content:center} }
.perfil-panel [hidden],.bell-panel [hidden]{display:none !important}

/* ===== Painel de aulas recolhido, no fim da página ===== */
.aulas-resumo{font-size:.8rem;font-weight:700;color:var(--brand-dark);background:var(--brand-light);padding:.25em .8em;border-radius:99px;white-space:nowrap;margin-left:.6rem}
#aulas > summary .acc-h{flex:0 1 auto}
#aulas > summary{justify-content:flex-start}
#aulas > summary .chev{margin-left:auto}
#aulas .lead{font-size:1rem;margin-top:0}

@media (max-width:700px){ .header-actions .icon-btn{width:38px;height:38px} .header-actions{gap:.3rem} }
