@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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:Material Symbols Rounded;font-style:normal;font-weight:400;font-display:block;src:url(./material-symbols-rounded-BCFeBDkd.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}:root{--md-sys-color-background: #f6fbf3;--md-sys-color-on-background: #181d18;--md-sys-color-surface: #f6fbf3;--md-sys-color-surface-dim: #d7dbd4;--md-sys-color-surface-bright: #f6fbf3;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #f0f5ed;--md-sys-color-surface-container: #ebefe7;--md-sys-color-surface-container-high: #e5eae2;--md-sys-color-surface-container-highest: #dfe4dc;--md-sys-color-on-surface: #181d18;--md-sys-color-surface-variant: #dce5da;--md-sys-color-on-surface-variant: #414941;--md-sys-color-inverse-surface: #2d322d;--md-sys-color-inverse-on-surface: #eef2ea;--md-sys-color-outline: #717971;--md-sys-color-outline-variant: #c0c9bf;--md-sys-color-shadow: #000000;--md-sys-color-scrim: #000000;--md-sys-color-surface-tint: #396641;--md-sys-color-primary: #396641;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #bbf0be;--md-sys-color-on-primary-container: #002109;--md-sys-color-inverse-primary: #9fd3a3;--md-sys-color-secondary: #516351;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #d4e8d2;--md-sys-color-on-secondary-container: #0f1f11;--md-sys-color-tertiary: #39656d;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #bdeaf3;--md-sys-color-on-tertiary-container: #001f24;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-primary-rgb: 57, 102, 65;--md-sys-color-on-surface-rgb: 24, 29, 24;--md-sys-color-secondary-rgb: 81, 99, 81;--md-sys-color-tertiary-rgb: 57, 101, 109;--md-sys-color-surface-rgb: 246, 251, 243;--m3-color-success: #2a6a42;--m3-color-on-success: #ffffff;--m3-color-success-container: #d2f3db;--m3-color-on-success-container: #04210f;--m3-color-error: #a93829;--m3-color-on-error: #ffffff;--m3-color-error-container: #ffdad4;--m3-color-on-error-container: #3b0904;--m3-color-warning: #7e5700;--m3-color-on-warning: #ffffff;--m3-color-warning-container: #ffdf9e;--m3-color-on-warning-container: #261900;--m3-color-info: #2f628c;--m3-color-on-info: #ffffff;--m3-color-info-container: #d3e7ff;--m3-color-on-info-container: #001c37;--m3-heat-0: #e9f5e9;--m3-heat-1: #c6e6c8;--m3-heat-2: #8ec193;--m3-heat-3: #5b9162;--m3-heat-4: #33623b;--c-bg: var(--md-sys-color-surface);--c-surface: var(--md-sys-color-surface-container-low);--c-surface-2: var(--md-sys-color-surface-container-high);--c-surface-3: var(--md-sys-color-surface-container-highest);--c-text: var(--md-sys-color-on-surface);--c-text-2: var(--md-sys-color-on-surface-variant);--c-border: var(--md-sys-color-outline-variant);--c-outline: var(--md-sys-color-outline);--c-primary: var(--md-sys-color-primary);--c-primary-hover: var(--md-sys-color-on-primary-container);--c-primary-weak: var(--md-sys-color-primary-container);--c-on-primary: var(--md-sys-color-on-primary);--c-secondary: var(--md-sys-color-secondary);--c-secondary-weak: var(--md-sys-color-secondary-container);--c-purple: var(--md-sys-color-tertiary);--c-purple-weak: var(--md-sys-color-tertiary-container);--c-success: var(--m3-color-success);--c-success-weak: var(--m3-color-success-container);--c-warning: var(--m3-color-warning);--c-warning-weak: var(--m3-color-warning-container);--c-danger: var(--m3-color-error);--c-danger-weak: var(--m3-color-error-container);--c-info: var(--m3-color-info);--c-info-weak: var(--m3-color-info-container);--m3-radius-xs: 4px;--m3-radius-sm: 8px;--m3-radius-md: 12px;--m3-radius-lg: 16px;--m3-radius-lg-plus: 20px;--m3-radius-xl: 28px;--m3-radius-full: 9999px;--radius-sm: var(--m3-radius-sm);--radius: var(--m3-radius-md);--radius-lg: var(--m3-radius-lg-plus);--shadow: none;--m3-elevation-float: 0 8px 28px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .05);--m3-elevation-modal: 0 18px 48px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: var(--m3-elevation-float);--topbar-h: 60px;--rail-w: 80px;--drawer-w: 236px;--bottomnav-h: 64px;--space-unit: 1;--card-pad: 20px;--section-gap: 20px;--font-sans: "Inter Variable", "Inter", "Noto Sans SC", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, sans-serif;--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", Georgia, serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;--fs-12: .75rem;--fs-13: .8125rem;--fs-14: .875rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-20: 1.25rem;--fs-24: 1.5rem;--fs-32: 2rem;color-scheme:light}[data-theme=dark]{--md-sys-color-background: #101510;--md-sys-color-on-background: #dfe4dc;--md-sys-color-surface: #101510;--md-sys-color-surface-dim: #101510;--md-sys-color-surface-bright: #353a35;--md-sys-color-surface-container-lowest: #0b0f0b;--md-sys-color-surface-container-low: #181d18;--md-sys-color-surface-container: #1c211c;--md-sys-color-surface-container-high: #262b26;--md-sys-color-surface-container-highest: #313631;--md-sys-color-on-surface: #dfe4dc;--md-sys-color-surface-variant: #414941;--md-sys-color-on-surface-variant: #c0c9bf;--md-sys-color-inverse-surface: #dfe4dc;--md-sys-color-inverse-on-surface: #2d322d;--md-sys-color-outline: #8b938a;--md-sys-color-outline-variant: #414941;--md-sys-color-primary: #9fd3a3;--md-sys-color-on-primary: #063816;--md-sys-color-primary-container: #214e2b;--md-sys-color-on-primary-container: #bbf0be;--md-sys-color-secondary: #b8ccb7;--md-sys-color-on-secondary: #243425;--md-sys-color-secondary-container: #3a4b3a;--md-sys-color-on-secondary-container: #d4e8d2;--md-sys-color-tertiary: #a1ced7;--md-sys-color-on-tertiary: #00363e;--md-sys-color-tertiary-container: #1f4d55;--md-sys-color-on-tertiary-container: #bdeaf3;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-primary-rgb: 159, 211, 163;--md-sys-color-on-surface-rgb: 223, 228, 220;--md-sys-color-secondary-rgb: 184, 204, 183;--md-sys-color-tertiary-rgb: 161, 206, 215;--md-sys-color-surface-rgb: 16, 21, 16;--m3-color-success: #8dd6a3;--m3-color-on-success: #00391b;--m3-color-success-container: #14512c;--m3-color-on-success-container: #d2f3db;--m3-color-error: #ffb4a9;--m3-color-on-error: #680b04;--m3-color-error-container: #862215;--m3-color-on-error-container: #ffdad4;--m3-color-warning: #f5be48;--m3-color-on-warning: #412d00;--m3-color-warning-container: #5e4200;--m3-color-on-warning-container: #ffdf9e;--m3-color-info: #9ccaff;--m3-color-on-info: #003258;--m3-color-info-container: #144973;--m3-color-on-info-container: #d3e7ff;--m3-heat-0: #1b251c;--m3-heat-1: #243b27;--m3-heat-2: #335c39;--m3-heat-3: #578b5e;--m3-heat-4: #94cea0;--m3-elevation-float: 0 10px 30px rgba(0, 0, 0, .42), 0 2px 8px rgba(0, 0, 0, .28);--m3-elevation-modal: 0 20px 52px rgba(0, 0, 0, .56), 0 4px 14px rgba(0, 0, 0, .36);color-scheme:dark}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}html[data-fontsize=small]{font-size:14.5px}html[data-fontsize=medium]{font-size:16px}html[data-fontsize=large]{font-size:17.5px}html[data-density=compact]{--topbar-h: 52px;--space-unit: .82;--card-pad: 15px;--section-gap: 14px}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul[role=list],ol[role=list]{list-style:none;padding:0}body{min-height:100vh;background-color:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface);font-family:var(--font-sans);font-size:var(--fs-16);line-height:1.75;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .18s ease,color .18s ease}img,svg,canvas{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--md-sys-color-primary);text-decoration:none;transition:color .16s ease}a:hover{color:var(--md-sys-color-on-primary-container)}code,pre,kbd,.font-mono{font-family:var(--font-mono)}.tabular-nums,time,.exam-timer,.stat-kpi-value,.nav-badge,.dk-val{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.font-serif-title{font-family:var(--font-serif)}code{font-size:.88em;padding:.14em .42em;border-radius:var(--m3-radius-xs);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 7px;font-size:var(--fs-12);font-weight:600;line-height:1.3;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-high);border-radius:6px}:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}#view:focus{outline:none}h1{font-size:var(--fs-24);line-height:1.32;font-weight:700;letter-spacing:-.015em}h2{font-size:var(--fs-20);line-height:1.38;font-weight:700;letter-spacing:-.01em}h3{font-size:var(--fs-18);line-height:1.45;font-weight:650}h4{font-size:var(--fs-16);line-height:1.5;font-weight:600}.prose-academic{max-width:72ch;line-height:1.75}.prose-academic p+p{margin-top:1.25em}.m3-icon{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;display:inline-flex;align-items:center;justify-content:center;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;user-select:none;flex-shrink:0;vertical-align:middle;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;transition:font-variation-settings .22s cubic-bezier(.2,0,0,1),transform .22s cubic-bezier(.34,1.45,.64,1),color .16s ease}.m3-icon.is-filled,.is-active>.m3-icon,.is-active .nav-icon-glyph{font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.katex{font-size:1.05em}:not(.katex-display)>.katex{margin:0 .15em}.katex-display,.math-display-scroll{display:block;width:100%;max-width:100%;min-width:0;font-size:1.12em;margin:14px 0;padding:8px 6px;overflow-x:auto;overflow-y:hidden;text-align:center;-webkit-overflow-scrolling:touch;scrollbar-width:none}.katex-display::-webkit-scrollbar,.math-display-scroll::-webkit-scrollbar{height:0;background:transparent}.katex-display>.katex{display:inline-block;max-width:none;margin:0;text-align:initial}.math-fallback{font-family:var(--font-mono);font-size:.92em;color:var(--md-sys-color-on-surface-variant)}.md-bullet{color:var(--md-sys-color-primary);font-weight:700;margin-right:4px}.semantic-block,.callout{position:relative;background:var(--md-sys-color-surface-container-low);border:none;border-radius:var(--m3-radius-lg);padding:18px 22px;margin:14px 0;color:var(--md-sys-color-on-surface)}.semantic-block-title,.callout-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:var(--fs-16);margin-bottom:8px}.callout-definition,.block-definition{background:color-mix(in srgb,var(--md-sys-color-primary-container) 42%,var(--md-sys-color-surface-container-low))}.callout-definition .callout-title,.block-definition .semantic-block-title{color:var(--md-sys-color-primary)}.callout-theorem,.block-theorem{background:color-mix(in srgb,var(--md-sys-color-tertiary-container) 45%,var(--md-sys-color-surface-container-low))}.callout-theorem .callout-title,.block-theorem .semantic-block-title{color:var(--md-sys-color-tertiary)}.callout-warning,.callout-pitfall,.block-pitfall{background:color-mix(in srgb,var(--m3-color-warning-container) 48%,var(--md-sys-color-surface-container-low))}.callout-warning .callout-title,.callout-pitfall .callout-title,.block-pitfall .semantic-block-title{color:var(--m3-color-warning)}.callout-example,.block-example{background:color-mix(in srgb,var(--m3-color-success-container) 40%,var(--md-sys-color-surface-container-low))}.callout-example .callout-title,.block-example .semantic-block-title{color:var(--m3-color-success)}mark,.search-hl{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container);padding:1px 4px;border-radius:var(--m3-radius-xs)}*{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant) transparent}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:var(--md-sys-color-outline-variant);border-radius:var(--m3-radius-full)}*::-webkit-scrollbar-thumb:hover{background-color:var(--md-sys-color-outline)}.text-muted{color:var(--md-sys-color-on-surface-variant)}.text-primary{color:var(--md-sys-color-primary)}.text-secondary{color:var(--md-sys-color-secondary)}.text-tertiary{color:var(--md-sys-color-tertiary)}.text-success{color:var(--m3-color-success)}.text-warning{color:var(--m3-color-warning)}.text-danger{color:var(--m3-color-error)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--m3-ease-standard: cubic-bezier(.2, 0, 0, 1);--m3-ease-emphasized-decel: cubic-bezier(.05, .7, .1, 1);--m3-ease-emphasized-accel: cubic-bezier(.3, 0, .8, .15);--m3-ease-spring: cubic-bezier(.34, 1.45, .64, 1);--m3-ease-smooth: cubic-bezier(.25, .1, .25, 1);--m3-dur-fast: .15s;--m3-dur-short: .2s;--m3-dur-medium: .3s;--m3-dur-long: .44s}.m3-state-layer{position:relative;overflow:hidden;isolation:isolate}.m3-state-layer:after{content:"";position:absolute;inset:0;border-radius:inherit;background-color:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.m3-state-layer:hover:not(:disabled):not([aria-disabled=true]):after{opacity:.08}.m3-state-layer:focus-visible:not(:disabled):not([aria-disabled=true]):after{opacity:.1}.m3-state-layer:active:not(:disabled):not([aria-disabled=true]):after{opacity:.12}.m3-press-morph{transition:transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard),background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.m3-press-morph:active:not(:disabled):not([aria-disabled=true]){transform:scale(.98)}.m3-collapsible-grid{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--m3-dur-medium) var(--m3-ease-standard),opacity var(--m3-dur-short) var(--m3-ease-smooth)}.m3-collapsible-grid.is-open{grid-template-rows:1fr;opacity:1}.m3-collapsible-inner{overflow:hidden;min-height:0}.view-enter,.view-fade-in{animation:m3ViewEnter var(--m3-dur-medium) var(--m3-ease-emphasized-decel) both}@keyframes m3ViewEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.popover-enter{animation:m3PopoverEnter .22s var(--m3-ease-spring) both;transform-origin:top center}@keyframes m3PopoverEnter{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop-layer{animation:m3BackdropFadeIn .18s var(--m3-ease-smooth) both}@keyframes m3BackdropFadeIn{0%{opacity:0}to{opacity:1}}dialog.modal-dialog[open] .modal-panel{animation:m3DialogEnter .28s var(--m3-ease-spring) both}@keyframes m3DialogEnter{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes m3CardDealIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.flashcard-enter{animation:m3CardDealIn .32s var(--m3-ease-spring) both}@keyframes optionPop{0%{transform:scale(1)}45%{transform:scale(1.016)}to{transform:scale(1)}}@keyframes optionShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes m3UrgentBreath{0%,to{box-shadow:0 0 #ba1a1a38}50%{box-shadow:0 0 0 6px #ba1a1a00}}.exam-timer.is-urgent{animation:m3UrgentBreath 1.8s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.flashcard{transition:none!important}}.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 18px;border-radius:var(--m3-radius-full);border:1px solid transparent;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--fs-14);font-weight:600;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;user-select:none;transition:transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard),background-color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.btn:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.btn:hover:not(:disabled):not(.is-disabled):after{opacity:.08}.btn:focus-visible:not(:disabled):not(.is-disabled):after{opacity:.1}.btn:active:not(:disabled):not(.is-disabled){transform:scale(.975);border-radius:12px}.btn:active:not(:disabled):not(.is-disabled):after{opacity:.12}.btn:disabled,.btn.is-disabled{opacity:.42;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn-primary:hover:not(:disabled){color:var(--md-sys-color-on-primary)}.btn-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.btn-primary-tonal{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.btn-outline,.btn-secondary{background:transparent;border-color:var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface)}.btn-outline:hover:not(:disabled),.btn-secondary:hover:not(:disabled){border-color:var(--md-sys-color-outline);color:var(--md-sys-color-primary)}.btn-ghost{background:transparent;border-color:transparent;color:var(--md-sys-color-on-surface-variant)}.btn-ghost:hover:not(:disabled){color:var(--md-sys-color-on-surface)}.btn-danger{background:var(--m3-color-error);color:var(--m3-color-on-error)}.btn-danger-tonal{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.btn-success{background:var(--m3-color-success);color:var(--m3-color-on-success)}.btn-sm{height:32px;padding:0 13px;font-size:var(--fs-12);gap:5px}.btn-lg{height:46px;padding:0 24px;font-size:var(--fs-16);gap:8px}.icon-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--m3-radius-full);border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;text-decoration:none;flex-shrink:0;transition:transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard),color var(--m3-dur-fast) var(--m3-ease-smooth)}.icon-btn:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.icon-btn:hover{color:var(--md-sys-color-on-surface)}.icon-btn:hover:after{opacity:.08}.icon-btn:active{transform:scale(.94);border-radius:12px}.icon-btn:active:after{opacity:.12}.card,.surface-card{background:var(--md-sys-color-surface-container-low);border:none;border-radius:var(--m3-radius-lg-plus);padding:var(--card-pad, 20px);color:var(--md-sys-color-on-surface)}.card-lowest{background:var(--md-sys-color-surface-container-lowest)}.card-low{background:var(--md-sys-color-surface-container-low)}.card-default{background:var(--md-sys-color-surface-container)}.card-high{background:var(--md-sys-color-surface-container-high)}.card-highest{background:var(--md-sys-color-surface-container-highest)}.card-xl{border-radius:var(--m3-radius-xl)}.card-hover,.card-interactive{position:relative;overflow:hidden;isolation:isolate;cursor:pointer;transition:transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.card-hover:hover,.card-interactive:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.card-hover:active,.card-interactive:active{transform:scale(.99);border-radius:var(--m3-radius-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{display:inline-flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;color:var(--md-sys-color-on-surface)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--m3-radius-full);font-size:var(--fs-12);font-weight:600;line-height:1.35;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);border:none}.badge-primary{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.badge-secondary{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.badge-tertiary,.badge-purple{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.badge-success{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.badge-warning{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.badge-danger{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.stars{display:inline-flex;align-items:center;gap:1px;color:var(--m3-color-warning);letter-spacing:1px;font-size:var(--fs-14)}.m3-filter-chip{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:var(--m3-radius-full);border:1px solid var(--md-sys-color-outline-variant);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:var(--fs-13);font-weight:600;cursor:pointer;user-select:none;white-space:nowrap;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),padding var(--m3-dur-short) var(--m3-ease-spring),transform var(--m3-dur-short) var(--m3-ease-spring)}.m3-filter-chip:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.m3-filter-chip:hover:not(:disabled):after{opacity:.08}.m3-filter-chip:active:not(:disabled){transform:scale(.97)}.m3-filter-chip:active:not(:disabled):after{opacity:.12}.m3-filter-chip.is-selected{background:var(--md-sys-color-secondary-container);border-color:transparent;color:var(--md-sys-color-on-secondary-container);padding-left:11px}.m3-filter-chip-check{display:inline-flex;align-items:center;justify-content:center;width:0;opacity:0;overflow:hidden;transform:scale(.5);transition:width var(--m3-dur-short) var(--m3-ease-spring),opacity var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.m3-filter-chip.is-selected .m3-filter-chip-check{width:18px;opacity:1;transform:scale(1)}.m3-filter-chip-count{font-family:var(--font-mono);font-size:.72rem;opacity:.78}.m3-segmented{position:relative;display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:center;padding:4px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-high);gap:2px;user-select:none}.m3-segmented.is-auto-width{display:inline-flex;flex-wrap:wrap}.m3-segmented-thumb{position:absolute;top:4px;bottom:4px;left:0;border-radius:var(--m3-radius-full);background:var(--md-sys-color-secondary-container);pointer-events:none;z-index:0;transition:transform var(--m3-dur-medium) var(--m3-ease-spring),width var(--m3-dur-medium) var(--m3-ease-spring)}.m3-segmented-btn{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--m3-radius-full);border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:var(--fs-13);font-weight:600;cursor:pointer;white-space:nowrap;transition:color var(--m3-dur-fast) var(--m3-ease-smooth),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.m3-segmented-btn:hover:not(:disabled):not(.is-active){color:var(--md-sys-color-on-surface);background:rgba(var(--md-sys-color-on-surface-rgb),.06)}.m3-segmented-btn.is-active{color:var(--md-sys-color-on-secondary-container)}.m3-segmented.is-auto-width .m3-segmented-btn.is-active{background:var(--md-sys-color-secondary-container)}.m3-segmented-sm .m3-segmented-btn{height:28px;padding:0 11px;font-size:var(--fs-12)}.tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--md-sys-color-surface-container-high);border-radius:var(--m3-radius-full);flex-wrap:wrap}.tab-item,.tab-btn{padding:6px 15px;border-radius:var(--m3-radius-full);border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:var(--fs-14);font-weight:600;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.tab-item:hover,.tab-btn:hover{color:var(--md-sys-color-on-surface)}.tab-item.is-active,.tab-item.active,.tab-btn.is-active,.tab-btn.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.input,.select,.textarea{width:100%;padding:9px 14px;border-radius:var(--m3-radius-md);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-size:var(--fs-14);transition:border-color var(--m3-dur-fast) var(--m3-ease-smooth),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.input::placeholder,.textarea::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.78}.input,.select{height:40px}.textarea{min-height:98px;line-height:1.65;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-low)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.form-label{font-size:var(--fs-14);font-weight:600;color:var(--md-sys-color-on-surface)}input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-highest);accent-color:var(--md-sys-color-primary);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--md-sys-color-primary);border:2px solid var(--md-sys-color-surface-bright);transition:transform var(--m3-dur-short) var(--m3-ease-spring)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18)}.progress-bar{width:100%;height:8px;background:var(--md-sys-color-surface-container-highest);border-radius:var(--m3-radius-full);overflow:hidden}.progress-bar>.progress-fill,.progress-bar>span{display:block;height:100%;background:var(--md-sys-color-primary);border-radius:var(--m3-radius-full);transition:width .32s var(--m3-ease-standard)}.option-list{display:flex;flex-direction:column;gap:10px;margin:16px 0}.option-item{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:13px 16px;border-radius:var(--m3-radius-md);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.option-item:hover:not(.is-disabled):not([disabled]){background:var(--md-sys-color-surface-container)}.option-item:active:not(.is-disabled):not([disabled]){transform:scale(.992)}.option-key{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:var(--fs-14);font-weight:700;flex-shrink:0;margin-top:1px;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.option-content{flex:1;min-width:0;overflow-x:auto}.option-item.is-selected,.option-item.selected{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.option-item.is-selected .option-key,.option-item.selected .option-key{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.option-item.is-correct,.option-item.correct{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container);animation:optionPop .28s var(--m3-ease-spring)}.option-item.is-correct .option-key,.option-item.correct .option-key{background:var(--m3-color-success);color:var(--m3-color-on-success)}.option-item.is-wrong,.option-item.wrong,.option-item.is-incorrect{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container);animation:optionShake .3s ease-in-out}.option-item.is-wrong .option-key,.option-item.wrong .option-key,.option-item.is-incorrect .option-key{background:var(--m3-color-error);color:var(--m3-color-on-error)}.flashcard-scene{perspective:1400px;width:100%;max-width:820px;margin:0 auto}.flashcard{position:relative;display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-height:300px;transform-style:preserve-3d;transition:transform .48s var(--m3-ease-spring);cursor:pointer}.flashcard.is-flipped,.flashcard.flipped{transform:rotateY(180deg)}.flashcard-face{grid-area:1 / 1;position:relative;min-height:300px;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--md-sys-color-surface-container-high);border-radius:var(--m3-radius-xl);padding:32px 28px;display:flex;flex-direction:column;justify-content:center;text-align:center;line-height:1.85;overflow-wrap:break-word;overflow-x:auto}.flashcard-back{transform:rotateY(180deg);background:color-mix(in srgb,var(--md-sys-color-primary-container) 36%,var(--md-sys-color-surface-container-high))}.flashcard:not(.is-flipped):not(.flipped) .flashcard-back{pointer-events:none}.flashcard.is-flipped .flashcard-face:not(.flashcard-back),.flashcard.flipped .flashcard-face:not(.flashcard-back){pointer-events:none}.m3-collapsible{border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low);overflow:hidden}.m3-collapsible-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border:none;background:transparent;color:var(--md-sys-color-on-surface);font-size:var(--fs-14);font-weight:600;text-align:left;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.m3-collapsible-header:hover{background:rgba(var(--md-sys-color-on-surface-rgb),.05)}.m3-collapsible-chevron{transition:transform var(--m3-dur-medium) var(--m3-ease-spring);color:var(--md-sys-color-on-surface-variant)}.m3-collapsible.is-open .m3-collapsible-chevron{transform:rotate(180deg)}.m3-collapsible-content{padding:0 16px 16px}.math-kb{display:flex;flex-direction:column;gap:8px;padding:12px;margin-top:10px;background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg)}.math-kb-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.math-kb-tabs{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-highest)}.math-kb-tab{height:26px;padding:0 11px;border-radius:var(--m3-radius-full);border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:var(--fs-12);font-weight:600;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.math-kb-tab.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.math-kb-keys{display:flex;flex-wrap:wrap;gap:6px}.math-kb-key{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:46px;height:36px;padding:0 11px;border-radius:var(--m3-radius-sm);border:none;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:.85rem;font-weight:550;cursor:pointer;user-select:none;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard)}.math-kb-key:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.math-kb-key:active{transform:scale(.95);border-radius:12px}.math-kb-key.is-action{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.modal-backdrop-layer{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:12px;background:#00000070;backdrop-filter:blur(4px);overflow:hidden}dialog.modal-dialog{padding:0;border:none;border-radius:var(--m3-radius-xl);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);box-shadow:var(--m3-elevation-modal);width:min(var(--modal-w, 540px),calc(100vw - 24px));max-width:calc(100vw - 24px);margin:auto;overflow:hidden}dialog.modal-dialog.modal-dialog-portal{position:relative;inset:auto;margin:0;z-index:1;display:block}dialog.modal-dialog::backdrop{background:#00000070;backdrop-filter:blur(4px)}.modal-panel{display:flex;flex-direction:column;max-height:90vh}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 14px}.modal-title{display:inline-flex;align-items:center;gap:9px;font-size:1.15rem;font-weight:700;margin:0;min-width:0;overflow-wrap:break-word;color:var(--md-sys-color-on-surface)}.modal-close-btn{width:36px;height:36px;padding:0;flex-shrink:0}.modal-body{max-height:74vh;overflow-y:auto;overflow-x:hidden;padding:6px 24px 20px;font-size:.95rem;line-height:1.75}.modal-body:focus,.modal-body:focus-visible{outline:none}.modal-confirm-msg{margin:0;color:var(--md-sys-color-on-surface-variant);font-size:.96rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 24px 20px}.kp-modal-wrap,.card-modal-wrap{display:flex;flex-direction:column;gap:12px}.kp-modal-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.kp-modal-meta-info,.kp-modal-toolbar,.kp-modal-marks{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.kp-modal-sec{margin:0;padding:15px 18px}.kp-modal-exp{background:color-mix(in srgb,var(--m3-color-info-container) 45%,var(--md-sys-color-surface-container-low))}.kp-modal-exp .callout-title{color:var(--m3-color-info)}.kp-modal-sec-head{justify-content:space-between;flex-wrap:wrap}.kp-modal-rich{line-height:1.8;color:var(--md-sys-color-on-surface);overflow-x:auto;overflow-wrap:break-word}.kp-modal-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.kp-modal-examples{display:flex;flex-direction:column;gap:10px}.kp-modal-ex-item{border-radius:var(--m3-radius-md);padding:13px 15px;background:var(--md-sys-color-surface-container)}.kp-modal-ex-q{margin-bottom:8px;overflow-x:auto}.kp-modal-ex-ans{display:none;margin-top:10px;padding-top:10px;border-top:1px dashed var(--md-sys-color-outline-variant);line-height:1.8;overflow-x:auto}.kp-modal-ex-ans.is-open{display:block}.kp-modal-rels{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container)}.kp-modal-rel-group{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.kp-modal-rel-label{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-12);font-weight:600;color:var(--md-sys-color-on-surface-variant);padding-top:5px;white-space:nowrap}.kp-modal-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1;min-width:180px}.kp-modal-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--m3-radius-full);border:none;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-size:var(--fs-12);font-weight:550;cursor:pointer;text-align:left;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.kp-modal-chip:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.card-modal-box{border-radius:var(--m3-radius-lg);padding:16px 18px;background:var(--md-sys-color-surface-container)}.card-modal-box.is-back{background:color-mix(in srgb,var(--md-sys-color-primary-container) 36%,var(--md-sys-color-surface-container))}.card-modal-label{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-13);font-weight:700;color:var(--md-sys-color-on-surface-variant);margin-bottom:6px}.card-modal-box.is-back .card-modal-label{color:var(--md-sys-color-primary)}#toast-root{position:fixed;inset:20px auto auto 50%;transform:translate(-50%);z-index:100000;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);height:auto;margin:0;padding:0;border:0;outline:none;background:transparent;color:inherit;overflow:visible;pointer-events:none}#toast-root::backdrop{display:none;background:transparent;pointer-events:none}@keyframes m3ToastEnter{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast{pointer-events:auto;display:inline-flex;align-items:center;gap:9px;max-width:min(560px,calc(100vw - 24px));padding:10px 18px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);box-shadow:var(--m3-elevation-float);font-size:var(--fs-14);font-weight:550;opacity:0;transform:translateY(-10px) scale(.95);transition:opacity .2s var(--m3-ease-smooth),transform .24s var(--m3-ease-spring);cursor:pointer}.toast-msg{min-width:0;overflow-wrap:break-word}.toast.is-visible{opacity:1;transform:translateY(0) scale(1);animation:m3ToastEnter .24s var(--m3-ease-spring)}.toast.is-leaving{opacity:0;transform:translateY(-8px) scale(.96)}.toast-success{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.toast-warning{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.toast-error{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.m3-settings-group{display:flex;flex-direction:column;gap:3px}.m3-settings-item{background:var(--md-sys-color-surface-container-low);padding:16px 20px;border-radius:var(--m3-radius-xs);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.m3-settings-item:first-child{border-top-left-radius:var(--m3-radius-lg-plus);border-top-right-radius:var(--m3-radius-lg-plus)}.m3-settings-item:last-child{border-bottom-left-radius:var(--m3-radius-lg-plus);border-bottom-right-radius:var(--m3-radius-lg-plus)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-title{display:flex;align-items:center;gap:10px;font-size:var(--fs-24);font-weight:700;color:var(--md-sys-color-on-surface);margin-bottom:4px}.page-subtitle{font-size:var(--fs-14);color:var(--md-sys-color-on-surface-variant)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stack-lg{display:flex;flex-direction:column;gap:var(--section-gap, 20px)}.stack-md{display:flex;flex-direction:column;gap:14px}.flex-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stat-kpi-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:18px 20px;display:flex;flex-direction:column;gap:6px}.stat-kpi-label{font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);font-weight:600}.stat-kpi-value{font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--md-sys-color-on-surface);line-height:1.2}.knowledge-shell{display:grid;grid-template-columns:264px minmax(0,1fr);gap:20px;align-items:start}.knowledge-tree-panel{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:14px;max-height:calc(100vh - 108px);overflow-y:auto;position:sticky;top:16px}.question-panel{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:24px}.question-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.question-stem{font-size:1.06rem;line-height:1.85;color:var(--md-sys-color-on-surface);margin:16px 0;overflow-x:auto}.solution-panel{margin-top:18px;padding:18px 20px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container)}.solution-step{padding:11px 14px;background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-md);margin-bottom:8px}.exam-workspace{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:20px;align-items:start}.exam-timer{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:1.08rem;font-weight:700;padding:5px 14px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.exam-timer.is-urgent{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.q-nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.q-nav-btn{position:relative;height:36px;border-radius:var(--m3-radius-sm);border:none;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:650;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.q-nav-btn.is-answered{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.q-nav-btn.is-flagged{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.q-nav-btn.is-current{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.demo-split,.demo-workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.demo-canvas-card{background:var(--md-sys-color-surface-container-lowest);border-radius:var(--m3-radius-lg-plus);padding:14px;overflow:hidden}.demo-controls-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:18px;display:flex;flex-direction:column;gap:14px}.demo-readout{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-md);padding:12px 14px;font-size:var(--fs-14);line-height:1.65}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:12px 16px;margin-bottom:16px}.empty-state{text-align:center;padding:44px 20px;color:var(--md-sys-color-on-surface-variant)}.m3-chart-wrap{position:relative;width:100%}.m3-chart-tooltip{position:absolute;z-index:40;pointer-events:none;padding:7px 11px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);font-size:var(--fs-12);line-height:1.45;box-shadow:var(--m3-elevation-float);white-space:nowrap}@media (max-width: 1023px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-workspace,.demo-split,.demo-workspace{grid-template-columns:1fr}}@media (max-width: 767px){.grid-2,.grid-3,.grid-4,.knowledge-shell{grid-template-columns:1fr}.knowledge-tree-panel{position:static;max-height:300px}.question-panel{padding:16px}}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface)}.topbar{position:sticky;top:0;z-index:200;height:var(--topbar-h);background:var(--md-sys-color-surface-dim);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px}.topbar-left{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}.sidebar-toggle-btn{width:40px;height:40px}.topbar-brand{display:inline-flex;align-items:center;gap:9px;color:var(--md-sys-color-on-surface);font-weight:700;font-size:1.04rem;letter-spacing:-.015em;text-decoration:none;padding:4px 8px 4px 4px;border-radius:var(--m3-radius-full);transition:color var(--m3-dur-fast) var(--m3-ease-smooth)}.topbar-brand:hover{color:var(--md-sys-color-primary)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-family:Times New Roman,Georgia,serif;font-size:1.24rem;font-weight:700;line-height:1;flex-shrink:0}.brand-text{white-space:nowrap}.course-switcher-chip{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px 0 12px;border-radius:var(--m3-radius-full);border:none;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--fs-13);font-weight:600;cursor:pointer;max-width:240px;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.course-switcher-chip:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.course-switcher-chip:active{transform:scale(.97)}.course-switcher-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-switcher-sub{font-size:.72rem;color:var(--md-sys-color-on-surface-variant);padding-left:6px;border-left:1px solid var(--md-sys-color-outline-variant);white-space:nowrap}.topbar-search{position:relative;flex:1 1 440px;max-width:500px}.topbar-search-box{position:relative;display:flex;align-items:center}.topbar-search-icon{position:absolute;left:14px;color:var(--md-sys-color-on-surface-variant);pointer-events:none;display:inline-flex}.topbar-search-input{width:100%;height:40px;padding:0 76px 0 42px;border-radius:var(--m3-radius-full);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-size:var(--fs-14);transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth),box-shadow var(--m3-dur-fast) var(--m3-ease-smooth)}.topbar-search-input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.85}.topbar-search-input:focus{outline:none;background:var(--md-sys-color-surface-bright);border-color:var(--md-sys-color-primary)}[data-theme=dark] .topbar-search-input:focus{background:var(--md-sys-color-surface-container-low)}.topbar-search-kbd{position:absolute;right:12px;pointer-events:none;display:inline-flex;align-items:center;gap:4px}.quick-search-popover{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--md-sys-color-surface-container-high);border-radius:var(--m3-radius-lg-plus);box-shadow:var(--m3-elevation-modal);max-height:440px;overflow-y:auto;z-index:320;padding:6px}.quick-search-group-title{display:flex;align-items:center;gap:6px;padding:8px 12px 4px;font-size:var(--fs-12);font-weight:700;color:var(--md-sys-color-on-surface-variant)}.quick-search-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:var(--m3-radius-md);color:var(--md-sys-color-on-surface);font-size:var(--fs-14);cursor:pointer;text-decoration:none;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.quick-search-item:hover,.quick-search-item.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.quick-search-footer{margin-top:4px;padding:9px 12px;border-radius:var(--m3-radius-md);font-size:var(--fs-13);font-weight:600;text-align:center;color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;border:none;width:100%}.quick-search-footer:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.topbar-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.app-body{display:flex;flex:1;min-height:calc(100vh - var(--topbar-h));align-items:stretch;padding:0 12px 12px 0}.nav-rail{width:var(--drawer-w);flex-shrink:0;background:transparent;padding:4px 10px 12px 12px;display:flex;flex-direction:column;justify-content:space-between;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;overflow-x:hidden;transition:width var(--m3-dur-medium) var(--m3-ease-standard),padding var(--m3-dur-medium) var(--m3-ease-standard)}.nav-rail-list{display:flex;flex-direction:column;gap:4px}.nav-rail-item{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;gap:12px;height:46px;padding:0 16px;border-radius:var(--m3-radius-full);color:var(--md-sys-color-on-surface-variant);font-size:var(--fs-14);font-weight:550;text-decoration:none;user-select:none;transition:background-color var(--m3-dur-short) var(--m3-ease-standard),color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.nav-rail-item:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.nav-rail-item:hover:after{opacity:.08}.nav-rail-item:active{transform:scale(.975)}.nav-rail-item:active:after{opacity:.12}.nav-rail-item.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-weight:700}.nav-rail-pill{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--m3-radius-full);flex-shrink:0;position:relative;transition:width var(--m3-dur-medium) var(--m3-ease-spring),background-color var(--m3-dur-short) var(--m3-ease-standard)}.nav-rail-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-rail-short-label{display:none}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:19px;padding:0 6px;border-radius:var(--m3-radius-full);font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--m3-color-error);color:var(--m3-color-on-error);line-height:1}.nav-badge.badge-primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.nav-badge:empty{display:none}.nav-rail-footer{margin-top:12px;padding:12px 14px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container);font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);line-height:1.55}.nav-rail-hub-link{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:600;color:var(--md-sys-color-primary)}.app-shell.is-rail-collapsed .nav-rail{width:var(--rail-w);padding:4px 6px 12px}.app-shell.is-rail-collapsed .nav-rail-list{gap:6px}.app-shell.is-rail-collapsed .nav-rail-item{flex-direction:column;justify-content:center;gap:4px;height:58px;padding:4px 2px;border-radius:var(--m3-radius-lg);background:transparent!important}.app-shell.is-rail-collapsed .nav-rail-item:after{display:none}.app-shell.is-rail-collapsed .nav-rail-pill{width:52px;height:30px;border-radius:var(--m3-radius-full)}.app-shell.is-rail-collapsed .nav-rail-item:hover .nav-rail-pill{background:rgba(var(--md-sys-color-on-surface-rgb),.08)}.app-shell.is-rail-collapsed .nav-rail-item.is-active .nav-rail-pill{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.app-shell.is-rail-collapsed .nav-rail-label,.app-shell.is-rail-collapsed .nav-rail-footer{display:none}.app-shell.is-rail-collapsed .nav-rail-short-label{display:block;font-size:11px;line-height:1.15;font-weight:600;text-align:center}.app-shell.is-rail-collapsed .nav-badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px}.app-shell.is-immersive-exam .nav-rail{display:none}.app-shell.is-immersive-exam .app-body{padding-left:12px}.main-workspace{flex:1;min-width:0;background:var(--md-sys-color-surface-bright);border-radius:var(--m3-radius-xl);padding:28px 32px 52px;min-height:calc(100vh - var(--topbar-h) - 12px)}[data-theme=dark] .main-workspace{background:var(--md-sys-color-surface-container-lowest)}#view{max-width:1120px;margin:0 auto;width:100%}.bottom-nav,.mobile-more-backdrop,.mobile-more-sheet{display:none}@media (min-width: 768px) and (max-width: 1199px){.course-switcher-sub{display:none}.nav-rail{width:var(--rail-w);padding:4px 6px 12px}.nav-rail:not(.is-tablet-drawer-open) .nav-rail-item{flex-direction:column;justify-content:center;gap:4px;height:58px;padding:4px 2px;background:transparent!important}.nav-rail:not(.is-tablet-drawer-open) .nav-rail-pill{width:52px;height:30px}.nav-rail:not(.is-tablet-drawer-open) .nav-rail-item.is-active .nav-rail-pill{background:var(--md-sys-color-secondary-container)}.nav-rail:not(.is-tablet-drawer-open) .nav-rail-label,.nav-rail:not(.is-tablet-drawer-open) .nav-rail-footer{display:none}.nav-rail:not(.is-tablet-drawer-open) .nav-rail-short-label{display:block;font-size:11px;font-weight:600}.nav-rail:not(.is-tablet-drawer-open) .nav-badge{position:absolute;top:2px;right:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px}.nav-rail.is-tablet-drawer-open{position:fixed;left:0;top:var(--topbar-h);width:var(--drawer-w);z-index:260;background:var(--md-sys-color-surface-container-high);border-radius:0 var(--m3-radius-xl) var(--m3-radius-xl) 0;box-shadow:var(--m3-elevation-modal);padding:12px}.main-workspace{border-radius:24px;padding:22px 24px 44px}}@media (max-width: 767px){.topbar{padding:0 10px;gap:6px}.sidebar-toggle-btn,.brand-text,.course-switcher-sub,.topbar-search-kbd{display:none}.course-switcher-chip{max-width:136px;height:32px;padding:0 8px 0 10px;font-size:var(--fs-12)}.topbar-search-input{height:36px;padding:0 12px 0 36px;font-size:var(--fs-13)}.topbar-search-icon{left:11px}.nav-rail{display:none}.app-body{padding:0 6px calc(var(--bottomnav-h) + 12px) 6px}.main-workspace{border-radius:22px;padding:16px 14px 32px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));background:var(--md-sys-color-surface-container);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;z-index:220;padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;color:var(--md-sys-color-on-surface-variant);font-size:11px;font-weight:600;text-decoration:none;background:transparent;border:none;cursor:pointer;padding:4px 2px}.bnav-pill{display:inline-flex;align-items:center;justify-content:center;width:52px;height:28px;border-radius:var(--m3-radius-full);transition:background-color var(--m3-dur-short) var(--m3-ease-spring)}.bottom-nav-item.is-active{color:var(--md-sys-color-on-surface)}.bottom-nav-item.is-active .bnav-pill{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.bottom-nav-item .nav-badge{position:absolute;top:4px;right:calc(50% - 24px);min-width:16px;height:15px;font-size:10px;padding:0 4px}.mobile-more-backdrop{display:block;position:fixed;inset:0;background:#0000005c;z-index:225}.mobile-more-sheet{display:grid;position:fixed;left:10px;right:10px;bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + 10px);background:var(--md-sys-color-surface-container-high);border-radius:var(--m3-radius-xl);box-shadow:var(--m3-elevation-modal);padding:16px;z-index:230;grid-template-columns:repeat(3,1fr);gap:10px;animation:m3PopoverEnter .22s var(--m3-ease-spring) both}.mobile-more-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);font-size:var(--fs-12);font-weight:600;text-decoration:none;text-align:center}.mobile-more-link.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}}@media print{@page{margin:16mm 14mm}.topbar,.nav-rail,.sidebar,.bottom-nav,.mobile-more-sheet,.mobile-more-backdrop,#toast-root,.math-kb,.modal-backdrop-layer,dialog.modal-dialog,.btn,.icon-btn,.no-print{display:none!important}html,body,.app-shell{background:#fff!important;color:#000!important;font-size:11pt!important;line-height:1.6!important}.app-body,.main-workspace,.main-wrap,#view{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fff!important;border-radius:0!important}.card,.surface-card,.semantic-block,.callout,.kpd-block,.kpd-header-card,.question-panel{box-shadow:none!important;background:#fff!important;border:1px solid #cbd5e1!important;break-inside:avoid;page-break-inside:avoid;margin-bottom:12pt!important}.kpd-ex-ans,.kp-modal-ex-ans{display:block!important}.m3-collapsible-grid{grid-template-rows:1fr!important;opacity:1!important}a{color:#000!important;text-decoration:none!important}}.m3-cards-page{display:flex;flex-direction:column;gap:20px;padding-bottom:32px}.m3-cards-hero{background:color-mix(in srgb,var(--md-sys-color-primary-container) 34%,var(--md-sys-color-surface-container-low));border-radius:var(--m3-radius-xl, 28px);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.m3-cards-hero-main{display:flex;align-items:center;gap:18px;flex:1 1 380px;min-width:0}.m3-cards-hero-title{display:flex;align-items:center;gap:10px;margin:0;font-size:1.4rem;font-weight:750;color:var(--md-sys-color-on-surface)}.m3-cards-hero-title .m3-icon{color:var(--md-sys-color-primary)}.m3-cards-kpis{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;margin-top:10px;font-size:.9rem;color:var(--md-sys-color-on-surface-variant)}.m3-cards-kpi-item{display:inline-flex;align-items:center;gap:6px}.m3-cards-kpi-item strong{color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.m3-cards-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.m3-cards-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.m3-cards-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m3-cards-srs-hint{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:var(--md-sys-color-on-surface-variant)}.m3-decks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.m3-deck-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus, 20px);padding:20px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:background-color var(--m3-dur-fast, .15s) var(--m3-ease-smooth, ease),transform var(--m3-dur-short, .2s) var(--m3-ease-spring, cubic-bezier(.34, 1.45, .64, 1))}.m3-deck-card:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.m3-deck-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.m3-deck-title-group{display:flex;align-items:center;gap:12px;min-width:0}.m3-deck-icon-box{width:44px;height:44px;border-radius:14px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.m3-deck-title{margin:0;font-size:1.06rem;font-weight:700;color:var(--md-sys-color-on-surface);line-height:1.35}.m3-deck-desc{margin:10px 0 12px;font-size:.87rem;line-height:1.6;color:var(--md-sys-color-on-surface-variant)}.m3-deck-prog-track{height:7px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container-highest);overflow:hidden;display:flex}.m3-deck-prog-mastered{background:var(--m3-color-success);height:100%;transition:width .32s var(--m3-ease-standard, cubic-bezier(.2, 0, 0, 1))}.m3-deck-prog-learning{background:var(--md-sys-color-primary);opacity:.58;height:100%;transition:width .32s var(--m3-ease-standard, cubic-bezier(.2, 0, 0, 1))}.m3-deck-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:.81rem;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.m3-deck-due-highlight{color:var(--m3-color-error);font-weight:700}.m3-deck-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m3-rev-stage-wrap{max-width:840px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px;padding-bottom:32px}.m3-rev-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.m3-rev-topbar-left,.m3-rev-topbar-right{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.m3-rev-deck-title{font-size:1rem;font-weight:700;color:var(--md-sys-color-on-surface)}.m3-rev-counter{font-size:.86rem;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.m3-rev-counter strong{font-family:var(--font-mono);color:var(--md-sys-color-on-surface)}.m3-rev-slim-progress{height:6px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container-highest);overflow:hidden}.m3-rev-slim-progress-fill{height:100%;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-primary);transition:width .28s var(--m3-ease-standard, cubic-bezier(.2, 0, 0, 1))}.m3-fc-scene{perspective:1400px;width:100%;min-height:350px;cursor:pointer;user-select:none;outline:none;transition:transform .2s var(--m3-ease-standard),opacity .18s ease}.m3-fc-scene:focus-visible .m3-fc-face{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.m3-fc-scene.is-dealing-in{animation:m3FcDealFromDeck .28s var(--m3-ease-spring, cubic-bezier(.34, 1.45, .64, 1)) both}.m3-fc-scene.exit-g1{transform:translate(-46px) rotate(-2.5deg) scale(.96);opacity:0}.m3-fc-scene.exit-g2{transform:translateY(-24px) scale(.96);opacity:0}.m3-fc-scene.exit-g3{transform:translate(36px) rotate(1.8deg) scale(.97);opacity:0}.m3-fc-scene.exit-g4{transform:translate(58px) translateY(-12px) rotate(2.8deg) scale(.97);opacity:0}@keyframes m3FcDealFromDeck{0%{opacity:0;transform:translateY(14px) scale(.955)}to{opacity:1;transform:translateY(0) scale(1)}}.m3-fc-inner{display:grid;grid-template-columns:minmax(0,1fr);position:relative;width:100%;min-height:350px;transform-style:preserve-3d;transition:transform .48s var(--m3-ease-spring, cubic-bezier(.34, 1.45, .64, 1))}.m3-fc-inner.is-flipped{transform:rotateY(180deg)}.m3-fc-face{grid-area:1 / 1;position:relative;min-height:350px;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--m3-radius-xl, 28px);background:var(--md-sys-color-surface-container-high);padding:28px 32px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;box-sizing:border-box}.m3-fc-front{visibility:visible;pointer-events:auto;transition:visibility 0s linear 0s}.m3-fc-inner.is-flipped .m3-fc-front{visibility:hidden;pointer-events:none;transition:visibility 0s linear .24s}.m3-fc-back{transform:rotateY(180deg);background:color-mix(in srgb,var(--md-sys-color-primary-container) 30%,var(--md-sys-color-surface-container-high));visibility:hidden;pointer-events:none;transition:visibility 0s linear .24s}.m3-fc-inner.is-flipped .m3-fc-back{visibility:visible;pointer-events:auto;transition:visibility 0s linear 0s}.m3-fc-face-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.81rem;font-weight:600;color:var(--md-sys-color-on-surface-variant)}.m3-fc-back .m3-fc-face-header{color:var(--md-sys-color-primary)}.m3-fc-id-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.m3-fc-side-tag{padding:3px 10px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container-highest);font-size:.75rem}.m3-fc-back .m3-fc-side-tag{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.m3-fc-center{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:auto 0;width:100%;min-width:0;gap:16px}.m3-fc-math-front{width:100%;text-align:center;font-size:1.24rem;font-weight:600;line-height:1.85;color:var(--md-sys-color-on-surface);overflow-wrap:break-word}.m3-fc-math-back{width:100%;text-align:center;font-size:1.14rem;line-height:1.85;color:var(--md-sys-color-on-surface);overflow-wrap:break-word}.m3-fc-face .katex-display{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:8px 4px;margin:.5em 0}.m3-fc-note-callout{width:100%;padding:12px 16px;border-radius:16px;background:color-mix(in srgb,var(--m3-color-warning-container) 45%,var(--md-sys-color-surface-container));color:var(--md-sys-color-on-surface);font-size:.9rem;line-height:1.72;text-align:left;display:flex;align-items:flex-start;gap:10px}.m3-fc-note-callout>.m3-icon{color:var(--m3-color-warning);margin-top:3px;flex-shrink:0}.m3-fc-hint-bar{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.83rem;color:var(--md-sys-color-on-surface-variant)}.m3-fc-back-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.82rem}.m3-fc-kp-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.m3-rev-grade-dock{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:76px;transition:opacity .18s ease,transform .22s var(--m3-ease-spring)}.m3-rev-grade-dock.is-hidden{opacity:0;transform:translateY(8px);pointer-events:none}.m3-rev-grade-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:720px}.m3-grade-pill{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 14px;border-radius:var(--m3-radius-full, 9999px);border:none;cursor:pointer;transition:transform var(--m3-dur-short, .2s) var(--m3-ease-spring, cubic-bezier(.34, 1.45, .64, 1)),border-radius var(--m3-dur-short, .2s) var(--m3-ease-standard)}.m3-grade-pill:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity .15s ease}.m3-grade-pill:hover:not(:disabled){transform:translateY(-2px)}.m3-grade-pill:hover:not(:disabled):after{opacity:.08}.m3-grade-pill:active:not(:disabled){transform:scale(.96);border-radius:18px}.m3-grade-pill:active:not(:disabled):after{opacity:.12}.m3-grade-pill-main{display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:700}.m3-grade-pill-key{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#00000017;font-family:var(--font-mono);font-size:.75rem}.m3-grade-pill-sub{font-size:.76rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;opacity:.88}.m3-grade-g1{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.m3-grade-g2{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.m3-grade-g3{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.m3-grade-g4{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.m3-rev-browse-nav{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.m3-rev-summary-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-xl, 28px);padding:38px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.m3-rev-summary-icon{width:68px;height:68px;border-radius:22px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:inline-flex;align-items:center;justify-content:center}.m3-rev-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:540px;margin:8px auto 10px}.m3-rev-summary-cell{padding:14px 10px;border-radius:16px;background:var(--md-sys-color-surface-container);font-variant-numeric:tabular-nums}.m3-rev-summary-num{font-family:var(--font-mono);font-size:1.35rem;font-weight:750}.m3-rev-summary-lbl{font-size:.78rem;color:var(--md-sys-color-on-surface-variant);margin-top:2px}.kp-modal-callout{border-radius:16px;padding:15px 18px;background:var(--md-sys-color-surface-container-low)}.kp-modal-callout-def{background:color-mix(in srgb,var(--md-sys-color-primary-container) 32%,var(--md-sys-color-surface-container-low))}.kp-modal-callout-thm{background:color-mix(in srgb,var(--md-sys-color-secondary-container) 42%,var(--md-sys-color-surface-container-low))}.kp-modal-callout-warn{background:color-mix(in srgb,var(--m3-color-warning-container) 44%,var(--md-sys-color-surface-container-low))}.kp-modal-callout-ex{background:var(--md-sys-color-surface-container-low)}.kp-modal-callout-title{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:700;margin-bottom:8px;color:var(--md-sys-color-primary)}.kp-modal-callout-warn .kp-modal-callout-title{color:var(--m3-color-warning)}@media (max-width: 780px){.m3-cards-hero{padding:18px 20px}.m3-decks-grid{grid-template-columns:1fr}.m3-rev-grade-grid,.m3-rev-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.m3-fc-face{padding:22px 20px;min-height:300px}.m3-fc-inner,.m3-fc-scene{min-height:300px}}@media (prefers-reduced-motion: reduce){.m3-fc-inner,.m3-fc-front,.m3-fc-back,.m3-fc-scene{transition:none!important;animation:none!important}}.demos-page{display:flex;flex-direction:column;gap:22px;padding-bottom:32px;animation:m3-fade-up .28s var(--m3-ease-spring, cubic-bezier(.2, 0, 0, 1)) both}@keyframes m3-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.demos-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 28px;border-radius:var(--m3-radius-xl, 28px);background:var(--md-sys-color-surface-container-low)}.demos-hero:before{content:"";position:absolute;right:-40px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(var(--md-sys-color-primary-rgb, 57, 102, 65),.12) 0%,transparent 70%);pointer-events:none}.demos-hero-main{position:relative;z-index:1;max-width:700px;display:flex;flex-direction:column;gap:8px}.demos-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 12px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:var(--fs-12, .78rem);font-weight:700;letter-spacing:.02em}.demos-hero-title{margin:0;font-size:clamp(1.38rem,2.3vw,1.75rem);font-weight:800;letter-spacing:-.015em;color:var(--md-sys-color-on-surface);display:flex;align-items:center;gap:10px}.demos-hero-desc{margin:0;font-size:var(--fs-14, .92rem);line-height:1.68;color:var(--md-sys-color-on-surface-variant)}.demos-hero-desc code{padding:2px 7px;border-radius:6px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.85em}.demos-hero-stats{position:relative;z-index:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.demos-hero-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 18px;border-radius:18px;background:var(--md-sys-color-surface-container);min-width:108px}.demos-hero-stat-num{font-family:var(--font-mono, "JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800;line-height:1.15;color:var(--md-sys-color-primary)}.demos-hero-stat-lbl{font-size:var(--fs-12, .78rem);font-weight:600;color:var(--md-sys-color-on-surface-variant)}.demos-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:20px;background:var(--md-sys-color-surface-container-low)}.demos-chip-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demos-search-box{position:relative;display:flex;align-items:center;min-width:250px;flex:0 1 320px}.demos-search-icon{position:absolute;left:13px;color:var(--md-sys-color-on-surface-variant);pointer-events:none;display:inline-flex}.demos-search-input{width:100%;height:38px;padding:0 36px 0 38px;border-radius:var(--m3-radius-full, 9999px);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--fs-13, .86rem);transition:background-color .16s ease,border-color .16s ease}.demos-search-input:focus{outline:none;border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-lowest)}.demos-search-clear{position:absolute;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.demos-search-clear:hover{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.demos-chapter-sec{display:flex;flex-direction:column;gap:14px}.demos-chapter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:2px 4px}.demos-chapter-title-wrap{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.demos-chapter-title{margin:0;font-size:1.08rem;font-weight:750;color:var(--md-sys-color-on-surface)}.demos-chapter-count{font-family:var(--font-mono, "JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:var(--fs-12, .78rem);color:var(--md-sys-color-on-surface-variant)}.demos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(305px,1fr));gap:16px}.demos-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:22px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);cursor:pointer;outline:none;transition:transform .22s var(--m3-ease-spring, cubic-bezier(.2, 0, 0, 1)),border-radius .22s ease,background-color .18s ease}.demos-card:hover{background:var(--md-sys-color-surface-container);transform:translateY(-3px)}.demos-card:focus-visible{box-shadow:0 0 0 2px var(--md-sys-color-primary)}.demos-card:active{transform:scale(.99);border-radius:18px}.demos-card-thumb{position:relative;width:100%;aspect-ratio:200 / 112;border-radius:16px;overflow:hidden;background:var(--md-sys-color-surface-container-lowest);border:1px solid rgba(var(--md-sys-color-outline-variant-rgb, 192, 201, 191),.45)}.demos-thumb-svg{width:100%;height:100%;display:block}.demos-card-id-pill{position:absolute;top:9px;left:9px;padding:2px 9px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary);font-family:var(--font-mono, "JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:.73rem;font-weight:700}.demos-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.demos-card-sec{font-size:var(--fs-12, .78rem);font-weight:600;color:var(--md-sys-color-on-surface-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demos-card-title{margin:0;font-size:1.04rem;font-weight:750;line-height:1.38;color:var(--md-sys-color-on-surface)}.demos-card-summary{margin:0;font-size:var(--fs-13, .86rem);line-height:1.62;color:var(--md-sys-color-on-surface-variant);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.demos-card-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.demos-concept-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);font-size:.72rem;font-weight:600}.demos-kp-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--m3-radius-full, 9999px);border:none;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.73rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.demos-kp-chip:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);transform:translateY(-1px)}.demos-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid rgba(var(--md-sys-color-outline-variant-rgb, 192, 201, 191),.4)}.demos-card-kps{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.demos-card-cta{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-13, .85rem);font-weight:700;color:var(--md-sys-color-primary);white-space:nowrap;transition:transform .18s ease}.demos-card:hover .demos-card-cta{transform:translate(3px)}.demos-detail{display:flex;flex-direction:column;gap:16px}.demos-detail.is-immersive{position:fixed;inset:0;z-index:950;padding:16px 20px 24px;background:var(--md-sys-color-background, var(--md-sys-color-surface));overflow-y:auto}.demos-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:20px;background:var(--md-sys-color-surface-container-low)}.demos-topbar-nav,.demos-topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demos-switcher-wrap{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container)}.demos-switcher-select{height:32px;min-width:210px;max-width:310px;padding:0 28px 0 12px;border-radius:var(--m3-radius-full, 9999px);border:none;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--fs-13, .85rem);font-weight:600;cursor:pointer}.demos-switcher-select:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px}.demos-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;border-radius:22px;background:var(--md-sys-color-surface-container-low)}.demos-detail-title-col{display:flex;flex-direction:column;gap:8px;flex:1;min-width:260px}.demos-detail-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demos-detail-title{margin:0;font-size:clamp(1.22rem,2vw,1.48rem);font-weight:800;letter-spacing:-.01em;color:var(--md-sys-color-on-surface)}.demos-detail-summary{margin:0;font-size:var(--fs-14, .92rem);line-height:1.65;color:var(--md-sys-color-on-surface-variant)}.demos-detail-kps{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.demos-workspace{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,3.3fr);gap:16px;align-items:start}.demos-workspace.is-wide-stage{grid-template-columns:minmax(0,1fr)}.demos-workspace.is-wide-stage .demos-side-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.demos-stage-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px 16px;border-radius:24px;background:var(--md-sys-color-surface-container-low);min-width:0}.demos-stage-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 4px}.demos-stage-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-13, .86rem);font-weight:700;color:var(--md-sys-color-on-surface)}.demos-stage-hint{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-12, .78rem);color:var(--md-sys-color-on-surface-variant)}.demos-canvas-frame{position:relative;width:100%;height:clamp(360px,56vh,540px);border-radius:18px;overflow:hidden;background:var(--md-sys-color-surface-container-lowest);border:1px solid rgba(var(--md-sys-color-outline-variant-rgb, 192, 201, 191),.5)}.demos-workspace.is-wide-stage .demos-canvas-frame,.demos-detail.is-immersive .demos-canvas-frame{height:clamp(440px,68vh,700px)}.demos-canvas{display:block;width:100%;height:100%;touch-action:none}.demos-side-col{display:flex;flex-direction:column;gap:14px;min-width:0}.demos-panel-card{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border-radius:22px;background:var(--md-sys-color-surface-container-low)}.demos-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(var(--md-sys-color-outline-variant-rgb, 192, 201, 191),.4)}.demos-panel-title{display:inline-flex;align-items:center;gap:7px;font-size:.94rem;font-weight:750;color:var(--md-sys-color-on-surface)}.demos-controls-host,.demos-readout-host{min-width:0;font-variant-numeric:tabular-nums}.demos-principle-card{display:flex;flex-direction:column;gap:14px;padding:22px 24px;border-radius:24px;background:var(--md-sys-color-surface-container-low)}.demos-principle-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.demos-principle-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:1.05rem;font-weight:750;color:var(--md-sys-color-on-surface)}.demos-principle-body{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:16px;background:var(--md-sys-color-surface-container-lowest);font-size:var(--fs-14, .93rem);line-height:1.78;color:var(--md-sys-color-on-surface)}.demos-principle-p{margin:0}.demos-related-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:8px;border-top:1px solid rgba(var(--md-sys-color-outline-variant-rgb, 192, 201, 191),.4)}.demos-related-kps-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demos-related-label{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-13, .85rem);font-weight:700;color:var(--md-sys-color-on-surface-variant)}.demos-related-kp-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--m3-radius-full, 9999px);border:none;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-size:var(--fs-12, .79rem);font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.demos-related-kp-btn:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);transform:translateY(-1px)}.demos-related-kp-id{font-family:var(--font-mono, "JetBrains Mono", monospace);font-weight:700}.demos-related-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 1024px){.demos-workspace{grid-template-columns:minmax(0,1fr)}.demos-canvas-frame{height:clamp(320px,48vh,460px)}}@media (max-width: 640px){.demos-hero{padding:18px}.demos-toolbar{padding:12px 14px}.demos-search-box{flex:1 1 100%;min-width:0}.demos-switcher-select{min-width:160px;max-width:210px}.demos-detail-header,.demos-principle-card{padding:16px}}.exam-page{display:flex;flex-direction:column;gap:var(--section-gap, 20px);padding-bottom:36px}.exam-hero-card{position:relative;overflow:hidden;border-radius:var(--m3-radius-xl);padding:26px 28px;background:color-mix(in srgb,var(--md-sys-color-primary-container) 34%,var(--md-sys-color-surface-container-low));display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.exam-hero-main{display:flex;flex-direction:column;gap:8px;max-width:680px}.exam-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 12px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-primary);font-size:var(--fs-12);font-weight:700}.exam-hero-title{display:flex;align-items:center;gap:10px;font-size:var(--fs-24);font-weight:750;color:var(--md-sys-color-on-surface);margin:0}.exam-hero-desc{font-size:var(--fs-14);color:var(--md-sys-color-on-surface-variant);line-height:1.68;margin:0}.exam-hero-kpis{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.exam-hero-kpi{min-width:112px;padding:12px 16px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container-lowest);display:flex;flex-direction:column;gap:2px}.exam-hero-kpi-val{font-family:var(--font-mono);font-size:1.38rem;font-weight:750;color:var(--md-sys-color-on-surface);line-height:1.2}.exam-hero-kpi-lbl{font-size:var(--fs-12);font-weight:600;color:var(--md-sys-color-on-surface-variant)}.exam-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 22px;border-radius:var(--m3-radius-lg-plus);background:color-mix(in srgb,var(--m3-color-warning-container) 62%,var(--md-sys-color-surface-container-low));color:var(--md-sys-color-on-surface)}.exam-draft-info{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1}.exam-draft-icon-wrap{width:42px;height:42px;border-radius:var(--m3-radius-md);background:var(--m3-color-warning);color:var(--m3-color-on-warning);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.exam-draft-title{font-size:var(--fs-16);font-weight:700;color:var(--md-sys-color-on-surface);margin-bottom:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-draft-meta{font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exam-draft-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exam-section-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:22px 24px}.exam-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.exam-section-title{display:inline-flex;align-items:center;gap:9px;font-size:var(--fs-18);font-weight:700;color:var(--md-sys-color-on-surface);margin:0}.exam-section-sub{font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant)}.exam-papers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(305px,1fr));gap:16px}.exam-paper-card{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:transform var(--m3-dur-short) var(--m3-ease-spring),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-paper-card:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-2px)}.exam-paper-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.exam-paper-stars{display:inline-flex;align-items:center;gap:2px;color:var(--m3-color-warning)}.exam-paper-stars .is-dim{opacity:.28}.exam-paper-title{font-size:1.06rem;font-weight:700;color:var(--md-sys-color-on-surface);line-height:1.45;margin-bottom:6px}.exam-paper-desc{font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);line-height:1.6}.exam-paper-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.exam-meta-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);font-size:var(--fs-12);font-weight:600}.exam-meta-pill.is-best{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container);font-weight:700}.exam-paper-actions{display:flex;align-items:center;gap:8px}.exam-builder-top-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:18px}.exam-builder-block{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px}.exam-builder-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-13);font-weight:700;color:var(--md-sys-color-on-surface)}.exam-builder-chips{display:flex;flex-wrap:wrap;gap:8px}.exam-duration-row{display:flex;align-items:center;gap:12px;margin-top:2px}.exam-duration-row input[type=range]{flex:1}.exam-num-input{width:68px;height:36px;padding:4px 8px;border-radius:var(--m3-radius-sm);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:var(--fs-14);font-weight:700;text-align:center;font-variant-numeric:tabular-nums;transition:border-color var(--m3-dur-fast) var(--m3-ease-smooth),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-num-input:focus{outline:none;border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-lowest)}.exam-specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px}.exam-spec-card{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.exam-spec-card.is-zero{opacity:.68}.exam-spec-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.exam-spec-name{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-14);font-weight:700;color:var(--md-sys-color-on-surface)}.exam-spec-avail{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);font-family:var(--font-mono)}.exam-spec-controls{display:flex;align-items:center;gap:6px;font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);flex-wrap:wrap}.exam-spec-controls .exam-num-input{width:58px;height:34px}.exam-builder-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant)}.exam-builder-title-input{flex:1 1 280px;max-width:440px}.exam-table-wrap{overflow-x:auto;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container)}.exam-table{width:100%;border-collapse:collapse;font-size:var(--fs-14)}.exam-table th,.exam-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--md-sys-color-outline-variant)}.exam-table tbody tr:last-child td{border-bottom:none}.exam-table th{font-size:var(--fs-12);font-weight:700;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-high);white-space:nowrap}.exam-table tbody tr{transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-table tbody tr:hover{background:var(--md-sys-color-surface-container-high)}.exam-focus-topbar{position:sticky;top:calc(var(--topbar-h, 60px) + 6px);z-index:90;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;padding:12px 20px;border-radius:var(--m3-radius-xl);background:color-mix(in srgb,var(--md-sys-color-surface-container-high) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.exam-focus-left{display:flex;flex-direction:column;gap:2px;min-width:0}.exam-focus-course-row{display:flex;align-items:center;gap:8px;min-width:0}.exam-focus-course-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-size:11px;font-weight:700;flex-shrink:0}.exam-focus-title{font-size:var(--fs-16);font-weight:750;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-focus-sub{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-focus-center{display:flex;justify-content:center}.exam-focus-timer{display:inline-flex;align-items:center;gap:7px;padding:7px 18px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:1.18rem;font-weight:750;letter-spacing:.02em;font-variant-numeric:tabular-nums;transition:background-color .3s ease,color .3s ease,transform .22s var(--m3-ease-spring)}.exam-focus-timer.is-urgent{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container);animation:examUrgentBreathe 1.8s ease-in-out infinite}.exam-focus-timer.is-paused{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}@keyframes examUrgentBreathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.78;transform:scale(1.025)}}@media (prefers-reduced-motion: reduce){.exam-focus-timer.is-urgent{animation:none}}.exam-focus-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.exam-mobile-sheet-trigger{display:none}.exam-taking-layout{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:20px;align-items:start}.exam-stage-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-xl);padding:26px 28px;min-height:430px;display:flex;flex-direction:column;justify-content:space-between}.exam-q-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.exam-q-sec-label{font-size:var(--fs-13);font-weight:700;color:var(--md-sys-color-primary);margin-bottom:4px}.exam-q-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.exam-q-num{font-size:var(--fs-20);font-weight:750;color:var(--md-sys-color-on-surface)}.exam-flag-btn{transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.exam-flag-btn.is-flagged{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container);border-color:transparent}.exam-q-stem{font-size:1.07rem;line-height:1.85;color:var(--md-sys-color-on-surface);margin-bottom:22px;overflow-x:auto}.exam-options-stack{display:flex;flex-direction:column;gap:10px}.exam-option-bar{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;padding:14px 18px;border-radius:var(--m3-radius-md);border:none;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);font-size:var(--fs-16);line-height:1.65;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard)}.exam-option-bar:after{content:"";position:absolute;inset:0;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-option-bar:hover:not(:disabled):after{opacity:.08}.exam-option-bar:active:not(:disabled){transform:scale(.992)}.exam-option-bar.is-selected{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.exam-option-key{width:28px;height:28px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:750;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-option-key.is-multi{border-radius:var(--m3-radius-sm)}.exam-option-bar.is-selected .exam-option-key{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.exam-judge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.exam-judge-btn{justify-content:center;align-items:center;padding:20px 18px;font-weight:700;font-size:1.04rem}.exam-fill-stack{display:flex;flex-direction:column;gap:14px}.exam-fill-row{display:flex;flex-direction:column;gap:6px}.exam-fill-input-line{display:flex;align-items:center;gap:10px}.exam-fill-blank-tag{min-width:52px;padding:5px 10px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:700;text-align:center;flex-shrink:0}.exam-fill-input{width:100%;height:46px;padding:0 16px;border-radius:var(--m3-radius-md);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:1rem;transition:border-color var(--m3-dur-fast) var(--m3-ease-smooth),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-fill-input:focus{outline:none;border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-lowest)}.exam-fill-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container);font-size:var(--fs-13)}.exam-fill-preview.is-error{background:color-mix(in srgb,var(--m3-color-error-container) 55%,var(--md-sys-color-surface-container));color:var(--m3-color-error)}.exam-essay-box{display:flex;flex-direction:column;gap:10px}.exam-essay-textarea{width:100%;min-height:156px;padding:14px 16px;border-radius:var(--m3-radius-lg);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-size:.96rem;line-height:1.72;resize:vertical;transition:border-color var(--m3-dur-fast) var(--m3-ease-smooth),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-essay-textarea:focus{outline:none;border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-lowest)}.exam-essay-preview{padding:12px 16px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container);font-size:var(--fs-14);line-height:1.75}.exam-stage-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:26px;padding-top:18px;border-top:1px solid var(--md-sys-color-outline-variant)}.exam-autosave-hint{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant)}.exam-sheet-aside{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg-plus);padding:18px;position:sticky;top:calc(var(--topbar-h, 60px) + 84px);max-height:calc(100vh - var(--topbar-h, 60px) - 104px);overflow-y:auto;display:flex;flex-direction:column;gap:14px}.exam-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.exam-sheet-title{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-14);font-weight:750;color:var(--md-sys-color-on-surface)}.exam-sheet-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:10px 12px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low);font-size:11.5px;color:var(--md-sys-color-on-surface-variant)}.exam-legend-item{display:inline-flex;align-items:center;gap:6px;font-weight:600}.exam-legend-swatch{width:13px;height:13px;border-radius:4px;flex-shrink:0;position:relative}.exam-legend-swatch.is-unanswered{background:var(--md-sys-color-surface-container-highest)}.exam-legend-swatch.is-answered{background:var(--md-sys-color-secondary-container)}.exam-legend-swatch.is-current{background:var(--md-sys-color-primary)}.exam-legend-swatch.is-flagged{background:var(--m3-color-warning-container)}.exam-sheet-sec-group{display:flex;flex-direction:column;gap:7px}.exam-sheet-sec-title{font-size:var(--fs-12);font-weight:700;color:var(--md-sys-color-on-surface-variant);line-height:1.35}.exam-matrix-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.exam-matrix-cell{position:relative;height:38px;border-radius:var(--m3-radius-sm);border:none;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard)}.exam-matrix-cell:hover{transform:translateY(-1px)}.exam-matrix-cell:active{transform:scale(.93)}.exam-matrix-cell.is-answered{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.exam-matrix-cell.is-flagged{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.exam-matrix-cell.is-current{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:var(--m3-radius-md);box-shadow:0 0 0 2px var(--md-sys-color-surface-container),0 0 0 4px var(--md-sys-color-primary)}.exam-matrix-flag-badge{position:absolute;top:-3px;right:-3px;width:15px;height:15px;border-radius:var(--m3-radius-full);background:var(--m3-color-warning);color:var(--m3-color-on-warning);display:inline-flex;align-items:center;justify-content:center;pointer-events:none}.exam-pause-scrim{position:fixed;inset:0;z-index:350;background:#0c100cad;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.exam-pause-dialog{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border-radius:var(--m3-radius-xl);box-shadow:var(--m3-elevation-modal);padding:32px 28px;max-width:420px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.exam-pause-icon-circle{width:58px;height:58px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}.exam-grading-banner{border-radius:var(--m3-radius-xl);padding:22px 26px;background:color-mix(in srgb,var(--md-sys-color-primary-container) 40%,var(--md-sys-color-surface-container-low));display:flex;align-items:flex-start;gap:14px}.exam-grading-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:14px 0 16px}.exam-grading-pane{border-radius:var(--m3-radius-lg);padding:16px 18px;background:var(--md-sys-color-surface-container)}.exam-grading-pane.is-std{background:color-mix(in srgb,var(--m3-color-success-container) 36%,var(--md-sys-color-surface-container))}.exam-grading-pane-title{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-13);font-weight:750;color:var(--md-sys-color-on-surface-variant);margin-bottom:8px}.exam-grading-pane.is-std .exam-grading-pane-title{color:var(--m3-color-success)}.exam-rubric-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.exam-rubric-item{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container);cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.exam-rubric-item:hover{background:var(--md-sys-color-surface-container-high)}.exam-rubric-item.is-checked{background:color-mix(in srgb,var(--md-sys-color-primary-container) 52%,var(--md-sys-color-surface-container))}.exam-rubric-checkbox{width:18px;height:18px;margin-top:3px;accent-color:var(--md-sys-color-primary);flex-shrink:0;cursor:pointer}.exam-rubric-pts{font-family:var(--font-mono);font-size:var(--fs-13);font-weight:750;color:var(--md-sys-color-primary);white-space:nowrap}.exam-report-hero{display:grid;grid-template-columns:176px minmax(0,1fr);gap:26px;align-items:center}.exam-report-ring-box{display:flex;flex-direction:column;align-items:center;gap:8px}.exam-grade-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--m3-radius-full);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:750}.exam-grade-pill.grade-excellent{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.exam-grade-pill.grade-good{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.exam-grade-pill.grade-pass{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.exam-grade-pill.grade-fail{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.exam-report-score-big{font-family:var(--font-mono);font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--md-sys-color-on-surface);line-height:1.15}.exam-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.exam-weak-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.exam-weak-card{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.exam-weak-metrics{display:flex;flex-direction:column;gap:6px}.exam-review-card{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:20px 22px;display:flex;flex-direction:column;gap:12px}.exam-review-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.exam-review-opt{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low);font-size:var(--fs-14)}.exam-review-opt.is-std{background:color-mix(in srgb,var(--m3-color-success-container) 55%,var(--md-sys-color-surface-container-low))}.exam-review-opt.is-user-wrong{background:color-mix(in srgb,var(--m3-color-error-container) 55%,var(--md-sys-color-surface-container-low))}.exam-review-ans-bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low);font-size:var(--fs-14)}.exam-review-solution{padding:14px 18px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low);font-size:var(--fs-14);line-height:1.78}.exam-review-kps{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-page .progress-bar{width:100%;height:8px;background:var(--md-sys-color-surface-container-highest);border-radius:var(--m3-radius-full);overflow:hidden}.exam-page .progress-bar>.progress-bar__fill,.exam-page .progress-bar>.progress-fill,.progress-bar>.progress-bar__fill{display:block;height:100%;min-width:0;background:var(--md-sys-color-primary);border-radius:var(--m3-radius-full);transition:width .32s var(--m3-ease-standard)}.exam-page .badge-error{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}@media (max-width: 960px){.exam-focus-topbar{grid-template-columns:1fr auto;row-gap:10px}.exam-focus-left{grid-column:1 / -1}.exam-focus-center{justify-content:flex-start}.exam-taking-layout{grid-template-columns:1fr}.exam-sheet-aside{display:none}.exam-mobile-sheet-trigger{display:inline-flex}.exam-builder-top-grid,.exam-report-hero,.exam-charts-grid{grid-template-columns:1fr}}@media (max-width: 640px){.exam-hero-card,.exam-section-card,.exam-stage-card{padding:18px 16px}.exam-judge-grid{grid-template-columns:1fr}}@media print{.exam-focus-topbar,.exam-sheet-aside{display:none!important}.exam-report-hero{grid-template-columns:140px 1fr!important}.exam-review-card,.exam-section-card{break-inside:avoid;page-break-inside:avoid;border:1px solid #cbd5e1!important;background:#fff!important}}.home-page{display:flex;flex-direction:column;gap:20px;padding-bottom:36px;animation:home-enter .28s var(--m3-ease-spring, cubic-bezier(.2, 0, 0, 1)) both}@keyframes home-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:26px 28px;border-radius:var(--m3-radius-xl, 28px);background:var(--md-sys-color-surface-container-low)}.home-hero:before{content:"";position:absolute;right:-50px;top:-70px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(var(--md-sys-color-primary-rgb, 57, 102, 65),.13) 0%,transparent 70%);pointer-events:none}.home-hero-main{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;min-width:0}.home-hero-top-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.home-course-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:var(--fs-12, .78rem);font-weight:700}.home-course-switch-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--fs-12, .78rem);font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.home-course-switch-chip:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);transform:translateY(-1px)}.home-streak-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--m3-radius-full, 9999px);background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container);font-size:var(--fs-12, .78rem);font-weight:700;font-variant-numeric:tabular-nums}.home-streak-pill.is-idle{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.home-greeting-title{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:clamp(1.42rem,2.4vw,1.85rem);font-weight:800;letter-spacing:-.015em;color:var(--md-sys-color-on-surface)}.home-greeting-sub{margin:0;font-size:var(--fs-14, .93rem);line-height:1.65;color:var(--md-sys-color-on-surface-variant);max-width:640px}.home-goal-box{position:relative;z-index:1;display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:22px;background:var(--md-sys-color-surface-container)}.home-goal-info{display:flex;flex-direction:column;gap:4px}.home-goal-title{font-size:var(--fs-12, .78rem);font-weight:700;color:var(--md-sys-color-on-surface-variant)}.home-goal-nums{font-family:var(--font-mono, "JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800;color:var(--md-sys-color-on-surface)}.home-goal-nums span{font-size:.86rem;font-weight:600;color:var(--md-sys-color-on-surface-variant)}.home-goal-meta{display:flex;flex-direction:column;gap:2px;font-size:.76rem;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.home-resume-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 20px;border-radius:20px;background:var(--md-sys-color-surface-container)}.home-resume-bar.is-newcomer{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.home-resume-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.home-resume-icon{width:38px;height:38px;border-radius:12px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.home-resume-bar.is-newcomer .home-resume-icon{background:rgba(var(--md-sys-color-on-primary-container-rgb, 10, 32, 16),.1);color:var(--md-sys-color-on-primary-container)}.home-resume-text{display:flex;flex-direction:column;gap:2px;min-width:0}.home-resume-label{font-size:var(--fs-12, .78rem);font-weight:600;opacity:.82}.home-resume-target{font-size:var(--fs-14, .93rem);font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home-kpi-card{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:18px 20px;border-radius:22px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);text-decoration:none;transition:transform .2s var(--m3-ease-spring, cubic-bezier(.2, 0, 0, 1)),border-radius .2s ease,background-color .16s ease}.home-kpi-card:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.home-kpi-card:active{transform:scale(.985);border-radius:18px}.home-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-kpi-label{font-size:var(--fs-13, .85rem);font-weight:650;color:var(--md-sys-color-on-surface-variant)}.home-kpi-icon{width:34px;height:34px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.home-kpi-icon.tone-primary{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.home-kpi-icon.tone-tertiary{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.home-kpi-icon.tone-warning{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.home-kpi-icon.tone-error{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.home-kpi-icon.tone-success{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.home-kpi-value{font-family:var(--font-mono, "JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:800;line-height:1.15;color:var(--md-sys-color-on-surface)}.home-kpi-value small{font-family:var(--font-sans);font-size:.82rem;font-weight:600;margin-left:4px;color:var(--md-sys-color-on-surface-variant)}.home-kpi-sub{font-size:var(--fs-12, .78rem);color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.home-sec{display:flex;flex-direction:column;gap:14px}.home-sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 2px}.home-sec-title{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:1.08rem;font-weight:780;color:var(--md-sys-color-on-surface)}.home-sec-sub{font-size:var(--fs-12, .79rem);color:var(--md-sys-color-on-surface-variant)}.home-tasks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-task-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:20px 22px;border-radius:24px;background:var(--md-sys-color-surface-container-low);transition:background-color .18s ease,transform .2s var(--m3-ease-spring, cubic-bezier(.2, 0, 0, 1))}.home-task-card:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.home-task-top{display:flex;flex-direction:column;gap:10px}.home-task-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-task-tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-13, .86rem);font-weight:750;color:var(--md-sys-color-on-surface)}.home-task-metric{display:flex;align-items:baseline;gap:6px}.home-task-num{font-family:var(--font-mono, "JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:800;line-height:1.1;color:var(--md-sys-color-primary)}.home-task-num.is-warning{color:var(--m3-color-warning)}.home-task-num.is-error{color:var(--m3-color-error)}.home-task-num.is-success{color:var(--m3-color-success)}.home-task-unit{font-size:var(--fs-13, .86rem);font-weight:650;color:var(--md-sys-color-on-surface-variant)}.home-task-desc{margin:0;font-size:var(--fs-13, .85rem);line-height:1.6;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.home-task-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.home-chapters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-ch-card{display:flex;flex-direction:column;gap:14px;padding:20px 22px;border-radius:24px;background:var(--md-sys-color-surface-container-low)}.home-ch-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.home-ch-info{display:flex;flex-direction:column;gap:6px;min-width:0}.home-ch-title{margin:0;font-size:1.06rem;font-weight:780;color:var(--md-sys-color-on-surface)}.home-ch-title a{color:inherit;text-decoration:none}.home-ch-title a:hover{color:var(--md-sys-color-primary)}.home-ch-stats{font-size:var(--fs-12, .78rem);color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.home-ch-sections{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid rgba(var(--md-sys-color-outline-variant-rgb, 192, 201, 191),.4)}.home-sec-row{display:grid;grid-template-columns:minmax(0,1fr) 68px 38px;align-items:center;gap:8px;padding:5px 8px;border-radius:10px;text-decoration:none;color:var(--md-sys-color-on-surface);font-size:var(--fs-12, .79rem);transition:background-color .14s ease}.home-sec-row:hover{background:var(--md-sys-color-surface-container-high)}.home-sec-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.home-sec-row-no{font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--md-sys-color-primary);font-weight:700;margin-right:5px}.home-sec-bar-track{height:6px;border-radius:999px;background:var(--md-sys-color-surface-container-highest);overflow:hidden}.home-sec-bar-fill{height:100%;border-radius:999px;background:var(--md-sys-color-primary);transition:width .32s var(--m3-ease-spring, cubic-bezier(.2, 0, 0, 1))}.home-sec-row-pct{text-align:right;font-family:var(--font-mono, "JetBrains Mono", monospace);font-variant-numeric:tabular-nums;font-size:.73rem;color:var(--md-sys-color-on-surface-variant)}.home-ch-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px}.home-analytics-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:stretch}.home-chart-card,.home-weak-card{display:flex;flex-direction:column;gap:14px;padding:20px 22px;border-radius:24px;background:var(--md-sys-color-surface-container-low);min-width:0}.home-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-week-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.home-week-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--m3-radius-full, 9999px);background:var(--md-sys-color-surface-container);font-size:var(--fs-12, .78rem);color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.home-week-pill strong{font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--md-sys-color-on-surface);font-weight:750}.home-weak-list{display:flex;flex-direction:column;gap:8px;flex:1}.home-weak-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:var(--md-sys-color-surface-container);transition:background-color .15s ease}.home-weak-item:hover{background:var(--md-sys-color-surface-container-high)}.home-weak-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.home-weak-title-row{display:flex;align-items:center;gap:6px;min-width:0}.home-weak-id{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.73rem;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);flex-shrink:0}.home-weak-name{font-size:var(--fs-13, .86rem);font-weight:650;color:var(--md-sys-color-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-weak-meta{display:flex;align-items:center;gap:8px;font-size:.74rem;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.home-weak-mini-bar{width:64px;height:5px;border-radius:999px;background:var(--md-sys-color-surface-container-highest);overflow:hidden}.home-weak-mini-fill{height:100%;border-radius:999px}.home-weak-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.home-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-quick-card{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border-radius:22px;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);text-decoration:none;transition:transform .2s var(--m3-ease-spring, cubic-bezier(.2, 0, 0, 1)),border-radius .2s ease,background-color .16s ease}.home-quick-card:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.home-quick-card:active{transform:scale(.985);border-radius:18px}.home-quick-icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.home-quick-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.home-quick-title{font-size:.96rem;font-weight:750;color:var(--md-sys-color-on-surface);display:flex;align-items:center;justify-content:space-between;gap:6px}.home-quick-desc{font-size:var(--fs-12, .79rem);line-height:1.55;color:var(--md-sys-color-on-surface-variant)}@media (max-width: 1120px){.home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-tasks-grid,.home-chapters-grid,.home-analytics-split{grid-template-columns:minmax(0,1fr)}.home-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 780px){.home-hero{grid-template-columns:minmax(0,1fr);padding:20px}.home-goal-box{width:100%;justify-content:flex-start}.home-quick-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 480px){.home-kpi-grid{grid-template-columns:minmax(0,1fr)}.home-sec-row{grid-template-columns:minmax(0,1fr) 42px}.home-sec-bar-track{display:none}}.kn-page{width:100%;max-width:1360px;margin:0 auto}.kn-mobile-bar{display:none;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.kn-layout{display:grid;grid-template-columns:288px minmax(0,1fr);gap:24px;align-items:start}.kn-sidebar{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow-y:auto;background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large, 16px);padding:12px 10px;scrollbar-width:thin}.kn-sidebar-head{display:none;align-items:center;justify-content:space-between;padding:6px 10px 12px;margin-bottom:6px;border-bottom:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 45%,transparent);font-weight:600;color:var(--md-sys-color-on-surface)}.kn-tree-overview-link{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--md-sys-shape-corner-full, 9999px);color:var(--md-sys-color-on-surface-variant);font-size:.9rem;font-weight:600;text-decoration:none;margin-bottom:8px;transition:background-color .18s cubic-bezier(.2,0,0,1),color .18s cubic-bezier(.2,0,0,1)}.kn-tree-overview-link:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,transparent);color:var(--md-sys-color-on-surface);text-decoration:none}.kn-tree-overview-link.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.kn-tree-ch{margin-bottom:6px}.kn-tree-ch-row{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:12px;transition:background-color .16s ease}.kn-tree-ch-row:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 6%,transparent)}.kn-tree-ch-row.is-active{background:color-mix(in srgb,var(--md-sys-color-primary-container) 72%,transparent)}.kn-tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:9999px;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;flex-shrink:0;padding:0;transition:transform .24s cubic-bezier(.22,1,.36,1),background-color .15s ease}.kn-tree-toggle:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 10%,transparent);color:var(--md-sys-color-on-surface)}.kn-tree-toggle.is-open{transform:rotate(90deg)}.kn-tree-ch-link{flex:1;min-width:0;font-size:.875rem;font-weight:600;color:var(--md-sys-color-on-surface);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:3px 2px}.kn-tree-ch-row.is-active .kn-tree-ch-link{color:var(--md-sys-color-on-primary-container)}.kn-tree-ch-link:hover{color:var(--md-sys-color-primary);text-decoration:none}.kn-tree-pct{font-size:.75rem;font-weight:600;color:var(--md-sys-color-on-surface-variant);padding:2px 6px;border-radius:9999px;background:var(--md-sys-color-surface-container-high);flex-shrink:0}.kn-tree-secs{padding-left:12px;margin-top:3px;display:flex;flex-direction:column;gap:2px}.kn-tree-sec-row{display:flex;align-items:center;gap:4px;padding:5px 8px 5px 4px;border-radius:10px;transition:background-color .15s ease}.kn-tree-sec-row:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 6%,transparent)}.kn-tree-sec-row.is-active{background:var(--md-sys-color-secondary-container)}.kn-tree-sec-link{flex:1;min-width:0;font-size:.82rem;color:var(--md-sys-color-on-surface-variant);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}.kn-tree-sec-row.is-active .kn-tree-sec-link{color:var(--md-sys-color-on-secondary-container);font-weight:600}.kn-tree-sec-link:hover{color:var(--md-sys-color-primary);text-decoration:none}.kn-tree-sec-prog{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.kn-mini-bar{width:28px;height:4px;border-radius:9999px;background:var(--md-sys-color-surface-container-highest);overflow:hidden}.kn-mini-bar>i{display:block;height:100%;border-radius:inherit;background:var(--md-sys-color-primary);transition:width .26s cubic-bezier(.22,1,.36,1)}.kn-mini-pct{font-size:.7rem;color:var(--md-sys-color-on-surface-variant);min-width:26px;text-align:right}.kn-tree-kps{padding-left:22px;display:flex;flex-direction:column;gap:2px;border-left:1.5px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 55%,transparent);margin:2px 0 6px 16px}.kn-tree-kp-link{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;font-size:.79rem;color:var(--md-sys-color-on-surface-variant);text-decoration:none;transition:background-color .14s ease,color .14s ease}.kn-tree-kp-link:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 7%,transparent);color:var(--md-sys-color-on-surface);text-decoration:none}.kn-tree-kp-id{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.72rem;color:var(--md-sys-color-outline);flex-shrink:0}.kn-tree-kp-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kn-mark-icon.is-understood{color:var(--m3-color-success, #1e8e3e)}.kn-mark-icon.is-read{color:var(--md-sys-color-primary)}.kn-mark-icon.is-review{color:var(--m3-color-warning, #e37400)}.kn-mark-icon.is-unread{color:var(--md-sys-color-outline);opacity:.7}.kn-main{min-width:0;display:flex;flex-direction:column;gap:20px}.kn-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.85rem;color:var(--md-sys-color-on-surface-variant)}.kn-breadcrumb a{color:var(--md-sys-color-on-surface-variant);text-decoration:none;padding:3px 8px;border-radius:9999px;transition:background-color .15s ease,color .15s ease}.kn-breadcrumb a:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent);color:var(--md-sys-color-primary)}.kn-breadcrumb-cur{font-weight:600;color:var(--md-sys-color-on-surface);padding:3px 6px}.kn-page-intro{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px}.kn-page-title{display:flex;align-items:center;gap:10px;font-size:1.55rem;font-weight:700;letter-spacing:-.02em;margin:0 0 4px;color:var(--md-sys-color-on-surface)}.kn-page-sub{margin:0;font-size:.9rem;color:var(--md-sys-color-on-surface-variant)}.kn-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.kn-ch-card{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--md-sys-shape-corner-large, 16px);background:var(--md-sys-color-surface-container-low);transition:transform .24s cubic-bezier(.22,1,.36,1),background-color .18s ease}.kn-ch-card:hover{transform:translateY(-2px);background:var(--md-sys-color-surface-container)}.kn-ch-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.kn-ch-card-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.01em;color:var(--md-sys-color-on-surface)}.kn-ch-card-desc{margin:0;font-size:.875rem;line-height:1.65;color:var(--md-sys-color-on-surface-variant);flex:1}.kn-progress-track{width:100%;height:7px;border-radius:9999px;background:var(--md-sys-color-surface-container-highest);overflow:hidden}.kn-progress-fill{height:100%;border-radius:inherit;background:var(--md-sys-color-primary);transition:width .32s cubic-bezier(.22,1,.36,1)}.kn-ch-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--md-sys-color-on-surface-variant)}.kn-ch-card-meta span{display:inline-flex;align-items:center;gap:4px}.kn-ch-card-actions{display:flex;align-items:center;gap:8px;padding-top:4px}.kn-graph-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large, 16px);padding:20px;display:flex;flex-direction:column;gap:14px}.kn-graph-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.kn-graph-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:1.15rem;font-weight:700;color:var(--md-sys-color-on-surface)}.kn-graph-sub{margin:0;font-size:.84rem;color:var(--md-sys-color-on-surface-variant)}.kn-graph-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 12px;border-radius:14px;background:var(--md-sys-color-surface-container)}.kn-graph-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kn-graph-zoom-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.kn-graph-stage{position:relative;width:100%;height:540px;border-radius:14px;background:var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 48%,transparent);overflow:hidden;cursor:grab;user-select:none;touch-action:none}.kn-graph-stage.is-panning{cursor:grabbing}.kn-graph-svg{width:100%;height:100%;display:block}.kn-edge{fill:none;stroke:color-mix(in srgb,var(--md-sys-color-outline) 52%,transparent);stroke-width:1.6;transition:opacity .18s ease,stroke-width .18s ease,stroke .18s ease}.kn-edge.is-dim{opacity:.1}.kn-edge.is-highlight-in{stroke:var(--m3-color-warning, #e37400);stroke-width:2.6;opacity:1}.kn-edge.is-highlight-out{stroke:var(--md-sys-color-primary);stroke-width:2.6;opacity:1}.kn-node{cursor:pointer;transition:opacity .18s ease}.kn-node.is-dim{opacity:.22}.kn-node-rect{fill:var(--md-sys-color-surface-container-low);stroke-width:1.6;transition:stroke-width .16s ease,filter .16s ease,fill .16s ease}.kn-node.ch-0 .kn-node-rect{stroke:var(--md-sys-color-primary)}.kn-node.ch-1 .kn-node-rect{stroke:var(--m3-color-success, #188038)}.kn-node.ch-2 .kn-node-rect{stroke:var(--md-sys-color-tertiary, #7c4dff)}.kn-node.ch-3 .kn-node-rect{stroke:var(--m3-color-warning, #e37400)}.kn-node.is-star3 .kn-node-rect{stroke-width:2.4;fill:color-mix(in srgb,var(--md-sys-color-primary-container) 28%,var(--md-sys-color-surface-container-low))}.kn-node.is-active .kn-node-rect{stroke-width:3;filter:drop-shadow(0 4px 10px rgba(0,0,0,.14))}.kn-node.is-neighbor .kn-node-rect{stroke-width:2.4}.kn-node-id{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:700;fill:var(--md-sys-color-on-surface-variant)}.kn-node-title{font-size:12px;font-weight:600;fill:var(--md-sys-color-on-surface)}.kn-node-star-dot{fill:var(--m3-color-warning, #e37400)}.kn-node-prog-bg{fill:var(--md-sys-color-surface-container-highest)}.kn-node-prog-fg{fill:var(--md-sys-color-primary)}.kn-graph-legend{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:.8rem;color:var(--md-sys-color-on-surface-variant);padding:4px 4px 0}.kn-legend-item{display:inline-flex;align-items:center;gap:6px}.kn-legend-dot{width:11px;height:11px;border-radius:4px;border:2px solid currentColor;display:inline-block}.kn-legend-dot.ch-0{color:var(--md-sys-color-primary)}.kn-legend-dot.ch-1{color:var(--m3-color-success, #188038)}.kn-legend-dot.ch-2{color:var(--md-sys-color-tertiary, #7c4dff)}.kn-legend-dot.ch-3{color:var(--m3-color-warning, #e37400)}.kn-legend-line{width:20px;height:2.5px;border-radius:9999px;display:inline-block}.kn-legend-line.is-in{background:var(--m3-color-warning, #e37400)}.kn-legend-line.is-out{background:var(--md-sys-color-primary)}.kn-graph-backdrop{position:fixed;inset:0;background:#0a0e188f;backdrop-filter:blur(4px);z-index:1090}.kn-graph-card.is-fullscreen{position:fixed;inset:16px;z-index:1100;background:var(--md-sys-color-surface-container-low);border-radius:24px;padding:20px 24px;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000047}.kn-graph-card.is-fullscreen .kn-graph-stage{flex:1;height:auto;min-height:0}.kn-surface-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large, 16px);padding:22px 24px}.kn-hero-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px}.kn-hero-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.kn-hero-title{margin:0 0 8px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--md-sys-color-on-surface)}.kn-hero-summary{margin:0;font-size:.92rem;line-height:1.72;max-width:74ch;color:var(--md-sys-color-on-surface-variant)}.kn-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kn-exam-callout{background:color-mix(in srgb,var(--m3-color-warning, #f9ab00) 13%,var(--md-sys-color-surface-container-low));border-radius:var(--md-sys-shape-corner-large, 16px);padding:18px 22px}.kn-exam-callout-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.96rem;color:var(--m3-color-warning, #b06000);margin-bottom:8px}.kn-exam-callout-body{font-size:.9rem;line-height:1.72;color:var(--md-sys-color-on-surface)}.kn-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 14px;font-size:1.08rem;font-weight:700;color:var(--md-sys-color-on-surface)}.kn-section-heading-left{display:inline-flex;align-items:center;gap:8px}.kn-mindmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.kn-mindmap-branch{background:var(--md-sys-color-surface-container);border-radius:16px;padding:15px 16px;display:flex;flex-direction:column;gap:10px}.kn-mindmap-branch-title{display:flex;align-items:center;gap:8px;font-weight:650;font-size:.94rem;color:var(--md-sys-color-on-surface)}.kn-mindmap-idx{width:22px;height:22px;border-radius:9999px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);font-size:.75rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.kn-mindmap-chips{display:flex;flex-direction:column;gap:6px}.kn-mindmap-chip{display:block;font-size:.84rem;line-height:1.65;padding:7px 11px;border-radius:10px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);overflow-x:auto}.kn-graph-hover-card{position:absolute;left:14px;bottom:14px;z-index:4;pointer-events:none;display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:calc(100% - 28px);padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--md-sys-color-surface-container-highest) 94%,transparent);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0000001f}.kn-graph-hover-title{font-size:.86rem;font-weight:650;color:var(--md-sys-color-on-surface)}.kn-sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.kn-sec-card{display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:16px;background:var(--md-sys-color-surface-container-low);text-decoration:none;color:inherit;transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .18s ease}.kn-sec-card:hover{transform:translateY(-2px);background:var(--md-sys-color-surface-container);text-decoration:none}.kn-sec-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kn-sec-card-title{margin:0;font-size:1.02rem;font-weight:700;color:var(--md-sys-color-on-surface)}.kn-sec-card-desc{margin:0;font-size:.84rem;line-height:1.6;color:var(--md-sys-color-on-surface-variant);flex:1}.kn-sec-card-foot{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--md-sys-color-on-surface-variant)}.kn-filter-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 16px;border-radius:16px;background:var(--md-sys-color-surface-container-low)}.kn-search-box{position:relative;flex:1;min-width:220px;max-width:360px;display:flex;align-items:center}.kn-search-icon{position:absolute;left:12px;color:var(--md-sys-color-on-surface-variant);pointer-events:none}.kn-search-input{width:100%;height:38px;padding:0 34px 0 38px;border-radius:9999px;border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 70%,transparent);background:var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));color:var(--md-sys-color-on-surface);font-size:.86rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.kn-search-input:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent)}.kn-search-clear{position:absolute;right:8px;width:24px;height:24px;border:none;border-radius:9999px;background:transparent;color:var(--md-sys-color-on-surface-variant);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.kn-search-clear:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 10%,transparent)}.kn-status-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kn-kp-list{display:flex;flex-direction:column;gap:12px}.kn-kp-card{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:16px;background:var(--md-sys-color-surface-container-low);cursor:pointer;transition:transform .2s cubic-bezier(.22,1,.36,1),background-color .16s ease}.kn-kp-card:hover{transform:translateY(-1px);background:var(--md-sys-color-surface-container)}.kn-kp-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.kn-kp-card-title-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.kn-kp-id-badge{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.76rem;font-weight:700;padding:3px 9px;border-radius:9999px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.kn-kp-card-title{margin:0;font-size:1.04rem;font-weight:700;color:var(--md-sys-color-on-surface)}.kn-stars{display:inline-flex;align-items:center;gap:1px;color:var(--m3-color-warning, #e37400)}.kn-stars .is-empty{color:var(--md-sys-color-outline-variant)}.kn-kp-card-right{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kn-mark-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:9999px;font-size:.76rem;font-weight:600}.kn-mark-pill.is-understood{background:color-mix(in srgb,var(--m3-color-success, #1e8e3e) 15%,transparent);color:var(--m3-color-success, #188038)}.kn-mark-pill.is-read{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.kn-mark-pill.is-review{background:color-mix(in srgb,var(--m3-color-warning, #f9ab00) 18%,transparent);color:var(--m3-color-warning, #b06000)}.kn-mark-pill.is-unread{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.kn-kp-def-preview{font-size:.88rem;line-height:1.68;color:var(--md-sys-color-on-surface-variant)}.kn-kp-card-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.kn-kp-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kn-kp-tag{font-size:.75rem;padding:2px 9px;border-radius:9999px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.kn-kp-demo-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;padding:2px 9px;border-radius:9999px;background:var(--md-sys-color-tertiary-container, var(--md-sys-color-secondary-container));color:var(--md-sys-color-on-tertiary-container, var(--md-sys-color-on-secondary-container))}.kn-kp-quick-btns{display:flex;align-items:center;gap:6px}.kn-hf-list{display:flex;flex-direction:column;gap:8px}.kn-hf-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;border-radius:12px;background:var(--md-sys-color-surface-container);transition:background-color .15s ease}.kn-hf-row:hover{background:var(--md-sys-color-surface-container-high)}.kn-hf-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.kn-hf-title{font-weight:600;font-size:.92rem;color:var(--md-sys-color-on-surface);text-decoration:none}.kn-hf-title:hover{color:var(--md-sys-color-primary)}.kn-hf-right{display:flex;align-items:center;gap:8px}.kn-sec-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:8px}.kn-drawer-scrim{display:none}@media (max-width: 960px){.kn-mobile-bar{display:flex}.kn-layout{grid-template-columns:minmax(0,1fr)}.kn-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,86vw);max-height:100vh;border-radius:0 24px 24px 0;z-index:1050;padding:16px 12px;background:var(--md-sys-color-surface-container-low);transform:translate(-104%);transition:transform .28s cubic-bezier(.22,1,.36,1);box-shadow:0 16px 40px #0000003d}.kn-sidebar.is-open{transform:translate(0)}.kn-sidebar-head{display:flex}.kn-drawer-scrim.is-open{display:block;position:fixed;inset:0;background:#0a0e187a;z-index:1040}.kn-graph-stage{height:440px}}@media (prefers-reduced-motion: reduce){.kn-ch-card,.kn-sec-card,.kn-kp-card,.kn-tree-toggle,.kn-sidebar{transition:none!important}}.kp-page{width:100%;max-width:1280px;margin:0 auto}.kp-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.85rem;color:var(--md-sys-color-on-surface-variant);margin-bottom:16px}.kp-breadcrumb a{color:var(--md-sys-color-on-surface-variant);text-decoration:none;padding:3px 8px;border-radius:9999px;transition:background-color .15s ease,color .15s ease}.kp-breadcrumb a:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 10%,transparent);color:var(--md-sys-color-primary)}.kp-breadcrumb-cur{font-weight:600;color:var(--md-sys-color-on-surface);padding:3px 6px}.kp-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:28px;align-items:start}.kp-main{min-width:0;display:flex;flex-direction:column;gap:20px}.kp-hero-card{background:var(--md-sys-color-surface-container-low);border-radius:20px;padding:24px 28px;display:flex;flex-direction:column;gap:16px;scroll-margin-top:84px}.kp-hero-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.kp-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kp-id-pill{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.8rem;font-weight:700;padding:4px 11px;border-radius:9999px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.kp-stars{display:inline-flex;align-items:center;gap:1px;color:var(--m3-color-warning, #e37400)}.kp-stars .is-empty{color:var(--md-sys-color-outline-variant)}.kp-tag-pill{font-size:.76rem;padding:3px 10px;border-radius:9999px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.kp-hero-top-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.kp-mastery-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 6px;border-radius:9999px;background:var(--md-sys-color-surface-container);font-size:.82rem;font-weight:600;color:var(--md-sys-color-on-surface)}.kp-hero-title{margin:0;font-size:1.65rem;font-weight:750;letter-spacing:-.02em;line-height:1.32;color:var(--md-sys-color-on-surface)}.kp-hero-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 42%,transparent)}.kp-mark-switcher{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kp-mark-label{font-size:.82rem;color:var(--md-sys-color-on-surface-variant);margin-right:2px}.kp-mark-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:9999px;border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 68%,transparent);background:var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));color:var(--md-sys-color-on-surface-variant);font-size:.83rem;font-weight:600;cursor:pointer;transition:background-color .18s cubic-bezier(.2,0,0,1),color .18s cubic-bezier(.2,0,0,1),border-color .18s ease,transform .16s ease}.kp-mark-btn:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,transparent);color:var(--md-sys-color-on-surface)}.kp-mark-btn.is-active-read{border-color:transparent;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.kp-mark-btn.is-active-understood{border-color:transparent;background:color-mix(in srgb,var(--m3-color-success, #1e8e3e) 18%,var(--md-sys-color-surface-container-low));color:var(--m3-color-success, #188038)}.kp-mark-btn.is-active-review{border-color:transparent;background:color-mix(in srgb,var(--m3-color-warning, #f9ab00) 22%,var(--md-sys-color-surface-container-low));color:var(--m3-color-warning, #b06000)}.kp-quick-jumps{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.kp-lecture-block{border-radius:18px;padding:22px 26px;scroll-margin-top:84px}.kp-lecture-block.is-definition{background:color-mix(in srgb,var(--md-sys-color-primary-container) 34%,var(--md-sys-color-surface-container-low))}.kp-lecture-block.is-theorem{background:color-mix(in srgb,var(--md-sys-color-tertiary-container, var(--md-sys-color-secondary-container)) 36%,var(--md-sys-color-surface-container-low))}.kp-lecture-block.is-explanation{background:var(--md-sys-color-surface-container-low)}.kp-lecture-block.is-pitfall{background:color-mix(in srgb,var(--m3-color-warning, #f9ab00) 14%,var(--md-sys-color-surface-container-low))}.kp-lecture-block.is-examples{background:var(--md-sys-color-surface-container-low)}.kp-block-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.kp-block-title{display:inline-flex;align-items:center;gap:9px;margin:0;font-size:1.05rem;font-weight:700;color:var(--md-sys-color-on-surface)}.kp-lecture-block.is-definition .kp-block-title{color:var(--md-sys-color-primary)}.kp-lecture-block.is-theorem .kp-block-title{color:var(--md-sys-color-tertiary, var(--md-sys-color-primary))}.kp-lecture-block.is-pitfall .kp-block-title{color:var(--m3-color-warning, #b06000)}.kp-prose{max-width:72ch;font-size:.96rem;line-height:1.78;color:var(--md-sys-color-on-surface)}.kp-prose .katex-display{overflow-x:auto;overflow-y:hidden;padding:6px 2px;margin:.85em 0}.kp-theorem-list,.kp-pitfall-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px}.kp-theorem-item,.kp-pitfall-item{line-height:1.78}.kp-proof-toggle-wrap{margin-top:8px}.kp-proof-box{margin-top:8px;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--md-sys-color-surface) 66%,transparent);font-size:.9rem;line-height:1.75}.kp-examples-list{display:flex;flex-direction:column;gap:14px}.kp-example-card{border-radius:14px;padding:18px 20px;background:var(--md-sys-color-surface-container);display:flex;flex-direction:column;gap:12px}.kp-example-q{display:flex;align-items:baseline;gap:10px;max-width:74ch;font-size:.95rem;line-height:1.76;color:var(--md-sys-color-on-surface)}.kp-example-badge{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:9999px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);flex-shrink:0}.kp-example-ans-inner{margin-top:10px;padding:14px 18px;border-radius:12px;background:var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));max-width:74ch;font-size:.93rem;line-height:1.78}.kp-example-ans-label{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--m3-color-success, #188038);margin-bottom:6px}.kp-relations-card{background:var(--md-sys-color-surface-container-low);border-radius:18px;padding:22px 26px;display:flex;flex-direction:column;gap:20px;scroll-margin-top:84px}.kp-rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.kp-rel-col{background:var(--md-sys-color-surface-container);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.kp-rel-label{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;color:var(--md-sys-color-on-surface-variant)}.kp-rel-chips{display:flex;flex-wrap:wrap;gap:8px}.kp-rel-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:.82rem;text-decoration:none;transition:background-color .16s ease,color .16s ease,transform .16s ease}.kp-rel-chip:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);transform:translateY(-1px);text-decoration:none}.kp-rel-chip-id{font-family:var(--font-mono, "JetBrains Mono", monospace);font-weight:700;font-size:.76rem}.kp-cards-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px}.kp-mini-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.kp-mini-card{position:relative;border-radius:14px;padding:14px 16px;background:var(--md-sys-color-surface-container);cursor:pointer;display:flex;flex-direction:column;gap:8px;min-height:118px;transition:background-color .18s ease,transform .2s cubic-bezier(.22,1,.36,1)}.kp-mini-card:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-2px)}.kp-mini-card.is-flipped{background:color-mix(in srgb,var(--md-sys-color-primary-container) 35%,var(--md-sys-color-surface-container))}.kp-mini-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;font-weight:700;color:var(--md-sys-color-on-surface-variant)}.kp-mini-card.is-flipped .kp-mini-card-top{color:var(--md-sys-color-primary)}.kp-mini-card-body{font-size:.88rem;line-height:1.66;color:var(--md-sys-color-on-surface);flex:1}.kp-mini-card-note{margin-top:6px;padding-top:6px;border-top:1px dashed color-mix(in srgb,var(--md-sys-color-outline-variant) 60%,transparent);font-size:.78rem;color:var(--md-sys-color-on-surface-variant)}.kp-practice-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:4px}.kp-notes-card{background:var(--md-sys-color-surface-container-low);border-radius:18px;padding:22px 26px;display:flex;flex-direction:column;gap:14px;scroll-margin-top:84px}.kp-note-status{font-size:.8rem;color:var(--md-sys-color-on-surface-variant)}.kp-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kp-note-pane{display:flex;flex-direction:column;gap:6px}.kp-note-pane-label{font-size:.78rem;font-weight:600;color:var(--md-sys-color-on-surface-variant)}.kp-note-textarea{width:100%;min-height:168px;resize:vertical;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--md-sys-color-outline-variant) 70%,transparent);background:var(--md-sys-color-surface-container-lowest, var(--md-sys-color-surface));color:var(--md-sys-color-on-surface);font-family:inherit;font-size:.9rem;line-height:1.68;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.kp-note-textarea:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent)}.kp-note-preview{min-height:168px;padding:12px 16px;border-radius:14px;background:var(--md-sys-color-surface-container);font-size:.9rem;line-height:1.72;color:var(--md-sys-color-on-surface);overflow-x:auto}.kp-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:6px}.kp-toc-rail{position:sticky;top:82px;background:var(--md-sys-color-surface-container-low);border-radius:16px;padding:16px 14px;display:flex;flex-direction:column;gap:12px}.kp-toc-title{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--md-sys-color-on-surface-variant);padding:0 8px}.kp-toc-list{display:flex;flex-direction:column;gap:3px}.kp-toc-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border:none;border-radius:9999px;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:.82rem;cursor:pointer;transition:background-color .15s ease,color .15s ease}.kp-toc-btn:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,transparent);color:var(--md-sys-color-on-surface)}.kp-toc-btn.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-weight:600}@media (max-width: 1060px){.kp-layout{grid-template-columns:minmax(0,1fr)}.kp-toc-rail{display:none}}@media (max-width: 720px){.kp-hero-card,.kp-lecture-block,.kp-relations-card,.kp-notes-card{padding:18px 16px}.kp-note-grid{grid-template-columns:1fr}}@media print{.kp-toc-rail,.kp-hero-toolbar,.kp-notes-card,.kp-pager,.kp-breadcrumb{display:none!important}.kp-layout{display:block}.kp-hero-card,.kp-lecture-block,.kp-relations-card{background:#fff!important;border:1px solid #d0d5dd!important;break-inside:avoid;margin-bottom:14px}}.prac-page{display:flex;flex-direction:column;gap:var(--section-gap, 20px);padding-bottom:36px}.prac-resume-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 22px;border-radius:var(--m3-radius-lg-plus);background:color-mix(in srgb,var(--md-sys-color-primary-container) 48%,var(--md-sys-color-surface-container-low));color:var(--md-sys-color-on-surface)}.prac-resume-info{display:flex;align-items:center;gap:14px;min-width:0}.prac-resume-icon{width:42px;height:42px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.prac-resume-title{font-size:var(--fs-16);font-weight:700;color:var(--md-sys-color-on-surface);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prac-resume-meta{font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px}.prac-resume-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prac-hero-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.prac-hero-title{display:flex;align-items:center;gap:10px;font-size:var(--fs-24);font-weight:700;color:var(--md-sys-color-on-surface);margin:0 0 4px}.prac-hero-title .m3-icon{color:var(--md-sys-color-primary)}.prac-hero-subtitle{margin:0;font-size:var(--fs-14);color:var(--md-sys-color-on-surface-variant)}.prac-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prac-presets-section{display:flex;flex-direction:column;gap:14px}.prac-smart-presets-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.prac-chapter-presets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.prac-preset-card{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:16px 18px;border-radius:var(--m3-radius-lg);border:none;background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);text-align:left;cursor:pointer;transition:transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-preset-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-preset-card:hover:not(:disabled){background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.prac-preset-card:hover:not(:disabled):after{opacity:.05}.prac-preset-card:active:not(:disabled){transform:scale(.98);border-radius:var(--m3-radius-md)}.prac-preset-card:disabled{opacity:.48;cursor:not-allowed}.prac-preset-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-bottom:2px}.prac-preset-icon{width:38px;height:38px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.prac-preset-icon.is-primary{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.prac-preset-icon.is-tertiary{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.prac-preset-icon.is-warning{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.prac-preset-icon.is-error{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.prac-preset-title{font-size:var(--fs-15, .94rem);font-weight:700;color:var(--md-sys-color-on-surface);white-space:nowrap;flex-shrink:0;line-height:1.35}.prac-preset-badge{white-space:nowrap;flex-shrink:0}.prac-preset-desc{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prac-chapter-card{gap:10px}.prac-chapter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.prac-chapter-head-left{display:flex;align-items:center;gap:10px;min-width:0}.prac-chapter-subtitle{font-size:var(--fs-14);font-weight:600;color:var(--md-sys-color-on-surface);line-height:1.45;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.prac-chapter-foot{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding-top:2px}.prac-chapter-bar-track{display:block;width:100%;height:5px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-highest);overflow:hidden}.prac-chapter-bar-fill{display:block;height:100%;border-radius:var(--m3-radius-full);background:var(--md-sys-color-primary);transition:width .32s var(--m3-ease-standard)}.prac-chapter-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);white-space:nowrap}.prac-chapter-arrow{color:var(--md-sys-color-on-surface-variant);flex-shrink:0;transition:transform var(--m3-dur-fast) var(--m3-ease-spring),color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-chapter-card:hover .prac-chapter-arrow{transform:translate(3px);color:var(--md-sys-color-primary)}.prac-panel{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:22px 24px}.prac-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px}.prac-section-title{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-14);font-weight:700;color:var(--md-sys-color-on-surface)}.prac-section-title .m3-icon{color:var(--md-sys-color-primary)}.prac-block-gap{margin-bottom:20px}.prac-modes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.prac-mode-card{position:relative;overflow:hidden;isolation:isolate;padding:15px 18px;border-radius:var(--m3-radius-lg);border:1.5px solid transparent;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);cursor:pointer;text-align:left;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.prac-mode-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-mode-card:hover:after{opacity:.06}.prac-mode-card:active{transform:scale(.985)}.prac-mode-card.is-active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:var(--md-sys-color-primary)}.prac-mode-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:var(--fs-16);margin-bottom:5px}.prac-mode-card.is-active .prac-mode-head .m3-icon{color:var(--md-sys-color-primary)}.prac-mode-desc{font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);line-height:1.5}.prac-mode-card.is-active .prac-mode-desc{color:var(--md-sys-color-on-secondary-container);opacity:.88}.prac-filters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.prac-field{display:flex;flex-direction:column;gap:6px}.prac-field-label{font-size:var(--fs-13);font-weight:600;color:var(--md-sys-color-on-surface-variant)}.prac-chips-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px}.prac-setup-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;margin-top:6px;border-top:1px solid var(--md-sys-color-outline-variant);flex-wrap:wrap}.prac-pool-summary{font-size:var(--fs-14);color:var(--md-sys-color-on-surface-variant);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prac-pool-summary strong{color:var(--md-sys-color-primary);font-family:var(--font-mono);font-size:1.08rem;font-variant-numeric:tabular-nums}.prac-browser-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.prac-browser-search{position:relative;flex:1;min-width:220px;max-width:420px}.prac-browser-search .m3-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--md-sys-color-on-surface-variant);pointer-events:none}.prac-browser-search .input{padding-left:38px}.prac-browser-list{display:flex;flex-direction:column;gap:10px}.prac-browser-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 18px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container);transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-browser-item:hover{background:var(--md-sys-color-surface-container-high)}.prac-browser-main{flex:1;min-width:0}.prac-browser-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.prac-browser-stem{font-size:var(--fs-14);color:var(--md-sys-color-on-surface);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prac-browser-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.prac-run-topbar{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:14px 20px;display:flex;flex-direction:column;gap:12px}.prac-run-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.prac-run-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prac-run-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prac-q-counter{font-size:var(--fs-16);font-weight:700;color:var(--md-sys-color-on-surface);font-variant-numeric:tabular-nums}.prac-meta-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.prac-kp-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:var(--m3-radius-full);border:none;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);font-size:var(--fs-12);font-weight:600;cursor:pointer;text-decoration:none;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.prac-kp-chip:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.prac-kp-chip:active{transform:scale(.97)}.prac-diff-stars{display:inline-flex;align-items:center;gap:1px;padding:3px 9px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-high);color:var(--m3-color-warning)}.prac-diff-stars .is-dim{color:var(--md-sys-color-outline-variant)}.prac-live-timer{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:var(--fs-14);font-weight:700;font-variant-numeric:tabular-nums}.prac-palette-bar{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:4px 2px 2px;scrollbar-width:thin}.prac-palette-pill{position:relative;flex-shrink:0;min-width:34px;height:32px;padding:0 8px;border-radius:var(--m3-radius-sm);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--m3-dur-short) var(--m3-ease-spring),background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-palette-pill:hover{transform:translateY(-1px);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.prac-palette-pill.is-drafted{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.prac-palette-pill.is-ok{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.prac-palette-pill.is-partial{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.prac-palette-pill.is-bad{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.prac-palette-pill.is-current{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--md-sys-color-primary) 28%,transparent);color:var(--md-sys-color-on-surface)}.prac-palette-pill.is-current:not(.is-ok):not(.is-partial):not(.is-bad){background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.prac-palette-fav-dot{position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--m3-color-warning)}.prac-q-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:24px 26px}.prac-stem{font-size:1.06rem;line-height:1.82;color:var(--md-sys-color-on-surface);margin-bottom:20px;overflow-wrap:break-word;overflow-x:auto}.prac-multi-caption{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);margin-bottom:8px;padding:4px 12px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container)}.prac-q-card .option-item{background:var(--md-sys-color-surface-container)}.prac-q-card .option-item:hover:not(.is-disabled):not([disabled]){background:var(--md-sys-color-surface-container-high)}.prac-q-card .option-item.is-selected{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:var(--md-sys-color-primary)}.prac-q-card .option-item.is-correct{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container);border-color:var(--m3-color-success)}.prac-q-card .option-item.is-wrong{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container);border-color:var(--m3-color-error)}.prac-q-card .option-item.is-disabled{cursor:default}.prac-opt-key-multi{border-radius:var(--m3-radius-sm)}.prac-opt-status{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-12);font-weight:700;flex-shrink:0;margin-top:3px}.prac-judge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.prac-judge-option{justify-content:center;align-items:center;padding:18px 20px;font-size:var(--fs-18);font-weight:700}.prac-judge-kbd{font-size:var(--fs-12);font-weight:600;opacity:.72;margin-left:4px}.prac-fill-stack{display:flex;flex-direction:column;gap:14px;margin:14px 0}.prac-fill-row-card{padding:14px 16px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container);display:flex;flex-direction:column;gap:8px;border:1.5px solid transparent;transition:border-color var(--m3-dur-fast) var(--m3-ease-smooth),background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-fill-row-card.is-focused{border-color:var(--md-sys-color-primary)}.prac-fill-row-card.is-correct{background:color-mix(in srgb,var(--m3-color-success-container) 45%,var(--md-sys-color-surface-container));border-color:var(--m3-color-success)}.prac-fill-row-card.is-wrong{background:color-mix(in srgb,var(--m3-color-error-container) 45%,var(--md-sys-color-surface-container));border-color:var(--m3-color-error)}.prac-fill-input-line{display:flex;align-items:center;gap:10px}.prac-fill-badge{flex-shrink:0;padding:4px 10px;border-radius:var(--m3-radius-full);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:700;font-variant-numeric:tabular-nums}.prac-fill-input{font-family:var(--font-mono);font-size:var(--fs-16);height:44px}.prac-fill-preview{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:30px;padding:6px 12px;border-radius:var(--m3-radius-sm);background:var(--md-sys-color-surface-container-low);font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant);overflow-x:auto}.prac-fill-preview.has-err{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.prac-kb-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.prac-essay-preview{margin-top:8px;padding:10px 14px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container);font-size:var(--fs-14);color:var(--md-sys-color-on-surface);overflow-x:auto}.prac-rubric-panel{margin-top:16px;padding:18px 20px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container);display:flex;flex-direction:column;gap:14px}.prac-rubric-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-16);font-weight:700;color:var(--md-sys-color-primary)}.prac-rubric-list{display:flex;flex-direction:column;gap:8px}.prac-rubric-item{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low);cursor:pointer;user-select:none;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-rubric-item:hover{background:var(--md-sys-color-surface-container-high)}.prac-rubric-item.is-checked{background:color-mix(in srgb,var(--md-sys-color-primary-container) 45%,var(--md-sys-color-surface-container-low))}.prac-rubric-check{width:22px;height:22px;border-radius:6px;background:var(--md-sys-color-surface-container-highest);color:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-rubric-item.is-checked .prac-rubric-check{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.prac-self-btns{display:flex;flex-wrap:wrap;gap:10px}.prac-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant);flex-wrap:wrap}.prac-tools-left,.prac-tools-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prac-shortcut-hint{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);display:inline-flex;align-items:center;gap:6px}.prac-explanation-panel{margin-top:18px;border-radius:var(--m3-radius-lg-plus);background:var(--md-sys-color-surface-container);padding:20px 24px;display:flex;flex-direction:column;gap:16px}.prac-explanation-panel.anim-bounce{animation:optionPop .3s var(--m3-ease-spring)}.prac-explanation-panel.anim-shake{animation:optionShake .3s ease-in-out}.prac-judge-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-radius:var(--m3-radius-lg);flex-wrap:wrap;font-weight:700}.prac-judge-banner-title{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-16)}.prac-judge-banner.is-ok{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.prac-judge-banner.is-partial{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.prac-judge-banner.is-bad{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.prac-ans-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.prac-ans-box{padding:12px 16px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low)}.prac-ans-label{font-size:var(--fs-12);font-weight:600;color:var(--md-sys-color-on-surface-variant);margin-bottom:4px}.prac-ans-val{font-size:var(--fs-16);font-weight:650;color:var(--md-sys-color-on-surface);overflow-x:auto}.prac-steps-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.prac-steps-list{display:flex;flex-direction:column;gap:10px}.prac-step-card{padding:13px 16px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container-low);font-size:.95rem;line-height:1.75;overflow-x:auto}.prac-step-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--fs-12);font-weight:700;color:var(--md-sys-color-primary);margin-bottom:5px;font-variant-numeric:tabular-nums}.prac-related-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--md-sys-color-outline-variant);font-size:var(--fs-13);color:var(--md-sys-color-on-surface-variant)}.prac-kp-link-group{display:inline-flex;align-items:center;border-radius:var(--m3-radius-full);background:var(--md-sys-color-secondary-container);overflow:hidden}.prac-kp-link-main{display:inline-flex;align-items:center;gap:5px;padding:5px 11px 5px 12px;color:var(--md-sys-color-on-secondary-container);font-size:var(--fs-12);font-weight:600;text-decoration:none;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-kp-link-main:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.prac-kp-link-peek{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:none;border-left:1px solid rgba(var(--md-sys-color-on-surface-rgb),.12);background:transparent;color:var(--md-sys-color-on-secondary-container);cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-kp-link-peek:hover{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.prac-res-hero{display:grid;grid-template-columns:176px minmax(0,1fr);gap:24px;align-items:center}.prac-res-ring{display:flex;align-items:center;justify-content:center}.prac-res-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.prac-stat-box{padding:14px 16px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container);text-align:center}.prac-stat-val{font-family:var(--font-mono);font-size:1.45rem;font-weight:700;color:var(--md-sys-color-on-surface);font-variant-numeric:tabular-nums}.prac-stat-lbl{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);margin-top:4px;font-weight:600}.prac-matrix{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.prac-matrix-cell{width:42px;height:42px;border-radius:var(--m3-radius-md);border:2px solid transparent;font-family:var(--font-mono);font-weight:700;font-size:var(--fs-14);font-variant-numeric:tabular-nums;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--m3-dur-short) var(--m3-ease-spring),border-color var(--m3-dur-fast) var(--m3-ease-smooth)}.prac-matrix-cell:hover{transform:translateY(-2px)}.prac-matrix-cell.is-active{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.prac-matrix-cell.is-ok{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.prac-matrix-cell.is-partial{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.prac-matrix-cell.is-bad{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.prac-matrix-cell.is-unanswered{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant)}.prac-inspect-card{padding:20px 22px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container);display:flex;flex-direction:column;gap:12px}.prac-inspect-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.prac-inspect-opt{padding:9px 12px;border-radius:var(--m3-radius-sm);background:var(--md-sys-color-surface-container-low);font-size:var(--fs-14);display:flex;align-items:flex-start;gap:8px}.prac-inspect-opt.is-std{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.prac-inspect-opt.is-user-wrong{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.prac-kp-diag-list{display:flex;flex-direction:column;gap:6px}.prac-kp-diag-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container);flex-wrap:wrap}.prac-kp-diag-info{min-width:200px;flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.prac-kp-diag-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.prac-kp-bar-track{width:136px;height:8px;background:var(--md-sys-color-surface-container-highest);border-radius:var(--m3-radius-full);overflow:hidden}.prac-kp-bar-fill{height:100%;border-radius:var(--m3-radius-full);transition:width .36s var(--m3-ease-standard)}@media (max-width: 1099px){.prac-smart-presets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 899px){.prac-chapter-presets-grid,.prac-modes-grid,.prac-filters-grid{grid-template-columns:1fr}.prac-res-hero{grid-template-columns:1fr;text-align:center}.prac-res-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 639px){.prac-smart-presets-grid{grid-template-columns:1fr}.prac-hero-card,.prac-panel,.prac-q-card,.prac-explanation-panel{padding:16px}.prac-judge-grid{grid-template-columns:1fr}.prac-shortcut-hint{display:none}}.search-page{display:flex;flex-direction:column;gap:var(--section-gap, 20px);padding-bottom:28px}.search-hero-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-xl);padding:22px 24px;display:flex;flex-direction:column;gap:16px}.search-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.search-input-shell{position:relative;display:flex;align-items:center;width:100%}.search-input-lead-icon{position:absolute;left:18px;color:var(--md-sys-color-primary);pointer-events:none;display:inline-flex}.search-main-input{width:100%;height:52px;padding:0 50px;border-radius:var(--m3-radius-full);border:1.5px solid transparent;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-size:1rem;font-weight:500;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth)}.search-main-input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.8}.search-main-input:focus{outline:none;border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-bright)}[data-theme=dark] .search-main-input:focus{background:var(--md-sys-color-surface-container)}.search-clear-btn{position:absolute;right:8px;width:36px;height:36px}.search-chips-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.search-chips-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-hot-panel{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:26px 24px}.search-hot-title{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-14);font-weight:700;color:var(--md-sys-color-on-surface);margin-bottom:12px}.search-hot-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}.search-hot-chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:var(--m3-radius-full);border:none;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-size:var(--fs-13);font-weight:600;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.search-hot-chip:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);transform:translateY(-1px)}.search-hot-chip:active{transform:scale(.97)}.search-pinyin-tip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);padding-top:12px;border-top:1px solid var(--md-sys-color-outline-variant)}.search-group-section{display:flex;flex-direction:column;gap:10px}.search-group-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px}.search-group-title{display:inline-flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0}.search-result-list{display:flex;flex-direction:column;gap:10px}.search-result-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:16px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.search-result-card:hover{background:var(--md-sys-color-surface-container);transform:translateY(-1px)}.search-result-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.search-result-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.search-result-title{font-size:1rem;font-weight:650;line-height:1.55;color:var(--md-sys-color-on-surface);overflow-x:auto;overflow-wrap:break-word}.search-result-snippet{font-size:var(--fs-13);line-height:1.68;color:var(--md-sys-color-on-surface-variant);overflow-x:auto;overflow-wrap:break-word}.search-result-title mark,.search-result-snippet mark{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);padding:1px 4px;border-radius:5px;font-weight:700}.search-result-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}@media (max-width: 767px){.search-hero-card{padding:16px}.search-result-card{flex-direction:column;padding:14px 16px}.search-result-actions{width:100%;justify-content:flex-end}}.settings-page{display:flex;flex-direction:column;gap:22px;max-width:900px;margin:0 auto;width:100%;padding-bottom:32px}.settings-section{display:flex;flex-direction:column;gap:8px}.settings-section-label{display:inline-flex;align-items:center;gap:7px;padding:0 8px;font-size:var(--fs-13);font-weight:700;color:var(--md-sys-color-primary);letter-spacing:.01em}.settings-item-col{flex-direction:column;align-items:stretch;gap:14px}.settings-item-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:210px}.settings-item-title{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-15, .96rem);font-weight:650;color:var(--md-sys-color-on-surface)}.settings-item-desc{font-size:var(--fs-12);line-height:1.5;color:var(--md-sys-color-on-surface-variant)}.settings-toolbox-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}@media (max-width: 767px){.settings-toolbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-tool-btn{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--m3-radius-lg);border:none;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);text-align:left;cursor:pointer;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.settings-tool-btn:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);transform:translateY(-1px)}.settings-tool-btn:active{transform:scale(.98)}.settings-tool-icon{width:36px;height:36px;border-radius:12px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-tool-text{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-tool-name{font-size:var(--fs-13);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-tool-sub{font-size:.72rem;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-seed-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.settings-seed-swatch{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--m3-radius-lg);border:1.5px solid transparent;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);cursor:pointer;min-width:106px;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),border-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.settings-seed-swatch:hover{background:var(--md-sys-color-surface-container-high);transform:translateY(-1px)}.settings-seed-swatch.is-active{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.settings-seed-circle{position:relative;width:40px;height:40px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #0000001a}.settings-seed-check{color:#fff;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.settings-seed-name{font-size:var(--fs-12);font-weight:650;white-space:nowrap}.settings-live-preview{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:var(--card-pad, 18px);display:flex;flex-direction:column;gap:8px}.settings-live-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:var(--fs-12);font-weight:700;color:var(--md-sys-color-primary)}.settings-slider-control{display:inline-flex;align-items:center;gap:12px;min-width:260px;flex:1;max-width:340px;justify-content:flex-end}.settings-slider-control input[type=range]{flex:1;min-width:130px}.settings-num-input{width:74px!important;height:36px!important;text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;padding:4px 8px!important}.settings-data-pills{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%}@media (max-width: 767px){.settings-data-pills{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-data-pill{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.settings-data-pill-label{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant)}.settings-data-pill-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700;color:var(--md-sys-color-on-surface)}.settings-shortcuts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;width:100%}@media (max-width: 640px){.settings-shortcuts-grid{grid-template-columns:1fr}}.settings-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:var(--m3-radius-md);background:var(--md-sys-color-surface-container);font-size:var(--fs-13)}.settings-kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;border-radius:7px;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:650}.stats-page{display:flex;flex-direction:column;gap:var(--section-gap, 20px);padding-bottom:28px}.stats-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (min-width: 1280px){.stats-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width: 767px){.stats-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.stats-kpi-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus);padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth),transform var(--m3-dur-short) var(--m3-ease-spring)}.stats-kpi-card.is-clickable{cursor:pointer}.stats-kpi-card.is-clickable:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.stats-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stats-kpi-label{font-size:var(--fs-13);font-weight:600;color:var(--md-sys-color-on-surface-variant)}.stats-kpi-icon{width:34px;height:34px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stats-kpi-icon.tone-primary{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.stats-kpi-icon.tone-secondary{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.stats-kpi-icon.tone-tertiary{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.stats-kpi-icon.tone-success{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.stats-kpi-icon.tone-warning{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.stats-kpi-icon.tone-error{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.stats-kpi-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:700;line-height:1.18;color:var(--md-sys-color-on-surface);letter-spacing:-.02em}.stats-kpi-sub{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);line-height:1.4}.stats-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.stats-card-title{display:inline-flex;align-items:center;gap:8px;font-size:1.04rem;font-weight:700;color:var(--md-sys-color-on-surface);margin:0}.stats-card-desc{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant);margin-top:3px}.stats-cal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--md-sys-color-outline-variant);font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant)}.stats-cal-legend{display:inline-flex;align-items:center;gap:5px}.stats-cal-dot{width:12px;height:12px;border-radius:4px;display:inline-block}.stats-radar-split{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,1.25fr);gap:18px;align-items:center}@media (max-width: 959px){.stats-radar-split{grid-template-columns:1fr}}.stats-chapter-list{display:flex;flex-direction:column;gap:10px}.stats-chapter-row{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.stats-chapter-row:hover{background:var(--md-sys-color-surface-container-high)}.stats-chapter-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.stats-chapter-name{font-size:var(--fs-14);font-weight:650;color:var(--md-sys-color-on-surface)}.stats-chapter-meta{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant)}.stats-hm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.stats-hm-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant)}.stats-hm-legend-item{display:inline-flex;align-items:center;gap:5px}.stats-hm-swatch{width:13px;height:13px;border-radius:4px;display:inline-block}.stats-hm-swatch.lv-none{background:var(--md-sys-color-surface-container-highest)}.stats-hm-swatch.lv-low{background:var(--m3-color-error-container)}.stats-hm-swatch.lv-mid{background:var(--m3-color-warning-container)}.stats-hm-swatch.lv-high{background:var(--m3-color-success-container)}.stats-hm-swatch.lv-master{background:var(--m3-color-success)}.stats-hm-chapters{display:flex;flex-direction:column;gap:14px}.stats-hm-chapter{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:14px 16px}.stats-hm-ch-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.stats-hm-ch-title{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-15, .96rem);font-weight:700;color:var(--md-sys-color-on-surface)}.stats-hm-sec-block+.stats-hm-sec-block{margin-top:12px}.stats-hm-sec-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-12);font-weight:600;color:var(--md-sys-color-on-surface-variant);margin-bottom:7px}.stats-hm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px}.stats-kp-tile{border:none;border-radius:var(--m3-radius-md);padding:9px 11px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:transform var(--m3-dur-short) var(--m3-ease-spring),border-radius var(--m3-dur-short) var(--m3-ease-standard),filter var(--m3-dur-fast) var(--m3-ease-smooth)}.stats-kp-tile:hover{transform:translateY(-2px);filter:brightness(.97)}.stats-kp-tile:active{transform:scale(.98)}.stats-kp-tile.lv-none{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant)}.stats-kp-tile.lv-low{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.stats-kp-tile.lv-mid{background:var(--m3-color-warning-container);color:var(--m3-color-on-warning-container)}.stats-kp-tile.lv-high{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.stats-kp-tile.lv-master{background:color-mix(in srgb,var(--m3-color-success) 26%,var(--m3-color-success-container));color:var(--m3-color-on-success-container)}.stats-kp-tile-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:700}.stats-kp-tile-name{font-size:var(--fs-12);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-kp-floating-tip{position:fixed;z-index:980;pointer-events:none;width:276px;padding:12px 14px;border-radius:var(--m3-radius-lg);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);box-shadow:var(--m3-elevation-float);font-size:var(--fs-12);line-height:1.55}.stats-stars{display:inline-flex;align-items:center;gap:1px;color:var(--m3-color-warning);vertical-align:middle}.stats-stars .is-dim{color:var(--md-sys-color-outline-variant)}.stats-weak-list,.stats-exam-list{display:flex;flex-direction:column;gap:10px}.stats-weak-item,.stats-exam-item{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-lg);padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;transition:background-color var(--m3-dur-fast) var(--m3-ease-smooth)}.stats-weak-item:hover,.stats-exam-item:hover{background:var(--md-sys-color-surface-container-high)}.stats-weak-rank{width:28px;height:28px;border-radius:var(--m3-radius-full);background:var(--m3-color-error-container);color:var(--m3-color-on-error-container);font-family:var(--font-mono);font-size:var(--fs-13);font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.stats-weak-rank.is-fallback{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.stats-weak-info{flex:1;min-width:200px}.stats-weak-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:var(--fs-14);font-weight:650;color:var(--md-sys-color-on-surface);margin-bottom:4px}.stats-weak-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant)}.stats-weak-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.stats-exam-summary-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.stats-exam-pill{background:var(--md-sys-color-surface-container);border-radius:var(--m3-radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:2px}.stats-exam-pill-label{font-size:var(--fs-12);color:var(--md-sys-color-on-surface-variant)}.stats-exam-pill-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700;color:var(--md-sys-color-on-surface)}.m3-wb-page{display:flex;flex-direction:column;gap:18px;padding-bottom:36px}.m3-wb-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.m3-wb-title-block{display:flex;flex-direction:column;gap:4px}.m3-wb-title{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:1.4rem;font-weight:750;color:var(--md-sys-color-on-surface)}.m3-wb-title .m3-icon{color:var(--md-sys-color-primary)}.m3-wb-subtitle{margin:0;font-size:.88rem;color:var(--md-sys-color-on-surface-variant)}.m3-wb-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.m3-wb-stat-card{position:relative;overflow:hidden;background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus, 20px);padding:18px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;cursor:pointer;border:1.5px solid transparent;text-align:left;transition:background-color var(--m3-dur-fast, .15s) ease,border-color var(--m3-dur-fast, .15s) ease,transform var(--m3-dur-short, .2s) var(--m3-ease-spring, cubic-bezier(.34, 1.45, .64, 1))}.m3-wb-stat-card:hover{background:var(--md-sys-color-surface-container);transform:translateY(-2px)}.m3-wb-stat-card.is-active{background:color-mix(in srgb,var(--md-sys-color-secondary-container) 45%,var(--md-sys-color-surface-container));border-color:var(--md-sys-color-primary)}.m3-wb-stat-card.is-due-card{background:color-mix(in srgb,var(--md-sys-color-primary-container) 34%,var(--md-sys-color-surface-container-low))}.m3-wb-stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:650;color:var(--md-sys-color-on-surface-variant)}.m3-wb-stat-label{display:inline-flex;align-items:center;gap:6px}.m3-wb-stat-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.85rem;font-weight:800;line-height:1.1}.m3-wb-stat-foot{font-size:.79rem;color:var(--md-sys-color-on-surface-variant)}.m3-wb-filter-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus, 20px);padding:18px 20px;display:flex;flex-direction:column;gap:14px}.m3-wb-filters-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.m3-wb-select{width:100%;height:38px;padding:0 12px;border-radius:12px;border:1.5px solid transparent;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-size:.85rem;font-weight:550;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.m3-wb-select:focus{outline:none;border-color:var(--md-sys-color-primary)}.m3-wb-batch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--md-sys-color-outline-variant)}.m3-wb-check-label{display:inline-flex;align-items:center;gap:8px;font-size:.87rem;color:var(--md-sys-color-on-surface);cursor:pointer;user-select:none}.m3-wb-checkbox{width:17px;height:17px;accent-color:var(--md-sys-color-primary);cursor:pointer}.m3-wb-list{display:flex;flex-direction:column;gap:14px}.m3-wb-card{position:relative;background:var(--md-sys-color-surface-container-low);border-radius:var(--m3-radius-lg-plus, 20px);padding:20px 22px;display:flex;flex-direction:column;gap:14px;border:1.5px solid transparent;transition:background-color .2s ease,border-color .24s ease,transform .24s var(--m3-ease-spring)}.m3-wb-card.is-celebrating{animation:m3WbMasteryPulse .95s var(--m3-ease-spring, cubic-bezier(.34, 1.45, .64, 1));border-color:var(--m3-color-success);background:color-mix(in srgb,var(--m3-color-success-container) 42%,var(--md-sys-color-surface-container-low))}@keyframes m3WbMasteryPulse{0%{transform:scale(.992)}38%{transform:scale(1.012)}to{transform:scale(1)}}.m3-wb-celebrate-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;background:var(--m3-color-success);color:var(--m3-color-on-success);font-size:.78rem;font-weight:700;animation:m3WbBadgePop .38s var(--m3-ease-spring) both}@keyframes m3WbBadgePop{0%{opacity:0;transform:scale(.65) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.m3-wb-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.m3-wb-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m3-wb-qid{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.92rem;font-weight:750;color:var(--md-sys-color-on-surface)}.m3-wb-stem{font-size:1.02rem;line-height:1.82;color:var(--md-sys-color-on-surface);overflow-x:auto}.m3-wb-options-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:10px 14px;border-radius:14px;background:var(--md-sys-color-surface-container);font-size:.9rem;color:var(--md-sys-color-on-surface-variant)}.m3-wb-opt-cell{display:flex;align-items:baseline;gap:6px;min-width:0;overflow-x:auto}.m3-wb-opt-letter{font-family:var(--font-mono);font-weight:700;color:var(--md-sys-color-primary);flex-shrink:0}.m3-wb-reasons-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:.82rem;color:var(--md-sys-color-on-surface-variant)}.m3-wb-reason-label{display:inline-flex;align-items:center;gap:4px;font-weight:600}.m3-wb-reason-chip{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--md-sys-color-outline-variant);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:.78rem;font-weight:600;cursor:pointer;transition:background-color .14s ease,color .14s ease,border-color .14s ease,transform .16s var(--m3-ease-spring)}.m3-wb-reason-chip:hover{border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-surface)}.m3-wb-reason-chip:active{transform:scale(.95)}.m3-wb-reason-chip.is-on{background:var(--md-sys-color-secondary-container);border-color:transparent;color:var(--md-sys-color-on-secondary-container)}.m3-wb-custom-reason-form{display:inline-flex;align-items:center;gap:5px}.m3-wb-custom-reason-input{height:28px;width:132px;padding:0 10px;border-radius:999px;border:1px solid var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-size:.78rem}.m3-wb-custom-reason-input:focus{outline:none}.m3-wb-action-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:6px}.m3-wb-meta-hint{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--md-sys-color-on-surface-variant);font-variant-numeric:tabular-nums}.m3-wb-reveal-panel{border-radius:16px;padding:16px 18px;background:var(--md-sys-color-surface-container);display:flex;flex-direction:column;gap:12px}.m3-wb-past-wrong-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--m3-color-error-container) 45%,var(--md-sys-color-surface-container-low));font-size:.86rem}.m3-wb-sol-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.78}.m3-wb-redo-stage{max-width:880px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:16px}.m3-wb-redo-nav-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px 16px;border-radius:18px;background:var(--md-sys-color-surface-container-low)}.m3-wb-redo-dot{min-width:34px;height:32px;padding:0 8px;border-radius:10px;border:none;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700;cursor:pointer;transition:transform .16s var(--m3-ease-spring),background-color .15s ease}.m3-wb-redo-dot.is-current{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.m3-wb-redo-dot.is-done-ok{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.m3-wb-redo-dot.is-done-err{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}.m3-wb-redo-widget{border-radius:18px;padding:18px 20px;background:var(--md-sys-color-surface-container);display:flex;flex-direction:column;gap:14px}.m3-wb-fill-row{display:flex;flex-direction:column;gap:6px}.m3-wb-fill-preview{min-height:30px;padding:6px 12px;border-radius:10px;background:var(--md-sys-color-surface-container-low);font-size:.88rem;color:var(--md-sys-color-on-surface-variant);display:flex;align-items:center;gap:8px;overflow-x:auto}.m3-wb-rubric-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:12px;background:var(--md-sys-color-surface-container-low);cursor:pointer;font-size:.9rem;line-height:1.65}.m3-wb-judge-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:14px;font-weight:650}.m3-wb-judge-banner.is-ok{background:var(--m3-color-success-container);color:var(--m3-color-on-success-container)}.m3-wb-judge-banner.is-err{background:var(--m3-color-error-container);color:var(--m3-color-on-error-container)}@media (max-width: 980px){.m3-wb-stats-grid,.m3-wb-filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.m3-wb-filters-grid{grid-template-columns:1fr}.m3-wb-card{padding:16px}}
