@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kalam-latin-400-normal-BthBl_aR.woff2)format("woff2"),url(/assets/kalam-latin-400-normal-Bl-H2BUA.woff)format("woff")}@font-face{font-family:Kalam;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/kalam-latin-700-normal-D2H-9ISU.woff2)format("woff2"),url(/assets/kalam-latin-700-normal-7TSuSrjP.woff)format("woff")}:root{--bg:#f3e6d4;--rule:#5c78aa21;--margin:#d6605459;--surface:#fffaf1;--surface-2:#f6ecdd;--text:#2a231e;--muted:#6b5d52;--border:#e4d3bc;--shadow:0 1px 0 #5a40280f, 0 10px 24px -16px #5a402873;--accent:#2c5aa0;--accent-text:#fff;--accent-soft:#e2eaf7;--highlight:#f4b43680;--sun:#e8a21f;--ok:#2f6b3d;--ok-fill:#4f8d5c;--ok-soft:#e0efdc;--warn:#8a4a0a;--warn-soft:#fbe8c8;--bad:#a3392a;--bad-soft:#f9ddd5;--info:#2c5aa0;--info-soft:#e2eaf7;--k-lecture:#2c5aa0;--k-notes:#2b8a7e;--k-pyq:#7458c9;--k-review:#4f8d5c;--k-aptitude:#d9822b;--k-error:#cc4b3c;--k-test:#c2477e;--k-revision:#5059b8;--k-other:#8a7a6c;--chart-score:#2c5aa0;--chart-done:#3b8f51;--chart-track:color-mix(in srgb, #3b8f51 22%, var(--surface));--chart-grid:#2a231e1f;--radius:16px;--tap:48px;--ease:cubic-bezier(.2, .8, .2, 1);--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--hand:"Kalam", "Segoe Print", "Bradley Hand", cursive;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;interpolate-size:allow-keywords}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#1c1916;--rule:#a0b4dc0f;--margin:#ff8c7840;--surface:#27221d;--surface-2:#322b25;--text:#f3ebe1;--muted:#bcae9f;--border:#3e352d;--shadow:0 1px 0 #0000004d, 0 12px 26px -18px #000c;--accent:#93b4f5;--accent-text:#14182a;--accent-soft:#263553;--highlight:#f5be5059;--sun:#f5c45e;--ok:#93d6a2;--ok-fill:#5fa56f;--ok-soft:#1f3524;--warn:#f7c56b;--warn-soft:#3d2e14;--bad:#ffa595;--bad-soft:#43221c;--info:#93b4f5;--info-soft:#263553;--k-lecture:#8fb0f3;--k-notes:#5fcfbf;--k-pyq:#b7a2ff;--k-review:#87cf96;--k-aptitude:#f6ab62;--k-error:#ff8c7d;--k-test:#f590bd;--k-revision:#a2a8ff;--k-other:#b2a393;--chart-score:#6a92e0;--chart-done:#5fa56f;--chart-track:color-mix(in srgb, #5fa56f 26%, var(--surface));--chart-grid:#f3ebe11f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#1c1916;--rule:#a0b4dc0f;--margin:#ff8c7840;--surface:#27221d;--surface-2:#322b25;--text:#f3ebe1;--muted:#bcae9f;--border:#3e352d;--shadow:0 1px 0 #0000004d, 0 12px 26px -18px #000c;--accent:#93b4f5;--accent-text:#14182a;--accent-soft:#263553;--highlight:#f5be5059;--sun:#f5c45e;--ok:#93d6a2;--ok-fill:#5fa56f;--ok-soft:#1f3524;--warn:#f7c56b;--warn-soft:#3d2e14;--bad:#ffa595;--bad-soft:#43221c;--info:#93b4f5;--info-soft:#263553;--k-lecture:#8fb0f3;--k-notes:#5fcfbf;--k-pyq:#b7a2ff;--k-review:#87cf96;--k-aptitude:#f6ab62;--k-error:#ff8c7d;--k-test:#f590bd;--k-revision:#a2a8ff;--k-other:#b2a393;--chart-score:#6a92e0;--chart-done:#5fa56f;--chart-track:color-mix(in srgb, #5fa56f 26%, var(--surface));--chart-grid:#f3ebe11f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--bg);background-image:linear-gradient(var(--rule) 1px, transparent 1px);min-height:100dvh;color:var(--text);font:18px/1.45 var(--font);-webkit-tap-highlight-color:transparent;background-size:100% 32px;margin:0}a{color:var(--accent)}h1,h2,h3,h4{line-height:1.25}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button,.button-link{font:inherit;min-height:var(--tap);border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;touch-action:manipulation;transition:transform .12s var(--ease), background-color .2s, box-shadow .2s;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:650;text-decoration:none;display:inline-flex}button:active:not(:disabled),.button-link:active{transform:scale(.97)}button.primary,.button-link.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 2px #00000026}button.done-btn{background:var(--ok-fill);border-color:var(--ok-fill);color:#fff;box-shadow:0 2px #00000026}button.ghost{color:var(--accent);background:0 0;border-color:#0000}button.small,.button-link.small{min-height:40px;padding:0 12px;font-size:.92rem}button:disabled{opacity:.5;cursor:default}input,select{font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--border);min-height:var(--tap);border-radius:12px;padding:0 12px}.app{min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{z-index:10;padding:max(4px, env(safe-area-inset-top)) 8px 4px 16px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.brand{color:var(--text);font:700 1.3rem/1 var(--hand);text-decoration:none}main{max-width:42rem;margin:0 auto;padding:12px 16px 24px}.tabbar{z-index:10;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px -18px #3c281480}.tabbar a{min-height:64px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.85rem;font-weight:700;text-decoration:none;transition:color .2s;display:flex;position:relative}.tabbar a[aria-current=page]{color:var(--accent)}.tabbar a[aria-current=page]:before{content:"";background:var(--sun);border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:30%;right:30%}.muted{color:var(--muted)}.small{font-size:.86rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.highlight{background:linear-gradient(transparent 68%, var(--highlight) 68%, var(--highlight) 90%, transparent 90%);border-radius:.2em;padding:0 .12em}.notice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.notice-bad{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.pill{background:var(--surface-2);min-height:32px;color:var(--text);border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-size:.88rem;font-weight:650;display:inline-flex}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-bad{background:var(--bad-soft);color:var(--bad)}.pill-info{background:var(--info-soft);color:var(--info)}.bar{background:var(--surface-2);border-radius:999px;height:10px;margin:8px 0 4px;overflow:hidden}.bar-fill{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--sun)));height:100%;transition:width .7s var(--ease);border-radius:999px}.link-chip{background:var(--surface-2);min-height:40px;color:var(--text);border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.segmented{border:1.5px solid var(--border);background:var(--surface);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.segmented button{background:0 0;border:0;border-radius:0;padding:0 8px}.segmented button+button{border-left:1.5px solid var(--border)}.segmented button.on{background:var(--accent);color:var(--accent-text)}.section-title{font:700 1.35rem/1.2 var(--hand);margin:24px 0 8px}.card,.hero,.slot,.subject,.day,.banner,.changes{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}details::details-content{block-size:0;transition:block-size .28s var(--ease), content-visibility .28s allow-discrete;overflow:hidden}details[open]::details-content{block-size:auto}.chev{width:28px;height:28px;color:var(--muted);transition:transform .25s var(--ease);flex:none;place-items:center;display:inline-grid}details[open]>summary .chev{transform:rotate(180deg)}.banner{border-color:var(--accent);background:var(--accent-soft);animation:drop-in .35s var(--ease) both;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;padding:10px 12px 10px 16px;font-weight:600;display:flex}.banner-actions{gap:8px;display:flex}.banner-warn{border-color:var(--warn);background:var(--warn-soft)}.banner-milestone{border-color:var(--ok-fill);background:var(--ok-soft);color:var(--text)}.banner-milestone strong{font:700 1.15rem var(--hand)}.hero{padding:14px 16px;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(225deg, var(--bg) 50%, var(--surface-2) 50%);border-bottom-left-radius:6px;width:26px;height:26px;position:absolute;top:0;right:0}.greeting{color:var(--muted);font:400 1.1rem var(--hand);margin:0}.countdown{margin:2px 0 0;font-size:1.05rem}.countdown .big{font:700 3rem/1 var(--hand);font-variant-numeric:tabular-nums;margin-right:6px}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hero-more>summary{min-height:40px;color:var(--accent);align-items:center;gap:2px;margin-top:4px;font-size:.95rem;font-weight:650;display:inline-flex}.hero-more dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:4px 0;font-size:.95rem;display:grid}.hero-more dt{color:var(--muted)}.hero-more dd{margin:0}.changes{border-left:5px solid var(--sun);animation:drop-in .35s var(--ease) both;margin:12px 0;padding:12px 16px}.changes h2{font:700 1.15rem var(--hand);margin:0 0 4px}.changes p{margin:0}.changes summary{min-height:36px;color:var(--accent);align-items:center;margin-top:4px;font-size:.92rem;font-weight:650;display:inline-flex}.changes ul{margin:4px 0 0;padding-left:20px}.slot{margin-bottom:12px;transition:box-shadow .25s,border-color .25s;overflow:hidden}.slot>summary{align-items:center;gap:12px;min-height:64px;padding:10px 12px;display:flex}.slot-icon{background:var(--surface-2);width:42px;height:42px;color:var(--muted);border-radius:50%;flex:none;place-items:center;transition:background-color .3s;display:grid}.slot-light .slot-icon{background:color-mix(in srgb, var(--sun) 24%, var(--surface));color:color-mix(in srgb, var(--sun) 55%, var(--text))}.slot-deep .slot-icon{background:var(--accent-soft);color:var(--accent)}.slot-heading{flex:1;min-width:0}.slot-heading h3{margin:0;font-size:1.12rem}.slot-sub{color:var(--muted);font-size:.9rem;display:block}.slot-now{border-color:var(--sun);box-shadow:0 0 0 3px color-mix(in srgb, var(--sun) 35%, transparent), var(--shadow)}.slot-now.slot-done{border-color:var(--border);box-shadow:var(--shadow)}.slot-done .slot-icon{background:var(--ok-soft);color:var(--ok)}.slot-body{padding:0 12px 12px}.conditions{color:var(--muted);margin:0 0 4px;font-size:.88rem}.empty{color:var(--muted);margin:6px 0 2px}.task{--k:var(--k-other);border:1px solid var(--border);border-left:6px solid var(--k);background:var(--surface);transition:padding .25s var(--ease), background-color .4s;border-radius:12px;margin-top:10px;padding:12px}.task-lecture{--k:var(--k-lecture)}.task-notes{--k:var(--k-notes)}.task-pyq{--k:var(--k-pyq)}.task-review,.task-flashcards{--k:var(--k-review)}.task-aptitude{--k:var(--k-aptitude)}.task-error-resolve{--k:var(--k-error)}.task-test,.task-mock{--k:var(--k-test)}.task-revision{--k:var(--k-revision)}.task-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:flex}.task-meta .kind{background:color-mix(in srgb, var(--k) 16%, var(--surface));color:color-mix(in srgb, var(--k) 75%, var(--text));letter-spacing:.02em;border-radius:999px;padding:2px 10px}.task-title{overflow-wrap:anywhere;margin:6px 0 10px;font-size:1.05rem;font-weight:620;line-height:1.35}.task-logged{background:var(--surface-2);padding-top:8px;padding-bottom:8px}.task-logged .task-title{color:var(--muted);margin-bottom:4px;font-size:.98rem}.task-done .task-title{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--ok-fill) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--ok-fill) 70%, transparent);text-decoration-thickness:2px}.task-logged .links,.task-logged .hint{display:none}.task-celebrate{animation:celebrate .9s var(--ease)}.task-celebrate .logged-status svg{animation:pop .5s var(--ease) both}.links{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.hint{color:var(--muted);margin:0 0 10px;font-size:.9rem}.actions{grid-template-columns:1.5fr 1fr 1fr;gap:8px;display:grid}.logged{justify-content:space-between;align-items:center;gap:8px;min-height:40px;font-weight:650;display:flex}.logged-status{align-items:center;gap:6px;display:inline-flex}.task-done .logged-status{color:var(--ok)}.task-partial .logged-status{color:var(--warn)}.task-skipped .logged-status{color:var(--muted)}.choice{animation:drop-in .25s var(--ease) both;flex-direction:column;gap:8px;display:flex}.choice-q{margin:0;font-weight:650}.choice-row{flex-wrap:wrap;gap:8px;display:flex}.choice-row input{width:7rem}.recall button{flex-direction:column;flex:1 1 0;gap:0;min-height:60px;padding:4px}.recall button strong{font:700 1.3rem/1 var(--hand)}.recall button span{font-size:.72rem;font-weight:500}.day{margin-bottom:8px;overflow:hidden}.day>summary{min-height:var(--tap);align-items:center;gap:8px;padding:4px 8px 4px 16px;font-weight:700;display:flex}.day-label{flex:1}.day-slot{padding:0 16px 10px}.day-slot h4{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:6px 0 2px;font-size:.8rem}.day-slot ul{margin:0;padding:0;list-style:none}.day-slot li{padding:4px 0;font-size:.95rem}.day-slot li.done{color:var(--muted);text-decoration:line-through}.day-slot .kind{color:var(--muted);text-transform:uppercase;margin-right:4px;font-size:.72rem;font-weight:800}.legend{margin:10px 2px 0}.subject{margin-bottom:10px;overflow:hidden}.subject>summary{grid-template-columns:1fr auto;gap:2px 8px;padding:12px 12px 12px 16px;display:grid}.subject>summary .bar{grid-column:1/-1}.subject>summary .chev{grid-area:1/2/span 2;align-self:center}.subject-name{font-size:1.05rem;font-weight:700}.subject[open]>summary{border-bottom:1px dashed var(--border)}.topics{margin:0;padding:0;list-style:none}.topic-row{min-height:var(--tap);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);color:var(--text);grid-template-columns:1fr auto;grid-template-areas:"name stages""sub stages";gap:2px 12px;padding:10px 16px;text-decoration:none;transition:background-color .2s;display:grid}.topic-row:active{background:var(--surface-2)}.topics li:last-child .topic-row{border-bottom:0}.topic-name{grid-area:name;font-weight:600}.topic-sub{grid-area:sub}.stages{grid-area:stages;align-self:center;gap:4px;display:flex}.stage{border:1.5px dashed var(--border);min-width:28px;height:28px;color:var(--muted);border-radius:8px;place-items:center;font-size:.7rem;font-weight:800;transition:background-color .3s,border-color .3s;display:inline-grid}.stage-in-progress{border-style:solid;border-color:var(--sun);background:color-mix(in srgb, var(--sun) 20%, var(--surface));color:var(--warn)}.stage-done{border-style:solid;border-color:var(--ok-fill);background:var(--ok-fill);color:#fff}.version{text-align:center;margin:24px 0 0}.page-title,.topic-title{font:700 1.8rem/1.15 var(--hand);margin:4px 0}.back{min-height:var(--tap);align-items:center;gap:4px;font-weight:650;text-decoration:none;display:inline-flex}.card{margin:12px 0;padding:12px 16px}.card h2{font:700 1.25rem var(--hand);margin:0 0 8px}details.card{padding:0;overflow:hidden}details.card>summary{align-items:center;gap:8px;min-height:56px;padding:8px 12px 8px 16px;display:flex}details.card>summary h2{flex:1;margin:0}.card-body{padding:0 16px 14px}.stage-sum{color:var(--muted);font-size:.86rem;font-weight:600}.stage-card-done{border-left:6px solid var(--ok-fill)}.stage-card-in-progress{border-left:6px solid var(--sun)}.stepper,.estimate{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.stepper input,.estimate input{text-align:center;width:5.5rem}.stepper button{width:var(--tap);padding:0;font-size:1.3rem}.video-group h3{color:var(--muted);margin:12px 0 2px;font-size:.85rem}.videos{margin:0;padding:0;list-style:none}.videos li{border-bottom:1px dashed var(--border);align-items:center;gap:8px;padding:6px 0;display:flex}.check{cursor:pointer;overflow-wrap:anywhere;flex:1;align-items:flex-start;gap:10px;min-height:44px;font-size:.95rem;display:flex}.check input{width:24px;height:24px;min-height:0;accent-color:var(--ok-fill);flex:none;margin:2px 0 0;padding:0}.icon-link{width:var(--tap);height:var(--tap);background:var(--surface-2);color:var(--text);border-radius:12px;flex:none;place-items:center;display:inline-grid}.extra{margin:10px 0 0}.go-topics{gap:8px;margin:0;padding:0;list-style:none;display:grid}.go-topics a{font-weight:650}.field{gap:4px;margin:10px 0;font-weight:600;display:grid}.field input,.field select{width:100%}.field.inline{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 12px 46px;font-weight:500;display:flex}.field.inline input,.field.inline select{width:auto}.switch{min-height:var(--tap);cursor:pointer;align-items:center;gap:12px;display:flex}.switch input{appearance:none;background:var(--border);cursor:pointer;border:0;border-radius:999px;flex:none;width:34px;height:22px;min-height:0;margin:0;padding:0;transition:background-color .2s;position:relative}.switch input:after{content:"";background:var(--surface);width:16px;height:16px;transition:transform .2s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked{background:var(--ok-fill)}.switch input:checked:after{transform:translate(12px)}.button-row{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.status-list{margin:0 0 8px;padding:0;list-style:none}.status-list li{padding:4px 0 4px 24px;font-size:.95rem;position:relative}.status-list li:before{content:"•";color:var(--muted);position:absolute;left:6px}.status-list li.ok:before{content:"✓";color:var(--ok);font-weight:800}.status-list li.bad{color:var(--bad)}.status-list li.bad:before{content:"!";color:var(--bad);font-weight:800}.steps{margin:8px 0 0;padding-left:20px}.steps li{margin:4px 0}.subtabs{border:1.5px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:repeat(3,1fr);margin:8px 0 12px;padding:4px;display:grid}.subtabs a{min-height:44px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.subtabs a[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}button.wide{width:100%;margin:8px 0}textarea{font:inherit;color:var(--text);background:var(--surface);border:1.5px solid var(--border);resize:vertical;border-radius:12px;width:100%;padding:10px 12px}.field-row{gap:8px;display:flex}.field-row .field{flex:1 1 0;min-width:0}.field-row .field.grow{flex:2 1 0}.field.inline.flush{margin-left:0}.button-row.tight{margin:6px 0 0}.stat{margin:4px 0}.stat .big{font:700 2.4rem/1 var(--hand)}table.kinds{border-collapse:collapse;width:100%;font-size:.95rem}.kinds th,.kinds td{border-bottom:1px dashed var(--border);text-align:right;font-variant-numeric:tabular-nums;padding:8px 4px}.kinds th:first-child{text-align:left;font-weight:600}.kinds thead th{color:var(--muted);font-size:.8rem;font-weight:700}.avail{margin:4px 0 0;padding:0;list-style:none}.avail li{border-top:1px dashed var(--border)}.avail-day>summary{align-items:center;gap:8px;min-height:52px;display:flex}.avail-day>summary strong{white-space:nowrap;flex:none;min-width:6rem}.avail-day>summary .muted{flex:1;min-width:0}.avail-slots{flex-wrap:wrap;align-items:center;gap:6px;padding:0 0 10px;display:flex}button.slot-chip{min-height:48px;color:var(--muted);background:0 0;border-style:dashed;flex-direction:column;align-items:flex-start;gap:0;padding:4px 12px;font-size:.9rem;text-decoration:line-through}button.slot-chip span{font-size:.78rem;font-weight:500}button.slot-chip.on{border-style:solid;border-color:color-mix(in srgb, var(--ok-fill) 55%, var(--border));background:var(--ok-soft);color:var(--text);text-decoration:none}.avail li.off strong{color:var(--muted);text-decoration:line-through}.mistakes,.mocks{margin:0;padding:0;list-style:none}.mistake,.mock{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--k-error);border-radius:var(--radius);box-shadow:var(--shadow);animation:drop-in .25s var(--ease);margin:8px 0;padding:10px 14px}.mistake-calculation{border-left-color:var(--k-aptitude)}.mistake-misread{border-left-color:var(--k-pyq)}.mistake-time{border-left-color:var(--k-lecture)}.mistake-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.mistake p{margin:2px 0}.mistake-note{font:400 1.08rem/1.35 var(--hand);white-space:pre-wrap}.mock{border-left-color:var(--k-test);align-items:center;gap:12px;display:flex}.mock>div:first-child:not(.mock-score),.mock-info{flex:1;min-width:0;display:grid}.mock-pending{border-style:dashed dashed dashed solid}.mock-score{justify-items:center;min-width:3.4rem;display:grid}.hand-num{font:700 1.9rem/1 var(--hand);font-variant-numeric:tabular-nums}.chart{margin:4px 0;position:relative}.chart svg{touch-action:pan-y;border-radius:8px;width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-axis{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chart-area{fill:var(--chart-score);opacity:.1}.chart-line{fill:none;stroke:var(--chart-score);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart-dot{fill:var(--chart-score);stroke:var(--surface);stroke-width:2px;transition:r .15s var(--ease)}.chart-end{fill:var(--text);font:700 15px var(--hand)}.chart-tooltip{background:var(--surface);border:1px solid var(--border);width:max-content;max-width:12rem;box-shadow:var(--shadow);pointer-events:none;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:2px 4px;padding:6px 10px;font-size:.85rem;display:flex;position:absolute;top:-6px;transform:translate(-50%,-100%)}.chart-tooltip strong{font:700 1.15rem/1 var(--hand)}.chart-tooltip-label{color:var(--muted);flex-basis:100%;font-size:.8rem}.chart-legend{color:var(--muted);align-items:center;gap:6px;margin:0 0 6px;font-size:.82rem;display:flex}.key{border-radius:3px;width:12px;height:12px;display:inline-block}.key-planned{background:var(--chart-track);margin-left:10px}.key-done{background:var(--chart-done)}.meters ul{margin:0;padding:0;list-style:none}button.meter-row{text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:2.6rem 1fr 5.6rem;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 4px;font-weight:500;display:grid}button.meter-row:active:not(:disabled){background:var(--surface-2);transform:none}.meter-day{color:var(--muted);font-weight:700}.is-today .meter-day{color:var(--text);background:linear-gradient(transparent 62%, var(--highlight) 62%)}.meter{height:14px;position:relative}.meter-track,.meter-fill{transition:width .4s var(--ease);border-radius:4px;position:absolute;inset:0 auto 0 0}.meter-track{background:var(--chart-track)}.meter-fill{background:var(--chart-done)}.meter-value{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.85rem}.meter-detail{color:var(--muted);animation:drop-in .2s var(--ease);margin:0 0 6px 3.2rem;font-size:.86rem}.slot-list{margin:0;padding:0;list-style:none}.slot-list li{border-top:1px dashed var(--border);padding:6px 0}.slot-list li.off strong{color:var(--muted)}.slot-list .field.inline{flex-wrap:nowrap;margin:2px 0 6px 46px}.slot-list .field.inline input{flex:auto;min-width:0}.slot-list .field.inline select{flex:none}.segmented-2x2 .segmented{grid-template-columns:1fr 1fr;grid-auto-flow:row}.segmented-2x2 .segmented button:nth-child(odd){border-left:0}.segmented-2x2 .segmented button:nth-child(n+3){border-top:1.5px solid var(--border)}.mistake-head .pill{white-space:nowrap;flex:none}.practice-progress{gap:4px;margin:8px 0 12px;display:grid}.qcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);animation:drop-in .25s var(--ease);margin:0 0 16px;padding:12px}.qcard-label{margin:0 0 8px}.qimg{background:#fff;border-radius:10px;min-height:80px;margin:0 -4px 12px;position:relative;overflow:hidden}.qimg-scroll{cursor:zoom-in;-webkit-overflow-scrolling:touch;background:#fff;overflow-x:auto}.qimg.zoomed .qimg-scroll{cursor:zoom-out}.qimg canvas{display:block}.qimg-zoom{background:var(--surface);color:var(--muted);text-align:right;padding:4px 8px;font-size:.78rem;font-weight:600;display:block}.qimg.loading canvas{opacity:.25}.qimg-loading{color:#6b5d52;place-items:center;font-size:.9rem;display:grid;position:absolute;inset:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .qimg canvas{filter:invert(.9)hue-rotate(180deg)}:root:not([data-theme=light]) .qimg,:root:not([data-theme=light]) .qimg-scroll{background:#1a1a1a}}:root[data-theme=dark] .qimg canvas{filter:invert(.9)hue-rotate(180deg)}:root[data-theme=dark] .qimg,:root[data-theme=dark] .qimg-scroll{background:#1a1a1a}.options{grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:8px;margin:4px 0 8px;display:grid}.options.two{grid-template-columns:1fr 1fr}.options button{min-height:56px;font:700 1.35rem var(--hand)}.options button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.options-hint{grid-column:1/-1;margin:0}.field.nat input{font-size:1.2rem}.verdict{background:var(--surface-2);animation:drop-in .25s var(--ease);border-radius:12px;margin-top:4px;padding:12px}.verdict p{margin:0 0 6px}.verdict-ok{background:var(--ok-soft)}.verdict-bad{background:var(--bad-soft)}.verdict-title{font:700 1.25rem var(--hand)}.verdict-ok .verdict-title{color:var(--ok)}.verdict-bad .verdict-title{color:var(--bad)}.why{margin:8px 0}a.link-chip.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.library-progress{margin:8px 0}.library-progress p{margin:6px 0 0}.mock-bar{z-index:5;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px dashed var(--border);align-items:center;gap:8px;margin:0 -16px 12px;padding:8px 16px;display:flex;position:sticky;top:56px}.mock-clock{font:700 1.5rem/1 var(--hand);font-variant-numeric:tabular-nums;min-width:5.2rem}.mock-clock.low{color:var(--bad)}.mock-sections{flex:1;gap:4px;display:flex}.mock-sections button{flex:1;min-height:40px;padding:0 8px;font-size:.9rem}.mock-sections button span{color:var(--muted);font-size:.78rem;font-weight:600}.mock-sections button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.mock-sections button.on span{color:inherit}.mock-q-head{font:700 1.3rem var(--hand);justify-content:space-between;align-items:baseline;gap:8px;margin:4px 0 8px;display:flex}.mock-actions{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.mock-actions .primary{grid-column:1/-1}.mock-submit{margin-top:20px}.page-nav{justify-content:space-between;align-items:center}.palette-legend{grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 8px;padding:0;font-size:.82rem;list-style:none;display:grid}.palette-legend li{align-items:center;gap:6px;display:flex}.palette-legend .pq{width:18px;height:18px;min-height:0}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.pq{border:1.5px dashed var(--border);background:var(--surface-2);min-height:44px;color:var(--muted);border-radius:8px;place-items:center;padding:0;font-weight:700;display:inline-grid;position:relative}.pq-not-answered{border:1.5px solid var(--bad);background:var(--bad-soft);color:var(--bad)}.pq-answered{border:1.5px solid var(--ok-fill);background:var(--ok-fill);color:#fff}.pq-marked,.pq-answered-marked{border:1.5px solid var(--k-pyq);background:var(--k-pyq);color:#fff;border-radius:50%}.pq-answered-marked:after{content:"";border:1.5px solid var(--surface);background:var(--ok-fill);border-radius:50%;width:9px;height:9px;position:absolute;bottom:2px;right:2px}.palette-legend .pq-answered-marked:after{width:6px;height:6px;bottom:-1px;right:-1px}.pq-current{outline:3px solid var(--sun);outline-offset:2px}.papers{margin:0;padding:0;list-style:none}.paper-row{border-top:1px dashed var(--border);min-height:48px;color:var(--text);grid-template-columns:1fr auto auto;align-items:center;gap:10px;text-decoration:none;display:grid}.more-papers>summary{border-top:1px dashed var(--border);min-height:48px;color:var(--accent);justify-content:space-between;align-items:center;font-weight:650;display:flex}.review{margin:12px 0;padding:0;list-style:none}.review li{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--border);border-radius:12px;margin:6px 0}.review li.right{border-left-color:var(--ok-fill)}.review li.wrong{border-left-color:var(--bad)}button.review-row{text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;font-weight:500;display:grid}.review-marks{font:700 1.1rem var(--hand);color:var(--ok)}.review-marks.neg{color:var(--bad)}.review-body{padding:0 12px 12px}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.25)}to{transform:scale(1)}}@keyframes celebrate{0%{background-color:var(--ok-soft);transform:scale(1.015)}to{transform:none}}@keyframes page-out{to{opacity:0;transform:translateY(-4px)}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}::view-transition-old(root){animation:.14s ease-in both page-out}::view-transition-new(root){animation:page-in .24s var(--ease) both}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}::view-transition-old(root){transition:none!important;animation:none!important}::view-transition-new(root){transition:none!important;animation:none!important}}@media (width>=720px){body:before{content:"";background:var(--margin);pointer-events:none;width:2px;position:fixed;inset:0 auto 0 calc(50% - 22rem)}}
