@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.04o39dzmj.ey..woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.0b_~8bw~gzh90.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.0_qb~~5cn13jl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.0eehd8tgys7nv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_75580a06-module__h4idsq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_75580a06-module__h4idsq__variable{--font-plus-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_880bd459-module__KbmBwW__className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.source_serif_4_880bd459-module__KbmBwW__variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7ea1d0f9-module__6GV5LG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7ea1d0f9-module__6GV5LG__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@tailwind base;@tailwind components;@tailwind utilities;:root{--color-primary-50:#ebf9ef;--color-primary-100:#d4f0dc;--color-primary-200:#aadcba;--color-primary-300:#7cbc92;--color-primary-400:#5a9971;--color-primary-500:#397852;--color-primary-600:#1f613c;--color-primary-700:#0e492a;--color-primary-800:#003219;--color-primary-900:#001c0c;--color-neutral-0:#fff;--color-neutral-50:#f8f7f5;--color-neutral-100:#f0eee9;--color-neutral-200:#e5e2dc;--color-neutral-300:#d0ccc4;--color-neutral-400:#b0aba1;--color-neutral-500:#8a857a;--color-neutral-600:#6b665c;--color-neutral-700:#4e4a41;--color-neutral-800:#34302a;--color-neutral-900:#1c1916;--color-success-100:#d0f3d0;--color-success-500:#278733;--color-success-700:#005211;--color-error-100:#ffe7e4;--color-error-500:#c53637;--color-error-700:#800613;--color-warning-100:#ffebcf;--color-warning-500:#dc9400;--color-warning-700:#915c00;--color-info-100:#d7efff;--color-info-500:#0083c4;--color-info-700:#004d7a;--fg1:var(--color-neutral-900);--fg2:var(--color-neutral-700);--fg3:var(--color-neutral-500);--fg-inverse:var(--color-neutral-0);--fg-brand:var(--color-primary-500);--fg-brand-dark:var(--color-primary-700);--bg-page:var(--color-neutral-50);--bg-surface:var(--color-neutral-0);--bg-sunken:var(--color-neutral-100);--bg-brand:var(--color-primary-500);--bg-brand-subtle:var(--color-primary-100);--border-subtle:var(--color-neutral-200);--border-default:var(--color-neutral-300);--border-strong:var(--color-neutral-400);--border-brand:var(--color-primary-400);--color-correct:var(--color-success-500);--color-correct-bg:var(--color-success-100);--color-wrong:var(--color-error-500);--color-wrong-bg:var(--color-error-100);--color-diff-easy:#308639;--color-diff-medium:#be7100;--color-diff-hard:#c53637;--bg:var(--bg-page);--bg-elev:var(--bg-surface);--ink:var(--fg1);--ink-2:var(--fg2);--ink-3:var(--fg3);--ink-4:var(--color-neutral-400);--line:var(--border-subtle);--line-strong:var(--border-default);--accent:var(--color-primary-500);--accent-ink:var(--color-primary-700);--accent-bg:var(--color-primary-100);--accent-line:var(--color-primary-200);--ok:var(--color-success-500);--ok-bg:var(--color-success-100);--warn:var(--color-warning-500);--err:var(--color-error-500);--err-bg:var(--color-error-100);--mat:#397852;--fqa:#0079b6;--bio:#308639;--por:#c53637;--his:#be7100;--geo:#00787d;--font-sans:"Plus Jakarta Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-plus-jakarta:"Plus Jakarta Sans";--font-jetbrains-mono:"JetBrains Mono";--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--r-sm:6px;--r-md:8px;--r-lg:8px;--r-xl:12px;--shadow-1:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-2:0 4px 12px #00000017, 0 2px 4px #0000000a;--shadow-3:0 8px 24px #0000001f, 0 4px 8px #0000000f;--shadow-sm:var(--shadow-1);--shadow-md:var(--shadow-2);--shadow-lg:var(--shadow-3);--transition-fast:.15s ease-out;--transition-normal:.2s ease-out;--sidebar-width:260px}@supports (color:lab(0% 0 0)){:root{--color-primary-50:lab(96.7911% -6.18485 3.16765);--color-primary-100:lab(92.4193% -12.4083 6.35862);--color-primary-200:lab(83.5352% -21.8416 11.2053);--color-primary-300:lab(71.0315% -28.2606 14.5177);--color-primary-400:lab(58.2658% -28.3641 14.5828);--color-primary-500:lab(45.4977% -28.5205 14.6823);--color-primary-600:lab(36.2095% -28.6956 14.7957);--color-primary-700:lab(26.7955% -25.5998 13.2126);--color-primary-800:lab(17.3806% -22.5344 11.6507);--color-primary-900:lab(7.84433% -13.5283 6.66311);--color-success-100:lab(92.6574% -16.7672 13.1449);--color-success-500:lab(49.5829% -42.1882 35.8774);--color-success-700:lab(29.4822% -33.8463 29.6069);--color-error-100:lab(93.8292% 12.2803 6.63641);--color-error-500:lab(45.9853% 56.8958 34.8481);--color-error-700:lab(26.54% 47.6349 31.3324);--color-warning-100:lab(94.2525% 4.93851 18.9744);--color-warning-500:lab(67.3107% 22.3394 78.3256);--color-warning-700:lab(44.0548% 20.8696 82.2949);--color-info-100:lab(93.0858% -6.19635 -13.0213);--color-info-500:lab(50.9876% -13.2611 -46.4997);--color-info-700:lab(30.0871% -8.86402 -37.0254);--color-diff-easy:lab(49.4761% -39.3352 33.1143);--color-diff-medium:lab(55.4493% 26.6652 62.9755);--color-diff-hard:lab(45.9853% 56.8958 34.8481);--mat:lab(45.4977% -28.5205 14.6823);--fqa:lab(47.4743% -12.5258 -46.4196);--bio:lab(49.4761% -39.3352 33.1143);--por:lab(45.9853% 56.8958 34.8481);--his:lab(55.4493% 26.6652 62.9755);--geo:lab(45.4644% -37.3146 -15.2493)}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg-page);color:var(--fg1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-size:14px;line-height:1.5}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.btn{border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;border:1.5px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.btn--primary{background:var(--color-primary-500);color:#fff;box-shadow:0 2px 8px #4d7b6a4d}.btn--primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 14px #4d7b6a66}.btn--primary:active{transform:scale(.98)}.btn--ghost{color:var(--fg2);border-color:var(--border-default);background:var(--bg-surface)}.btn--ghost:hover{background:var(--bg-sunken);border-color:var(--border-strong)}.btn--soft{background:var(--bg-sunken);color:var(--fg2)}.btn--soft:hover{background:var(--border-subtle)}.btn--sm{padding:5px 10px;font-size:12.5px}.btn--lg{padding:11px 22px;font-size:15px}.btn:disabled{opacity:.4;pointer-events:none}.tag{border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--fg3);white-space:nowrap;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.tag--brand{background:var(--color-primary-100);color:var(--color-primary-700)}.tag--info{background:var(--color-info-100);color:var(--color-info-700)}.tag--easy{color:#005211;color:lab(29.4822% -33.8463 29.6069);background:#d0f3d0;background:lab(92.6574% -16.7672 13.1449)}.tag--medium{color:#915c00;color:lab(44.0548% 20.8696 82.2949);background:#ffebcf;background:lab(94.2525% 4.93851 18.9744)}.tag--hard{color:#800613;color:lab(26.54% 47.6349 31.3324);background:#ffe7e4;background:lab(93.8292% 12.2803 6.63641)}.iconbtn{border-radius:var(--radius-md);width:32px;height:32px;color:var(--fg3);flex-shrink:0;place-items:center;transition:all .12s;display:grid}.iconbtn:hover{background:var(--bg-sunken);color:var(--fg1)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.segmented{background:var(--bg-sunken);border-radius:var(--radius-md);gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--fg3);border-radius:5px;padding:5px 12px;font-size:12.5px;font-weight:600}.segmented button[data-active=true]{background:var(--bg-surface);color:var(--color-primary-700);box-shadow:var(--shadow-1)}.serif{font-family:var(--font-source-serif,"Source Serif 4", Georgia, serif)}.mono{font-family:var(--font-mono)}img{border-radius:4px;max-width:100%;height:auto}:where(button,a,[role=button],input,select,textarea):focus{outline:none}:where(button,a,[role=button],input,select,textarea):focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px;border-radius:var(--radius-sm)}.app-sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.app-sidebar-trigger,.app-sidebar-backdrop{display:none}@media (max-width:768px){.app-sidebar{z-index:50;height:100dvh;box-shadow:var(--shadow-3);transition:transform .2s ease-out;position:fixed;top:0;left:0;transform:translate(-100%)}.app-sidebar[data-open=true]{transform:translate(0)}.app-sidebar-trigger{z-index:40;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);width:40px;height:40px;box-shadow:var(--shadow-1);color:var(--fg1);justify-content:center;align-items:center;display:inline-flex;position:fixed;top:12px;left:12px}.app-sidebar-backdrop{z-index:45;opacity:0;pointer-events:none;background:#0006;transition:opacity .2s ease-out;display:block;position:fixed;inset:0}.app-sidebar-backdrop[data-open=true]{opacity:1;pointer-events:auto}}
