/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#f3f5f7;--panel:#fff;--panel-2:#f8fafb;--ink:#152026;--muted:#66747b;--line:#dfe5e8;--nav:#101b20;--nav-2:#17262c;--cyan:#19b7aa;--cyan-soft:#dff7f3;--amber:#ffb547;--red:#e96b62;--violet:#8778e9;--shadow:0 20px 60px #16272e17;--font-step:3px}:root[data-font-size=small]{--font-step:1px}:root[data-font-size=standard]{--font-step:3px}:root[data-font-size=large]{--font-step:5px}:root[data-font-size=xlarge]{--font-step:7px}:root[data-theme=dark]{--bg:#0d1519;--panel:#142126;--panel-2:#19292f;--ink:#ecf4f3;--muted:#9cabad;--line:#294047;--nav:#081014;--nav-2:#102026;--cyan-soft:#153b39;--shadow:0 20px 60px #0000003d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Noto Sans SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.5}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--cyan)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--cyan) 40%, transparent)}}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px}.app-shell{min-height:100vh}.sidebar{background:var(--nav);color:#dfe9e8;z-index:30;flex-direction:column;width:268px;padding:28px 18px 20px;transition:width .25s,transform .25s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:0 10px 26px;display:flex}.brand-mark{background:var(--cyan);color:#062d2a;border-radius:11px 2px;place-items:center;width:45px;height:45px;font-weight:900;line-height:.9;display:grid;position:relative;transform:skew(-4deg)}.brand-mark span:first-child{font-size:calc(13px + var(--font-step));position:absolute;top:7px;left:9px}.brand-mark span:last-child{font-size:calc(20px + var(--font-step));margin:11px 0 0 9px}.brand strong{color:#fff;font-size:calc(17px + var(--font-step));letter-spacing:.08em;display:block}.brand small{color:#70878b;font-size:calc(9px + var(--font-step));letter-spacing:.22em;margin-top:4px;display:block}.nav-title{font-size:calc(10px + var(--font-step));text-transform:uppercase;letter-spacing:.18em;color:#61767b;margin:23px 12px 8px}.main-nav{gap:5px;display:grid}.main-nav button{color:#9fb0b3;text-align:left;font-size:calc(13px + var(--font-step));background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;transition:all .2s;display:flex}.main-nav button:hover{color:#fff;background:#ffffff0d}.main-nav button span{font-size:calc(18px + var(--font-step));text-align:center;width:20px}.main-nav button em{color:#d8e6e4;text-align:center;min-width:24px;font-style:normal;font-size:calc(10px + var(--font-step));background:#273a40;border-radius:20px;margin-left:auto;padding:3px 6px}.main-nav .nav-active{color:#fff;box-shadow:inset 3px 0 var(--cyan);background:linear-gradient(90deg,#19b7aa33,#19b7aa0a)}.main-nav .nav-active span{color:var(--cyan)}.chapter-nav{gap:3px;display:grid}.chapter-nav>button{color:#8fa2a6;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:28px 1fr;gap:8px;padding:10px 11px;display:grid;position:relative;overflow:hidden}.chapter-nav>button:hover{color:#fff;background:#ffffff0a}.chapter-nav>button>span{color:#567076;font-family:ui-monospace,monospace;font-size:calc(11px + var(--font-step));padding-top:2px}.chapter-nav strong,.chapter-nav small{display:block}.chapter-nav strong{font-size:calc(12px + var(--font-step));font-weight:560}.chapter-nav small{font-size:calc(9px + var(--font-step));color:#5e7479;margin-top:3px}.chapter-nav i{--p:0%;background:#283b41;height:2px;position:absolute;bottom:5px;left:47px;right:12px}.chapter-nav i:after{content:"";width:var(--p);background:var(--cyan);height:100%;display:block}.book-card{background:linear-gradient(135deg,#17282e,#101b20);border:1px solid #ffffff17;border-radius:10px;margin-top:auto;padding:14px}.book-card span{color:var(--amber);font-size:calc(9px + var(--font-step));letter-spacing:.15em}.book-card strong,.book-card small{display:block}.book-card strong{color:#eaf2f1;font-size:calc(11px + var(--font-step));margin:7px 0 4px}.book-card small{color:#6e8589;font-size:calc(9px + var(--font-step))}.content-shell{flex-direction:column;min-height:100vh;margin-left:268px;transition:margin-left .25s;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;height:72px;padding:0 38px;display:flex}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--panel) 88%, transparent)}}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;position:sticky;top:0}.breadcrumb{font-size:calc(12px + var(--font-step));color:var(--muted);align-items:center;gap:10px;display:flex}.breadcrumb strong{color:var(--ink)}.breadcrumb b{color:var(--line)}.top-actions{align-items:center;gap:10px;display:flex}.search-button{border:1px solid var(--line);height:37px;color:var(--muted);background:var(--panel-2);font-size:calc(11px + var(--font-step));border-radius:7px;align-items:center;gap:8px;padding:0 9px 0 12px;display:flex}.search-button kbd{border:1px solid var(--line);background:var(--panel);font-size:calc(9px + var(--font-step));border-radius:4px;padding:3px 6px}.icon-button,.mobile-menu{border:1px solid var(--line);background:var(--panel);width:37px;height:37px;color:var(--ink);border-radius:7px}.avatar{color:#083936;background:var(--cyan);width:36px;height:36px;font-weight:800;font-size:calc(12px + var(--font-step));border-radius:50%;place-items:center;display:grid}.mobile-menu{display:none}main{flex:1;width:min(1440px,100%);margin:0 auto;padding:34px 38px 60px}.guest-mode-banner{border:1px solid var(--cyan);margin:0 0 16px;padding:14px 16px}@supports (color:color-mix(in lab, red, red)){.guest-mode-banner{border:1px solid color-mix(in srgb, var(--cyan) 48%, var(--line))}}.guest-mode-banner{background:var(--cyan-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;display:flex}.guest-mode-banner>div{align-items:center;gap:12px;display:flex}.guest-mode-banner>div>span{background:var(--cyan);color:#073532;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.guest-mode-banner p{color:var(--muted);font-size:calc(9px + var(--font-step));margin:0;line-height:1.6}.guest-mode-banner p strong{color:var(--ink);font-size:calc(10px + var(--font-step));display:block}.guest-mode-banner>a{color:#073532;background:var(--cyan);font-size:calc(9px + var(--font-step));border-radius:8px;flex:none;padding:10px 14px;font-weight:800;text-decoration:none}.hero-panel{background:var(--nav);color:#fff;min-height:344px;box-shadow:var(--shadow);border-radius:16px;grid-template-columns:minmax(0,1fr) 270px;align-items:center;gap:50px;padding:48px 50px;display:grid;position:relative;overflow:hidden}.hero-panel:before{content:"";background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 80%);mask-image:linear-gradient(90deg,#0000,#000 80%)}.hero-panel:after{content:"849";color:#0000;-webkit-text-stroke:1px #ffffff0a;letter-spacing:-.08em;font-size:190px;font-weight:900;position:absolute;bottom:-54px;right:300px}.hero-copy,.countdown-card{z-index:1;position:relative}.eyebrow{color:var(--cyan);font-size:calc(10px + var(--font-step));letter-spacing:.12em;align-items:center;gap:8px;font-weight:700;display:inline-flex}.eyebrow i{background:currentColor;width:18px;height:2px}.hero-copy h1{letter-spacing:-.045em;max-width:730px;margin:20px 0 18px;font-size:clamp(36px,4vw,56px);line-height:1.16}.hero-copy h1 em{color:var(--cyan);font-style:normal}.hero-copy>p{color:#9bb0b2;max-width:620px;line-height:1.8;font-size:calc(13px + var(--font-step));margin:0}.hero-actions{gap:10px;margin-top:28px;display:flex}.primary-button,.secondary-button{font-weight:700;font-size:calc(12px + var(--font-step));border:0;border-radius:7px;padding:13px 18px}.primary-button{color:#073532;background:var(--cyan);box-shadow:0 8px 22px #19b7aa38}.primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-button span{margin-left:16px}.secondary-button{color:#c6d4d3;background:0 0;border:1px solid #3b4d52}.hero-meta{color:#70878b;font-size:calc(9px + var(--font-step));gap:18px;margin-top:22px;display:flex}.countdown-card{text-align:center;background:linear-gradient(145deg,#1d3036,#14252a);border:1px solid #30464b;border-radius:12px;padding:25px 24px;box-shadow:0 18px 30px #0000002e}.countdown-card>span{color:#81969a;font-size:calc(10px + var(--font-step));letter-spacing:.12em;display:block}.countdown-card>strong{color:#fff;letter-spacing:-.08em;margin:15px 0 4px;font-family:ui-monospace,monospace;font-size:76px;line-height:1;display:inline-block}.countdown-card>b{color:var(--cyan);font-size:calc(9px + var(--font-step));letter-spacing:.3em;display:block}.countdown-card p{color:#9db0b2;font-size:calc(10px + var(--font-step));margin:21px 0 12px}.countdown-track{background:#0c181b;border-radius:5px;height:4px;overflow:hidden}.countdown-track i{background:linear-gradient(90deg, var(--cyan), var(--amber));width:43%;height:100%;display:block}.countdown-card small{text-align:left;color:#60777c;font-size:calc(8px + var(--font-step));margin-top:8px;display:block}.circuit-corner{border-top:1px solid var(--cyan);border-right:1px solid var(--cyan);opacity:.45;width:28px;height:28px;position:absolute;top:10px;right:10px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0;display:grid}.stats-grid article{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:15px;min-height:112px;padding:20px;display:flex}.stat-icon{width:41px;height:41px;font-size:calc(18px + var(--font-step));border-radius:9px;flex:none;place-items:center;display:grid}.stat-icon.cyan{background:var(--cyan-soft);color:var(--cyan)}.stat-icon.amber{color:#ce7f00;background:#fff3df}.stat-icon.violet{color:var(--violet);background:#eeebff}.stat-icon.red{color:var(--red);background:#feeae7}:root[data-theme=dark] .stat-icon.amber{background:#44351d}:root[data-theme=dark] .stat-icon.violet{background:#312d50}:root[data-theme=dark] .stat-icon.red{background:#492924}.stats-grid small,.stats-grid strong,.stats-grid p{display:block}.stats-grid small{color:var(--muted);font-size:calc(9px + var(--font-step))}.stats-grid strong{font-size:calc(22px + var(--font-step));margin:4px 0 2px}.stats-grid strong em{font-size:calc(9px + var(--font-step));color:var(--muted);margin-left:4px;font-style:normal}.stats-grid p,.stats-grid button{color:#829096;font-size:calc(8px + var(--font-step));background:0 0;border:0;margin:0;padding:0}.stats-grid button{color:var(--red)}.dashboard-grid{grid-template-columns:1.22fr .78fr;gap:18px;display:grid}.study-card,.activity-card,.roadmap-strip{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:23px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section-heading span{color:var(--cyan);font-size:calc(8px + var(--font-step));letter-spacing:.14em;font-weight:700;display:block}.section-heading h2{font-size:calc(15px + var(--font-step));margin:5px 0 0}.section-heading button{color:var(--muted);font-size:calc(9px + var(--font-step));background:0 0;border:0}.section-heading>b{color:var(--cyan);background:var(--cyan-soft);font-size:calc(9px + var(--font-step));border-radius:20px;padding:6px 9px}.task-list{display:grid}.task-list>button{border:0;border-top:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;grid-template-columns:34px 1fr 110px 52px;align-items:center;gap:12px;padding:16px 4px;display:grid}.task-list>button:first-child{border-top:0}.task-list>button:hover{background:var(--panel-2)}.task-number{color:var(--cyan);font-family:ui-monospace,monospace;font-size:calc(11px + var(--font-step))}.task-list b,.task-list small{display:block}.task-list b{font-size:calc(11px + var(--font-step))}.task-list small{color:var(--muted);font-size:calc(8px + var(--font-step));margin-top:5px}.task-list em{font-style:normal;font-size:calc(8px + var(--font-step));color:var(--muted)}.task-list em i{background:var(--cyan);height:3px;margin-bottom:5px;display:block}.task-list>button>strong{color:var(--cyan);font-size:calc(9px + var(--font-step))}.heat-wrap{grid-template-columns:14px 1fr;gap:8px;display:grid}.heat-labels{color:var(--muted);font-size:calc(7px + var(--font-step));flex-direction:column;justify-content:space-around;display:flex}.heatmap{grid-template-rows:repeat(7,9px);grid-auto-columns:9px;grid-auto-flow:column;gap:5px;display:grid;overflow:hidden}.heatmap i,.heat-footer i{background:var(--line);border-radius:2px;width:9px;height:9px;display:inline-block}[data-level="1"]{background:#c8eee9!important}[data-level="2"]{background:#82d8cf!important}[data-level="3"]{background:#3cc3b7!important}[data-level="4"]{background:#12978d!important}.heat-footer{color:var(--muted);font-size:calc(8px + var(--font-step));justify-content:space-between;margin-top:18px;display:flex}.heat-footer span{align-items:center;gap:4px;display:flex}.roadmap-strip{grid-template-columns:200px 1fr;align-items:center;margin-top:18px;display:grid}.roadmap-strip>div span{color:var(--amber);font-size:calc(8px + var(--font-step));letter-spacing:.15em}.roadmap-strip h2{font-size:calc(14px + var(--font-step));margin:5px 0 0}.roadmap-strip ol{grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid;position:relative}.roadmap-strip ol:before{content:"";background:var(--line);height:1px;position:absolute;top:17px;left:22px;right:22px}.roadmap-strip li{align-items:center;gap:10px;display:flex;position:relative}.roadmap-strip li>b{background:var(--panel);border:1px solid var(--line);width:34px;height:34px;font-family:ui-monospace,monospace;font-size:calc(8px + var(--font-step));z-index:1;border-radius:50%;place-items:center;display:grid}.roadmap-strip li.done>b{background:var(--cyan);border-color:var(--cyan);color:#063532}.roadmap-strip li.current>b{border:2px solid var(--amber);color:#b7730d}.roadmap-strip li span strong,.roadmap-strip li span small{display:block}.roadmap-strip li span strong{font-size:calc(10px + var(--font-step))}.roadmap-strip li span small{color:var(--muted);font-size:calc(8px + var(--font-step));margin-top:3px}.practice-view,.mastery-view{max-width:1050px;margin:0 auto}.practice-header{justify-content:space-between;align-items:flex-end;margin:14px 0 28px;display:flex}.practice-header h1{letter-spacing:-.03em;margin:12px 0 8px;font-size:34px}.practice-header p{color:var(--muted);font-size:calc(12px + var(--font-step));margin:0}.question-count,.mastery-score{border-left:1px solid var(--line);min-width:120px;padding-left:24px}.question-count strong,.question-count span,.mastery-score strong,.mastery-score span{display:block}.question-count strong,.mastery-score strong{font-size:30px}.question-count span,.mastery-score span{color:var(--muted);font-size:calc(9px + var(--font-step))}.filter-bar{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:end;gap:12px;margin-bottom:14px;padding:12px;display:flex}.filter-bar label{color:var(--muted);font-size:calc(8px + var(--font-step));gap:5px;display:grid}.filter-bar select{border:1px solid var(--line);background:var(--panel-2);min-width:165px;color:var(--ink);font-size:calc(10px + var(--font-step));border-radius:6px;padding:9px 10px}.filter-bar>span{color:var(--muted);font-size:calc(9px + var(--font-step));align-self:center;margin-left:auto}.question-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:28px 32px}.question-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.question-meta span{color:var(--cyan);font-family:ui-monospace,monospace;font-size:calc(9px + var(--font-step))}.question-meta b,.question-meta small,.question-meta em{background:var(--panel-2);color:var(--muted);font-size:calc(8px + var(--font-step));border-radius:4px;padding:4px 7px;font-style:normal;font-weight:500}.question-meta em[data-difficulty=综合]{color:var(--red);background:#feeae7}.question-meta em[data-difficulty=强化]{color:#b06b00;background:#fff3df}.question-card>h2{font-size:calc(19px + var(--font-step));margin:26px 0;line-height:1.7}.options-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.options-list button{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);text-align:left;font-size:calc(11px + var(--font-step));border-radius:8px;padding:13px 15px;transition:all .15s}.options-list button:hover,.options-list button.selected{border-color:var(--cyan);background:var(--cyan-soft)}.options-list button span{border:1px solid var(--line);width:23px;height:23px;font-size:calc(9px + var(--font-step));border-radius:50%;place-items:center;margin-right:10px;display:inline-grid}.options-list button.correct{border-color:var(--cyan);background:var(--cyan-soft)}.options-list button.wrong{border-color:var(--red);background:#feeae7}.answer-input{color:var(--muted);font-size:calc(9px + var(--font-step));gap:8px;display:grid}.answer-input input{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:8px;padding:15px}.submit-answer{margin-top:22px}.submit-answer:disabled{opacity:.45;cursor:not-allowed}.analysis-panel{border:1px solid var(--cyan);margin-top:24px}@supports (color:color-mix(in lab, red, red)){.analysis-panel{border:1px solid color-mix(in srgb, var(--cyan) 35%, var(--line))}}.analysis-panel{background:var(--cyan-soft);border-radius:9px;grid-template-columns:150px 1fr;gap:24px;padding:20px;display:grid}.analysis-panel span{color:var(--cyan);font-size:calc(8px + var(--font-step));letter-spacing:.12em;font-weight:700}.analysis-panel p{font-size:calc(11px + var(--font-step));line-height:1.8}.analysis-panel small{color:var(--muted);font-size:calc(9px + var(--font-step))}.answer-result{border-right:1px solid var(--cyan)}@supports (color:color-mix(in lab, red, red)){.answer-result{border-right:1px solid color-mix(in srgb, var(--cyan) 25%, var(--line))}}.answer-result strong,.answer-result em{display:block}.answer-result strong{margin:9px 0;font-size:25px}.answer-result em{color:var(--muted);font-style:normal;font-size:calc(9px + var(--font-step))}.question-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:26px;padding-top:18px;display:flex}.question-footer>div{align-items:center;gap:7px;display:flex}.question-footer>div>span{color:var(--muted);font-size:calc(8px + var(--font-step));margin-right:4px}.question-footer button{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:calc(8px + var(--font-step));border-radius:6px;padding:8px 10px}.question-footer .next-button{background:var(--nav);color:#fff;border-color:var(--nav);padding:10px 15px}.empty-state{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:80px 20px}.empty-state p{color:var(--muted);font-size:calc(11px + var(--font-step))}.mastery-score strong{color:var(--cyan)}.mastery-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.mastery-grid article{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:20px}.mastery-top{grid-template-columns:32px 1fr auto;align-items:center;gap:10px;display:grid}.mastery-top>span{color:var(--cyan);font-family:ui-monospace,monospace}.mastery-top h2{font-size:calc(13px + var(--font-step));margin:0}.mastery-top p{color:var(--muted);font-size:calc(8px + var(--font-step));margin:4px 0 0}.mastery-top>strong{font-size:calc(14px + var(--font-step))}.mastery-progress{background:var(--line);border-radius:5px;height:4px;margin:15px 0 10px;overflow:hidden}.mastery-progress i{background:var(--cyan);height:100%;display:block}.mastery-grid ul{margin:0;padding:0;list-style:none}.mastery-grid li button{border:0;border-top:1px solid var(--line);width:100%;color:var(--ink);text-align:left;font-size:calc(9px + var(--font-step));background:0 0;align-items:center;gap:8px;padding:10px 2px;display:flex}.mastery-grid li button>span,.legend i{background:var(--line);border-radius:50%;width:7px;height:7px}.mastery-grid li button>span.good,.legend .good{background:var(--cyan)}.mastery-grid li button>span.weak,.legend .weak{background:var(--amber)}.mastery-grid li button em{color:var(--muted);margin-left:auto;font-style:normal}.legend{color:var(--muted);font-size:calc(8px + var(--font-step));align-items:center;gap:18px;margin-top:16px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend small{margin-left:auto}footer{border-top:1px solid var(--line);color:var(--muted);font-size:calc(8px + var(--font-step));justify-content:space-between;padding:20px 38px;display:flex}.toast{background:var(--nav);color:#fff;border-left:3px solid var(--cyan);font-size:calc(10px + var(--font-step));box-shadow:var(--shadow);z-index:60;border-radius:7px;padding:13px 17px;position:fixed;bottom:28px;right:28px}.sidebar-backdrop{display:none}@media (width<=1080px){.sidebar{width:240px}.content-shell{margin-left:240px}.hero-panel{grid-template-columns:1fr 220px;padding:38px}.countdown-card>strong{font-size:60px}.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}@media (width<=820px){.sidebar{width:268px;transition:transform .25s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-backdrop{z-index:25;background:#020a0c8c;border:0;display:block;position:fixed;inset:0}.content-shell{margin-left:0}.mobile-menu{display:block}.breadcrumb span,.breadcrumb b{display:none}.topbar{padding:0 18px}main{padding:22px 18px 45px}.hero-panel{grid-template-columns:1fr;padding:32px 25px}.countdown-card{text-align:left;grid-template-columns:1fr auto;align-items:center;display:grid}.countdown-card>strong{grid-area:span 3/2;margin:0;padding-left:20px}.countdown-card>b{text-align:right}.countdown-track,.countdown-card small{grid-column:1/-1}.roadmap-strip{grid-template-columns:1fr;gap:20px}.mastery-grid{grid-template-columns:1fr}}@media (width<=560px){.search-button span,.search-button kbd,.avatar{display:none}.hero-copy h1{font-size:34px}.hero-actions{flex-direction:column}.hero-meta{flex-direction:column;gap:6px}.countdown-card{grid-template-columns:1fr 100px}.countdown-card>strong{font-size:54px}.stats-grid{grid-template-columns:1fr}.task-list>button{grid-template-columns:25px 1fr 45px}.task-list em{display:none}.roadmap-strip ol{grid-template-columns:1fr;gap:12px}.roadmap-strip ol:before{display:none}.practice-header{align-items:flex-start}.practice-header h1{font-size:28px}.question-count,.mastery-score{min-width:85px;padding-left:14px}.filter-bar{flex-wrap:wrap}.filter-bar label{flex:1}.filter-bar select{width:100%;min-width:0}.filter-bar>span{width:100%}.question-card{padding:22px 18px}.options-list,.analysis-panel{grid-template-columns:1fr}.answer-result{border-right:0;border-bottom:1px solid var(--cyan)}@supports (color:color-mix(in lab, red, red)){.answer-result{border-bottom:1px solid color-mix(in srgb, var(--cyan) 25%, var(--line))}}.answer-result{padding-bottom:15px}.question-footer{align-items:flex-end;gap:12px}.question-footer>div{flex-wrap:wrap}.question-footer>div>span{width:100%}footer{flex-direction:column;gap:6px;padding:18px}}.source-strip{background:linear-gradient(135deg, var(--panel), var(--panel-2));border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:11px;grid-template-columns:1fr auto;align-items:center;gap:28px;margin:0 0 18px;padding:22px 24px;display:grid}.source-strip>div>span{color:var(--cyan);font-size:calc(8px + var(--font-step));letter-spacing:.15em;font-weight:700}.source-strip h2{font-size:calc(15px + var(--font-step));margin:6px 0}.source-strip p{color:var(--muted);font-size:calc(9px + var(--font-step));margin:0;line-height:1.7}.source-strip dl{grid-template-columns:repeat(4,82px);margin:0;display:grid}.source-strip dl>div{border-left:1px solid var(--line);text-align:center;padding:0 14px}.source-strip dt{font-family:ui-monospace,monospace;font-size:calc(20px + var(--font-step));color:var(--ink);font-weight:800}.source-strip dd{color:var(--muted);font-size:calc(8px + var(--font-step));margin:4px 0 0}.catalog-count{color:var(--muted);font-size:calc(8px + var(--font-step));justify-content:space-between;gap:12px;margin:15px 0 0;display:flex}.catalog-count+.mastery-progress{margin-top:10px}@media (width<=1080px){.source-strip{grid-template-columns:1fr}.source-strip dl{grid-template-columns:repeat(4,1fr)}}@media (width<=560px){.source-strip dl{grid-template-columns:1fr 1fr;gap:14px}.source-strip dl>div:nth-child(odd){border-left:0}}.font-controls{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:7px;align-items:center;height:37px;display:flex;overflow:hidden}.font-controls button{background:var(--panel-2);min-width:35px;height:100%;color:var(--ink);font-size:calc(10px + var(--font-step));border:0;font-weight:800}.font-controls button:hover:not(:disabled){background:var(--cyan-soft);color:var(--cyan)}.font-controls button:disabled{opacity:.35;cursor:not-allowed}.font-controls span{color:var(--muted);font-size:calc(9px + var(--font-step));border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 9px;font-weight:700}.signin-button,.account-chip{height:36px;font-size:calc(9px + var(--font-step));border-radius:7px;align-items:center;font-weight:700;text-decoration:none;display:flex}.signin-button{background:var(--cyan);color:#073532;padding:0 13px}.account-chip{color:var(--muted);border:1px solid var(--line);background:var(--panel);gap:7px;padding:0 8px 0 4px}.account-chip span{background:var(--cyan);color:#073532;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.account-chip small{font-size:calc(8px + var(--font-step))}.workspace-view{max-width:1050px;margin:0 auto}.login-required-view{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:520px;display:flex}.login-required-view>span{background:var(--cyan-soft);width:72px;height:72px;color:var(--cyan);border-radius:50%;place-items:center;font-size:34px;display:grid}.login-required-view h1{margin:8px 0 0}.login-required-view p{max-width:560px;color:var(--muted);margin:0 0 8px;line-height:1.7}.login-required-view a{text-decoration:none}.login-required-view>button{color:var(--muted);background:0 0;border:0;padding:8px 12px;text-decoration:underline}.plan-layout,.exam-layout{grid-template-columns:1.15fr .85fr;gap:16px;display:grid}.tool-card,.result-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:24px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;display:grid}.form-grid label{color:var(--muted);font-size:calc(9px + var(--font-step));gap:7px;display:grid}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--ink);font-size:calc(11px + var(--font-step));border-radius:7px;padding:11px 12px}.auth-hint{font-size:calc(9px + var(--font-step));color:var(--muted);margin:15px 0 0}.auth-hint a{color:var(--cyan)}.plan-steps{gap:16px;margin:0;padding:0;list-style:none;display:grid}.plan-steps li{border-top:1px solid var(--line);align-items:center;gap:13px;padding-top:14px;display:flex}.plan-steps li:first-child{border-top:0;padding-top:0}.plan-steps li>b{background:var(--cyan-soft);width:34px;height:34px;color:var(--cyan);font-family:ui-monospace,monospace;font-size:calc(9px + var(--font-step));border-radius:8px;place-items:center;display:grid}.plan-steps strong,.plan-steps small{display:block}.plan-steps strong{font-size:calc(11px + var(--font-step))}.plan-steps small{font-size:calc(8px + var(--font-step));color:var(--muted);margin-top:4px}.plan-history{margin-top:16px}.history-list{display:grid}.history-list button{border:0;border-top:1px solid var(--line);color:var(--ink);text-align:left;font-size:calc(9px + var(--font-step));background:0 0;grid-template-columns:100px 1fr 90px 80px;align-items:center;gap:12px;padding:14px 4px;display:grid}.history-list button:hover{background:var(--panel-2)}.history-list span,.history-list em{color:var(--muted);font-style:normal}.history-list b{color:var(--cyan);text-align:right}.empty-inline{text-align:center;background:var(--panel-2);color:var(--muted);font-size:calc(10px + var(--font-step));border-radius:8px;padding:28px}.result-card{text-align:center;background:linear-gradient(145deg, var(--nav), #173239);color:#fff;place-items:center;display:grid}.result-card>span{font-size:calc(9px + var(--font-step));color:var(--cyan);letter-spacing:.15em}.result-card>strong{margin:15px 0 0;font-size:64px}.result-card>strong em{font-size:calc(16px + var(--font-step));color:#8fa5a7;font-style:normal}.result-card p{font-size:calc(12px + var(--font-step))}.result-card small{font-size:calc(9px + var(--font-step));color:#8fa5a7}.exam-progress{background:var(--line);border-radius:12px 12px 0 0;height:4px;margin:-28px -32px 24px;overflow:hidden}.exam-progress span{background:var(--cyan);height:100%;display:block}.exam-note{font-size:calc(9px + var(--font-step));color:var(--muted)}.question-footer .next-button:disabled{opacity:.45;cursor:not-allowed}@media (width<=1180px){.search-button kbd{display:none}.font-controls span{padding:0 7px}}@media (width<=820px){.plan-layout,.exam-layout{grid-template-columns:1fr}.font-controls span{padding:0 5px;font-size:0}.font-controls span:after{content:"字号";font-size:calc(9px + var(--font-step))}}@media (width<=560px){.signin-button{padding:0 9px}.account-chip small,.font-controls span{display:none}.font-controls button{min-width:32px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.history-list button{grid-template-columns:1fr auto}.history-list span,.history-list em{display:none}.exam-progress{margin:-22px -18px 20px}}.sidebar-toggle{color:#a9bbbd;width:28px;height:28px;font-size:calc(18px + var(--font-step));background:#ffffff0d;border:1px solid #ffffff1f;border-radius:7px;flex:none;place-items:center;margin-left:auto;line-height:1;display:grid}.sidebar-toggle:hover{color:var(--cyan);background:#19b7aa2e}@media (width>=821px){.sidebar-collapsed .sidebar{width:82px;padding-left:13px;padding-right:13px}.sidebar-collapsed .content-shell{margin-left:82px}.sidebar-collapsed .brand{justify-content:center;padding-left:5px;padding-right:5px}.sidebar-collapsed .brand-home{justify-content:center}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-title,.sidebar-collapsed .main-nav button em,.sidebar-collapsed .chapter-nav button>div,.sidebar-collapsed .chapter-nav button>i,.sidebar-collapsed .book-card{display:none}.sidebar-collapsed .brand-mark{flex:none;width:40px;height:40px}.sidebar-collapsed .sidebar-toggle{background:var(--nav-2);z-index:2;position:absolute;top:9px;right:-12px}.sidebar-collapsed .main-nav{margin-top:20px}.sidebar-collapsed .main-nav button{justify-content:center;padding:11px 6px;font-size:0}.sidebar-collapsed .main-nav button span{width:auto;font-size:calc(18px + var(--font-step))}.sidebar-collapsed .chapter-nav{margin-top:14px}.sidebar-collapsed .chapter-nav>button{text-align:center;padding:10px 4px;display:block}.sidebar-collapsed .chapter-nav>button>span{font-size:calc(10px + var(--font-step))}}.settings-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#050f12a3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.settings-dialog{background:var(--panel);border:1px solid var(--line);width:min(680px,100%);max-height:min(820px,100vh - 48px);color:var(--ink);border-radius:16px;padding:26px;overflow:auto;box-shadow:0 30px 90px #00000047}.access-dialog{width:min(600px,100%)}.access-dialog-body{padding:24px 4px 4px}.access-lock{background:var(--cyan-soft);width:58px;height:58px;color:var(--cyan);border-radius:50%;place-items:center;margin-bottom:16px;font-size:28px;font-weight:900;display:grid}.access-dialog-body p{color:var(--muted);font-size:calc(11px + var(--font-step));margin:0;line-height:1.75}.access-dialog-body p strong{color:var(--ink);margin:0 4px}.access-dialog-body ul{background:var(--panel-2);color:var(--muted);font-size:calc(9px + var(--font-step));border-radius:10px;margin:18px 0 0;padding:16px 18px 16px 36px;line-height:1.9}.access-actions>a{color:#073532;text-decoration:none}.access-actions>button{color:var(--muted);background:0 0;border:0;padding:10px 4px}.settings-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.settings-head span{color:var(--cyan);font-size:calc(8px + var(--font-step));letter-spacing:.16em;font-weight:800}.settings-head h2{margin:6px 0 0;font-size:24px}.settings-head>button{border:1px solid var(--line);background:var(--panel-2);width:36px;height:36px;color:var(--muted);border-radius:8px;font-size:24px;line-height:1}.settings-avatar{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;margin:18px 0;padding:14px;display:grid}.settings-avatar>span{background:var(--cyan);color:#073532;width:48px;height:48px;font-size:calc(18px + var(--font-step));border-radius:10px;place-items:center;font-weight:900;display:grid}.settings-avatar strong,.settings-avatar small{display:block}.settings-avatar strong{font-size:calc(13px + var(--font-step))}.settings-avatar small{font-size:calc(9px + var(--font-step));color:var(--muted);margin-top:3px}.settings-avatar em{color:var(--cyan);background:var(--cyan-soft);font-style:normal;font-size:calc(8px + var(--font-step));border-radius:20px;padding:6px 9px}.settings-form{gap:15px;display:grid}.settings-form>label,.settings-row label{font-size:calc(10px + var(--font-step));gap:7px;font-weight:700;display:grid}.settings-form input,.settings-form select,.settings-form textarea,.settings-row input{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--ink);font-size:calc(11px + var(--font-step));border-radius:8px;padding:12px 13px;font-weight:400}.settings-ai-section{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.settings-section-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.settings-section-head span{color:var(--cyan);font-size:calc(7px + var(--font-step));letter-spacing:.15em;font-weight:800}.settings-section-head h3{font-size:calc(15px + var(--font-step));margin:4px 0 0}.settings-section-head em{background:var(--panel-2);color:var(--muted);font-size:calc(7px + var(--font-step));border-radius:20px;flex:none;padding:6px 9px;font-style:normal}.settings-section-head em.saved{color:#b45309;background:#fff7ed}.settings-section-head em.ready{color:#17685f;background:var(--cyan-soft)}.settings-ai-section>p{color:var(--muted);font-size:calc(9px + var(--font-step));line-height:1.7}.ai-settings-form{margin-top:14px}.ai-login-note,.ai-settings-message{background:#fff7ed;border-radius:7px;margin:12px 0 0;padding:10px 12px;color:#9a4c08!important}.ai-settings-message{background:var(--panel-2);color:var(--ink)!important}.ai-settings-actions{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.text-danger-button{color:var(--red);background:0 0;border:1px solid #efb5ad;border-radius:7px;padding:9px 12px}.settings-form textarea{resize:vertical;min-height:76px}.settings-form label>small{color:var(--muted);font-size:calc(8px + var(--font-step));font-weight:400}.settings-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.settings-error{color:var(--red);font-size:calc(9px + var(--font-step));background:#feeae7;border-radius:7px;padding:10px 12px}.settings-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:20px;padding-top:18px;display:flex}.settings-actions>a{color:var(--red);font-size:calc(9px + var(--font-step));text-decoration:none}.settings-guest{text-align:center;padding:34px 18px 12px}.settings-guest>span{background:var(--cyan-soft);width:64px;height:64px;color:var(--cyan);border-radius:50%;place-items:center;margin:0 auto;font-size:30px;display:grid}.settings-guest h3{margin:18px 0 8px;font-size:22px}.settings-guest p{color:var(--muted);font-size:calc(10px + var(--font-step));max-width:450px;margin:0 auto 22px;line-height:1.7}.settings-guest>a{text-decoration:none;display:inline-block}.settings-guest>div{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.settings-guest strong,.settings-guest small{display:block}.settings-guest small{color:var(--muted);font-size:calc(9px + var(--font-step));margin-top:5px}@media (width<=820px){.sidebar-toggle{display:none}.settings-dialog{padding:20px}.settings-row{grid-template-columns:1fr}}@media (width<=560px){.guest-mode-banner{flex-direction:column;align-items:stretch}.guest-mode-banner>a{text-align:center}.settings-overlay{padding:10px}.settings-dialog{border-radius:12px;max-height:calc(100vh - 20px)}.settings-avatar{grid-template-columns:42px 1fr}.settings-avatar>span{width:42px;height:42px}.settings-avatar em{grid-column:1/-1;width:max-content}.settings-actions{flex-direction:column-reverse;align-items:stretch;gap:12px}.settings-actions>a{text-align:center;padding:10px}.settings-actions .primary-button{width:100%}.settings-section-head{flex-direction:column;align-items:stretch}.settings-section-head em{width:max-content}.ai-settings-actions>button{width:100%}}.brand{position:relative}.brand-home{min-width:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:9px;flex:1;align-items:center;gap:12px;padding:0;display:flex}.brand-home:hover .brand-mark{background:#2bd0c1;box-shadow:0 0 0 5px #19b7aa1f}.brand-home:hover .brand-copy strong{color:var(--cyan)}.brand-home:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.brand-home .brand-mark,.brand-home .brand-copy strong{transition:background .18s,color .18s,box-shadow .18s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.dialog-help{color:var(--muted);font-size:calc(9px + var(--font-step));margin:16px 0 12px;line-height:1.7}.search-dialog{width:min(820px,100%)}.search-input{border:2px solid var(--cyan);background:var(--panel-2);width:100%;color:var(--ink);font-size:calc(13px + var(--font-step));border-radius:10px;padding:15px 16px}.search-results{gap:5px;max-height:min(520px,55vh);margin-top:12px;display:grid;overflow:auto}.search-results>button{width:100%;color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;grid-template-columns:76px 1fr;align-items:start;gap:12px;padding:12px;display:grid}.search-results>button:hover,.search-results>button.active{border-color:var(--cyan);background:var(--cyan-soft)}.search-results>button>span{color:var(--cyan);font-family:ui-monospace,monospace;font-weight:800}.search-results strong,.search-results small{display:block}.search-results strong{font-size:calc(10px + var(--font-step));line-height:1.55}.search-results small{color:var(--muted);font-size:calc(8px + var(--font-step));margin-top:5px}.filter-chip{border:1px solid var(--cyan)}@supports (color:color-mix(in lab, red, red)){.filter-chip{border:1px solid color-mix(in srgb, var(--cyan) 45%, var(--line))}}.filter-chip{background:var(--cyan-soft);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:20px;max-width:360px;padding:8px 12px;overflow:hidden}.answer-input textarea{resize:vertical;border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--ink);border-radius:8px;padding:15px}.rubric-list{gap:8px;margin:15px 0;padding:0;list-style:none;display:grid}.rubric-list li{border-top:1px solid var(--cyan);grid-template-columns:48px 1fr;gap:8px;display:grid}@supports (color:color-mix(in lab, red, red)){.rubric-list li{border-top:1px solid color-mix(in srgb, var(--cyan) 25%, var(--line))}}.rubric-list li{font-size:calc(9px + var(--font-step));padding-top:8px}.rubric-list b{color:var(--cyan)}.exam-workspace{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:16px;display:grid}.exam-side{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:18px;position:sticky;top:90px}.exam-timer{text-align:center;border-bottom:1px solid var(--line);padding-bottom:15px}.exam-timer span,.exam-timer strong{display:block}.exam-timer span{color:var(--muted);font-size:calc(8px + var(--font-step));letter-spacing:.12em}.exam-timer strong{font-family:ui-monospace,monospace;font-size:calc(26px + var(--font-step));margin-top:6px}.exam-timer.urgent strong{color:var(--red)}.answer-sheet{grid-template-columns:repeat(5,1fr);gap:6px;margin:16px 0;display:grid}.answer-sheet button{aspect-ratio:1;border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font-size:calc(8px + var(--font-step));border-radius:6px}.answer-sheet button.answered{background:var(--cyan-soft);color:var(--cyan);border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.answer-sheet button.answered{border-color:color-mix(in srgb, var(--cyan) 45%, var(--line))}}.answer-sheet button.current{outline:3px solid var(--amber);outline-offset:1px;color:var(--ink)}.pause-button{width:100%}.resume-card{max-width:720px;margin:20px auto}.resume-card h2{font-size:calc(22px + var(--font-step));margin:14px 0 5px}.resume-card p{color:var(--muted)}.review-view{gap:16px;display:grid}.review-summary{background:linear-gradient(135deg, var(--nav), #173239);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:23px 26px;display:flex}.review-summary>div:first-child span,.review-summary>div:first-child strong,.review-summary>div:first-child small{display:block}.review-summary>div:first-child span,.review-summary>div:first-child small{color:#9bb0b3;font-size:calc(8px + var(--font-step))}.review-summary>div:first-child strong{font-size:calc(25px + var(--font-step));margin:5px 0}.review-filters{flex-wrap:wrap;gap:6px;display:flex}.review-filters button{color:#dce9e8;background:#ffffff0f;border:1px solid #ffffff29;border-radius:20px;padding:8px 12px}.review-filters button.active{background:var(--cyan);color:#073532;border-color:var(--cyan)}.review-list{gap:14px;display:grid}.review-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.review-card h2{font-size:calc(14px + var(--font-step));line-height:1.65}.review-card dl{grid-template-columns:1fr 1fr;gap:10px;display:grid}.review-card dl>div{background:var(--panel-2);border-radius:8px;padding:12px}.review-card dt{color:var(--muted);font-size:calc(8px + var(--font-step))}.review-card dd{white-space:pre-wrap;font-size:calc(10px + var(--font-step));margin:5px 0 0}.review-correct,.review-wrong{border-radius:7px;padding:10px 12px;font-weight:800}.review-correct{color:var(--cyan);background:var(--cyan-soft)}.review-wrong{color:var(--red);background:#feeae7}.review-explanation{line-height:1.75}.review-card>small{color:var(--muted)}.self-rubric{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;gap:8px;padding:15px;display:grid}.self-rubric>label{border-top:1px solid var(--line);font-size:calc(9px + var(--font-step));grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding-top:9px;display:grid}.self-rubric>label:first-of-type{border-top:0}.self-rubric b{color:var(--cyan)}.self-rubric>button{border:1px solid var(--cyan);background:var(--cyan-soft);color:var(--ink);border-radius:7px;justify-self:start;padding:9px 12px}.finish-review{justify-self:center;margin:8px auto 20px}textarea:focus-visible{outline:3px solid var(--cyan)}@supports (color:color-mix(in lab, red, red)){textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--cyan) 40%, transparent)}}textarea:focus-visible{outline-offset:2px}@media (width<=820px){.exam-workspace{grid-template-columns:1fr}.exam-side{position:static}.answer-sheet{grid-template-columns:repeat(10,1fr)}.review-summary{flex-direction:column;align-items:flex-start}}@media (width<=560px){.search-results>button{grid-template-columns:1fr}.review-card{padding:18px}.review-card dl{grid-template-columns:1fr}.answer-sheet{grid-template-columns:repeat(5,1fr)}}:root{--heat-0:#e5e7eb;--heat-0-border:#cbd5e1;--heat-1:#bae6fd;--heat-1-border:#38bdf8;--heat-2:#38bdf8;--heat-2-stripe:#e0f2fe;--heat-3:#2563eb;--heat-3-mark:#bfdbfe;--heat-4:#172554;--heat-4-stripe:#3b82f6}:root[data-theme=dark]{--heat-0:#334155;--heat-0-border:#64748b;--heat-1:#7dd3fc;--heat-1-border:#e0f2fe;--heat-2:#0284c7;--heat-2-stripe:#7dd3fc;--heat-3:#2563eb;--heat-3-mark:#dbeafe;--heat-4:#172554;--heat-4-stripe:#60a5fa}.heatmap{grid-template-rows:repeat(7,11px);grid-auto-columns:11px;gap:4px;overflow:visible}.heatmap .heat-cell,.heat-legend i{border:1px solid var(--heat-0-border);border-radius:3px;width:11px;height:11px;display:inline-block;position:relative;background:var(--heat-0)!important}.heatmap .heat-cell[data-level="1"],.heat-legend i[data-level="1"]{border-color:var(--heat-1-border);background:var(--heat-1)!important}.heatmap .heat-cell[data-level="2"],.heat-legend i[data-level="2"]{border-color:var(--heat-2);background:repeating-linear-gradient(135deg, var(--heat-2) 0 3px, var(--heat-2-stripe) 3px 5px)!important}.heatmap .heat-cell[data-level="3"],.heat-legend i[data-level="3"]{border-color:var(--heat-3);box-shadow:inset 0 0 0 2px var(--heat-3-mark);background:var(--heat-3)!important}.heatmap .heat-cell[data-level="4"],.heat-legend i[data-level="4"]{border-color:var(--heat-4);background:repeating-linear-gradient(45deg, var(--heat-4) 0 3px, var(--heat-4-stripe) 3px 5px)!important}.heatmap .heat-cell[data-future=true]{border-style:dashed;border-color:var(--heat-0-border);background:0 0!important}.heatmap .heat-cell[data-today=true]{outline:2px solid var(--amber);outline-offset:1px}.heat-cell:hover,.heat-cell:focus-visible{z-index:6;outline:3px solid var(--amber);outline-offset:2px}.heat-tooltip{z-index:10;border:1px solid var(--line);background:var(--ink);width:max-content;min-width:168px;max-width:220px;color:var(--panel);opacity:0;visibility:hidden;pointer-events:none;text-align:left;border-radius:8px;padding:10px 12px;line-height:1.4;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);box-shadow:0 12px 30px #0c1c2438}.heat-tooltip:after{content:"";background:var(--ink);width:8px;height:8px;position:absolute;top:100%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.heat-tooltip strong,.heat-tooltip b,.heat-tooltip small{white-space:nowrap;display:block}.heat-tooltip strong{font-size:calc(9px + var(--font-step))}.heat-tooltip b{color:var(--amber);font-size:calc(9px + var(--font-step));margin-top:3px}.heat-tooltip small{opacity:.75;font-size:calc(7px + var(--font-step));margin-top:2px}.heat-cell:hover .heat-tooltip,.heat-cell:focus-visible .heat-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.heat-footer{align-items:flex-start;gap:12px}.heat-legend{flex-wrap:wrap;justify-content:flex-end;display:flex;gap:8px!important}.heat-legend>span{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}@media (width<=560px){.heat-footer{flex-direction:column}.heat-legend{justify-content:flex-start}.heat-tooltip{left:0;transform:translateY(4px)}.heat-cell:hover .heat-tooltip,.heat-cell:focus-visible .heat-tooltip{transform:translate(0)}.heat-tooltip:after{left:6px;transform:translateY(-50%)rotate(45deg)}}.analytics-view{max-width:1180px;margin:0 auto}.analytics-filters{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:14px;margin-bottom:16px;padding:12px 14px;display:flex}.analytics-filters>div{gap:5px;display:flex}.analytics-filters button,.analytics-filters select{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:7px;padding:8px 11px}.analytics-filters button.active{color:#fff;background:#2563eb;border-color:#2563eb}.analytics-filters label{color:var(--muted);font-size:calc(9px + var(--font-step));align-items:center;gap:7px;display:flex}.analytics-filters>span{color:var(--muted);font-size:calc(8px + var(--font-step));margin-left:auto}.analytics-kpis{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:14px;display:grid}.analytics-kpis article,.data-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}.analytics-kpis small,.analytics-kpis strong,.analytics-kpis p{display:block}.analytics-kpis small{color:var(--muted)}.analytics-kpis strong{font-size:calc(25px + var(--font-step));margin:5px 0}.analytics-kpis strong em{margin-left:3px;font-size:.45em;font-style:normal}.analytics-kpis p{color:var(--muted);font-size:calc(8px + var(--font-step));margin:0}.analytics-grid{grid-template-columns:1.25fr .75fr;gap:14px;display:grid}.chapter-card,.exam-trend{grid-column:1/-1}.daily-bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:3px;height:190px;padding-top:12px;display:flex}.daily-bar{background:0 0;border:0;flex-direction:column-reverse;flex:1;justify-content:flex-start;min-width:3px;height:100%;padding:0;display:flex}.daily-correct{background:repeating-linear-gradient(135deg,#2563eb 0 4px,#60a5fa 4px 6px)}.daily-wrong{background:repeating-linear-gradient(45deg,#ea580c 0 4px,#fdba74 4px 6px)}.daily-bar:hover,.daily-bar:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.chart-axis{color:var(--muted);font-size:calc(7px + var(--font-step));justify-content:space-between;margin-top:6px;display:flex}.weak-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.weak-list li{background:var(--panel-2);border-radius:8px;gap:10px;padding:10px;display:flex}.weak-list li>b{color:#ea580c}.weak-list strong,.weak-list span{display:block}.weak-list span{color:var(--muted);font-size:calc(8px + var(--font-step));margin-top:3px}.metric-bars{gap:13px;display:grid}.metric-bars>div>div{font-size:calc(9px + var(--font-step));justify-content:space-between;gap:12px;display:flex}.metric-bars>div>div span{color:var(--muted)}.metric-bars i,.type-performance i,.loss-bars i{background:var(--line);border-radius:9px;height:9px;margin-top:6px;display:block;position:relative;overflow:visible}.metric-bars i b,.type-performance i b,.loss-bars i b{border-radius:inherit;background:repeating-linear-gradient(135deg,#2563eb 0 5px,#60a5fa 5px 7px);height:100%;display:block}.metric-bars i em{background:#ea580c;width:3px;height:15px;position:absolute;top:-3px}.metric-bars small{color:#b45309;font-size:calc(7px + var(--font-step))}.type-performance{grid-template-columns:1fr 1fr;gap:14px;display:grid}.type-performance>div{grid-template-columns:1fr auto;gap:4px;display:grid}.type-performance i,.type-performance small{grid-column:1/-1}.type-performance small{color:var(--muted)}.exam-bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:12px;height:180px;padding:15px 10px 0;display:flex}.exam-bars>div{flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.exam-bars i{background:repeating-linear-gradient(135deg,#2563eb 0 5px,#93c5fd 5px 8px);border-radius:6px 6px 0 0;width:min(38px,70%);display:block}.exam-bars b{font-size:calc(7px + var(--font-step));position:absolute;top:0}.exam-bars small{color:var(--muted);font-size:calc(6px + var(--font-step));position:absolute;bottom:-22px}.workspace-view:has(.paper-exam-workspace){max-width:1500px}.paper-exam-workspace{grid-template-columns:215px minmax(0,1fr)}.paper-exam-side{z-index:8}.exam-view-toggle{grid-template-columns:1fr 1fr;gap:4px;margin-top:14px;display:grid}.exam-view-toggle button{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:6px;padding:7px}.exam-view-toggle button.active{color:#fff;background:#2563eb;border-color:#2563eb}.paper-status{color:var(--muted);font-size:calc(8px + var(--font-step));justify-content:space-between;margin-top:13px;display:flex}.paper-status b{color:#ea580c}.paper-submit{width:100%;margin-top:8px}.paper-pages{gap:22px;min-width:0;display:grid}.paper-page{aspect-ratio:auto;color:#162127;background:#fff;border:1px solid #cbd5e1;grid-template-rows:auto auto auto;min-height:760px;padding:25px 30px 18px;display:grid;box-shadow:0 18px 45px #192d371f}.paper-page>header,.paper-page>footer{color:#64748b;letter-spacing:.04em;justify-content:space-between;font-size:11px;display:flex}.paper-page>header{border-bottom:2px solid #172554;padding-bottom:12px}.paper-page>footer{border-top:1px solid #cbd5e1;justify-content:center;padding-top:10px}.paper-columns{grid-template-columns:1fr 1fr;min-height:min-content;display:grid}.paper-column{padding:16px 22px}.paper-column+.paper-column{border-left:1px dashed #94a3b8}.paper-question{break-inside:avoid;border-bottom:1px solid #e2e8f0;margin:0 0 18px;padding:0 0 18px;scroll-margin-top:110px}.paper-question-head{align-items:center;gap:8px;display:flex}.paper-question-head strong{font-size:15px}.paper-question-head span,.paper-question-head em{color:#64748b;font-size:11px;font-style:normal}.paper-question-head em{margin-left:auto}.paper-question h3{margin:8px 0 12px;font-size:14px;line-height:1.75}.compact-options{grid-template-columns:1fr}.compact-options button{background:#fff;padding:8px 10px;font-size:12px}.paper-text-answer input{background:#fff;border-color:#94a3b8;padding:9px}.focus-exam-card{min-width:0}.subjective-tools{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}.answer-tabs{background:var(--panel-2);border-bottom:1px solid var(--line);gap:4px;padding:7px;display:flex}.answer-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;padding:7px 10px}.answer-tabs button.active{color:#1d4ed8;background:#dbeafe;border-color:#2563eb}.answer-tabs .ai-tab{color:#7c3aed;margin-left:auto}.subjective-tools>textarea{resize:vertical;border:1px solid var(--line);background:var(--panel-2);width:calc(100% - 24px);color:var(--ink);border-radius:7px;margin:12px;padding:12px;display:block}.ink-workspace{padding:10px}.ink-toolbar{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:8px;display:flex}.ink-toolbar select,.ink-toolbar button,.ink-pages button{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:6px;padding:6px 8px}.ink-toolbar label{color:var(--muted);align-items:center;gap:5px;font-size:12px;display:flex}.ink-canvas{aspect-ratio:1000/620;touch-action:none;background:#fff;border:1px solid #94a3b8;border-radius:6px;width:100%;height:auto;display:block}.ink-pages{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.ink-pages button.active{color:#fff;background:#2563eb}.photo-answer{padding:12px}.upload-tile{color:#1d4ed8;background:#eff6ff;border:2px dashed #60a5fa;border-radius:8px;place-items:center;min-height:90px;display:grid}.upload-tile input{opacity:0;pointer-events:none;position:absolute}.upload-tile small{color:#64748b}.photo-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px;display:grid}.photo-grid article{border:1px solid var(--line);border-radius:8px;overflow:hidden}.photo-grid img{object-fit:contain;background:#e2e8f0;width:100%;height:160px}.photo-grid article>div{flex-wrap:wrap;gap:4px;padding:6px;display:flex}.photo-grid button,.ai-actions button,.ai-result button{border:1px solid var(--line);background:var(--panel-2);color:var(--ink);border-radius:5px;padding:5px 7px}.ai-panel{border-top:1px solid var(--line);background:var(--panel-2);padding:14px}.ai-head{justify-content:space-between;gap:12px;display:flex}.ai-head strong,.ai-head small{display:block}.ai-head small,.ai-head>span{color:var(--muted);font-size:11px}.ai-config{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;display:grid}.ai-config label{color:var(--muted);gap:4px;font-size:11px;display:grid}.ai-config input,.ai-config select{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px;padding:8px}.ai-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.ai-result{background:var(--panel);border-left:4px solid #7c3aed;margin-top:12px;padding:12px}.ai-result small{color:#b45309;display:block}.answer-message{color:#b45309;background:#fff7ed;margin:0;padding:9px 12px}.self-rubric>label.ai-suggested{border-left:3px solid #7c3aed;padding-left:8px}.self-rubric>label em{color:#7c3aed;grid-column:2/-1;font-size:11px;font-style:normal}.exam-result-screen{animation:.36s ease-out result-enter}.result-hero{text-align:center;color:#fff;background:linear-gradient(135deg,#172554,#1d4ed8);border-radius:16px;padding:40px}.result-hero h2{margin:13px 0;font-size:32px}.result-hero h2:focus{outline:none}.result-score{justify-content:center;align-items:baseline;gap:9px;display:flex}.result-score strong{font-size:76px;line-height:1}.result-score span{color:#bfdbfe}.result-score em{color:#1d4ed8;background:#fff;border-radius:30px;margin-left:15px;padding:7px 13px;font-style:normal;font-weight:900}.result-hero p{color:#bfdbfe}.result-metrics{grid-template-columns:repeat(4,1fr);gap:11px;margin:14px 0;display:grid}.result-metrics article,.result-loss-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px}.result-metrics span,.result-metrics strong{display:block}.result-metrics span{color:var(--muted)}.result-metrics strong{margin-top:4px;font-size:22px}.result-loss-card h3{margin:5px 0 0}.loss-bars{gap:10px;display:grid}.loss-bars>div{grid-template-columns:180px 1fr 55px;align-items:center;gap:10px;display:grid}.loss-bars i{margin:0}.loss-bars i b{background:repeating-linear-gradient(135deg,#ea580c 0 5px,#fdba74 5px 8px)}.result-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin:18px 0;display:flex}.result-actions>button:not(.primary-button):not(.secondary-button){color:var(--muted);background:0 0;border:0;padding:12px}@keyframes result-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media (width>=821px) and (width<=1180px){.sidebar{width:82px;padding-left:13px;padding-right:13px}.content-shell{margin-left:82px}.sidebar .brand-copy,.sidebar .nav-title,.sidebar .main-nav button em,.sidebar .chapter-nav button>div,.sidebar .book-card{display:none}.sidebar .brand{justify-content:center;padding-left:5px;padding-right:5px}.sidebar .brand-home{justify-content:center}.sidebar .sidebar-toggle{display:none}.sidebar .main-nav{margin-top:20px}.sidebar .main-nav button{justify-content:center;padding:11px 6px;font-size:0}.sidebar .main-nav button span{width:auto;font-size:calc(18px + var(--font-step))}.sidebar .chapter-nav>button{text-align:center;padding:10px 4px;display:block}.paper-page{min-height:0}}@media (width<=1000px){.analytics-kpis{grid-template-columns:1fr 1fr}.paper-exam-workspace{grid-template-columns:190px minmax(0,1fr)}.paper-page{min-height:680px;padding:20px 18px}.paper-column{padding:13px}.paper-question h3{font-size:13px}}@media (width<=820px){.analytics-grid{grid-template-columns:1fr}.chapter-card,.exam-trend{grid-column:auto}.paper-exam-workspace{grid-template-columns:1fr}.paper-exam-side{grid-template-columns:150px 150px 1fr auto auto;align-items:center;gap:9px;display:grid;position:sticky;top:72px}.paper-exam-side .exam-timer{border:0;padding:0}.paper-exam-side .answer-sheet{max-height:84px;margin:0;overflow:auto}.paper-exam-side .pause-button,.paper-exam-side .paper-submit{margin:0}.paper-page{min-width:0}.paper-pages{scroll-snap-type:x proximity;overflow-x:auto}.paper-page{scroll-snap-align:start}.result-metrics{grid-template-columns:1fr 1fr}}@media (width<=560px){.analytics-filters{flex-direction:column;align-items:stretch}.analytics-filters>span{margin-left:0}.analytics-kpis{grid-template-columns:1fr 1fr}.analytics-grid,.type-performance{grid-template-columns:1fr}.paper-exam-side{display:block;position:static}.paper-pages{zoom:.45;width:220%;display:grid}.result-hero{padding:28px 16px}.result-score strong{font-size:58px}.result-metrics{grid-template-columns:1fr 1fr}.loss-bars>div{grid-template-columns:100px 1fr 45px}.ai-config,.photo-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.exam-result-screen{animation:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
