:root{--bg: #eef2f4;--surface: #ffffff;--ink: #13222c;--muted: #566773;--line: #d3dce1;--accent: #0b6870;--accent-ink: #ffffff;--accent-soft: #d9eced;--code-bg: #10202a;--code-fg: #d3e3ea;--ok: #1b7443;--ok-soft: #dcf0e3;--bad: #b02a22;--bad-soft: #f8e0dd;--warn-soft: #fbefd9;--easy: #23744a;--mod: #9a5d00;--hard: #a42d27;--f-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, Consolas, "Courier New", monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0c1418;--surface: #121d23;--ink: #e1e9ed;--muted: #92a4ae;--line: #25353d;--accent: #4fb8be;--accent-ink: #062024;--accent-soft: #12333a;--code-bg: #071015;--code-fg: #cfe0e8;--ok: #5cc68b;--ok-soft: #12321f;--bad: #f2786d;--bad-soft: #3a1a17;--warn-soft: #3a2c12;--easy: #5cc68b;--mod: #e6a64a;--hard: #f2786d;color-scheme:dark}}*{box-sizing:border-box}html{scroll-padding-top:140px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--f-body)}a{color:var(--accent)}img{max-width:100%}.wrap{max-width:1040px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.pad{padding-block:32px}.pad-top{padding-top:28px}.narrow{max-width:460px}.muted{color:var(--muted)}.small{font-size:14px}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.gap{justify-content:flex-start;gap:12px}.err{color:var(--bad)}.success{background:var(--ok-soft);color:var(--ink);border-left:3px solid var(--ok);padding:10px 14px;border-radius:0 8px 8px 0}.notice-inline{background:var(--warn-soft);padding:10px 14px;border-radius:8px}.eyebrow{font:500 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.h1{font:800 clamp(30px,5vw,44px)/1.05 var(--f-display);letter-spacing:-.02em;margin:0 0 10px;text-wrap:balance}.h2{font:700 26px/1.2 var(--f-display);margin:0 0 16px}.h3{font:700 19px/1.25 var(--f-display);margin:0 0 8px}.lede{max-width:62ch}header.site{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px}.brand{font:600 19px/1 var(--f-display);color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:8px}.brand b{color:var(--accent)}.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:15px}header nav{display:flex;align-items:center;gap:18px}header nav a{color:var(--muted);text-decoration:none;font-weight:500}header nav a.active,header nav a:hover{color:var(--ink)}header nav a.btn{color:var(--accent-ink)}.menu-btn{display:none}.linkish{all:unset;cursor:pointer;color:var(--muted);font-weight:500}.linkish:hover{color:var(--ink)}.linkish:focus-visible{outline:2px solid var(--accent);outline-offset:2px}footer.site{border-top:1px solid var(--line);margin-top:48px;padding-block:24px 40px;font-size:14px}footer.site p{margin:4px 0}.notice{background:var(--warn-soft);border-bottom:1px solid var(--line);padding-block:10px;font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:600 15px/1 var(--f-body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px 16px;cursor:pointer;text-decoration:none}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.small{padding:8px 12px;font-size:14px}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.55;cursor:default}.form{display:grid;gap:14px;margin-block:18px}.form.inline{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}.field{display:grid;gap:6px;font-size:14px;font-weight:500;color:var(--muted)}input,select{font:400 16px/1.3 var(--f-body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;margin:0;padding:0;width:20px;height:20px;border:2px solid var(--muted);border-radius:4px;background:var(--surface);display:inline-grid;place-content:center;vertical-align:middle;cursor:pointer}input[type=checkbox]:before{content:"";width:11px;height:11px;background:var(--accent-ink);transform:scale(0);transition:transform .12s ease-in-out;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--muted);cursor:pointer}.check input[type=checkbox]{width:18px;height:18px;margin-top:2px}.check input[type=checkbox]:before{width:10px;height:10px}.hero{background:var(--surface);border-bottom:1px solid var(--line);padding-block:56px 40px}.hero h1{font:800 clamp(34px,6vw,58px)/1.02 var(--f-display);letter-spacing:-.025em;max-width:18ch;margin:0 0 16px;text-wrap:balance}.hero .lede{color:var(--muted);font-size:18px;margin:0 0 24px}.facts{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;padding:0;margin:26px 0 0;color:var(--muted)}.facts b{color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}.card h3{font:700 19px/1.25 var(--f-display);margin:0}.card p{margin:0}.card-top{display:flex;justify-content:space-between;align-items:center}.card-foot{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.tag{font:500 12px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:5px 8px;border-radius:5px}.badge{font:500 12px/1 var(--f-mono);color:var(--muted);border:1px solid var(--line);padding:4px 7px;border-radius:5px}.badge.ok{color:var(--ok);border-color:var(--ok)}.note{color:var(--mod)}.sec-row{display:flex;gap:6px;flex-wrap:wrap}.sec-pill{font:500 12px/1 var(--f-mono);padding:5px 8px;border-radius:20px;border:1px solid var(--line)}.sec-pill.easy{color:var(--easy)}.sec-pill.moderate{color:var(--mod)}.sec-pill.difficult{color:var(--hard)}.steps{padding-left:22px;display:grid;gap:10px;max-width:70ch}.rules{max-width:70ch}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-block:24px;max-width:760px}.plan .price{font:800 40px/1 var(--f-display);margin:6px 0}.plan .price span{font:400 15px var(--f-body);color:var(--muted)}.plan.featured{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.plan .badge{align-self:flex-start}.plan .btn{margin-top:auto}.block{margin-top:30px}.plain{padding-left:18px}.prog{display:grid;grid-template-columns:80px minmax(0,1fr) 64px;gap:8px;align-items:center}.prog .bar,.tab .bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden;display:block}.prog .bar i,.tab .bar i{display:block;height:100%;background:var(--accent)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:20px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:4px}.tile span{color:var(--muted);font-size:13px}.tile b{font:700 26px/1 var(--f-display)}.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:10px}.seg button{all:unset;cursor:pointer;padding:9px 14px;font:500 14px var(--f-body);color:var(--muted);background:var(--surface)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.crumbs{margin:0 0 8px;font-size:14px;color:var(--muted)}nav.tabs{position:sticky;top:58px;z-index:10;background:var(--bg);border-bottom:1px solid var(--line);margin-top:16px}.tabrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-block:10px}.tab{all:unset;cursor:pointer;display:grid;gap:4px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);min-width:0}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab .tname{font:600 15px/1.2 var(--f-display);display:flex;align-items:center;gap:8px}.tab .dot{width:9px;height:9px;border-radius:50%}.tab.easy .dot{background:var(--easy)}.tab.moderate .dot{background:var(--mod)}.tab.difficult .dot{background:var(--hard)}.tab .tmeta{font:400 12px/1.2 var(--f-mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.toolbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding-block:16px 4px}.toolbar label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.toolbar select{max-width:230px;padding:7px 10px;font-size:14px}.spacer{flex:1 1 auto}.summary{font-size:13px;color:var(--muted)}.summary b{color:var(--ink);font-weight:500}ol.qlist{list-style:none;margin:0;padding:0 0 20px;max-width:860px}li.q{padding-block:26px;border-top:1px solid var(--line)}.qhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.qno{font:500 13px/1 var(--f-mono);color:var(--accent)}.topic{font:500 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:4px 6px}.qtext{font:500 17px/1.5 var(--f-body);margin:0 0 12px;max-width:70ch;white-space:pre-wrap}pre.code{margin:0 0 14px;background:var(--code-bg);color:var(--code-fg);border-radius:8px;padding:12px 14px;font:400 14px/1.55 var(--f-mono);overflow-x:auto;white-space:pre;-moz-tab-size:4;tab-size:4}.opts{display:grid;gap:8px}.opt{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:15px;line-height:1.45}.opt:hover:not([disabled]){border-color:var(--accent)}.opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.opt .k{font:500 13px/26px var(--f-mono);width:26px;height:26px;border-radius:50%;text-align:center;border:1px solid var(--line);color:var(--muted)}.opt .t{min-width:0;overflow-wrap:anywhere;padding-top:2px;white-space:pre-wrap}.opt[disabled]{cursor:default}.opt.correct{border-color:var(--ok);background:var(--ok-soft)}.opt.correct .k{background:var(--ok);border-color:var(--ok);color:var(--surface)}.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.opt.wrong .k{background:var(--bad);border-color:var(--bad);color:var(--surface)}.after{display:flex;gap:12px;align-items:center;margin-top:10px;min-height:22px;flex-wrap:wrap}.reveal{all:unset;cursor:pointer;font:500 13px/1 var(--f-body);color:var(--accent);text-decoration:underline;text-underline-offset:3px}.reveal:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.verdict{font:600 13px/1 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.verdict.ok{color:var(--ok)}.verdict.bad{color:var(--bad)}.explain{margin-top:10px;padding:12px 14px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;font-size:15px;max-width:72ch}.explain .ans{font:600 13px/1.4 var(--f-mono);color:var(--accent);display:block;margin-bottom:4px}.upsell{margin:10px 0 30px;padding:22px;border:1px solid var(--accent);border-radius:12px;background:var(--surface);max-width:860px}.upsell p{margin:0 0 14px;color:var(--muted)}details.tbls{margin:0 0 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}details.tbls>summary{cursor:pointer;padding:9px 12px;font:500 13px/1.3 var(--f-mono);color:var(--accent)}.tb{padding:0 12px 12px;display:grid;gap:6px;min-width:0}.tb+.tb{border-top:1px dashed var(--line);padding-top:10px}.tb .tname{font:600 14px/1.2 var(--f-mono)}.tb .tname small{font-weight:400;color:var(--muted)}.tb .struct{font:400 12px/1.5 var(--f-mono);color:var(--muted);overflow-wrap:anywhere}.tb .struct b{color:var(--ink);font-weight:500}.tb .tnote{font-size:13px;color:var(--muted)}.tscroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface)}table.data{border-collapse:collapse;font:400 12.5px/1.35 var(--f-mono);font-variant-numeric:tabular-nums;width:max-content;min-width:100%}table.data th,table.data td{padding:5px 10px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line);vertical-align:top}table.data th{background:var(--accent-soft);font-weight:500}table.data tr:last-child td{border-bottom:0}table.data .r{text-align:right}table.data .nul{color:var(--muted);font-style:italic}table.data.wide{font-family:var(--f-body);font-size:14px}.legal{max-width:760px}.legal h2.h3{margin-top:26px}.legal p,.legal li{max-width:70ch}.legal ul{padding-left:20px;display:grid;gap:6px}.legal-nav{margin-top:36px;border-top:1px solid var(--line);padding-top:16px}dl.contact{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:18px 0}dl.contact dt{color:var(--muted);font-size:14px}dl.contact dd{margin:0;overflow-wrap:anywhere}.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px}.foot-links a{color:var(--muted)}.foot-links a:hover{color:var(--ink)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073;display:grid;place-items:center;padding:16px}.modal{background:var(--surface);border-radius:12px;padding:24px;max-width:440px;width:100%}.toast{position:fixed;z-index:60;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;font-size:14px;max-width:calc(100% - 32px)}.watermark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;background-repeat:repeat}.cp-protected .protect-zone{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.blur-msg{display:none}.cp-hidden .protect-zone .wrap,.cp-hidden .protect-zone nav.tabs{filter:blur(16px)}.cp-hidden .blur-msg{display:grid;place-items:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;font:600 18px var(--f-body);color:var(--ink);text-align:center;padding:16px}@media print{body *{display:none!important}body:after{content:"Printing is disabled. Download your watermarked PDF from the dashboard.";display:block;padding:40px;font:16px sans-serif}}@media (max-width: 720px){.menu-btn{display:inline-flex;all:unset;cursor:pointer;font-weight:600;color:var(--ink);padding:8px 10px;border:1px solid var(--line);border-radius:8px}header nav{display:none;position:absolute;left:0;right:0;top:58px;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px max(16px,env(safe-area-inset-left,0px)) 16px}header nav.open{display:flex}header nav>*{padding:12px 0}.tab{padding:8px}.tab .tmeta{font-size:11px}.qtext{font-size:16px}pre.code{font-size:13px}.hero{padding-block:36px 28px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
