.qm{margin-top:26px}.qm-tabs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;display:grid}.qm-tab{border:1px solid hsl(var(--border));background:hsl(var(--card));min-width:0;min-height:92px;color:hsl(var(--muted-foreground));border-radius:16px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex;position:relative}.qm-tab:hover{border-color:hsl(var(--primary) / .45)}.qm-tab:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.qm-tab[aria-selected=true],.qm-tab[aria-current=page]{border-color:hsl(var(--primary));background:hsl(var(--primary) / .07);box-shadow:0 0 0 3px hsl(var(--primary) / .12)}.qm-tab[aria-selected=true]:after,.qm-tab[aria-current=page]:after{content:"";background:hsl(var(--primary));border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:16px;right:16px}.sd-ico.qm-tab-ico{border-radius:11px;width:38px;height:38px}.sd-ico.qm-tab-ico>svg{width:18px;height:18px}.qm-tab-text{min-width:0;max-width:100%;line-height:1.25;display:grid}.qm-tab-text b{text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--foreground));font-size:14px;overflow:hidden}.qm-tab-text small{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.qm-tab[aria-selected=true] .qm-tab-text b,.qm-tab[aria-current=page] .qm-tab-text b{color:hsl(var(--primary))}@media (max-width:639px){.qm-tabs{scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 2px 8px;display:flex;overflow-x:auto}.qm-tab{scroll-snap-align:start;flex-direction:row;flex:none;align-items:center;gap:8px;min-height:56px;padding:8px 14px 8px 8px}.sd-ico.qm-tab-ico{border-radius:10px;width:32px;height:32px}.qm-tab[aria-selected=true]:after{left:12px;right:12px}}.qm-panel{scroll-margin-top:88px;display:none}.qm:not([data-js])>.qm-panel:target,.qm[data-active=notes]>[data-panel=notes],.qm[data-active=formulas]>[data-panel=formulas],.qm[data-active=solved]>[data-panel=solved],.qm[data-active=practice]>[data-panel=practice],.qm[data-active=pyq]>[data-panel=pyq],.qm[data-active=dpps]>[data-panel=dpps],.qm[data-active=tests]>[data-panel=tests]{display:block}.qm-h2{margin-top:28px}.qm-lead{max-width:68ch;color:hsl(var(--muted-foreground));margin:-4px 0 16px;font-size:15px;line-height:1.6}.qm-note+.qm-note{margin-top:12px}.qm-hint{color:hsl(var(--muted-foreground));font-size:13.5px}.qm-bar{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .35);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;padding:8px;display:flex}.qm-seg{flex-wrap:wrap;gap:4px;display:inline-flex}.qm-seg button{min-height:40px;color:hsl(var(--muted-foreground));border:1px solid #0000;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;font-weight:700;display:inline-flex}.qm-seg button:hover:not(:disabled){background:hsl(var(--background));color:hsl(var(--foreground))}.qm-seg button:disabled{cursor:not-allowed;opacity:.5}.qm-seg button[aria-pressed=true]{border-color:hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0f172a14}.qm-seg button>span{background:hsl(var(--muted));font-variant-numeric:tabular-nums;border-radius:999px;padding:0 7px;font-size:11.5px}.qm-seg button[aria-pressed=true]>span{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.qm-reset,.qm-copy{border:1px solid hsl(var(--border));background:hsl(var(--background));min-height:40px;color:hsl(var(--foreground));border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:13.5px;font-weight:700;display:inline-flex}.qm-reset:hover:not(:disabled),.qm-copy:hover{border-color:hsl(var(--primary) / .5)}.qm-reset:disabled{cursor:not-allowed;opacity:.5}.qm-reset>svg,.qm-copy>svg{flex:none;width:16px;height:16px}.qm-seg button:focus-visible,.qm-reset:focus-visible,.qm-copy:focus-visible,.qm-reveal:focus-visible,.qm-exlist a:focus-visible,.qm-pages a:focus-visible,.qm-year>summary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.qm-score{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;padding:16px;display:flex}.qm-ring{flex:none;width:80px;height:80px;position:relative}.qm-ring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.qm-ring circle{fill:none;stroke-width:8px}.qm-ring-track{stroke:hsl(var(--muted))}.qm-ring-value{stroke:hsl(var(--primary));stroke-linecap:round;transition:stroke-dasharray .4s}.qm-ring-value[data-zero]{stroke-opacity:0}.qm-ring>span{flex-direction:column;justify-content:center;align-items:center;line-height:1.05;display:flex;position:absolute;inset:0}.qm-ring b{letter-spacing:-.02em;font-size:18px;font-weight:800}.qm-ring small{letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));font-size:11px;font-weight:700}.qm-score-text{min-width:180px;color:hsl(var(--muted-foreground));flex:1;font-size:13.5px}.qm-score-title{color:hsl(var(--foreground));font-size:16px;font-weight:800}.qm-stats{flex:320px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.qm-stats>div{background:hsl(var(--muted) / .45);border-radius:12px;padding:10px 12px}.qm-stats dt{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600}.qm-stats dd{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.qm-qs{margin-top:4px}.qm-qs>div+div{margin-top:16px}.qm-pages{flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;display:flex}.qm-pages a{border:1px solid hsl(var(--border));border-radius:12px;place-items:center;min-width:44px;height:44px;padding:0 12px;font-size:14px;font-weight:700;display:inline-grid}.qm-pages a:hover{border-color:hsl(var(--primary) / .5)}.qm-pages a[aria-current=page]{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.qm-formulas{gap:12px;display:grid}@media (min-width:768px){.qm-formulas{grid-template-columns:repeat(2,minmax(0,1fr))}}.qm-formula{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;gap:10px;min-width:0;padding:14px;display:grid}.qm-formula-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.qm-formula-head b{font-size:14.5px;display:block}.qm-formula-head small{color:hsl(var(--muted-foreground));font-size:12px;display:block}.qm-copy{flex:none;min-height:36px;padding:0 10px;font-size:12.5px}.qm-formula-box{border:1px dashed hsl(var(--border));background-color:hsl(var(--muted) / .3);background-image:linear-gradient(hsl(var(--border) / .6) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--border) / .6) 1px, transparent 1px);background-size:18px 18px;border-radius:14px;place-items:center;min-height:84px;padding:10px 14px;display:grid;overflow-x:auto}.qm-reveal{width:100%;color:hsl(var(--primary));justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.qm-reveal>svg{width:18px;height:18px}.qm-solved{gap:16px;display:grid}@media (min-width:1024px){.qm-solved{grid-template-columns:220px minmax(0,1fr);align-items:start}.qm-exlist{position:sticky;top:88px}}.qm-exlist{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}@media (min-width:1024px){.qm-exlist{flex-direction:column;overflow:visible}}.qm-exlist a{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:12px;flex:none;align-items:center;gap:10px;max-width:260px;min-height:44px;padding:6px 12px 6px 6px;font-size:13.5px;font-weight:600;display:flex}.qm-exlist a:hover{border-color:hsl(var(--primary) / .5)}.qm-exno{background:hsl(var(--primary) / .1);min-width:34px;height:30px;font-family:var(--font-geist-mono), monospace;color:hsl(var(--primary));border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.qm-examples{gap:14px;min-width:0;display:grid}.qm-example{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;padding:16px 18px;scroll-margin-top:88px;font-size:1.02rem;line-height:1.75}.qm-example-label{letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--primary));flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:12.5px;font-weight:800;display:flex}.qm-example-label>svg{width:14px;height:14px}.qm-example-topic{border:1px solid hsl(var(--border));letter-spacing:0;text-transform:none;color:hsl(var(--muted-foreground));border-radius:999px;padding:1px 9px;font-size:11.5px;font-weight:700}.qm-years{gap:10px;display:grid}.qm-year{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:16px}.qm-year[open]{border-color:hsl(var(--primary) / .4)}.qm-year>summary{cursor:pointer;border-radius:16px;align-items:center;gap:12px;min-height:60px;padding:10px 14px;list-style:none;display:flex}.qm-year>summary::-webkit-details-marker{display:none}.qm-year>summary:hover{background:hsl(var(--muted) / .35)}.qm-year-badge{background:hsl(var(--primary) / .1);min-width:60px;height:36px;color:hsl(var(--primary));border-radius:10px;place-items:center;padding:0 10px;font-weight:800;display:grid}.qm-year[open] .qm-year-badge{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.qm-year-title{flex:1;min-width:0;font-size:15px;font-weight:700}.qm-year-n{color:hsl(var(--muted-foreground));font-size:13px;font-weight:700}.qm-year-qs{border-top:1px solid hsl(var(--border));padding:14px}@media (max-width:639px){.qm-year-qs{padding:10px}.qm-score{padding:14px}.qm-stats{flex-basis:100%}}.qm-topics{margin:-4px 0 14px}.qm-sol{gap:8px;margin-top:10px;display:grid}.qm-sol-actions{flex-wrap:wrap;gap:8px;display:flex}.qm-step{border-left:3px solid hsl(var(--primary) / .5);gap:2px;padding:4px 0 4px 12px;display:grid}.qm-step+.qm-step{margin-top:8px}.qm-step-no{letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--primary));font-size:12px;font-weight:800}.qm-sub{margin:26px 0 4px;font-size:16px;font-weight:800}.qs{gap:14px;display:grid}.qs-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;display:grid}.qs-card{border:1px solid hsl(var(--border));background:hsl(var(--card));text-align:left;border-radius:16px;align-content:start;gap:4px;min-height:132px;padding:12px;transition:border-color .2s,box-shadow .2s;display:grid}.qs-card:hover{border-color:hsl(var(--primary) / .45)}.qs-card:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.qs-card[aria-pressed=true]{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .12)}.qs-card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.qs-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));font-size:11px;font-weight:800}.qs-status{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.qs-card[data-status=done] .qs-status{color:#047857;background:#10b98124}.qs-card[data-status=go] .qs-status{color:#b45309;background:#f59e0b29}.qs-card[data-status=locked]{opacity:.7}.dark .qs-card[data-status=done] .qs-status{color:#6ee7b7}.dark .qs-card[data-status=go] .qs-status{color:#fcd34d}.qs-no{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.1}.qs-topic{text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground));font-size:12.5px;font-weight:600;overflow:hidden}.qs-prog{background:hsl(var(--muted));border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.qs-prog>em{border-radius:inherit;background:hsl(var(--primary));height:100%;transition:width .4s;display:block}.qs-detail{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.sd-ico.qs-detail-ico{border-radius:13px;width:42px;height:42px}.sd-ico.qs-detail-ico>svg{width:20px;height:20px}.qs-detail-title{font-size:16px;font-weight:800;display:block}.qs-detail-meta{color:hsl(var(--muted-foreground));font-size:13px;display:block}.qs-locked{min-height:44px;color:hsl(var(--muted-foreground));align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:inline-flex}.qs-locked>svg{width:16px;height:16px}.qs-test{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;gap:12px;padding:16px;display:grid}.qs-test-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.qs-resume{background:#f59e0b1a;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.qs-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.qs-stats>span{background:hsl(var(--muted) / .45);border-radius:12px;padding:10px 12px;display:grid}.qs-stats b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.qs-stats small{color:hsl(var(--muted-foreground));font-size:12px;font-weight:600}@media (max-width:639px){.qs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.qs-syllabus{flex-wrap:wrap;gap:6px;display:flex}.qs-instr{border:1px dashed hsl(var(--primary) / .45);background:hsl(var(--primary) / .05);border-radius:14px;padding:12px 14px;font-size:14px}.qs-instr ul{margin:6px 0 0;padding-left:18px;list-style:outside}.qs-session-head{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.qs-session-text{flex:1;min-width:180px}.qs-session-text>p{color:hsl(var(--muted-foreground));margin-top:2px;font-size:13px}.qs-session-title{letter-spacing:-.01em;font-size:18px;font-weight:800}.sd-ico.qs-session-ico{border-radius:14px;width:44px;height:44px}.sd-ico.qs-session-ico>svg{width:21px;height:21px}@media (prefers-reduced-motion:reduce){.qm-tab,.qm-ring-value,.qs-card,.qs-prog>em{transition:none}}.qm-reset[aria-pressed=true]{border-color:hsl(var(--primary));background:hsl(var(--primary) / .08);color:hsl(var(--primary))}.qs-detail>.min-w-0,.qs-test-head>.min-w-0{flex:220px}.qm-panel{padding-top:6px}.dh{border-bottom:1px solid hsl(var(--border));flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-bottom:14px;display:flex}.sd-ico.dh-ico{border-radius:13px;width:42px;height:42px}.sd-ico.dh-ico>svg{width:20px;height:20px}.dh-text{flex:220px;min-width:0}.dh-title{letter-spacing:-.015em;margin:0;font-size:19px;font-weight:800;line-height:1.25}.dh-text p{color:hsl(var(--muted-foreground));margin-top:2px;font-size:13px}.dh-seg{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .55);border-radius:12px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.dh-seg button{min-height:36px;color:hsl(var(--muted-foreground));border-radius:9px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:700;display:inline-flex}.dh-seg button[aria-pressed=true]{background:hsl(var(--card));color:hsl(var(--primary));box-shadow:0 1px 3px #0f172a1f}.dh-seg button:focus-visible,.dn-tl:focus-visible,.dn-olp:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.dn{align-items:start;gap:18px;margin-top:16px;display:grid}@media (min-width:1100px){.dn{grid-template-columns:210px minmax(0,1fr)}.dn-outline{position:sticky;top:88px}}.dn-outline{align-content:start;gap:4px;display:grid}@media (max-width:1099px){.dn-outline{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:16px;padding:10px}}.dn-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:hsl(var(--muted-foreground));padding:0 4px 4px;font-size:10.5px;font-weight:800;display:block}.dn-tl{border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;min-height:46px;padding:6px 10px;display:flex}.dn-tl i{background:hsl(var(--muted));width:24px;height:24px;color:hsl(var(--muted-foreground));border-radius:7px;flex:none;place-items:center;font-size:11px;font-style:normal;font-weight:800;display:grid}.dn-tl span{min-width:0;line-height:1.2;display:grid}.dn-tl b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dn-tl small{color:hsl(var(--muted-foreground));font-size:11px}.dn-tl:hover{background:hsl(var(--muted) / .55)}.dn-parts{gap:2px;margin:2px 0 6px;display:grid}.dn-olp{border-left:2px solid hsl(var(--border));min-height:32px;color:hsl(var(--muted-foreground));border-radius:0 8px 8px 0;align-items:center;gap:8px;margin-left:34px;padding:0 8px;font-size:12.5px;display:flex}.dn-olp i{font:700 11px var(--font-geist-mono), ui-monospace, monospace;color:hsl(var(--primary))}.dn-olp:hover{background:hsl(var(--muted) / .55);color:hsl(var(--foreground))}.dn-articles{gap:14px;min-width:0;display:grid}.dn-article{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;padding:22px 24px;scroll-margin-top:88px}@media (max-width:639px){.dn-article{padding:16px}}.dn-title{letter-spacing:-.02em;margin-top:4px;scroll-margin-top:88px;font-size:24px;font-weight:800;line-height:1.2}.dn-meta{color:hsl(var(--muted-foreground));flex-wrap:wrap;gap:12px;margin:6px 0 4px;font-size:12.5px;display:flex}.dh-actions{flex-wrap:wrap;gap:8px;display:flex}.dbtn{white-space:nowrap;border:1px solid hsl(var(--border));background:hsl(var(--card));min-height:40px;color:hsl(var(--foreground));border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.dbtn>svg{flex:none;width:15px;height:15px}.dbtn:hover:not(:disabled){border-color:hsl(var(--primary) / .45)}.dbtn:disabled{cursor:not-allowed;opacity:.5}.dbtn[aria-pressed=true]{border-color:hsl(var(--primary));background:hsl(var(--primary) / .08);color:hsl(var(--primary))}.dbtn-p{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:#0000}.dbtn-p:hover:not(:disabled){filter:brightness(1.06);border-color:#0000}.dbtn-t{color:hsl(var(--primary));background:0 0;border-color:#0000;padding:0 8px}.dtools{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .35);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:8px;display:flex}.dtools .dn-eyebrow{padding:0 4px}.dchip{white-space:nowrap;border:1px solid hsl(var(--border));background:hsl(var(--card));min-height:34px;color:hsl(var(--muted-foreground));border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.dchip[aria-pressed=true]{border-color:hsl(var(--foreground));background:hsl(var(--foreground));color:hsl(var(--background))}.dbtn:focus-visible,.dchip:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.qm-formulas{margin-top:14px}.qm-formula{box-shadow:0 1px 0 hsl(var(--border));gap:12px;padding:16px;transition:border-color .2s,box-shadow .2s}.qm-formula:hover{border-color:hsl(var(--primary) / .45);box-shadow:0 8px 20px -12px #0f172a40}.qm-formula-head{align-items:center}.sd-ico.dfc-ico{border-radius:10px;width:34px;height:34px}.sd-ico.dfc-ico>svg{width:16px;height:16px}.qm-formula-head b{font-size:14px}.qm-formula-head small{font-size:11.5px;font-weight:600}.qm-copy{border-radius:8px;min-height:32px}@media (prefers-reduced-motion:reduce){.qm-formula{transition:none}}.dsv{align-items:start;gap:16px;margin-top:16px;display:grid}@media (min-width:1100px){.dsv{grid-template-columns:250px minmax(0,1fr)}.dsv-list{position:sticky;top:88px}}.dsv-list{gap:8px;display:grid}@media (max-width:1099px){.dsv-list{padding-bottom:4px;display:flex;overflow-x:auto}.dsv-exi{flex:0 0 220px}}.dsv-exi{border:1px solid hsl(var(--border));background:hsl(var(--card));text-align:left;border-radius:14px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;padding:12px;display:grid}.dsv-exi b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;line-height:1.3;display:block;overflow:hidden}.dsv-meta{color:hsl(var(--muted-foreground));margin-top:4px;font-size:11.5px;display:block}.dsv-eno{background:hsl(var(--muted));width:34px;height:34px;font:800 12px var(--font-geist-mono), ui-monospace, monospace;color:hsl(var(--muted-foreground));border-radius:10px;place-items:center;display:grid}.dsv-exi:hover{border-color:hsl(var(--primary) / .45)}.dsv-exi[aria-pressed=true]{border-color:hsl(var(--primary));background:hsl(var(--primary) / .08);box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.dsv-exi[aria-pressed=true] .dsv-eno{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dsv-exi[aria-pressed=true] b{color:hsl(var(--primary))}.dsv-exi:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.dprob{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:18px;padding:20px 22px;scroll-margin-top:88px}@media (max-width:639px){.dprob{padding:16px}}.dq-h{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:6px;display:flex}.dq-n{background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:7px;padding:2px 8px;font-size:12px;font-weight:800}.dq-chip{border:1px solid hsl(var(--border));border-radius:999px;align-items:center;gap:5px;min-height:22px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.dprob-q{margin-top:10px;font-size:18px;font-weight:700;line-height:1.5}.dprob-st{margin-top:18px;padding:0}.dtline{margin-top:12px;padding:0;list-style:none;display:grid}.dts{grid-template-columns:30px minmax(0,1fr);gap:12px;padding-bottom:14px;font-size:15px;display:grid;position:relative}.dts:before{content:"";background:hsl(var(--border));width:2px;position:absolute;top:30px;bottom:0;left:14px}.dts[data-last]:before{display:none}.dts>i{z-index:1;background:hsl(var(--primary) / .1);width:30px;height:30px;color:hsl(var(--primary));border-radius:999px;place-items:center;font-size:12px;font-style:normal;font-weight:800;display:grid}.dts>span{padding-top:4px}.dpfoot{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.psum{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:20px;flex-wrap:wrap;align-items:center;gap:18px;margin-top:4px;padding:18px;display:flex}.psum .qm-ring{width:88px;height:88px}.psum .qm-ring b{font-size:19px}.ptxt{flex:1;min-width:200px}.ptxt h2{letter-spacing:-.015em;font-size:19px;font-weight:800}.ptxt p{color:hsl(var(--muted-foreground));margin-top:2px;font-size:13px}.pstats{flex:420px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.pst{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .35);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.pst>span{min-width:0;line-height:1.15;display:grid}.pst b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.pst small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.filterbar{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .35);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:8px;display:flex}.filterbar .grow{flex:1}.filterbar-label{letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));align-items:center;gap:5px;padding:0 4px;font-size:11px;font-weight:800;display:inline-flex}.filterbar-label>svg{width:14px;height:14px}.qm-dot{border-radius:999px;flex:none;width:7px;height:7px}[data-level="1"]>.qm-dot{background:#059669}[data-level="2"]>.qm-dot{background:#d97706}[data-level="3"]>.qm-dot{background:#e11d48}@media (max-width:639px){.psum{gap:14px;padding:14px}.psum .qm-ring{width:76px;height:76px}.ptxt{min-width:150px}.ptxt h2{font-size:17px}.pstats{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.filterbar-label{display:none}}.yrs{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:16px;margin-top:14px;display:grid}.yrlist{gap:6px;display:grid;position:sticky;top:76px}.yr{border:1px solid hsl(var(--border));background:hsl(var(--card));text-align:left;border-radius:12px;gap:6px;min-height:44px;padding:10px 12px;display:grid}.yr>span:first-child{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.yr b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.yr small{color:hsl(var(--muted-foreground));font-size:11.5px;font-weight:600}.yr:hover{border-color:hsl(var(--primary) / .45)}.yr[aria-pressed=true]{border-color:hsl(var(--primary));background:hsl(var(--primary) / .08)}.yr[aria-pressed=true] b{color:hsl(var(--primary))}.yr:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.yr-prog{background:hsl(var(--muted));border-radius:999px;height:4px;display:block;overflow:hidden}.yr-prog>em{border-radius:inherit;background:hsl(var(--primary));height:100%;transition:width .3s;display:block}.yhead{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.yhead h3{letter-spacing:-.015em;font-size:20px;font-weight:800}.yhead span{color:hsl(var(--muted-foreground));font-size:13px}.yrs .qm-year-qs,.qm-panel>.qm-year-qs{border-top:0;padding:0}@media (max-width:1023px){.yrs{grid-template-columns:minmax(0,1fr)}.yrlist{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));position:static}}@media (max-width:639px){.yrlist{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.yr-prog>em{transition:none}}.dn-ov{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:16px;margin-top:16px;padding:16px 18px}.dn-goals{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:10px;display:grid}.dn-goal{border:1px solid hsl(var(--border));background:hsl(var(--muted) / .3);text-align:left;border-radius:12px;align-items:center;gap:10px;min-width:0;min-height:52px;padding:8px 10px;display:flex}.dn-goal i{background:hsl(var(--muted));width:26px;height:26px;color:hsl(var(--muted-foreground));border-radius:8px;flex:none;place-items:center;font-size:11.5px;font-style:normal;font-weight:800;display:grid}.dn-goal span{min-width:0;line-height:1.2;display:grid}.dn-goal b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dn-goal small{color:hsl(var(--muted-foreground));font-size:11.5px}.dn-goal:hover{border-color:hsl(var(--primary) / .4)}.dn-goal[aria-current=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08)}.dn-goal[aria-current=true] b{color:hsl(var(--primary))}.dn-goal[aria-current=true] i{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dn-tl[aria-current=true]{border-color:hsl(var(--primary) / .4);background:hsl(var(--card));box-shadow:0 1px 0 hsl(var(--border)), 0 8px 20px -14px #0f172a73}.dn-tl[aria-current=true] i{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.dn-tl[aria-current=true] b{color:hsl(var(--primary))}.dn-meta>span{align-items:center;gap:5px;display:inline-flex}.dn-meta svg{width:14px;height:14px}.dn-foot{border-top:1px dashed hsl(var(--border));flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.dn-nav{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.dn-nv{border:1px solid hsl(var(--border));text-align:left;border-radius:14px;align-items:center;gap:10px;min-width:0;min-height:58px;padding:10px 14px;display:flex}.dn-nv>svg{width:16px;height:16px;color:hsl(var(--muted-foreground));flex:none}.dn-nv>span{min-width:0;line-height:1.25;display:grid}.dn-nv small{color:hsl(var(--muted-foreground));font-size:11.5px}.dn-nv b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.dn-nv:hover{border-color:hsl(var(--primary) / .4)}.dn-nv-r{text-align:right;grid-column:2;justify-content:flex-end}.dn-goal:focus-visible,.dn-nv:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.dh-seg button>svg{width:14px;height:14px}@media (max-width:639px){.dn-ov{padding:14px}.dn-goals,.dn-nav{grid-template-columns:minmax(0,1fr)}.dn-nv-r{grid-column:auto}}:is(.qm:has(.qs-session)>.qm-tabs,.qm-panel:has(.qs-session)>.dh){display:none}.qm-tab[data-empty]:not([aria-selected=true]) .qm-tab-ico{opacity:.55;filter:saturate(.6)}.qm-tab[data-empty] .qm-tab-text small{font-weight:500}.dn-ovbar{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;font-size:12.5px;font-weight:600;display:flex}.dn-prog{background:hsl(var(--muted));border-radius:999px;flex:1;min-width:120px;height:8px;display:block;overflow:hidden}.dn-prog>em{border-radius:inherit;background:#10b981;height:100%;transition:width .3s;display:block}.dn-goal[data-read] i,.dn-tl[data-read]:not([aria-current=true]) i{color:#047857;background:#10b98124}.dark .dn-goal[data-read] i,.dark .dn-tl[data-read]:not([aria-current=true]) i{color:#4ade9b}.dn-goal i>svg,.dn-tl i>svg{width:13px;height:13px}.dbtn.dbtn-done,.dbtn.dbtn-done[aria-pressed=true]{color:#047857;background:#10b9811f;border-color:#10b98180}.dark .dbtn.dbtn-done{color:#4ade9b}.dn-kept{color:hsl(var(--muted-foreground));margin-left:auto;font-size:11.5px}.dn-hint{background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));border-radius:12px;margin-top:12px;padding:10px 14px;font-size:13px}@media (prefers-reduced-motion:reduce){.dn-prog>em{transition:none}}.dchip>em{color:hsl(var(--primary));font-size:11px;font-style:normal}.dchip[aria-pressed=true]>em{color:hsl(var(--background))}.dchip-dot{background:var(--g2,hsl(var(--muted-foreground)));border-radius:999px;flex:none;width:8px;height:8px}.dchip-dot[data-tone=blue]{--g2:#4b6ef0}.dchip-dot[data-tone=violet]{--g2:#8b5cf6}.dchip-dot[data-tone=teal]{--g2:#14b8a6}.dchip-dot[data-tone=amber]{--g2:#f59e0b}.dchip-dot[data-tone=rose]{--g2:#f43f5e}.dchip-dot[data-tone=emerald]{--g2:#10b981}.dchip-dot[data-tone=cyan]{--g2:#06b6d4}.dchip-dot[data-tone=indigo]{--g2:#6366f1}.dchip-dot[data-tone=orange]{--g2:#f97316}.dchip-dot[data-tone=pink]{--g2:#ec4899}.qm-formula-box{min-height:86px;padding:14px;font-size:1.15rem}.qm-formula-use{color:hsl(var(--muted-foreground));gap:8px;font-size:13px;line-height:1.55;display:flex}.qm-formula-use>svg{color:#d97706;flex:none;width:15px;height:15px;margin-top:2px}.dark .qm-formula-use>svg{color:#f4b860}.qm-copy[data-done]{color:#047857;background:#10b9811f;border-color:#10b981}.dark .qm-copy[data-done]{color:#4ade9b}.qm-formula[hidden]{display:none}.dsv-q{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.dsv-meta{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.dsv-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid hsl(var(--border));max-width:100%;min-height:20px;color:hsl(var(--muted-foreground));border-radius:999px;align-items:center;padding:0 7px;font-size:10.5px;font-weight:700;display:inline-flex;overflow:hidden}.dsv-exi[aria-pressed=true] .dsv-q{color:hsl(var(--primary))}.qm-phdock{display:none}@media (max-width:639px){.qm-phdock{z-index:30;border:1px solid hsl(var(--border));background:hsl(var(--card) / .96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;padding:8px;display:grid;position:fixed;bottom:10px;left:10px;right:76px;box-shadow:0 20px 50px -20px #0f172a8c}.qm-phdock .dbtn{min-height:44px}.qm:has(.qm-phdock){padding-bottom:72px}.qm:has(.qs-session) .qm-phdock{display:none}}.qs-timeup{border:1px solid hsl(var(--border));background:hsl(var(--card));text-align:center;border-radius:18px;justify-items:center;gap:10px;margin-top:16px;padding:28px 20px;display:grid}.qs-timeup h3{letter-spacing:-.015em;font-size:19px;font-weight:800}.qs-timeup p{max-width:460px;color:hsl(var(--muted-foreground));font-size:13.5px}.heatwrap{border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:16px;margin-top:14px;overflow-x:auto}.heat{border-collapse:collapse;width:100%;min-width:560px}.heat th,.heat td{border-top:1px solid hsl(var(--border));text-align:center;padding:6px}.heat thead th{letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--muted-foreground));border-top:0;padding-top:12px;font-size:11px;font-weight:800}.heat thead th:first-child,.heat tbody th{text-align:left;padding-left:12px}.heat tbody th{max-width:260px;font-size:13px;font-weight:500}.heat tbody th a{text-overflow:ellipsis;white-space:nowrap;min-height:32px;line-height:32px;display:block;overflow:hidden}.heat tbody th a:hover{color:hsl(var(--primary))}.heat tbody th a:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:6px}.heat tbody tr[data-on]{background:hsl(var(--primary) / .08)}.heat tbody tr[data-on] th a{color:hsl(var(--primary));font-weight:800}.hc{font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;min-width:44px;height:30px;font-size:12px;font-weight:800;display:grid}.hc[data-h="0"]{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.hc[data-h="1"]{background:hsl(var(--primary) / .12);color:hsl(var(--primary))}.hc[data-h="2"]{background:hsl(var(--primary) / .35);color:hsl(var(--foreground))}.hc[data-h="3"]{color:#fff;background:linear-gradient(140deg,#7fa6ff,#2f47c9)}.heat-legend{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));justify-content:flex-end;align-items:center;gap:6px;padding:10px 12px;font-size:11.5px;display:flex}.heat-legend .hc{border-radius:4px;width:22px;min-width:0;height:14px}
