@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3d165c286d94e27c-s.woff2) format("woff2");unicode-range:u+0460-052f,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:400;font-display:swap;src:url(/_next/static/media/e54d16b9f2c4535b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7c21074d9bafed1b-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/916860560b9a2bc2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/591e43f23f51e5a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:400;font-display:swap;src:url(/_next/static/media/97ac91773d3121b2-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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";font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3d165c286d94e27c-s.woff2) format("woff2");unicode-range:u+0460-052f,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:600;font-display:swap;src:url(/_next/static/media/e54d16b9f2c4535b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7c21074d9bafed1b-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/916860560b9a2bc2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/591e43f23f51e5a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:600;font-display:swap;src:url(/_next/static/media/97ac91773d3121b2-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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";font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3d165c286d94e27c-s.woff2) format("woff2");unicode-range:u+0460-052f,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:700;font-display:swap;src:url(/_next/static/media/e54d16b9f2c4535b-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7c21074d9bafed1b-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/916860560b9a2bc2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/591e43f23f51e5a5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:700;font-display:swap;src:url(/_next/static/media/97ac91773d3121b2-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:117.91%}.__className_9cd094{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.__variable_9cd094{--font-source-serif:"Source Serif 4","Source Serif 4 Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-full{height:100%}.w-10{width:2.5rem}.w-\[1px\]{width:1px}.w-full{width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-0{padding-top:0}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-white{--tw-ring-offset-color:#fff}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg:#F7F7F7;--surface:#FFFFFF;--surface-alt:#F2F2F2;--border:#D9D9D9;--border-med:#A8A8A8;--text:#1F1F1F;--text-muted:#4A4A4A;--text-light:#888888;--brand:#1F6BAD;--brand-dark:#145285;--brand-light:#E2EEF8;--brand-mid:#9DC4E5;--btn-blue:#0062B8;--btn-blue-hover:#00529A;--nav-selected:#2648B5;--ui-black:#111111;--review-red:#D71920;--yellow-accent:#FFD200;--easy-text:#166534;--easy-bg:#f0fdf4;--easy-border:#86efac;--medium-text:#7c4a00;--medium-bg:#fffbeb;--medium-border:#fcd34d;--hard-text:#991b1b;--hard-bg:#fff1f2;--hard-border:#fca5a5;--success-bg:#f0fdf4;--success-border:#86efac;--wrong-bg:#fff1f2;--wrong-border:#fca5a5;--wrong-text:#991b1b;--selected-bg:#EBF4FF;--selected-border:#3157C9;--footer-bg:#F0F1F3;--banner-tint:#EAF1F8;--radius:6px;--radius-sm:4px}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100%}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-inter),Inter,"Helvetica Neue",Helvetica,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;padding:0;background:none}h1,h2,h3,h4,p{margin-top:0}a{color:var(--brand)}.splash-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:14px}.splash-logo{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}.splash-message{color:var(--text-muted);font-size:.92rem;margin:0}.splash-error{max-width:380px;text-align:center;margin:8px 24px 0;padding:12px 16px;background:var(--hard-bg);border:1px solid var(--hard-border);border-radius:var(--radius-sm);font-size:.86rem;color:var(--hard-text);line-height:1.55}.btn-reveal{display:inline-flex;align-items:center;height:40px;padding:0 22px;background:var(--btn-blue);color:white;border-radius:999px;font-size:.92rem;font-weight:600;border:none;cursor:pointer;transition:background .15s}.btn-reveal:hover:not(:disabled){background:var(--btn-blue-hover)}.btn-reveal:disabled{opacity:.38;cursor:default}.btn-reveal.active{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border-med)}.btn-reveal.active:hover{background:var(--border);color:var(--text)}.lib-root{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg)}.lib-inner{max-width:900px;margin:0 auto;padding:20px 28px 60px;display:flex;flex-direction:column;gap:10px}.lib-heading-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.lib-heading-title{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;color:var(--text);margin:0;flex-shrink:0}.lib-heading-count{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}.lib-heading-badge{background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:500;color:var(--text-muted)}.lib-filter-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.lib-filter-group{display:flex;align-items:center;gap:6px}.lib-filter-label{font-size:.72rem;font-weight:700;color:var(--text-light)}.lib-filter-pills{display:flex;gap:3px}.lib-root .rounded-lg.border{box-shadow:0 4px 24px rgba(0,0,0,.07),0 1px 4px rgba(0,0,0,.05)}html.dark-mode .lib-root .rounded-lg.border{box-shadow:0 4px 24px rgba(0,0,0,.4),0 1px 4px rgba(0,0,0,.3)}.lib-content{max-width:820px;margin:0 auto;padding:40px 28px 72px}.lib-section-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;background:var(--surface);border:1px solid var(--border);border-bottom:3px solid var(--btn-blue);margin-bottom:20px}.lib-section-title{font-size:1.25rem;font-weight:700;margin-bottom:4px;color:var(--text)}.lib-section-subtitle{font-size:.88rem;color:var(--text-muted);margin-bottom:0}.lib-domain-card{margin-bottom:8px}.lib-skel-wrap{max-width:900px;margin:0 auto;padding:24px 32px 72px;display:flex;flex-direction:column;gap:20px}.lib-domain{background:var(--surface);border:1px solid var(--border);margin-bottom:12px;border-radius:var(--radius-sm);overflow:hidden}.lib-domain-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px}.lib-domain-hd,.lib-domain-header{border-bottom:1px solid var(--border);background:var(--surface-alt)}.lib-domain-hd{padding:6px 12px}.lib-domain-name{font-size:.76rem;color:var(--text-muted)}.lib-domain-count{font-size:.84rem;color:var(--text-light)}.lib-skill-row{padding:7px 14px;border-bottom:1px solid var(--border)}.lib-skill-row:hover{background:var(--brand-light)}.lib-skill-row:hover .lib-skill-name{color:var(--brand-dark)}.lib-skill-right{gap:14px}.lib-skill-count{font-size:.84rem;color:var(--text-muted)}.lib-skill-progress{display:inline-flex;align-items:center;gap:1px}.lib-progress-done{color:var(--brand)}.lib-progress-sep{margin:0 2px}.lib-progress-total{color:var(--text-muted)}.lib-skill-arrow{font-size:.9rem;color:var(--text-light)}.lib-skill-row:hover .lib-skill-arrow{color:var(--brand);transform:translateX(4px)}.lib-loading{display:flex;align-items:center;justify-content:center;flex:1;padding:80px 20px;color:var(--text-muted)}.lib-loading p{margin:0}.lib-analytics-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;font-size:.88rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.lib-analytics-btn:hover{border-color:var(--brand)}.lib-analytics-btn:hover,.lib-progress-pill{background:var(--brand-light);color:var(--brand-dark)}.lib-progress-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:600}.lib-skill-count-sep{color:var(--border-med);margin:0 2px}.lib-empty{padding:48px 24px;text-align:center;color:var(--text-muted);font-size:.95rem}.lib-filters{display:flex;flex-wrap:wrap;gap:10px 24px;padding:12px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px}.filter-group{display:flex;align-items:center;gap:8px}.filter-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);white-space:nowrap}.filter-pills{display:flex;gap:4px}.filter-pill{padding:4px 12px;border-radius:16px;border:1.5px solid var(--border);background:transparent;font-size:.83rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.filter-pill:hover{background:var(--surface-alt);border-color:var(--border-med)}.filter-pill.active{background:var(--btn-blue);border-color:var(--btn-blue);color:#fff}.qview-root{flex:1;min-height:0;overflow:hidden;background:var(--surface)}.qview-context-bar,.qview-root{display:flex;flex-direction:column}.qview-context-bar{flex-shrink:0;background:var(--banner-tint);border-bottom:1.5px dashed rgba(0,0,0,.35)}.qview-header-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 28px}.qview-header-row-top{height:55px;padding-top:5px}.qview-header-row-sub{height:40px}.qview-bar-center,.qview-bar-left{display:flex;align-items:center}.qview-bar-center{gap:8px;justify-content:center;white-space:nowrap}.qview-bar-right{display:flex;align-items:center;gap:10px;justify-content:flex-end}.qview-section-label{font-size:1rem;font-weight:700;color:var(--text);white-space:nowrap}.qview-timer-value{font-size:1.65rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:4.5ch;text-align:center}.qview-back{font-size:.84rem;font-weight:500;color:var(--btn-blue);cursor:pointer;background:none;border:none;padding:0;white-space:nowrap;transition:color .12s}.qview-back:hover{color:var(--btn-blue-hover)}.qview-timer-toggle{display:inline-flex;align-items:center;height:26px;padding:0 13px;border:1px solid var(--border-med);border-radius:999px;font-size:.78rem;font-weight:500;color:var(--text-muted);background:white;cursor:pointer;transition:all .12s}.qview-timer-toggle:hover{border-color:var(--brand-mid);color:var(--brand)}.qview-timer-icon{font-size:1.6rem;line-height:1;opacity:.55;display:flex;align-items:center}.highlight-notes-btn{display:inline-flex;flex-direction:column;align-items:center;gap:2px;height:auto;padding:5px 10px;border:none;background:none;cursor:pointer;transition:opacity .15s}.highlight-notes-btn:hover{opacity:.7}.highlight-notes-btn.active .hn-icon,.highlight-notes-btn.active .hn-label{color:var(--brand)}.hn-icon{font-size:1.1rem;line-height:1;color:var(--text);display:flex;align-items:center;gap:2px}.hn-label{font-size:.68rem;font-weight:600;color:var(--text-muted);white-space:nowrap;letter-spacing:.01em}.qview-split{flex:1;display:flex;min-height:0;overflow:hidden}.qview-passage{flex:1;overflow-y:auto;padding:56px 64px 56px 80px;background:var(--surface);min-width:0}.qview-passage.highlight-mode{cursor:text}.qview-passage.highlight-mode ::-moz-selection{background:#FFF176;color:var(--text)}.qview-passage.highlight-mode ::selection{background:#FFF176;color:var(--text)}.text-highlight{background:#FFF9C4;color:var(--text);border-radius:2px;padding:0 1px}.passage-content{font-family:var(--font-source-serif),"Source Serif 4",Georgia,serif;font-weight:450;font-size:18px;line-height:1.7;color:var(--text);max-width:64ch;white-space:normal;text-indent:0}.passage-content p{margin-bottom:1.4em}.passage-content p:last-child{margin-bottom:0}.passage-content u{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:currentColor}.passage-content strong{font-weight:700}.table-block{font-family:var(--font-source-serif),"Source Serif 4",Georgia,serif;font-size:16px;border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 20px;overflow:hidden;background:var(--surface)}.table-block .tbl-title{font-size:14px;font-weight:600;padding:8px 14px;line-height:1.4}.table-block .tbl-caption,.table-block .tbl-title{font-family:var(--font-inter),Inter,sans-serif;background:var(--banner-tint);border-bottom:1px solid var(--border);margin:0;color:var(--text)}.table-block .tbl-caption{font-size:13px;font-weight:700;text-align:center;padding:7px 14px 4px;line-height:1.35;letter-spacing:.01em}.table-block .tbl-header{font-size:14px;font-weight:600;font-style:italic;padding:7px 14px;background:#f4f7fb;border-bottom:1.5px solid var(--border);margin:0;color:var(--text);line-height:1.4}.table-block .tbl-row{font-size:15px;padding:6px 14px;border-bottom:1px solid rgba(0,0,0,.07);margin:0;color:var(--text);line-height:1.5}.table-block .tbl-row:last-child{border-bottom:none}.tbl-grid{display:grid;border-top:1px solid rgba(0,0,0,.08)}.tbl-cell{padding:7px 14px;font-size:14px;line-height:1.45;color:var(--text);border-bottom:1px solid rgba(0,0,0,.07);border-right:1px solid rgba(0,0,0,.07)}.tbl-cell-last{border-right:none}.tbl-cell-hd{font-weight:600;font-style:italic;background:#f4f7fb;border-bottom:1.5px solid var(--border);font-size:13px}.tbl-cell-r{text-align:right;font-variant-numeric:tabular-nums}.tbl-cell-alt{background:rgba(0,0,0,.025)}.tbl-prose{font-size:14px;line-height:1.55;color:var(--text);margin:10px 0 0;padding:0 4px}.passage-content table{border-collapse:collapse;margin:16px 0;font-size:14px;width:auto;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.passage-content table td,.passage-content table th{padding:7px 14px;border:1px solid rgba(0,0,0,.08);line-height:1.45;color:var(--text);vertical-align:top}.passage-content table th{font-weight:600;font-style:italic;background:#f4f7fb;border-bottom:1.5px solid var(--border);font-size:13px;white-space:nowrap}.passage-content table td{font-size:14px}.passage-content table tr:nth-child(2n) td{background:rgba(0,0,0,.025)}.ctc-wrapper{display:flex;flex-direction:column;gap:0}.ctc-block{margin-bottom:20px}.ctc-block:nth-child(2){padding-left:20px;border-left:3px solid var(--border)}.ctc-label{font-family:var(--font-inter),Inter,sans-serif;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);display:block;margin-bottom:6px}.ctc-body{font-family:var(--font-source-serif),"Source Serif 4",Georgia,serif;font-weight:450;font-size:18px;line-height:1.7;color:var(--text)}.rs-notes{list-style:disc;padding-left:28px;margin:10px 0 14px}.rs-notes li{font-family:var(--font-source-serif),"Source Serif 4",Georgia,serif;font-weight:450;font-size:18px;line-height:1.6;color:var(--text);margin-bottom:4px}.admin-edit-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-family:var(--font-inter),Inter,sans-serif;font-size:12px;font-weight:600;color:rgba(0,0,0,.45);background:transparent;border:1.5px solid rgba(0,0,0,.18);border-radius:6px;cursor:pointer;transition:color .15s,border-color .15s,background .15s;margin-right:8px}.admin-edit-btn:hover{color:#2563eb;border-color:#2563eb;background:#eff6ff}.admin-panel{position:fixed;bottom:0;left:0;right:0;height:360px;background:#1e1e2e;border-top:2px solid #7c3aed;z-index:500;display:flex;flex-direction:column;font-family:var(--font-inter),Inter,sans-serif;animation:adminSlideUp .2s ease}@keyframes adminSlideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.admin-panel-header{display:flex;align-items:center;gap:12px;padding:6px 14px;background:#16162a;border-bottom:1px solid #2d2d44;flex-shrink:0;flex-wrap:wrap}.admin-panel-title{font-size:.75rem;font-weight:600;color:#a78bfa;font-family:monospace}.admin-hasmath-toggle{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#94a3b8;cursor:pointer}.admin-save-btn{margin-left:auto;padding:4px 14px;border-radius:6px;background:#7c3aed;color:#fff;border:none;cursor:pointer;font-size:.8125rem;font-weight:600;font-family:var(--font-inter),Inter,sans-serif}.admin-save-btn:hover{background:#6d28d9}.admin-save-btn:disabled{opacity:.6;cursor:default}.admin-save-msg{font-size:.75rem}.admin-save-msg.ok{color:#4ade80}.admin-save-msg.err{color:#f87171}.admin-msg-ok{font-size:.75rem;color:#4ade80}.admin-msg-err{font-size:.75rem;color:#f87171}.admin-logout-btn{padding:4px 10px;background:transparent;color:#64748b;border:1px solid #2d2d44;border-radius:6px;font-size:.75rem;cursor:pointer}.admin-logout-btn:hover{color:#94a3b8;border-color:#4b4b6a}.admin-close-btn{padding:2px 8px;background:transparent;border:none;font-size:15px;color:#64748b;cursor:pointer;border-radius:4px;line-height:1;margin-left:4px}.admin-close-btn:hover{background:#2d2d44;color:#e2e8f0}.admin-token-form{display:flex;align-items:center;gap:8px}.admin-token-input{padding:5px 10px;border:1px solid #2d2d44;border-radius:6px;font-size:.8125rem;outline:none;width:180px;background:#12121f;color:#e2e8f0}.admin-token-input:focus{border-color:#7c3aed}.admin-panel-body{display:grid;grid-template-columns:240px 1fr 1fr;flex:1;overflow:hidden}.admin-col{display:flex;flex-direction:column;overflow-y:auto;padding:8px 10px;border-right:1px solid #2d2d44}.admin-col:last-child{border-right:none}.admin-col-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#4b4b6a;margin-bottom:6px;flex-shrink:0}.admin-source-img{width:100%;border-radius:6px;border:1px solid #2d2d44;background:#12121f}.admin-field-label{font-size:.7rem;color:#94a3b8;margin:6px 0 2px;display:block;flex-shrink:0}.admin-textarea{width:100%;background:#12121f;color:#e2e8f0;border:1px solid #2d2d44;border-radius:6px;padding:5px 7px;font-size:.8125rem;font-family:monospace;resize:vertical;flex-shrink:0;box-sizing:border-box}.admin-textarea:focus{outline:none;border-color:#7c3aed}.admin-choice-row{display:flex;align-items:center;gap:5px;margin-bottom:3px;flex-shrink:0}.admin-choice-label{width:16px;font-size:.8125rem;font-weight:700;color:#a78bfa;flex-shrink:0}.admin-choice-input{flex:1;background:#12121f;color:#e2e8f0;border:1px solid #2d2d44;border-radius:5px;padding:4px 7px;font-size:.8125rem;font-family:monospace}.admin-choice-input:focus{outline:none;border-color:#7c3aed}.admin-select{background:#12121f;color:#e2e8f0;border:1px solid #2d2d44;border-radius:5px;padding:4px 7px;font-size:.8125rem;flex-shrink:0;cursor:pointer}.admin-preview-section{margin-bottom:10px;flex-shrink:0}.admin-preview-label{font-size:.65rem;color:#4b4b6a;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.admin-preview-render{color:#e2e8f0;font-size:.875rem;line-height:1.5}.admin-choice-preview-row{display:flex;gap:6px;padding:2px 0;color:#cbd5e1;font-size:.875rem}.admin-choice-preview-row.correct .admin-choice-preview-label{color:#4ade80;font-weight:700}.admin-choice-preview-label{flex-shrink:0;color:#64748b}.admin-choice-preview-text{flex:1}.qpage-image-wrap{margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}.qpage-image{display:block;width:100%;height:auto}.qpage-image-hidden{display:none}.qpage-image-missing,.qpage-image-placeholder{display:flex;align-items:center;justify-content:center;height:180px;color:var(--text-light);font-size:.85rem;gap:8px}.qpage-image-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border-med);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}html.dark-mode .qpage-image-wrap{border-color:#2e2e2e;background:#1a1a1a}.qview-resize-handle{width:16px;flex-shrink:0;cursor:col-resize;position:relative;background:transparent;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qview-resize-handle:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:1px;background:var(--border)}.qview-resize-icon{position:relative;z-index:2;width:22px;height:22px;background:var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--text-muted);flex-shrink:0;pointer-events:none;transition:background .15s}.qview-resize-handle:hover .qview-resize-icon{background:var(--brand-mid);color:var(--brand)}.qview-sidebar{flex-shrink:0;overflow-y:auto;padding:44px 48px 64px 36px;background:var(--surface);min-width:0}.qview-q-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0}.qview-q-num-group{display:flex;align-items:center;gap:10px}.qview-q-tools{display:flex;align-items:center;gap:8px}.qview-q-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--ui-black);color:white;font-size:.94rem;font-weight:700;border-radius:0;flex-shrink:0}.qview-q-separator{border:none;border-top:1.5px dashed rgba(0,0,0,.35);margin:8px 0 18px;width:100%}.qview-question-stem{font-family:var(--font-source-serif),"Source Serif 4",Georgia,serif;font-weight:450;font-size:18px;line-height:1.65;color:var(--text);margin:0 0 24px}.mark-review-btn{display:inline-flex;align-items:center;gap:5px;border:none;background:none;padding:4px 6px;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s;white-space:nowrap;border-radius:4px}.mark-review-btn:hover{color:var(--text);background:var(--surface-alt)}.mark-review-icon{font-size:1.05rem;line-height:1}.mark-review-text{font-size:.82rem}.mark-review-btn.marked{color:var(--review-red)}.mark-review-btn.marked .mark-review-text{text-decoration:underline}.eliminator-toggle{display:inline-flex;align-items:center;height:30px;padding:0 11px;border:1.5px solid var(--border-med);border-radius:var(--radius-sm);font-size:.76rem;font-weight:800;color:var(--text-muted);background:var(--surface);cursor:pointer;letter-spacing:.05em;text-decoration:line-through;text-decoration-thickness:1.5px;transition:all .15s}.eliminator-toggle:hover{color:var(--text);background:var(--surface-alt)}.eliminator-toggle.active{background:var(--btn-blue);color:white;border-color:var(--btn-blue)}.qview-choices{display:flex;flex-direction:column;gap:10px}.cb-choice-row{display:flex;align-items:center;gap:10px}.cb-choice{border:1.5px solid var(--border-med);border-radius:6px;background:var(--surface);overflow:hidden;transition:border-color .15s,background .15s,opacity .15s;min-height:56px}.cb-choice,.cb-choice-inner{flex:1;display:flex;align-items:center;min-width:0}.cb-choice-inner{gap:16px;padding:14px 20px;background:none;border:none;cursor:pointer;text-align:left;position:relative}.cb-choice:not(.eliminated):not(.correct):not(.wrong):not(.neutral) .cb-choice-inner:hover{background:rgba(0,0,0,.025)}.cb-choice:not(.eliminated):not(.correct):not(.wrong):not(.neutral) .cb-choice-inner:hover .cb-choice-text{color:rgba(31,31,31,.72)}.cb-choice.selected{border-color:var(--selected-border);background:var(--surface)}.cb-choice.selected .cb-choice-label{background:var(--selected-border);color:white;border-color:var(--selected-border)}.cb-choice.correct{border-color:var(--success-border);background:var(--success-bg)}.cb-choice.correct .cb-choice-label{background:var(--easy-text);color:white;border-color:var(--easy-text)}.cb-choice.wrong{border-color:var(--wrong-border);background:var(--wrong-bg)}.cb-choice.wrong .cb-choice-label{background:var(--wrong-text);color:white;border-color:var(--wrong-text)}.cb-choice.neutral{opacity:.35}.cb-choice.eliminated{opacity:1;position:relative}.cb-choice.eliminated .cb-choice-inner:after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(0,0,0,.72);pointer-events:none}.cb-choice.eliminated .cb-choice-text{color:rgba(0,0,0,.3);text-decoration:none}.cb-choice.eliminated .cb-choice-label{color:rgba(0,0,0,.25);border-color:var(--border)}.cb-choice-label{display:grid;place-items:center;width:32px;height:32px;border:1.5px solid var(--border-med);border-radius:50%;font-size:.88rem;font-weight:700;color:var(--text-muted);flex-shrink:0;transition:background .15s,color .15s,border-color .15s}.cb-choice-text{margin:0;font-family:var(--font-source-serif),"Source Serif 4",Georgia,serif;font-weight:450;font-size:17px;line-height:1.6;color:var(--text)}.cb-elim-circle-btn{flex-shrink:0;width:30px;height:30px;border:1.5px solid var(--border-med);border-radius:50%;font-size:.78rem;font-weight:700;color:var(--text-muted);background:transparent;cursor:default;display:grid;place-items:center;position:relative;transition:all .15s;overflow:hidden}.cb-elim-circle-btn:not(.elim-active):after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:center;opacity:.65}.cb-elim-circle-btn{cursor:pointer;opacity:1}.cb-elim-circle-btn:not(.elim-active):hover{border-color:rgba(0,0,0,.6);color:rgba(0,0,0,.7)}.cb-elim-circle-btn.elim-active{width:auto;min-width:42px;padding:0 8px;border-radius:4px;border-color:var(--border-med);color:var(--text);font-size:.75rem;font-weight:600;text-decoration:underline;background:transparent;letter-spacing:0;overflow:visible}.qview-reveal-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px;padding-right:40px}.rationale-panel{margin-top:16px;padding:18px 20px;background:var(--brand-light);border:1px solid var(--brand-mid);border-radius:var(--radius-sm)}.rationale-heading{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:10px}.question-content{font-size:.94rem;line-height:1.7;color:var(--text);white-space:normal;text-indent:0}.question-content p{margin-bottom:1em;text-indent:0;white-space:normal}.question-content p:last-child{margin-bottom:0}.qview-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;height:68px;min-height:68px;background:var(--banner-tint);border-top:1.5px dashed rgba(0,0,0,.35);flex-shrink:0;gap:16px}.qview-footer-left{display:flex;flex-direction:column;gap:1px;min-width:0}.qview-footer-name{font-size:.95rem;color:var(--ui-black);font-weight:700;overflow:hidden;text-overflow:ellipsis}.qview-footer-name,.qview-footer-qid{font-family:var(--font-inter),Inter,sans-serif;white-space:nowrap}.qview-footer-qid{font-size:10px;font-weight:500;letter-spacing:.04em;color:rgba(0,0,0,.28);font-variant-numeric:tabular-nums}.qview-q-map-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:var(--ui-black);border:none;border-radius:8px;font-size:.88rem;font-weight:600;color:white;cursor:pointer;white-space:nowrap;transition:background .15s,transform .1s}.qview-q-map-btn:hover{background:#2a2a2a;transform:translateY(-1px)}.qview-q-map-caret{font-size:.85rem;font-weight:700;opacity:.75;display:inline-block;transform:scaleY(.8)}.qview-footer-nav{display:flex;align-items:center;gap:8px;justify-content:flex-end}.nav-btn{display:inline-flex;align-items:center;height:38px;padding:0 22px;border:1.5px solid var(--border-med);border-radius:999px;font-size:.88rem;font-weight:600;color:var(--text);background:var(--surface);transition:all .15s;cursor:pointer}.nav-btn:not(:disabled):hover{border-color:var(--text-muted);background:var(--surface-alt)}.nav-btn:disabled{opacity:.35;cursor:default}.nav-btn-back,.nav-btn-next{background:var(--btn-blue);border-color:var(--btn-blue);color:white}.nav-btn-back:not(:disabled):hover,.nav-btn-next:not(:disabled):hover{background:var(--btn-blue-hover);border-color:var(--btn-blue-hover);color:white}.q-map-overlay{position:fixed;inset:0;background:transparent;display:flex;align-items:flex-end;justify-content:center;z-index:200;padding-bottom:68px}.q-map-modal{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;padding:20px 24px 28px;width:100%;max-width:720px;max-height:55vh;overflow-y:auto;box-shadow:0 -4px 24px rgba(0,0,0,.14);border:1px solid var(--border);border-bottom:none}.q-map-header{justify-content:flex-end;margin-bottom:14px}.q-map-header,.q-map-legend{display:flex;align-items:center}.q-map-legend{gap:20px;flex:1;font-size:.8rem;color:var(--text-muted)}.q-map-legend-item{display:flex;align-items:center;gap:6px}.q-map-legend-dot{width:14px;height:14px;border-radius:2px;flex-shrink:0}.q-map-legend-dot.dot-current{border:2px solid var(--nav-selected);background:white}.q-map-legend-dot.dot-review,.q-map-legend-dot.dot-unanswered{border:1.5px dashed rgba(0,0,0,.35);background:white}.q-map-legend-dot.dot-review{position:relative}.q-map-legend-dot.dot-review:after{content:"⚑";position:absolute;top:-3px;right:-2px;font-size:.5rem;color:var(--review-red);line-height:1}.q-map-close{font-size:1.4rem;line-height:1;color:var(--text-muted);cursor:pointer;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;transition:background .12s,color .12s}.q-map-close:hover{background:var(--surface-alt);color:var(--text)}.q-map-grid{display:flex;flex-wrap:wrap;gap:6px}.q-map-box{position:relative;width:44px;height:44px;border:1.5px dashed rgba(0,0,0,.35);border-radius:var(--radius-sm);font-size:.84rem;font-weight:700;color:var(--text-muted);background:var(--surface);cursor:pointer;display:grid;place-items:center;transition:all .12s}.q-map-box.current,.q-map-box:hover{border-style:solid;border-color:var(--nav-selected);color:var(--nav-selected)}.q-map-box.current{border-width:2px}.q-map-box.answered{background:var(--nav-selected);border-style:solid;border-color:var(--nav-selected);color:white}.q-map-box.answered:hover{background:#2745b0;border-color:#2745b0}.q-map-box.current.answered{background:#2745b0;border-style:solid;border-color:#2745b0;color:white}.q-map-flag{position:absolute;top:1px;right:2px;font-size:.5rem;color:var(--review-red);line-height:1;pointer-events:none}.q-map-box.answered .q-map-flag{color:#ff8a8a}.difficulty-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;border:1px solid}.difficulty-badge.easy{color:var(--easy-text);background:var(--easy-bg);border-color:var(--easy-border)}.difficulty-badge.medium{color:var(--medium-text);background:var(--medium-bg);border-color:var(--medium-border)}.difficulty-badge.hard{color:var(--hard-text);background:var(--hard-bg);border-color:var(--hard-border)}@media (max-width:960px){.lib-root,.qview-root{overflow:visible}.qview-root{height:auto}.qview-split{flex-direction:column;overflow:visible}.qview-passage{overflow:visible;padding:36px 32px}.qview-resize-handle{display:none}.qview-sidebar{width:100%!important;min-width:0;overflow:visible;padding:28px 32px 48px;border-top:1px solid var(--border)}.qview-header-row{padding:0 16px;gap:10px}}@media (max-width:600px){.qview-section-label{font-size:.82rem}.qview-timer-value{font-size:1.2rem}.qview-passage{padding:24px 18px}.qview-sidebar{padding:20px 18px 40px}.qview-footer{padding:0 16px;height:60px;min-height:60px}.qview-footer-name{display:none}.qview-footer{grid-template-columns:auto 1fr}.lib-content{padding:20px 16px 48px}.lib-section-header{flex-direction:column;align-items:flex-start;gap:14px}.highlight-notes-btn{display:none}}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.app-shell.shell-fullscreen{display:block}.app-shell.shell-fullscreen .shell-main{display:flex;flex-direction:column;height:100vh;overflow:hidden}.leftnav{position:fixed;left:0;top:0;bottom:0;width:210px;background:#0f172a;display:flex;flex-direction:column;z-index:200;border-right:1px solid rgba(255,255,255,.06)}.leftnav-brand{padding:28px 20px 18px;margin-bottom:8px}.leftnav-brand-name{font-size:1.25rem;letter-spacing:.03em}.leftnav-brand-sub{font-size:.6875rem;letter-spacing:.1em;color:rgba(255,255,255,.32);margin-top:2px}.leftnav-nav{flex:1;padding:4px 12px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.leftnav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.48);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:background .12s,color .12s}.leftnav-item svg{flex-shrink:0;opacity:.65;transition:opacity .12s}.leftnav-item:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.82)}.leftnav-item:hover svg{opacity:1}.leftnav-item.active{background:rgba(99,102,241,.16);color:#c7d2fe}.leftnav-item.active svg{opacity:1;color:#818cf8}.leftnav-badge{margin-left:auto;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.leftnav-footer{padding:12px;border-top:1px solid rgba(255,255,255,.06);position:relative}.leftnav-profile-btn{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;width:100%;border:none;background:transparent;cursor:pointer;transition:background .12s;text-align:left}.leftnav-profile-btn:hover{background:rgba(255,255,255,.07)}.leftnav-avatar{width:33px;height:33px;border-radius:50%;background:rgba(99,102,241,.22);color:#a5b4fc;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0;border:1.5px solid rgba(99,102,241,.28)}.leftnav-profile-info{flex:1;min-width:0}.leftnav-profile-name{font-size:.8125rem;font-weight:600;color:#e2e8f0}.leftnav-profile-email,.leftnav-profile-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leftnav-profile-email{font-size:.6875rem;color:rgba(255,255,255,.32)}.leftnav-popover{position:absolute;bottom:calc(100% + 8px);left:12px;right:12px}.profile-popover{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.16);padding:6px;min-width:180px;overflow:hidden}.profile-popover-name{padding:8px 12px 2px;font-size:.875rem;font-weight:600;color:#0f172a}.profile-popover-email{padding:0 12px 8px;font-size:.75rem;color:#94a3b8;border-bottom:1px solid #f1f5f9;margin-bottom:4px}.profile-popover-btn{display:block;width:100%;text-align:left;padding:7px 12px;font-size:.8125rem;border-radius:8px;border:none;background:transparent;cursor:pointer;color:#334155;transition:background .1s}.profile-popover-btn:hover{background:#f8fafc}.profile-popover-btn.destructive{color:#dc2626}.profile-popover-edit{padding:4px 8px;display:flex;gap:6px}.profile-name-input{flex:1;padding:5px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:.8125rem;outline:none}.profile-name-input:focus{border-color:var(--brand)}.leftnav-anon{display:flex;gap:6px}.google-signin-btn{flex:1;display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:9px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);cursor:pointer;font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.7);transition:background .12s,border-color .12s,color .12s;text-align:left;white-space:nowrap;overflow:hidden}.google-signin-btn:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);color:#fff}.google-signin-btn span{overflow:hidden;text-overflow:ellipsis}.leftnav-dark-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:none;background:transparent;cursor:pointer;color:rgba(255,255,255,.35);transition:background .12s,color .12s}.leftnav-dark-toggle:hover{background:rgba(255,255,255,.07);color:rgba(255,255,255,.7)}.leftnav-avatar-img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block}.shell-main{flex:1;min-height:100vh;padding-left:210px;padding-top:0}.app-shell.shell-fullscreen .shell-main{padding-left:0;padding-top:0}html.dark-mode,html.dark-mode body{background:#111111;color:#f0f0f0}html.dark-mode{--bg:#111111;--surface:#1a1a1a;--surface-alt:#252525;--border:#2e2e2e;--border-med:#3a3a3a;--text:#f0f0f0;--text-muted:#c0c0c0;--text-light:#888888;--brand-light:#1a2d45;--brand-mid:#2a5580}html.dark-mode .rounded-lg.border{background:#1a1a1a;border-color:#2e2e2e;color:#f0f0f0}html.dark-mode .border-slate-200{border-color:#2e2e2e}html.dark-mode .bg-white{background:#1a1a1a}html.dark-mode .text-slate-900{color:#f0f0f0}html.dark-mode .text-slate-800{color:#e0e0e0}html.dark-mode .text-slate-700{color:#c8c8c8}html.dark-mode .text-slate-600{color:#999999}html.dark-mode .text-slate-500{color:#888888}html.dark-mode .text-slate-400{color:#666666}html.dark-mode .text-slate-300{color:#444444}html.dark-mode h2,html.dark-mode h3{color:#f0f0f0}html.dark-mode .bg-slate-100{background:#252525}html.dark-mode .bg-slate-50{background:#1a1a1a}html.dark-mode .filter-pill{background:#1a1a1a;border-color:#3a3a3a;color:#888888}html.dark-mode .filter-pill.active{background:#1a2d45;color:#93c5fd;border-color:#2a5580}html.dark-mode .border.bg-slate-100{background:#252525;border-color:#3a3a3a;color:#c0c0c0}html.dark-mode .lib-skill-row{border-color:#2e2e2e}html.dark-mode .lib-skill-row:hover{background:#1a2d45}html.dark-mode .lib-skill-name{color:#f0f0f0}html.dark-mode .lib-domain-card{background:#1c1c1c!important;border-color:#333333!important;box-shadow:0 2px 12px rgba(0,0,0,.5)!important}html.dark-mode .lib-domain-hd{background:#252525!important;border-bottom:1px solid #333333!important}html.dark-mode .lib-domain-hd .text-slate-400{color:#999999!important}html.dark-mode .lib-progress-done{color:#60a5fa}html.dark-mode .lib-progress-sep{color:#555555}html.dark-mode .lib-progress-total{color:#666666}html.dark-mode .lib-skill-count{color:#888888}html.dark-mode .lib-skill-arrow{color:#555555}html.dark-mode .lib-skill-row:hover .lib-skill-arrow{color:#60a5fa}html.dark-mode .profile-popover{background:#1a1a1a;border-color:#2e2e2e;box-shadow:0 16px 48px rgba(0,0,0,.5)}html.dark-mode .profile-popover-name{color:#f0f0f0}html.dark-mode .profile-popover-email{color:#666666;border-color:#2e2e2e}html.dark-mode .profile-popover-btn{color:#c0c0c0}html.dark-mode .profile-popover-btn:hover{background:#252525}html.dark-mode .profile-name-input{background:#111111;border-color:#2e2e2e;color:#f0f0f0}html.dark-mode .table-block{background:#1a1a1a;border-color:#2e2e2e}html.dark-mode .table-block .tbl-caption,html.dark-mode .table-block .tbl-title{background:#252525;border-color:#2e2e2e;color:#f0f0f0}html.dark-mode .table-block .tbl-header{background:#222222;border-color:#333333;color:#c0c0c0}html.dark-mode .tbl-cell{border-color:rgba(255,255,255,.07);color:#f0f0f0}html.dark-mode .tbl-cell-hd{background:#222222;border-color:#333333}html.dark-mode .tbl-cell-alt{background:rgba(255,255,255,.04)}html.dark-mode .tbl-grid{border-color:rgba(255,255,255,.07)}html.dark-mode .passage-content table{background:#1a1a1a;border-color:#2e2e2e}html.dark-mode .passage-content table th{background:#222222;border-color:#333333;color:#c0c0c0}html.dark-mode .passage-content table td{border-color:rgba(255,255,255,.07);color:#f0f0f0}html.dark-mode .passage-content table tr:nth-child(2n) td{background:rgba(255,255,255,.04)}html.dark-mode .rationale-panel{background:#1a2d45;border-color:#2a5580}html.dark-mode .rationale-heading{color:#93c5fd}html.dark-mode .question-content{color:#e0e0e0}html.dark-mode .qview-context-bar{background:#1a1a1a;border-bottom-color:rgba(255,255,255,.12)}html.dark-mode .qview-passage,html.dark-mode .qview-sidebar{background:#111111}html.dark-mode .qview-q-separator{border-top-color:rgba(255,255,255,.12)}html.dark-mode .qview-resize-handle{background:rgba(255,255,255,.04);border-left-color:rgba(255,255,255,.06);border-right-color:rgba(255,255,255,.06)}html.dark-mode .qview-footer{background:#1a1a1a;border-top-color:rgba(255,255,255,.12)}html.dark-mode .qview-footer-name{color:#f0f0f0}html.dark-mode .qview-footer-qid{color:#666666}html.dark-mode .cb-choice{border-color:rgba(255,255,255,.14);background:#1a1a1a}html.dark-mode .cb-choice-label{border-color:rgba(255,255,255,.14);color:#c0c0c0}html.dark-mode .cb-choice-text{color:#f0f0f0}html.dark-mode .cb-choice:not(.eliminated):not(.correct):not(.wrong):not(.neutral) .cb-choice-inner:hover{background:rgba(255,255,255,.04)}html.dark-mode .cb-choice:not(.eliminated):not(.correct):not(.wrong):not(.neutral) .cb-choice-inner:hover .cb-choice-text{color:#e0e0e0}html.dark-mode .btn-reveal{border-color:rgba(255,255,255,.14);color:#f0f0f0}html.dark-mode .btn-reveal:hover:not(:disabled){background:rgba(255,255,255,.06)}html.dark-mode .mark-review-btn{border-color:rgba(255,255,255,.12);color:#c0c0c0}html.dark-mode .mark-review-btn.marked{border-color:#f59e0b;color:#f59e0b}html.dark-mode .passage-content{color:#f0f0f0}html.dark-mode .passage-content u{text-decoration-color:#93c5fd}html.dark-mode .eliminator-toggle{border-color:rgba(255,255,255,.12);color:#c0c0c0}html.dark-mode .eliminator-toggle.active{background:#1a2d45;border-color:#2a5580;color:#93c5fd}html.dark-mode .qview-q-map-btn{background:#f0f0f0;color:#111111}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lib-root,.review-status-chip{animation:pageEnter .2s ease both}.review-status-chip{font-size:13px;font-weight:600;padding:6px 14px;border-radius:20px}.review-chip-wrong{background:#FFF5F5;color:#DC2626;border:1px solid #fecaca}.review-chip-yellow{background:#FFFBEB;color:#B45309;border:1px solid #fde68a}.review-chip-green{background:#F0FDF4;color:#16A34A;border:1px solid #86efac}.admin-panel{height:68vh!important;min-height:480px!important}.admin-col,.admin-col-form{overflow:hidden!important}.admin-col-form{display:flex;flex-direction:column}.admin-textarea-main{flex:1!important;min-height:0!important;resize:none!important}.an-root{flex:1;overflow-y:auto;overflow-x:hidden;background:#f8fafc;animation:pageEnter .2s ease both}.an-inner{max-width:760px;margin:0 auto;padding:36px 24px 60px;display:flex;flex-direction:column;gap:20px}.an-title{font-size:1.4rem;font-weight:700;color:#0f172a;margin:0 0 4px}.an-card{background:#ffffff;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);overflow:hidden}.an-empty{flex-direction:column;text-align:center;padding:48px 32px}.an-empty,.an-empty-icon{display:flex;align-items:center}.an-empty-icon{width:60px;height:60px;border-radius:50%;background:#f1f5f9;justify-content:center;margin-bottom:16px}.an-empty-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 4px}.an-empty-desc{font-size:.875rem;color:#94a3b8;max-width:280px;margin:0}.an-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.an-stat{padding:16px 18px;border-left:4px solid #e2e8f0}.an-stat-number{font-size:1.6rem;font-weight:700;color:#0f172a;line-height:1.1;margin-bottom:4px}.an-stat-label{font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.an-stat-sub{font-size:.75rem;color:#94a3b8;margin-top:2px}.an-streak-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.an-section-header{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b;padding:14px 20px 10px;border-bottom:1px solid #f1f5f9}.an-chart-wrap{padding:12px 16px 8px}.an-chart{width:100%;height:120px;display:block}.an-diff-list{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.an-diff-row{display:flex;align-items:center;gap:12px}.an-diff-label{width:58px;font-size:.8rem;font-weight:700;text-align:right;flex-shrink:0}.an-diff-easy{color:#10b981}.an-diff-medium{color:#f59e0b}.an-diff-hard{color:#ef4444}.an-diff-track{flex:1;height:8px;background:#f1f5f9;border-radius:999px;overflow:hidden}.an-diff-bar{height:100%;border-radius:999px;transition:width .4s ease}.an-diff-pct{font-size:.875rem;font-weight:700;color:#334155;width:36px;text-align:right;flex-shrink:0}.an-diff-count{font-size:.75rem;color:#94a3b8;width:80px;flex-shrink:0}.an-table{width:100%;border-collapse:collapse;font-size:.875rem}.an-table th{text-align:left;padding:8px 16px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #f1f5f9}.an-table td{padding:10px 16px;color:#334155;border-bottom:1px solid #f8fafc}.an-table tr:last-child td{border-bottom:none}.an-table tbody tr:hover td{background:#f8fafc}.an-acc-badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.78rem;font-weight:700}.an-acc-badge.good{background:#dcfce7;color:#166534}.an-acc-badge.mid{background:#fef9c3;color:#854d0e}.an-acc-badge.low{background:#fee2e2;color:#991b1b}.an-recent-list{display:flex;flex-direction:column}.an-recent-row{display:flex;align-items:center;gap:10px;padding:9px 20px;border-bottom:1px solid #f8fafc}.an-recent-row:last-child{border-bottom:none}.an-recent-row.correct{background:#f0fdf4}.an-recent-row.incorrect{background:#fff5f5}.an-recent-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.an-recent-row.correct .an-recent-icon{background:#dcfce7;color:#16a34a}.an-recent-row.incorrect .an-recent-icon{background:#fee2e2;color:#dc2626}.an-recent-skill{flex:1;font-size:.875rem;color:#334155;font-weight:500}.an-recent-diff{font-size:.72rem;font-weight:700;flex-shrink:0}.an-recent-time{font-size:.8rem;color:#64748b;flex-shrink:0;font-variant-numeric:tabular-nums}.an-recent-date{font-size:.75rem;color:#94a3b8;flex-shrink:0;width:70px;text-align:right}@media (max-width:700px){.an-stats-grid{grid-template-columns:repeat(2,1fr)}}.rv-root{flex:1;overflow-y:auto;overflow-x:hidden;background:#f8fafc;animation:pageEnter .2s ease both}.rv-inner{max-width:672px;margin:0 auto;padding:40px 24px 60px}.rv-header{margin-bottom:32px}.rv-header-row{gap:12px;margin-bottom:8px}.rv-header-row,.rv-icon{display:flex;align-items:center}.rv-icon{width:32px;height:32px;border-radius:8px;background:#2563eb;justify-content:center;flex-shrink:0}.rv-title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0}.rv-badge{margin-left:4px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fee2e2;color:#b91c1c;font-size:.75rem;font-weight:700}.rv-subtitle{color:#64748b;font-size:.875rem;margin-left:44px;margin-top:0}.rv-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.rv-card{border:none;box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);background:#ffffff;border-radius:10px}.rv-card-stat{padding:20px 20px 16px}.rv-stat-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.rv-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rv-dot-red{background:#ef4444}.rv-dot-yellow{background:#fbbf24}.rv-dot-green{background:#10b981}.rv-stat-label{font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.07em}.rv-stat-number{font-size:1.875rem;font-weight:700;color:#0f172a;line-height:1.2;margin:4px 0 0}.rv-stat-sub{font-size:.75rem;color:#94a3b8;margin-top:2px}.rv-mastery-card{box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);background:#ffffff;border-radius:10px;margin-bottom:24px}.rv-mastery-content{padding:20px 24px}.rv-mastery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rv-mastery-label{font-size:.875rem;font-weight:600;color:#334155}.rv-mastery-pct{font-size:.875rem;font-weight:700;color:#059669}.rv-progress-track{width:100%;background:#f1f5f9;border-radius:999px;height:10px;overflow:hidden}.rv-progress-bar{height:100%;border-radius:999px;transition:width .5s ease;background:linear-gradient(90deg,#10b981,#34d399)}.rv-mastery-note{font-size:.75rem;color:#94a3b8;margin-top:8px}.rv-cta-card{box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);background:#ffffff;border-radius:10px;margin-bottom:24px}.rv-cta-content{padding:24px}.rv-empty-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 32px}.rv-empty-icon{width:64px;height:64px;border-radius:50%;background:#ecfdf5;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.rv-empty-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 4px}.rv-empty-desc{font-size:.875rem;color:#94a3b8;max-width:280px;margin:0}.rv-queue-text{font-size:.875rem;color:#475569;margin-bottom:16px}.rv-queue-bold{font-weight:600;color:#1e293b}.rv-start-btn{width:100%;background:#2563eb;color:#ffffff;font-weight:600;padding:10px 0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-size:.9375rem;transition:background .15s}.rv-start-btn:hover{background:#1d4ed8}.rv-howit-card{box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);background:#ffffff;border-radius:10px}.rv-howit-header{padding:20px 24px 12px;border-bottom:1px solid #f1f5f9}.rv-howit-title{font-size:.875rem;font-weight:600;color:#334155;margin:0}.rv-howit-content{padding:16px 24px 20px}.rv-howit-list{display:flex;flex-direction:column;gap:12px}.rv-howit-row{display:flex;align-items:flex-start;gap:12px}.rv-dot-sm{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:3px}.rv-dot-sm-red{background:#ef4444}.rv-dot-sm-yellow{background:#fbbf24}.rv-dot-sm-green{background:#10b981}.rv-howit-text{font-size:.875rem;color:#475569;margin:0}.rv-howit-bold{font-weight:600;color:#1e293b}.passage-content table th,.table-block .tbl-header,.tbl-cell-hd{font-style:normal}.passage-content table tr:nth-child(2n) td,.tbl-cell-alt{background:transparent}.table-block .tbl-caption{font-weight:500;font-size:14px}html.dark-mode .passage-content table tr:nth-child(2n) td,html.dark-mode .tbl-cell-alt{background:transparent}.leftnav-brand{display:flex;align-items:center;gap:12px;padding:22px 18px 18px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:6px}.leftnav-logo-mark{flex-shrink:0;line-height:0;border-radius:8px;overflow:hidden}.leftnav-brand-text{display:flex;flex-direction:column;gap:1px}.leftnav-brand-name{display:block;font-size:1.05rem;font-weight:800;letter-spacing:.04em;color:#fff;line-height:1.1}.leftnav-brand-sub{display:block;font-size:.625rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-top:1px}.lib-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 4px;flex-wrap:wrap}.lib-hero-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text);margin:0 0 4px;line-height:1.15}.lib-hero-sub{font-size:.8125rem;color:var(--text-light);margin:0}.lib-hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:160px}.lib-hero-stat{display:flex;align-items:baseline;gap:5px}.lib-hero-stat-num{font-size:1.25rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.lib-hero-stat-label{font-size:.75rem;color:var(--text-light);font-weight:500}.lib-hero-prog-wrap{display:flex;align-items:center;gap:8px;width:100%}.lib-hero-prog-track{flex:1;height:5px;background:var(--border);border-radius:999px;overflow:hidden}.lib-hero-prog-fill{height:100%;background:#4f46e5;border-radius:999px;transition:width .5s ease}.lib-hero-prog-pct{font-size:.75rem;font-weight:600;color:#4f46e5;width:32px;text-align:right;font-variant-numeric:tabular-nums}.lib-domain-card{background:var(--surface);border-radius:12px;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.05),0 4px 16px rgba(0,0,0,.04);overflow:hidden;margin-bottom:4px}.lib-domain-hd{display:flex;justify-content:space-between;align-items:center;padding:11px 18px;border-left:3px solid #94a3b8;background:#fafafa;border-bottom:1px solid rgba(0,0,0,.05)}.lib-domain-name{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#374151}.lib-domain-count{font-size:.75rem;font-weight:500;color:#9ca3af;font-variant-numeric:tabular-nums}.lib-domain-body{padding:2px 0}.lib-skill-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;width:100%;border:none;border-bottom:1px solid rgba(0,0,0,.04);background:transparent;cursor:pointer;text-align:left;transition:background .1s}.lib-skill-row:last-child{border-bottom:none}.lib-skill-row:hover{background:rgba(79,70,229,.04)}.lib-skill-main{flex:1;min-width:0}.lib-skill-name{font-size:.875rem;font-weight:500;color:var(--text);line-height:1.3;display:block}.lib-skill-row:hover .lib-skill-name{color:#4f46e5}.lib-skill-bar-wrap{height:2px;background:#e5e7eb;border-radius:999px;margin-top:6px;overflow:hidden}.lib-skill-bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.lib-skill-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.lib-skill-progress{font-size:.8125rem;color:var(--text-muted)}.lib-progress-done{font-weight:600;color:#4f46e5}.lib-progress-sep{margin:0 1px}.lib-progress-sep,.lib-progress-total,.lib-skill-count{color:var(--text-light)}.lib-skill-count{font-size:.8125rem}.lib-skill-arrow{color:#d1d5db;transition:transform .12s,color .12s}.lib-skill-row:hover .lib-skill-arrow{color:#4f46e5;transform:translateX(3px)}.lib-empty-state{flex-direction:column;padding:64px 32px;text-align:center}.lib-empty-icon,.lib-empty-state{display:flex;align-items:center;justify-content:center}.lib-empty-icon{width:52px;height:52px;border-radius:50%;background:#f1f5f9;margin-bottom:16px}.lib-empty-title{font-size:.9375rem;font-weight:600;color:#475569;margin:0 0 4px}.lib-empty-sub{font-size:.8125rem;color:#94a3b8;margin:0}@keyframes skelPulse{0%,to{opacity:1}50%{opacity:.45}}.lib-skel-block{background:#e5e7eb;border-radius:6px;animation:skelPulse 1.4s ease-in-out infinite}.lib-skel-hero{display:flex;flex-direction:column;gap:8px;padding:28px 0 4px}.lib-skel-title{height:28px;width:200px;border-radius:8px}.lib-skel-sub{height:16px;width:140px}.lib-skel-filters{display:flex;gap:6px;padding:8px 0}.lib-skel-pill{height:30px;width:72px;border-radius:999px}.lib-skel-card{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:12px;overflow:hidden;margin-bottom:4px}.lib-skel-card-hd{height:42px;width:100%;border-radius:0}.lib-skel-card-row{height:52px;margin:0;border-bottom:1px solid rgba(0,0,0,.04);border-radius:0}.lib-skel-card-row:last-child{border-bottom:none}.an-stat-blue{border-left-color:#3b82f6}.an-stat-green{border-left-color:#10b981}.an-stat-purple{border-left-color:#8b5cf6}.an-stat-slate{border-left-color:#64748b}.an-stat-orange{border-left-color:#f97316}.an-diff-bar-easy{background:#10b981}.an-diff-bar-medium{background:#f59e0b}.an-diff-bar-hard{background:#ef4444}html.dark-mode .lib-hero-title{color:#f1f5f9}html.dark-mode .lib-hero-sub{color:#64748b}html.dark-mode .lib-hero-stat-num{color:#f1f5f9}html.dark-mode .lib-hero-stat-label{color:#64748b}html.dark-mode .lib-hero-prog-track{background:#2e2e2e}html.dark-mode .lib-hero-prog-fill{background:#818cf8}html.dark-mode .lib-hero-prog-pct{color:#818cf8}html.dark-mode .lib-domain-card{background:#1c1c1c;border-color:#2e2e2e;box-shadow:0 1px 3px rgba(0,0,0,.3),0 4px 16px rgba(0,0,0,.2)}html.dark-mode .lib-domain-hd{background:#232323;border-bottom-color:#2e2e2e}html.dark-mode .lib-domain-name{color:#9ca3af}html.dark-mode .lib-domain-count{color:#555}html.dark-mode .lib-skill-row{border-bottom-color:#222}html.dark-mode .lib-skill-row:hover{background:rgba(129,140,248,.06)}html.dark-mode .lib-skill-name{color:#e5e7eb}html.dark-mode .lib-skill-row:hover .lib-skill-name{color:#818cf8}html.dark-mode .lib-skill-bar-wrap{background:#2e2e2e}html.dark-mode .lib-progress-done{color:#818cf8}html.dark-mode .lib-progress-sep{color:#444}html.dark-mode .lib-progress-total,html.dark-mode .lib-skill-count{color:#555}html.dark-mode .lib-skill-arrow{color:#333}html.dark-mode .lib-skill-row:hover .lib-skill-arrow{color:#818cf8}html.dark-mode .lib-empty-icon{background:#1e1e1e}html.dark-mode .lib-empty-title{color:#94a3b8}html.dark-mode .lib-empty-sub{color:#475569}html.dark-mode .lib-skel-block{background:#2a2a2a}html.dark-mode .lib-skel-card{background:#1c1c1c;border-color:#2e2e2e}html.dark-mode .lib-skel-card-row{border-color:#222}.trainer-root{flex:1;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}.trainer-iframe{flex:1;width:100%;height:100%;border:none;display:block}.leftnav{width:56px}.shell-main{padding-left:56px}.leftnav-brand{padding:16px 0 14px;justify-content:center;gap:0}.leftnav-brand-text{display:none}.leftnav-nav{padding:4px 8px}.leftnav-item{justify-content:center;padding:11px 0;position:relative}.leftnav-item span{display:none}.leftnav-badge{position:absolute;top:5px;right:5px;min-width:14px;height:14px;font-size:.5rem;padding:0 3px;margin-left:0}.leftnav-footer{padding:8px}.leftnav-profile-btn{justify-content:center;padding:9px 0}.leftnav-profile-info{display:none}.leftnav-anon{flex-direction:column;align-items:center;gap:4px}.google-signin-btn{padding:9px;justify-content:center}.google-signin-btn span{display:none}.leftnav-popover{bottom:8px;left:calc(100% + 8px);right:auto;top:auto;min-width:210px}.lib-answered-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:#dcfce7;border:1px solid #86efac;color:#166534;font-size:.6875rem;font-weight:600;margin-left:10px;vertical-align:middle;line-height:1.5}.lib-filter-label{text-transform:uppercase;letter-spacing:.06em}html.dark-mode .lib-answered-badge{background:rgba(22,101,52,.22);border-color:rgba(134,239,172,.3);color:#4ade80}.hover\:bg-red-500\/80:hover{background-color:rgb(239 68 68/.8)}.hover\:bg-red-500\/90:hover{background-color:rgb(239 68 68/.9)}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:bg-slate-100\/80:hover{background-color:rgb(241 245 249/.8)}.hover\:bg-slate-900\/80:hover{background-color:rgb(15 23 42/.8)}.hover\:bg-slate-900\/90:hover{background-color:rgb(15 23 42/.9)}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-slate-950:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(2 6 23/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-slate-950:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(2 6 23/var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.dark\:border-slate-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity,1))}.dark\:bg-red-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity,1))}.dark\:bg-slate-50:is(.dark *){--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.dark\:bg-slate-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:bg-slate-950:is(.dark *){--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.dark\:text-slate-50:is(.dark *){--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.dark\:text-slate-900:is(.dark *){--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.dark\:ring-offset-slate-950:is(.dark *){--tw-ring-offset-color:#020617}.dark\:hover\:bg-red-900\/90:hover:is(.dark *){background-color:rgb(127 29 29/.9)}.dark\:hover\:bg-slate-50\/90:hover:is(.dark *){background-color:rgb(248 250 252/.9)}.dark\:hover\:bg-slate-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.dark\:hover\:bg-slate-800\/80:hover:is(.dark *){background-color:rgb(30 41 59/.8)}.dark\:hover\:text-slate-50:hover:is(.dark *){--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity,1))}.dark\:focus-visible\:ring-slate-300:focus-visible:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity,1))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}