/* OPM Categoria B study site */
:root{
  --bg:#fbfaf7; --panel:#ffffff; --ink:#1a1c20; --dim:#585f68; --line:#e3e0d8;
  --accent:#0b5fa5; --accent-ink:#ffffff; --chip:#eef3f8; --chip-on:#0b5fa5;
  --geo:#0b5fa5; --comb:#8a4f9e; --num:#b3541e; --alg:#1e7d4f; --log:#946200; --jog:#a03352; --prob:#00767a;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#14161a; --panel:#1c1f24; --ink:#e8eaed; --dim:#9aa2ac; --line:#2e333b;
         --accent:#6db3e8; --accent-ink:#0c1116; --chip:#252b33; }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{margin:0;background:var(--bg);color:var(--ink);
     font:16px/1.65 Georgia,'Times New Roman',serif}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);
      padding:8px 16px;z-index:10;border-radius:0 0 8px 0}
.skip:focus{left:0}
header.site{border-bottom:2px solid var(--accent);background:var(--panel)}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header.site .wrap{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;padding-top:18px;padding-bottom:14px}
.brand{font-size:22px;font-weight:700;letter-spacing:.3px;margin:0}
.brand a{color:var(--ink);text-decoration:none}
.brand .b{color:var(--accent)}
nav.main{margin-left:auto}
nav.main ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
nav.main a{display:block;padding:6px 14px;border-radius:8px;color:var(--ink);
           text-decoration:none;font-family:system-ui,sans-serif;font-size:15px}
nav.main a:hover{background:var(--chip)}
nav.main a[aria-current="page"]{background:var(--accent);color:var(--accent-ink)}
main{padding:28px 0 64px}
h1{font-size:30px;line-height:1.25;margin:.2em 0 .4em}
h2{font-size:22px;margin:1.6em 0 .5em}
.lead{font-size:18px;color:var(--dim);max-width:44em}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:3px}

/* filters */
.filters{font-family:system-ui,sans-serif;margin:18px 0 6px}
.filters fieldset{border:1px solid var(--line);border-radius:12px;padding:10px 14px 12px;margin:0 0 10px;background:var(--panel)}
.filters legend{font-size:13px;color:var(--dim);padding:0 6px;text-transform:uppercase;letter-spacing:.6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
button.chip{font:14px system-ui,sans-serif;padding:6px 14px;border-radius:999px;cursor:pointer;
            border:1px solid var(--line);background:var(--chip);color:var(--ink)}
button.chip[aria-pressed="true"]{background:var(--chip-on);border-color:var(--chip-on);color:#fff;font-weight:600}
.count{font:14px system-ui,sans-serif;color:var(--dim);margin:10px 2px}

/* problem cards */
article.prob{background:var(--panel);border:1px solid var(--line);border-radius:14px;
             padding:20px 24px;margin:0 0 20px}
.prob header{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px;
             font-family:system-ui,sans-serif;font-size:13.5px}
.prob h3{font-size:15px;margin:0;font-family:system-ui,sans-serif}
.badge{padding:2px 10px;border-radius:999px;font-weight:600;font-size:12.5px;color:#fff}
.badge.round{background:var(--dim)}
.badge.final{background:#7a2333}
.b-geometria{background:var(--geo)} .b-combinatoria{background:var(--comb)}
.b-numeros{background:var(--num)} .b-algebra{background:var(--alg)}
.b-logica{background:var(--log)} .b-jogos{background:var(--jog)} .b-probabilidade{background:var(--prob)}
.stmt{max-width:46em}
.stmt .opts{list-style:none;padding:0;display:flex;gap:18px;flex-wrap:wrap;font-size:15px}
.figure-note{font:italic 14px Georgia,serif;color:var(--dim)}
.prob footer{margin-top:12px;font-family:system-ui,sans-serif;font-size:14px;display:flex;gap:16px;flex-wrap:wrap}
details.sol{margin-top:10px;font-family:system-ui,sans-serif;font-size:14px}
details.sol summary{cursor:pointer;color:var(--accent)}

/* archive */
section.edition{background:var(--panel);border:1px solid var(--line);border-radius:14px;
                padding:16px 22px;margin-bottom:14px}
section.edition h2{margin:.2em 0 .5em;font-size:19px}
.filecols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 24px;
          font-family:system-ui,sans-serif;font-size:14.5px}
.filecols ul{list-style:none;margin:4px 0 10px;padding:0}
.filecols li{padding:2px 0}
.filecols h3{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--dim);margin:8px 0 2px}
.catb-star{color:var(--num);font-weight:700}
.toc{font-family:system-ui,sans-serif;font-size:14px;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.toc a{padding:4px 10px;background:var(--chip);border-radius:8px;text-decoration:none}
.note{background:var(--chip);border-radius:12px;padding:14px 18px;font-size:15px;max-width:46em}
table.cheat{border-collapse:collapse;font-family:system-ui,sans-serif;font-size:14.5px}
table.cheat td,table.cheat th{border:1px solid var(--line);padding:6px 12px;text-align:left}
footer.site{border-top:1px solid var(--line);color:var(--dim);font-size:13.5px;
            font-family:system-ui,sans-serif;padding:18px 0 30px}
.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:24px 0}
.home-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 22px}
.home-card h2{margin:0 0 6px;font-size:19px}
.home-card p{margin:.3em 0;color:var(--dim);font-size:15px}
.big-cta{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:10px 22px;
         border-radius:10px;text-decoration:none;font-family:system-ui,sans-serif;font-weight:600}
@media print{ nav.main,.filters,.skip{display:none} article.prob{break-inside:avoid} }

/* progress tracking */
.done-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:6px;cursor:pointer;
             font-weight:600;color:var(--dim);user-select:none}
.done-toggle input{width:17px;height:17px;accent-color:var(--alg);cursor:pointer}
article.prob.done{opacity:.62;border-left:4px solid var(--alg)}
article.prob.done .done-toggle{color:var(--alg)}
.nosol{color:var(--dim);font-style:italic}
.sel-label{position:absolute;left:-999px}
select{font:14px system-ui,sans-serif;padding:7px 10px;border-radius:8px;background:var(--chip);
       color:var(--ink);border:1px solid var(--line);max-width:100%}

/* pagination */
.pager{margin:14px 0}
.pager nav{display:flex;flex-wrap:wrap;gap:6px;font-family:system-ui,sans-serif}
button.chip.pg{min-width:38px;justify-content:center}
button.chip.pg[aria-current="page"]{background:var(--chip-on);border-color:var(--chip-on);color:#fff;font-weight:700}
button.chip.pg:disabled{opacity:.35;cursor:default}
