:root{--ink:#17233a;--muted:#4b5568;--faint:#8a93a3;--line:#e1e5ec;--line-2:#d5dbe5;--ground:#f4f6f9;--card:#fff;--blue:#1f4fd1;--blue-ink:#163a9c;--blue-tint:#e7eeff;--blue-wash:#f7f9ff;--star:#ffc93c;--star-tint:#fff3cc;--star-ink:#8a4b00;--wrong:#b9480e;--wrong-tint:#fff1e8;--display:"Bricolage Grotesque", system-ui, sans-serif;--body:"Atkinson Hyperlegible", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font-family:var(--body);margin:0;font-size:16px;line-height:1.45}a{color:var(--blue)}a:hover{color:var(--blue-ink)}h1,h2,h3{font-family:var(--display);margin:0;line-height:1.15}h1{font-size:clamp(26px,4vw,34px);font-weight:800}h2{font-size:22px;font-weight:800}p{margin:0}button,input,select{font:inherit;color:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:14px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:14px;font-weight:700}.stack{gap:var(--gap,16px);flex-direction:column;display:flex}.row{gap:var(--gap,12px);flex-wrap:wrap;align-items:center;display:flex}.site-header{background:var(--card);border-bottom:1px solid var(--line)}.site-header .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;padding:12px 16px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;min-height:44px;text-decoration:none;display:flex}.brand .mark{flex:none;display:block}.brand .name{font-family:var(--display);font-size:20px;font-weight:800}.site-nav{flex-wrap:wrap;align-items:center;gap:4px 18px;display:flex}.site-nav a,.site-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;min-height:44px;padding:0;text-decoration:none;display:inline-flex}.site-nav a[aria-current=page]{color:var(--blue);font-weight:700}.site-footer{max-width:1200px;color:var(--muted);flex-wrap:wrap;gap:16px;margin:0 auto;padding:24px 16px 40px;font-size:14px;display:flex}.page{flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;padding:28px 16px 56px;display:flex}.page.narrow{max-width:520px}.split{flex-wrap:wrap;align-items:flex-start;gap:28px;display:flex}.split>.main{flex:999 560px;min-width:0}.split>.side{flex:320px;min-width:0;max-width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}.card.tight{padding:16px}.btn{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 22px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--blue-ink);color:#fff}.btn:disabled{background:var(--faint);cursor:not-allowed}.btn.secondary{background:var(--card);color:var(--ink);border:2px solid var(--ink)}.btn.secondary:hover{background:var(--ground);color:var(--ink)}.btn.block{width:100%}.link-btn{color:var(--blue);cursor:pointer;background:0 0;border:0;min-height:44px;padding:0;text-decoration:underline}.field{flex-direction:column;gap:6px;font-weight:700;display:flex}.field .hint{color:var(--muted);font-size:14px;font-weight:400}.field input,.field select{background:var(--card);border:1px solid #b9c2d0;border-radius:10px;min-width:0;min-height:48px;padding:0 12px;font-weight:400}.opts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.notice{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px}.notice.error{background:var(--wrong-tint);border-color:var(--wrong)}.notice.info{background:var(--blue-tint);color:var(--blue-ink);border-color:#0000}.seg{grid-template-columns:repeat(var(--n,3), minmax(0, 1fr));gap:6px;display:grid}.seg button,.seg label{border:1px solid var(--line-2);background:var(--card);cursor:pointer;text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:4px;font-size:15px;display:flex}.seg [aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}.seg label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}.seg input{opacity:0;width:1px;height:1px;position:absolute}.pill-tabs{flex-wrap:wrap;gap:8px;display:flex}.pill-tabs a{background:var(--card);border:1px solid var(--line-2);min-height:44px;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:0 18px;text-decoration:none;display:inline-flex}.pill-tabs a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}.pill-tabs a.add{color:var(--blue);background:0 0;border-color:#0000}.topic{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.topic>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:14px 20px;list-style:none;display:flex}.topic>summary::-webkit-details-marker{display:none}.topic>summary .t{font-family:var(--display);font-size:20px;font-weight:600}.topic>summary .chev{transition:transform .15s}.topic[open]>summary .chev{transform:rotate(180deg)}.badge{background:var(--blue-tint);color:var(--blue-ink);border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700}.skill-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.skill-list li{border-bottom:1px solid #eef1f5}.skill-list li:last-child{border-bottom:0}.skill-row{cursor:pointer;align-items:flex-start;gap:14px;padding:14px 20px;display:flex}.skill-row:has(input:checked){background:var(--blue-wash)}.skill-row input{width:20px;height:20px;accent-color:var(--blue);flex:none;margin:3px 0 0}.skill-row .name{font-weight:700}.sample{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.sample .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px}.sample .math{background:var(--ground);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:6px;max-width:100%;padding:3px 10px}.sample .math .fig{display:none}.math .frac{vertical-align:middle;flex-direction:column;align-items:center;margin:0 .08em;font-size:.92em;line-height:1.05;display:inline-flex}.math .frac .num{border-bottom:.09em solid;padding:0 .12em .04em}.math .frac .den{padding:.04em .12em 0}.math .mixed{align-items:center;gap:.08em;display:inline-flex}.math .q{font-weight:700}.math sup{vertical-align:.75em;font-size:.62em;line-height:0}.math .fig svg{max-width:160px;height:auto;margin:6px 0;display:block}.search{background:var(--card);border:1px solid var(--line-2);border-radius:10px;flex:240px;align-items:center;gap:8px;max-width:360px;min-height:48px;padding:0 12px;display:flex}.search input{background:0 0;border:0;outline:none;flex:1;min-width:0}.picked{border-top:1px solid #eef1f5;margin:0;padding:0;list-style:none}.picked li{border-bottom:1px solid #eef1f5;flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0;display:flex}.picked .nm{flex:160px;min-width:0;padding:8px 0}.picked .nm.on{font-weight:700}.picked .why{color:var(--star-ink);font-size:14px;font-weight:400;display:block}.picked .cnt{font-variant-numeric:tabular-nums;color:var(--muted)}.star{cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;margin-left:-10px;display:flex}.star svg path{fill:none;stroke:var(--faint)}.star[aria-pressed=true] svg path{fill:var(--star);stroke:var(--ink)}.remove{cursor:pointer;width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:8px}.mark-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mark-item{background:var(--card);border:2px solid var(--card);width:100%;min-height:64px;box-shadow:0 0 0 1px var(--line);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;padding:10px 12px 10px 14px;display:flex}.mark-item[aria-pressed=true]{background:var(--wrong-tint);border-color:var(--wrong);box-shadow:none}.mark-item .n{width:28px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.mark-item .q{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mark-item .a{color:var(--muted);font-size:15px}.mark-item .a strong{color:var(--ink)}.mark-item .verdict{background:var(--blue-tint);min-width:78px;height:34px;color:var(--blue-ink);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:15px;font-weight:700;display:flex}.mark-item[aria-pressed=true] .verdict{background:var(--wrong);color:#fff}.sticky-foot{background:var(--card);border-top:1px solid var(--line);flex-direction:column;gap:10px;margin:0 -16px -56px;padding:12px 16px 20px;display:flex;position:sticky;bottom:0}.bar{background:#e7ebf1;border-radius:5px;height:10px;overflow:hidden}.bar>div{background:var(--blue);height:100%}.bar.low>div{background:var(--wrong)}.choice{cursor:pointer;border:1px solid var(--line-2);background:var(--card);border-radius:12px;align-items:center;gap:14px;min-height:64px;padding:10px 16px;display:flex}.choice:has(input:checked){border:2px solid var(--blue);background:#f3f6ff}.choice input{width:22px;height:22px;accent-color:var(--blue);flex:none;margin:0}.steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:flex-start;gap:14px;display:flex}.steps .num{background:var(--ink);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.paper{color:#000;background:#fff;flex-direction:column;gap:16px;max-width:560px;margin:0;padding:24px;font-family:Helvetica,Arial,sans-serif;display:flex;box-shadow:0 1px 2px #17233a1f,0 8px 24px #17233a14}.paper-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.paper-items{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 22px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.paper-items li{justify-content:space-between;align-items:center;gap:8px;display:flex}.paper-items .box{border:1px solid #000;flex:none;width:54px;height:24px}.pdf-frame{aspect-ratio:8.5/11;border:1px solid var(--line);background:#e9edf3;border-radius:10px;width:100%}.sheets-table{border-collapse:collapse;width:100%}.sheets-table td{border-bottom:1px solid #eef1f5;padding:10px 0}
