
:root{
  --ink:#29271f;
  --muted:#706b60;
  --cream:#f7f3ea;
  --paper:#fffdf8;
  --line:#e7dfd0;
  --gold:#a67b38;
  --gold-soft:#efe2c7;
  --olive:#58604a;
  --dark:#25241f;
  --shadow:0 10px 28px rgba(57,47,32,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app{min-height:100vh;display:flex}
.sidebar{width:245px;background:var(--dark);color:#f5f0e6;padding:24px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;flex-shrink:0}
.brand{display:flex;gap:11px;align-items:center;padding:4px 10px 22px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-mark{width:34px;height:34px;border:1px solid #b89255;border-radius:10px;display:grid;place-items:center;color:#d4ad6b;font-size:19px}
.brand strong{display:block;font-family:Georgia,serif;font-size:17px;letter-spacing:.01em}
.brand span{font-size:11px;color:#cfc8bb}
.nav{padding-top:20px;display:grid;gap:6px}
.nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;color:#ddd7cb;font-size:14px;transition:.2s}
.nav a:hover,.nav a.active{background:#39372f;color:#fff}
.nav .ico{width:22px;text-align:center;opacity:.9}
.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
.user-mini{display:flex;align-items:center;gap:10px;padding:7px 8px}
.avatar{width:34px;height:34px;border-radius:50%;background:#c29a57;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.user-mini strong{display:block;font-size:13px}
.user-mini span{font-size:11px;color:#bdb6a9}
.main{flex:1;min-width:0}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(255,253,248,.75);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}
.menu-btn{display:none;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:8px 10px}
.account{border:1px solid #d9cfbf;background:var(--paper);border-radius:10px;padding:9px 13px;font-size:13px}
.page{max-width:1180px;margin:0 auto;padding:34px 42px 70px}
.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:#9b7134;font-weight:700;margin-bottom:9px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.12;margin:0}
h1{font-size:44px}
h2{font-size:27px}
h3{font-size:21px}
.lead{color:var(--muted);max-width:820px;margin:10px 0 0;font-size:15px}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin:4px 0 30px}
.hero-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.hero-main{background:linear-gradient(135deg,#fffdf8,#f3ead9)}
.hero-main .row{display:flex;align-items:center;justify-content:space-between;gap:15px}
.symbol-orb{width:76px;height:76px;border:1px solid #d8c29a;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:35px;color:#9b7134;background:#fbf6eb}
.progress{height:7px;background:#e7dfd2;border-radius:99px;overflow:hidden;margin:17px 0 8px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,#9b7134,#c19a5b);border-radius:99px}
.small{font-size:12px;color:var(--muted)}
.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:650;font-size:13px;transition:.2s;display:inline-flex;align-items:center;gap:7px}
.btn-dark{background:#2a2923;color:#fff}
.btn-dark:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.12)}
.btn-light{background:var(--paper);border:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{background:#f5efe4;border:1px solid #eadfce;border-radius:13px;padding:15px}
.stat strong{font-size:22px;font-family:Georgia,serif}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}
.section-head p{margin:4px 0 0;color:var(--muted);font-size:13px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:20px;transition:.2s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d8c9b0}
.card .card-icon{width:42px;height:42px;border-radius:12px;background:#f2eadb;display:grid;place-items:center;margin-bottom:14px;font-size:20px}
.card p{color:var(--muted);font-size:13px;margin:8px 0 17px}
.card .arrow{color:#9b7134;font-weight:650;font-size:13px}
.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.course{padding:0;overflow:hidden}
.course-top{padding:24px 24px 20px;background:linear-gradient(135deg,#fffdf8,#f4ecde);min-height:210px}
.course-bottom{padding:17px 20px}
.course-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f1e7d5;color:#765729;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.pill.gray{background:#eeeae2;color:#787269}
.course h3{font-size:25px}
.course p{color:var(--muted);font-size:13px;min-height:44px}
.course .progress{margin:13px 0 5px}
.card-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.searchbar{display:flex;gap:10px;margin:20px 0}
.searchbar input,.searchbar select,.note{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:11px 12px;outline:none}
.searchbar input{flex:1}
.lesson-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}
.lesson-nav{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:14px;height:max-content;position:sticky;top:86px}
.lesson-nav button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px;border-radius:9px;color:var(--muted);font-size:13px}
.lesson-nav button:hover,.lesson-nav button.active{background:#f1e8da;color:var(--ink)}
.lesson-main{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:28px}
.module{border-top:1px solid var(--line);padding:15px 0}
.module:first-child{border-top:0}
.lesson-list{display:grid;gap:7px;margin-top:10px}
.lesson{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;background:#faf6ee;font-size:12px}
.lesson.done{color:#647057}
.lesson.current{border:1px solid #d8c29a;background:#fffaf0}
.notice{padding:14px 16px;border-radius:12px;background:#f5efe4;border:1px solid #eadfce;color:#5f584d;font-size:13px}
.symbol-grid{grid-template-columns:repeat(4,1fr)}
.symbol-card{text-align:center}
.symbol-card .glyph{font-family:Georgia,serif;font-size:38px;color:#9b7134;margin:4px 0 8px}
.lab{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.lab-image{min-height:360px;border-radius:16px;border:1px solid #d9cfbf;background:radial-gradient(circle at 50% 40%,#f9efd8 0 13%,transparent 14%),linear-gradient(145deg,#302e28,#5b503d);display:grid;place-items:center;color:#e9d4a8;font-family:Georgia,serif;font-size:84px;position:relative;overflow:hidden}
.lab-image small{position:absolute;bottom:15px;left:18px;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#ddd1ba}
.option-list{display:grid;gap:9px;margin:15px 0}
.option{display:flex;gap:9px;align-items:center;padding:10px 11px;background:#faf6ee;border:1px solid var(--line);border-radius:10px}
.option input{accent-color:#9b7134}
.note{width:100%;min-height:130px;resize:vertical}
.footer-note{margin-top:28px;color:var(--muted);font-size:11px}
.mobile-overlay{display:none}
@media(max-width:900px){
 .sidebar{position:fixed;left:-260px;z-index:30;transition:.25s}
 .sidebar.open{left:0}
 .mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:20}
 .menu-btn{display:block}
 .topbar{padding:0 18px}
 .page{padding:25px 18px 55px}
 .hero,.lab,.lesson-layout{grid-template-columns:1fr}
 .lesson-nav{position:static}
 .grid,.course-grid{grid-template-columns:1fr 1fr}
 .symbol-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 h1{font-size:34px}
 .grid,.course-grid,.stats{grid-template-columns:1fr}
 .hero-card{padding:21px}
 .hero-main .row{align-items:flex-start}
 .symbol-orb{width:60px;height:60px;font-size:28px}
 .page{padding-left:15px;padding-right:15px}
}

.lesson-breadcrumb{display:flex;gap:9px;align-items:center;margin-bottom:18px}.lesson-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.favorite-btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:10px 14px;color:var(--ink);cursor:pointer;font:inherit}.favorite-btn:hover,.favorite-btn.is-favorite{background:#f1e8da;border-color:#d8c29a}.lesson-content-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px}.lesson-reading{padding:30px}.lesson-reading p{max-width:760px;color:#4f4a41;line-height:1.8;font-size:15px}.lesson-reading h2{font-size:28px;margin:8px 0 14px}.reading-label{font-size:10px;letter-spacing:.22em;font-weight:800;color:#9b7134;margin-top:22px}.lesson-side{display:grid;gap:18px;align-content:start}.lesson-exercise{padding:22px}.lesson-exercise h3{font-size:25px;margin:7px 0}.lesson-exercise p{font-size:13px;color:var(--muted);line-height:1.6}.exercise-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.btn.is-done{background:#647057}.lesson-study-image{min-height:230px;border-radius:14px;background:radial-gradient(circle at 50% 42%,#f9efd8 0 18%,transparent 19%),linear-gradient(145deg,#302e28,#5b503d);display:grid;place-items:center;color:#e9d4a8;font:80px Georgia,serif;position:relative}.lesson-study-image small{position:absolute;bottom:12px;left:15px;font:10px Inter,sans-serif;letter-spacing:.1em;color:#ddd1ba}.lesson-image-card{padding:15px}.lesson-image-card p{margin:12px 3px 2px}.lesson-footer-nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.lesson-link{color:var(--muted);text-decoration:none}.lesson-link:hover{background:#f1e8da;color:var(--ink)}@media(max-width:900px){.lesson-content-grid{grid-template-columns:1fr}.lesson-hero{flex-direction:column}}
.lesson-bullets{padding-left:22px;color:#4f4a41;line-height:1.85}.lesson-bullets li{margin:5px 0}.compare-grid,.correspondence-grid,.triad,.method-steps,.method-table{display:grid;gap:10px;margin:18px 0}.compare-grid{grid-template-columns:1fr 1fr}.compare-card,.correspondence-grid>div,.triad>div,.method-steps>div,.method-table>div{border:1px solid var(--line);background:#faf6ee;border-radius:12px;padding:14px}.compare-card p{margin:7px 0 0!important;font-size:13px!important;line-height:1.6!important}.correspondence-grid{grid-template-columns:repeat(2,1fr)}.correspondence-grid span,.triad span,.method-steps span,.method-table span{display:block;color:var(--muted);font-size:12px;line-height:1.55;margin-top:5px}.triad{grid-template-columns:repeat(3,1fr)}.method-steps{grid-template-columns:repeat(3,1fr)}.method-steps b{display:inline-grid;width:28px;height:28px;border-radius:50%;place-items:center;background:#efe2c7;color:#765729;margin-right:7px}.method-table>div{display:flex;gap:12px;align-items:flex-start}.method-table b{min-width:130px}.exercise-box{padding:18px;background:#faf6ee;border:1px solid var(--line);border-radius:13px}.exercise-box blockquote{margin:14px 0;padding:14px 16px;border-left:3px solid #c19a5b;background:#fffdf8;font-family:Georgia,serif;line-height:1.7}.exercise-box ol{padding-left:23px;color:#4f4a41;line-height:1.8}.lesson-reading strong{color:#353229}@media(max-width:700px){.compare-grid,.correspondence-grid,.triad,.method-steps{grid-template-columns:1fr}.method-table>div{display:block}.method-table b{display:block}}

/* V7 — leitura com mais respiro e mídia */
.lesson-reading{padding:38px 42px}
.lesson-reading p{max-width:820px;margin:0 0 19px;color:#4f4a41;line-height:1.9;font-size:15px}
.lesson-reading h2{font-size:29px;line-height:1.18;margin:10px 0 16px;padding-bottom:2px}
.lesson-reading .reading-label{margin-top:44px;margin-bottom:7px}
.lesson-reading ul.lesson-bullets{margin:12px 0 24px;padding-left:26px;line-height:1.9}
.lesson-reading ul.lesson-bullets li{margin:8px 0;padding-left:3px}
.lesson-reading ol{margin:12px 0 22px;padding-left:26px;line-height:1.9}
.lesson-reading blockquote{margin:20px 0 26px;padding:18px 22px;border-left:3px solid #c19a5b;background:#faf6ee;border-radius:0 12px 12px 0;font-family:Georgia,serif;line-height:1.85}
.compare-grid,.correspondence-grid,.triad,.method-steps,.method-table{margin:22px 0 30px}
.compare-card,.correspondence-grid>div,.triad>div,.method-steps>div,.method-table>div{padding:18px}
.correspondence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.correspondence-grid strong{display:block;margin-bottom:7px}
.correspondence-grid span{font-size:13px;line-height:1.7}
.method-table{gap:10px}
.method-table>div{display:grid;grid-template-columns:145px 1fr;gap:16px;align-items:start}
.method-table b{min-width:0}
.exercise-box{margin:22px 0 30px;padding:24px}
.lesson-reading .notice{margin:22px 0 30px;padding:17px 19px;line-height:1.7}
.lesson-media{margin:28px 0 34px;padding:18px;border:1px solid var(--line);background:#faf6ee;border-radius:15px}
.lesson-media-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.lesson-media h3{margin:0;font-size:22px}
.video-frame{aspect-ratio:16/9;border-radius:12px;background:#29271f;display:grid;place-items:center;text-align:center;color:#eee7d8;padding:30px}
.video-frame strong{display:block;font:22px Georgia,serif;margin-bottom:8px}
.video-frame span{display:block;color:#cfc5b3;font-size:13px}
.alchemical-figure{margin:28px 0 34px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#faf6ee}
.alchemical-figure img{display:block;width:100%;max-height:720px;object-fit:contain;background:#eee8dc}
.alchemical-figure figcaption{padding:14px 16px;font-size:12px;line-height:1.6;color:var(--muted)}
.alchemical-figure figcaption strong{display:block;color:var(--ink);margin-bottom:3px}
.lesson-side .card{padding:22px}
.lesson-study-image{min-height:210px}
.lesson-footer-nav{margin:28px 0 8px}
@media(max-width:900px){.lesson-reading{padding:28px 24px}.method-table>div{grid-template-columns:1fr}.lesson-media-head{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.correspondence-grid{grid-template-columns:1fr}.lesson-reading h2{font-size:25px}.lesson-reading p{font-size:14px}}
