/* Central LFQ v2: navegação e legibilidade inspiradas nos padrões visuais do projeto PCPR, sem importar conteúdo FGV. */
:root{--navy:#101c2d;--navy2:#15273e;--gold:#cda45a;--ink:#1e3046;--sub:#607286;--base:#f3f5f8;--line:#dfe6ed;--shadow:0 12px 30px #14263a13}
html{scroll-behavior:smooth}
body{background:#edf1f6;color:var(--ink)}
.shell{grid-template-columns:246px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#0b1525,#132a42);padding:22px 13px;border-right:1px solid #34475a;scrollbar-width:thin}
.brand{margin-bottom:4px;padding:7px 8px 22px;border-color:#ffffff24}
.brand .mark{display:grid;place-items:center;width:43px;height:43px;background:linear-gradient(135deg,#315d8b,#142c48);border:1px solid #6585a1;color:#ffdda2;font-size:13px;letter-spacing:-.6px;box-shadow:0 12px 22px #0002}
.brand strong{font-size:17px;letter-spacing:-.3px}.brand small{color:#a8bed4;font-size:11px}
.sideSearch{background:#192c42;border-color:#41556b;padding:12px 11px;margin-top:17px}
.sideMode button{border-color:#3f5269;background:#1b3048;border-radius:8px}
.sideMode button.active{background:#d0a765;border-color:#d0a765;color:#172235}
.sideHeader{color:#91a9c5;padding-top:15px}
.sideDay,.sideCourse{padding:11px 10px;margin-bottom:4px;border-radius:8px;color:#c6d6e7}
.sideDay.active,.sideCourse.active,.sideDay:hover,.sideCourse:hover{background:#2b435f;border:1px solid #45637e;color:#fff}
.sideCourse small,.sideDay small{color:#c8af7e}
.main{background:linear-gradient(180deg,#f1f4f8,#eef2f7)}
.topbar{padding:14px clamp(20px,3.4vw,47px);background:#101e31;border-color:#284059;color:#e4edf8;position:sticky;top:0;z-index:20;min-height:70px}
.topbar .breadcrumb{color:#bccce0;display:flex;align-items:center;gap:12px}
.topbar .btn{border-color:#334c66;color:#e6edf5;background:#1c314a}.topbar .btn:hover{background:#294768}.topbar #open-notion{color:#f3ce92;border-color:#5a503d}
.content{max-width:1420px;padding:30px clamp(20px,3.4vw,47px) 55px}
.overline{color:#9f773a;letter-spacing:1.7px}
.head{align-items:center;margin-bottom:22px;padding:22px 26px;background:linear-gradient(112deg,#fff,#f6faff);border:1px solid #dce5ee;border-radius:17px;box-shadow:0 8px 25px #243e5a09;position:relative;overflow:hidden}
.head::before{content:"";position:absolute;width:4px;left:0;inset-block:0;background:#cda45a}
.head h1{font-size:clamp(25px,3.2vw,36px);font-weight:810;max-width:850px;letter-spacing:-1px}
.head p{max-width:870px}
.head .status{white-space:normal;font-weight:750;color:#66512e;border-color:#efd9ac;background:#fff7e9}
.stats{gap:12px;margin:16px 0 22px}
.stat{background:linear-gradient(135deg,#142b44,#1a3855);color:#f1f6fa;border:1px solid #31516c;padding:17px;border-radius:13px;min-height:91px;box-shadow:0 8px 18px #0b203821}
.stat b{font-size:27px;color:#f4d293}
.stat small{font-size:11px;color:#bbd0df}
.sheet{border:1px solid #d5e0e9;box-shadow:0 16px 40px #19334d13;border-radius:15px}
.tabs{background:#fcfdff;padding:0 20px;gap:4px}
.tab{font-size:13px;letter-spacing:.15px;padding:18px 18px 15px;border-bottom-width:3px;transition:background .16s,color .16s}
.tab:hover{background:#f0f5fa;color:#23567d}
.tab[aria-selected=true]{border-color:#bc8e4b;color:#142b43;background:#fcf5e9}
.pane{padding:25px 29px;min-height:460px}
.pane h2{font-size:24px;font-weight:800;letter-spacing:-.7px}
.description{font-size:13px;line-height:1.65}
.banner{border-color:#e9d7af;background:#fffaf0;color:#755b30;border-left:4px solid #cda45a;padding:13px 16px}
.lessonTile{border:1px solid #dce5ed;min-height:132px;box-shadow:0 4px 16px #1b365313;transition:transform .12s,box-shadow .12s,border .12s;padding:18px}
.lessonTile:hover{transform:translateY(-2px);box-shadow:0 13px 26px #1c3b591b;border-color:#79a6c4}
.lessonTile.ready{border-left:4px solid #ccab63}
.lessonTile .tiny{letter-spacing:.4px;color:#6e855f}
.lessonTile strong{font-size:15px}
.lessonChapter{border-color:#dae5f0;border-radius:11px}
.lessonChapter>summary{font-size:15px;padding:18px 17px;line-height:1.45}
.lessonChapter[open]>summary{background:#edf4fc;color:#173d5f}
.chapterText{font-size:15.5px;line-height:1.87;color:#263d52;padding:23px 25px 30px;max-width:96ch}
.chapterText p{margin:0 0 15px}
.chapterText .subtopic{border-color:#d4ac66;background:#fbfcfe;border-radius:0 8px 8px 0;padding:10px 11px;margin:20px 0 12px}
.btn.primary{background:#234f75;border-color:#234f75}
.btn.primary:hover{background:#153c5e}
.flashSurface{border-radius:20px;background:linear-gradient(145deg,#fff,#f0f5fc);border:1px solid #bcd1e5;min-height:260px;box-shadow:0 14px 29px #1c426415}
.flashSurface .words{font-size:clamp(19px,2.4vw,28px)}
.flashSurface.isBack{background:#f2faf7;border-color:#90c7b4}
.flashSurface.isBack .words{font-size:15px}
.quizCard{box-shadow:0 6px 25px #1236530d;border-radius:15px;padding:25px}
.quizCard h3{font-size:19px;line-height:1.4}
.questionText{font-size:15px;line-height:1.72}
.option{padding:15px 14px;font-size:13.5px;line-height:1.65;border-radius:10px}
.option:hover:not(:disabled){border-color:#78a1c1;background:#f5f9ff}
.option b{height:27px;width:27px;border-radius:8px;font-size:13px}
.option.right{border:1px solid #6eb48f}
.option.incorrect{border:1px solid #cc9498}
.quizNav{grid-template-columns:repeat(5,1fr)}
.quizNav button{padding:11px 5px;font-size:12px}
.mapFrame{height:min(90vh,850px);border:1px solid #cedce8}
.footerNav{margin-top:25px}
.mobileMenu,.mobileBackdrop,.mobileBottom{display:none}
.lessonJump{border:1px solid #dfe7ef;border-radius:12px;background:#f7fafd;padding:13px;margin:18px 0;display:flex;gap:7px;flex-wrap:wrap}
.lessonJump button{border:1px solid #cbdce8;border-radius:8px;padding:8px 10px;background:white;color:#2c5878;font-size:12px;font-weight:750}
.lessonJump button:hover{border-color:#cda45a;background:#fff8e8}
.lessonJump .wide{margin-left:auto;background:#163753;color:white}
@media(max-width:1020px){
  .shell{display:block}
  .sidebar{position:fixed;z-index:110;top:0;bottom:0;left:0;width:min(340px,88vw);height:100dvh;overflow-y:auto;transform:translateX(-104%);transition:transform .19s ease;box-shadow:10px 0 40px #0004}
  .shell.menuOpen .sidebar{transform:translateX(0)}
  .mobileBackdrop{display:block;position:fixed;inset:0;z-index:109;background:#071425a8;border:0;opacity:0;pointer-events:none;transition:opacity .2s}
  .shell.menuOpen .mobileBackdrop{opacity:1;pointer-events:auto}
  .mobileMenu{display:inline-flex;align-items:center;gap:7px;background:#1c3550;border:1px solid #54718a;color:#fff;padding:10px 13px;border-radius:9px;font-size:12px;font-weight:800}
  .topbar{position:sticky;top:0;min-height:65px;padding:11px 19px;z-index:30}
  .content{padding:20px 19px 110px}
  .mobileBottom{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#0d1c2eeb;border-top:1px solid #486078;box-shadow:0 -10px 25px #10203824;backdrop-filter:blur(12px);padding:7px 12px calc(7px + env(safe-area-inset-bottom));justify-content:space-around;gap:3px}
  .mobileBottom button{background:transparent;border:1px solid transparent;color:#afc4d8;min-width:50px;flex:1;padding:8px 3px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:11px;cursor:pointer}
  .mobileBottom button .glyph{font-size:19px;line-height:1.1}
  .mobileBottom button.active{color:#ffdfa7;background:#233c59;border-color:#3e5672}
  .mobileBottom[hidden]{display:none}
  .sidebarNav{max-height:none}
  .brand .mark{display:grid}
}
@media(max-width:760px){
  .content{padding:13px 11px 105px}
  .topbar{padding:9px 11px;gap:8px}
  .topbar .breadcrumb>span{display:none}
  .topbar #open-notion{font-size:11px}
  .head{padding:18px 17px;margin-bottom:14px}
  .head h1{font-size:22px;letter-spacing:-.65px}
  .head .status{margin-top:12px;font-size:10px}
  .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:12px 0 15px}
  .stat{padding:10px 6px;min-height:68px;text-align:center;box-shadow:none}
  .stat b{font-size:18px;margin:0 0 3px}
  .stat small{font-size:9px;line-height:1.25;display:block}
  .tabs{padding:0 9px}
  .tab{font-size:11.5px;padding:13px 10px}
  .pane{padding:16px 13px;min-height:350px}
  .pane h2{font-size:21px}
  .dayList{grid-template-columns:1fr}
  .lessonTile{min-height:110px;padding:14px}
  .lessonChapter>summary{font-size:13px;padding:13px}
  .chapterText{font-size:15.2px;line-height:1.8;padding:16px 14px 22px}
  .quizCard{padding:14px}
  .quizGrid{grid-template-columns:1fr;gap:12px}
  .quizNav{grid-template-columns:repeat(15,minmax(24px,1fr));gap:3px}
  .quizNav button{padding:8px 2px;font-size:10px}
  .questionText{font-size:14px}
  .option{font-size:13px;padding:12px 10px}
  .flashSurface{min-height:225px;padding:21px}
  .flashSurface .words{font-size:20px}
  .flashSurface.isBack .words{font-size:13px}
  .mapFrame{height:900px}
  .lessonJump{padding:10px}
  .lessonJump button{padding:7px;font-size:11px}
  .lessonJump .wide{margin-left:0}
}
@media(max-width:430px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat{min-height:60px;text-align:left;padding:11px 14px}
  .stat b{font-size:23px}
  .stat small{font-size:10px}
  .topbar .actions a{padding:10px 7px}
}
@media(prefers-reduced-motion:reduce){.sidebar,.mobileBackdrop{transition:none}}
