/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia: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-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:calc(var(--spacing) * 1)}.overline{text-decoration-line:overline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2026{outline-style:var(--tw-outline-style);outline-width:2026px}.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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.bulk-question-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.bulk-question-toolbar button{color:#193e4c;cursor:pointer;background:#f4efd9;border:1px solid #527b89;border-radius:10px;padding:8px 14px}.bulk-question-toolbar button:disabled{opacity:.5;cursor:wait}.bulk-question-toolbar [role=alertdialog]{background:#fff5de;border:1px solid #c18a50;border-radius:12px;flex-basis:100%;padding:16px}.bulk-question-item{min-width:0}.bulk-question-item.is-multi-select .search-result-card{cursor:pointer}.bulk-question-item.is-selected .search-result-card{border-color:var(--orange);box-shadow:0 0 0 2px #e07a2f33, var(--shadow)}.bulk-question-select{align-items:center;gap:8px;padding:8px 2px;display:flex}:root{--cream:#f5e6b8;--cream-soft:#f8edcb;--cream-light:#fbf3da;--teal:#1b3a4b;--teal-soft:#5a7d8c;--teal-pale:#d9e3df;--red:#e63946;--orange:#e07a2f;--green:#2f9e44;--white:#fff;--line:#1b3a4b38;--shadow:0 14px 34px #1b3a4b1a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--teal);background:var(--cream);margin:0;font-family:Noto Sans SC,Source Han Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}body:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 12% 8%,#ffffff57,#0000 24%),radial-gradient(circle at 88% 38%,#e07a2f12,#0000 28%);position:fixed;inset:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.site-shell{min-height:100vh}.site-header{border-bottom:1px solid var(--teal-soft);justify-content:space-between;align-items:center;width:min(1220px,100% - 64px);min-height:84px;margin:0 auto;display:flex}.brand{align-items:center;gap:14px;display:inline-flex}.brand-seal{width:48px;height:48px;color:var(--white);background:var(--teal);border-radius:14px;place-items:center;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:800;display:grid;box-shadow:6px 6px #e63946cc}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.08em;font-size:19px;font-weight:800}.brand small{color:var(--teal-soft);letter-spacing:.08em;margin-top:3px;font-size:11px}.header-nav{align-items:center;gap:12px;display:flex}.brand-cluster{align-items:center;gap:16px;min-width:0;display:inline-flex}.outline-header-link{border:1px solid var(--orange);min-height:36px;color:var(--red);white-space:nowrap;background:#ffffff47;border-radius:10px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:800;transition:color .16s,background .16s,transform .16s;display:inline-flex}.outline-header-link:hover,.outline-header-link.is-active{color:var(--white);background:var(--red);border-color:var(--red);transform:translateY(-1px)}.account-nav-group{align-items:center;gap:6px;display:inline-flex}.account-nav-loading{background:#ffffff3d;border:1px solid #5a7d8c5c;border-radius:999px;align-items:center;gap:8px;width:152px;min-height:40px;padding:4px 11px 4px 6px;display:inline-flex}.account-nav-loading:before{content:"";background:#5a7d8c33;border-radius:50%;flex:0 0 28px;width:28px;height:28px}.account-nav-loading:after{content:"";background:#5a7d8c29;border-radius:999px;width:72px;height:8px}.account-nav-link{border:1px solid var(--teal-soft);min-height:40px;color:var(--teal);background:#ffffff3d;border-radius:10px;justify-content:center;align-items:center;padding:0 13px;font-size:12px;font-weight:800;display:inline-flex}.account-nav-link:hover,.account-nav-link.is-primary{color:var(--white);border-color:var(--teal);background:var(--teal)}.account-nav-link.is-pending{color:var(--teal-soft);border-style:dashed}.account-nav-card{max-width:min(220px,32vw);min-height:40px;color:var(--teal);background:#ffffff6b;border:1px solid #5a7d8cb8;border-radius:999px;align-items:center;gap:8px;padding:4px 11px 4px 6px;font-size:12px;font-weight:800;transition:color .16s,background .16s,transform .16s;display:inline-flex}.account-nav-card:hover{color:var(--white);background:var(--teal);transform:translateY(-1px)}.account-nav-avatar{width:28px;height:28px;color:var(--white);border-radius:50%;flex:0 0 28px;place-items:center;font-size:13px;display:grid}.account-nav-avatar.is-subscribed{background:var(--green)}.account-nav-avatar.is-not-subscribed{background:var(--orange)}.account-nav-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.global-search-link,.search-back-link{border:1px solid var(--teal-soft);min-height:40px;color:var(--teal);background:#ffffff3d;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:800;transition:color .16s,background .16s,transform .16s;display:inline-flex}.global-search-link:hover,.search-back-link:hover{color:var(--white);background:var(--teal);transform:translateY(-1px)}.global-search-link.active{color:var(--white);background:var(--red);border-color:var(--red)}.global-search-link span{font-size:19px;line-height:1}.guide-brand{color:var(--teal);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.brand-logo{object-fit:cover;border:2px solid var(--orange);background:var(--white);border-radius:50%;flex:none;width:34px;height:34px;box-shadow:3px 3px #1b3a4b29}.year-picker{color:var(--white);background:var(--teal-soft);border-radius:10px;align-items:center;gap:7px;padding:6px 9px;font-size:10px;font-weight:700;display:inline-flex}.year-picker select{color:var(--white);background-color:var(--teal-soft);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;cursor:pointer;border:0;outline:0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700}.year-picker select option{color:var(--teal);background:var(--white)}.disabled-action{color:#ffffffb8;background:var(--teal);cursor:not-allowed;border:0;border-radius:10px;min-height:40px;padding:0 16px}.account-main{width:min(720px,100% - 48px);min-height:calc(100vh - 204px);margin:0 auto;padding:68px 0 80px}.account-card{border:1px solid var(--teal-soft);background:var(--cream-light);box-shadow:10px 10px 0 #e07a2f29, var(--shadow);border-radius:20px;padding:clamp(28px,6vw,54px)}.account-card h1{margin:0 0 30px;font-size:clamp(30px,6vw,48px);line-height:1.12}.account-form{gap:20px;display:grid}.account-login-methods{border:1px solid var(--teal-soft);background:#5a7d8c1a;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;display:grid}.account-login-methods button{min-height:42px;color:var(--teal);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:700}.account-login-methods button.is-active{background:var(--cream-light);box-shadow:0 2px 9px #0d2b3e24}.account-login-methods button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.account-form label{gap:8px;display:grid}.account-form label>span,.account-profile dt{color:var(--teal-soft);letter-spacing:.04em;font-size:12px;font-weight:800}.account-form input{width:100%;min-height:50px;color:var(--teal);background:#ffffffa6;border:1px solid #5a7d8c99;border-radius:11px;outline:0;padding:0 15px}.account-form input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #e07a2f24}.account-code-row{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.account-code-button{border:1px solid var(--teal);min-width:126px;min-height:50px;color:var(--teal);cursor:pointer;background:0 0;border-radius:11px;padding:0 14px;font-size:12px;font-weight:800}.account-code-button:disabled{opacity:.55;cursor:not-allowed}.web-qr-login{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.web-qr-login img{border:1px solid var(--teal-soft);background:#fff;border-radius:16px;max-width:100%;height:auto;padding:12px}.web-qr-login p{margin:0;line-height:1.6}.web-qr-login small{max-width:420px;color:var(--teal-soft);line-height:1.6}.account-qr-entry{color:var(--teal-soft);text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.account-qr-entry:before,.account-qr-entry:after{background:var(--teal-soft);height:1px}@supports (color:color-mix(in lab, red, red)){.account-qr-entry:before,.account-qr-entry:after{background:color-mix(in srgb, var(--teal-soft) 35%, transparent)}}.account-qr-entry:before,.account-qr-entry:after{content:""}.account-qr-entry .account-submit{grid-column:1/-1}.account-submit{min-height:50px;color:var(--white);background:var(--red);cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;padding:0 20px;font-size:13px;font-weight:800;display:inline-flex}.account-submit:hover,.account-submit.is-secondary{background:var(--teal)}.account-action-row{gap:12px;display:flex}.account-action-row .account-submit{flex:1}.account-submit:disabled{opacity:.65;cursor:wait}.account-links{color:var(--teal-soft);justify-content:space-between;gap:16px;font-size:12px;font-weight:700;display:flex}.account-links a:hover{color:var(--red)}.account-feedback{border-radius:9px;margin:0;padding:12px 14px;font-size:12px;line-height:1.6}.account-feedback.is-error{color:#9c1d28;background:#e639461f}.account-feedback.is-success{color:#206b31;background:#2f9e441f}.account-pending{border:1px dashed var(--orange);background:#e07a2f14;border-radius:14px;padding:24px}.account-pending strong{color:var(--red);font-size:20px;display:block}.account-pending p,.account-profile>p{color:var(--teal-soft);font-size:14px;line-height:1.8}.account-pending .account-submit{margin-top:8px}.account-profile dl{gap:12px;margin:0 0 26px;display:grid}.account-profile dl>div{border:1px solid var(--line);background:#fff6;border-radius:11px;padding:16px}.account-profile dd{overflow-wrap:anywhere;margin:6px 0 0;font-weight:800}.account-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 26px;display:grid}.account-stat-card{border:1px solid var(--line);background:#ffffff8f;border-radius:11px;min-width:0;padding:16px}.account-stat-card.is-link{color:inherit;text-decoration:none;transition:transform .16s,box-shadow .16s}.account-stat-card.is-link:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1b3a4b1a}.account-stat-card.is-favorites{background:linear-gradient(145deg,#f5eefff5,#ebe0fad1);border-color:#6f52a057}.account-stat-card.is-mistakes{background:linear-gradient(145deg,#fff2e8f5,#ffe2cfd1);border-color:#c95b3557}.account-stat-card span,.account-stat-card small{color:var(--teal-soft);font-size:12px;line-height:1.5;display:block}.account-stat-card strong{color:var(--ink);overflow-wrap:anywhere;margin:8px 0 4px;font-size:clamp(20px,3vw,28px);line-height:1.1;display:block}.account-stat-card small{color:var(--muted);font-size:11px}.intro{grid-template-columns:1fr auto;align-items:center;gap:52px;width:min(1220px,100% - 64px);margin:0 auto;padding:72px 0 58px;display:grid}.eyebrow{color:var(--orange);letter-spacing:.08em;margin:0 0 14px;font-size:14px;font-weight:700}.intro h1{max-width:850px;color:var(--teal);letter-spacing:-.04em;margin:0;font-size:clamp(44px,6vw,76px);font-weight:800;line-height:1.1}.intro h1 span{color:var(--red);margin-top:10px;display:block}.intro-copy{max-width:700px;color:var(--teal);margin:24px 0 0;font-size:17px;line-height:1.75}.paper-stamp{border:2px solid var(--teal);width:190px;min-height:150px;color:var(--teal);background:#ffffff38;border-radius:18px;grid-template-columns:1fr 1fr;align-items:baseline;gap:6px 8px;padding:24px;display:grid;box-shadow:10px 10px #e07a2f4d}.paper-stamp strong{color:var(--red);font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:40px;line-height:1}.paper-stamp span{color:var(--teal);font-size:12px;font-weight:700}.paper-stamp i{background:var(--teal-soft);grid-column:1/-1;height:1px}.notice-bar{width:min(1220px,100% - 64px);min-height:52px;color:var(--teal);background:var(--cream-light);border:1px solid #1b3a4b29;border-radius:14px;align-items:center;gap:14px;margin:0 auto;padding:0 16px;display:flex;overflow:hidden}.notice-label{z-index:1;color:var(--white);background:var(--teal);letter-spacing:.08em;border-radius:10px;flex:none;align-items:center;padding:4px 14px;font-size:13px;font-weight:700;line-height:1.4;display:flex;position:relative}.notice-track{white-space:nowrap;flex:none;width:max-content;animation:30s linear infinite notice-scroll;display:flex}.notice-bar:hover .notice-track{animation-play-state:paused}.notice-text{color:var(--teal-soft);padding-left:3em;font-size:14px;line-height:1.6}@keyframes notice-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.toolbar-wrap{z-index:1;background:#f5e6b8eb;border-bottom:1px solid #5a7d8c57;margin-top:22px;padding:10px 32px;position:relative}.toolbar{overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:12px;width:min(1220px,100%);margin:0 auto;display:flex;overflow-x:auto}.toolbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:0;margin-left:0;display:inline-flex}.study-timer{color:var(--teal);flex:none;align-items:center;gap:7px;margin:0;display:inline-flex}.timer-mode{background:#5a7d8c40;border-radius:8px;padding:2px;display:inline-flex}.timer-mode button,.study-timer select,.timer-control,.timer-reset{min-height:30px;color:var(--teal);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:11px;font-weight:800}.timer-mode button{padding:0 8px}.timer-mode button.active,.timer-control{color:var(--white);background:var(--teal)}.study-timer select{background:#ffffff73;outline:0;padding:0 3px}.study-timer strong{min-width:58px;color:var(--teal);letter-spacing:.04em;text-align:center;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:17px}.study-timer strong.is-finished{color:var(--red)}.timer-control{padding:0 10px}.timer-reset{min-width:30px;color:var(--teal-soft);background:#ffffff73;padding:0 8px;font-size:18px;line-height:1}.timer-reset.is-armed{color:var(--white);background:var(--red)}.timer-reset.is-armed>span:last-child{font-size:11px}.mode-switch{background:var(--teal-soft);border-radius:12px;flex:none;padding:4px;display:inline-flex}.mode-switch a{color:var(--white);border-radius:9px;padding:9px 18px;font-size:13px;font-weight:700}.mode-switch a.active{color:var(--white);background:var(--teal);box-shadow:0 4px 12px #1b3a4b33}.answer-toggle{color:var(--teal);cursor:pointer;align-items:center;gap:9px;font-size:13px;font-weight:700;display:inline-flex}.answer-toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:var(--teal-soft);border-radius:999px;align-items:center;width:42px;height:24px;padding:3px;transition:background .16s;display:inline-flex}.toggle-track i{background:var(--white);border-radius:50%;width:18px;height:18px;transition:transform .16s;box-shadow:0 2px 5px #1b3a4b38}.answer-toggle input:checked+.toggle-track{background:var(--red)}.answer-toggle input:checked+.toggle-track i{transform:translate(18px)}.favorite-manage{align-items:center;gap:8px;display:inline-flex}.favorite-count{color:var(--white);background:var(--teal);white-space:nowrap;border-radius:9px;align-items:center;padding:7px 11px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.favorite-count:hover{color:var(--white);background:var(--red)}.paper-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:36px;width:min(1220px,100% - 64px);margin:44px auto 90px;display:grid}.paper-sidebar{position:sticky;top:24px}.filter-block+.filter-block{margin-top:26px}.filter-block>label,.filter-label{color:var(--orange);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.search-field{border:1px solid var(--teal-soft);background:#ffffff3d;border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field span{color:var(--teal-soft);font-size:20px}.search-field input{width:100%;height:44px;color:var(--teal);background:0 0;border:0;outline:0;font-size:13px}.search-field input::placeholder{color:var(--teal-soft)}.subject-filters{gap:8px;display:grid}.subject-filters button{width:100%;min-height:44px;color:var(--white);background:var(--teal-soft);text-align:left;cursor:pointer;border:0;border-radius:10px;justify-content:space-between;align-items:center;padding:0 12px;transition:background .16s,transform .16s;display:flex}.subject-filters button:hover{transform:translate(2px)}.subject-filters button.active{background:var(--teal)}.subject-filters button span{min-width:28px;color:var(--teal);background:var(--cream-light);text-align:center;border-radius:999px;padding:3px 7px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.sidebar-note{color:var(--white);background:var(--teal);border-radius:14px;margin-top:32px;padding:18px}.sidebar-note strong{color:var(--orange);font-size:14px}.sidebar-note p{color:#ffffffc7;margin:7px 0 0;font-size:12px;line-height:1.7}.question-list{min-width:0}.list-heading{justify-content:space-between;align-items:center;min-height:38px;margin-bottom:14px;display:flex}.list-heading p{color:var(--teal-soft);margin:0;font-size:13px}.list-heading p strong{color:var(--red);font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px}.list-heading button{color:var(--red);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.question-card{border:1px solid var(--teal-soft);background:var(--cream-light);box-shadow:var(--shadow);border-radius:18px;scroll-margin-top:24px;position:relative;overflow:hidden}.question-card+.question-card{margin-top:20px}.question-accent{background:var(--red);width:7px;position:absolute;inset:0 auto 0 0}.subject-计算机组成原理 .question-accent{background:var(--orange)}.subject-操作系统 .question-accent{background:var(--teal-soft)}.subject-计算机网络 .question-accent{background:var(--red)}.question-card.is-compact{padding:30px 30px 28px 34px}.question-card.is-compact.is-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.question-card.is-compact.is-clickable:hover{border-color:#1b3a4b6b;box-shadow:0 16px 38px #1b3a4b24}.question-card.is-compact.is-clickable .choice-option,.question-card.is-compact.is-clickable .reveal-button,.question-card.is-compact.is-clickable .focus-link{cursor:pointer}.question-card.is-focus{min-height:520px;padding:clamp(36px,5vw,64px)}.card-watermark{color:var(--teal);opacity:.74;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:18px;right:24px}.card-watermark .brand-logo{border-width:1px;width:22px;height:22px;box-shadow:2px 2px #1b3a4b1f}.question-header{border-bottom:1px solid var(--teal-soft);justify-content:space-between;align-items:flex-start;gap:24px;margin-top:12px;padding-bottom:18px;display:flex}.question-kicker{color:var(--orange);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.question-header h2{color:var(--teal);margin:0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:30px;line-height:1}.is-focus .question-header h2{font-size:clamp(42px,5vw,58px)}.question-meta{flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:48%;margin-top:8px;display:flex}.question-meta span{color:var(--white);background:var(--teal-soft);border-radius:8px;padding:6px 10px;font-size:11px;font-weight:700}.question-meta .gap-badge{color:var(--white);background:var(--red)}.favorite-button{color:var(--teal);background:var(--teal-soft);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px 10px;font-size:15px;line-height:1;display:inline-flex}.favorite-button span{color:inherit;font-size:inherit;background:0 0;border-radius:0;justify-content:center;align-items:center;padding:0;font-weight:700;line-height:1;display:inline-flex}.favorite-button.is-favorited{color:var(--white);background:var(--red)}.favorite-button:hover{transform:scale(1.12)}.mistake-book-button{min-height:30px;color:var(--teal);font:inherit;cursor:pointer;background:#ffffffb8;border:1px solid #2d5b667a;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:800;line-height:1;transition:background .15s,color .15s,border-color .15s}.mistake-book-button:hover:not(:disabled){border-color:var(--red);color:var(--red)}.mistake-book-button.is-marked{border-color:var(--red);color:var(--white);background:var(--red)}.mistake-book-button:disabled{opacity:.58;cursor:wait}.guest-data-warning{z-index:120;max-width:min(560px,100% - 32px);color:var(--teal);text-align:center;pointer-events:none;background:#fff6def5;border:1px solid #e07a2f7a;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:700;line-height:1.4;animation:.14s ease-out both guest-data-warning-enter;position:fixed;top:104px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #1b3a4b29}@keyframes guest-data-warning-enter{0%{opacity:0;transform:translate(-50%,-6px)}}.question-body{color:var(--teal);margin-top:24px;font-size:17px;line-height:1.75}.question-body p{white-space:pre-line;margin:0 0 14px}.choice-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.choice-option{border:1.5px solid var(--line);min-width:0;color:var(--teal);background:var(--white);text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:15px;line-height:1.55;transition:border-color .15s,background-color .15s,transform .1s;display:flex}.choice-option:hover:not(:disabled){border-color:var(--teal-soft);transform:translateY(-1px)}.choice-option:disabled{cursor:default}.choice-letter{width:24px;height:24px;color:var(--white);background:var(--teal-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.choice-text{flex:auto;min-width:0}.choice-mark{color:var(--green);flex:none;font-size:15px;font-weight:700;line-height:24px}.choice-option.is-correct{border-color:var(--green);background:#2f9e441f}.choice-option.is-correct .choice-letter{background:var(--green)}.choice-option.is-wrong{border-color:var(--red);background:#e639461a}.choice-option.is-wrong .choice-letter{background:var(--red)}.choice-option.is-wrong .choice-mark{color:var(--red)}.choice-option.is-selected{border-color:var(--orange);background:#e07a2f1a}.choice-option.is-selected .choice-letter{background:var(--orange)}.choice-feedback{border-radius:10px;grid-column:1/-1;margin:2px 0 0;padding:8px 12px;font-size:13px;font-weight:700}.choice-feedback.is-correct{color:var(--green);background:#2f9e441f}.choice-feedback.is-wrong{color:var(--red);background:#e639461a}.wrong-record{color:var(--red);background:#e6394612;border:1px solid #e6394647;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:9px 12px;font-size:12px;font-weight:800;display:flex}.wrong-record button{color:var(--red);cursor:pointer;background:0 0;border:1px solid #e6394673;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800}.wrong-record button:hover,.wrong-record button.is-confirming{color:var(--white);background:var(--red)}@media (width<=640px){.choice-options{grid-template-columns:1fr}}.answer-toggle:has(input:disabled){opacity:.46;cursor:not-allowed}.answer-sheet-trigger{z-index:45;width:66px;min-height:92px;color:var(--white);background:var(--teal);cursor:pointer;border:1px solid #1b3a4b38;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:10px 7px;transition:transform .15s,background .15s;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%);box-shadow:0 14px 30px #1b3a4b38}.answer-sheet-trigger:hover{background:var(--orange);transform:translateY(-50%)translate(-2px)}.answer-sheet-trigger.is-complete{background:var(--green)}.answer-sheet-trigger>span{font-size:21px;line-height:1}.answer-sheet-trigger strong{font-size:12px;line-height:1.2}.answer-sheet-trigger small{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:800}.answer-sheet-layer{z-index:110;position:fixed;inset:0}.answer-sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#1b3a4b47;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.answer-sheet-drawer{width:min(460px,100% - 24px);height:100%;color:var(--teal);background:var(--cream-light);grid-template-rows:auto auto auto minmax(0,1fr) auto;animation:.18s ease-out both answer-sheet-enter;display:grid;position:absolute;top:0;right:0;box-shadow:-20px 0 52px #1b3a4b3d}@keyframes answer-sheet-enter{0%{opacity:0;transform:translate(24px)}}.answer-sheet-header{min-height:76px;color:var(--white);background:var(--teal);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.answer-sheet-header>div{gap:3px;display:grid}.answer-sheet-header span{color:#ffffffb8;letter-spacing:.08em;font-size:11px;font-weight:800}.answer-sheet-header strong{font-size:20px}.answer-sheet-header>button{width:36px;height:36px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:50%;font-size:25px;line-height:1}.answer-sheet-mode-row{border-bottom:1px solid var(--line);background:#ffffff5c;align-items:center;gap:9px;min-height:62px;padding:12px 20px;display:flex}.answer-sheet-mode-switch{cursor:pointer;flex:auto;align-items:center;gap:9px;min-width:0;display:inline-flex}.answer-sheet-mode-switch input{opacity:0;pointer-events:none;position:absolute}.answer-sheet-switch-track{background:var(--teal-soft);border-radius:999px;align-items:center;width:42px;height:24px;padding:3px;transition:background .16s;display:inline-flex}.answer-sheet-switch-track i{background:var(--white);border-radius:50%;width:18px;height:18px;transition:transform .16s;box-shadow:0 2px 5px #1b3a4b38}.answer-sheet-mode-switch input:checked+.answer-sheet-switch-track{background:var(--orange)}.answer-sheet-mode-switch input:checked+.answer-sheet-switch-track i{transform:translate(18px)}.answer-sheet-mode-switch strong{font-size:13px}.answer-sheet-score{color:var(--orange);white-space:nowrap;margin-left:auto;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:900}.answer-sheet-help{display:inline-flex;position:relative}.answer-sheet-help>button{border:1px solid var(--teal-soft);width:24px;height:24px;color:var(--teal-soft);cursor:help;background:0 0;border-radius:50%;padding:0;font-size:12px;font-weight:900}.answer-sheet-help [role=tooltip]{z-index:3;width:260px;color:var(--white);background:var(--teal);box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:700;line-height:1.6;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 8px);right:-8px;transform:translateY(-4px)}.answer-sheet-help:hover [role=tooltip],.answer-sheet-help:focus-within [role=tooltip]{opacity:1;transform:translateY(0)}.answer-sheet-progress{background:#5a7d8c38;height:5px;overflow:hidden}.answer-sheet-progress i{background:var(--orange);height:100%;transition:width .18s;display:block}.answer-sheet-scroll{overscroll-behavior:contain;min-height:0;padding:14px 18px 24px;overflow-y:auto}.answer-sheet-subject+.answer-sheet-subject{margin-top:18px}.answer-sheet-subject h3{color:var(--orange);margin:0 0 8px;font-size:12px;font-weight:900}.answer-sheet-rows{gap:6px;display:grid}.answer-sheet-row{background:#ffffff8c;border:1px solid #1b3a4b21;border-radius:11px;grid-template-columns:30px 38px minmax(0,1fr);align-items:center;gap:6px;min-height:42px;padding:5px 7px;display:grid}.answer-sheet-favorite,.answer-sheet-number,.answer-sheet-options button{cursor:pointer;border:0;padding:0}.answer-sheet-favorite{width:28px;height:28px;color:var(--teal-soft);background:0 0;border-radius:8px;font-size:17px}.answer-sheet-favorite.is-favorited{color:var(--red);background:#e639461a}.answer-sheet-number{color:var(--teal);text-underline-offset:3px;background:0 0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:900;-webkit-text-decoration:underline #1b3a4b3d;text-decoration:underline #1b3a4b3d}.answer-sheet-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.answer-sheet-options button{min-width:0;height:30px;color:var(--teal);background:var(--white);border:1px solid #1b3a4b33;border-radius:8px;font-size:12px;font-weight:900}.answer-sheet-options button:hover,.answer-sheet-options button.is-selected{border-color:var(--orange);color:var(--white);background:var(--orange)}.answer-sheet-options button.is-correct{border-color:var(--green);color:var(--white);background:var(--green)}.answer-sheet-options button.is-wrong{border-color:var(--red);color:var(--white);background:var(--red)}.answer-sheet-footer{border-top:1px solid var(--line);background:#ffffffb8;padding:12px 18px 16px;box-shadow:0 -8px 20px #1b3a4b0f}.answer-sheet-result{min-height:18px;color:var(--teal-soft);text-align:center;margin:0 0 8px;font-size:12px;font-weight:800}.answer-sheet-result.is-warning{color:var(--red)}.answer-sheet-actions{grid-template-columns:minmax(112px,.8fr) minmax(160px,1.2fr);gap:8px;display:grid}.answer-sheet-actions button{cursor:pointer;border-radius:10px;min-height:42px;padding:0 12px;font-size:12px;font-weight:900}.answer-sheet-clear{color:var(--red);background:0 0;border:1px solid #e6394680}.answer-sheet-submit{border:1px solid var(--teal);color:var(--white);background:var(--teal)}.answer-sheet-actions button:disabled{color:#5a7d8ca3;cursor:not-allowed;background:#5a7d8c1f;border-color:#5a7d8c40}@media (width<=640px){.answer-sheet-trigger{width:62px;min-height:78px;top:auto;bottom:18px;right:10px;transform:none}.answer-sheet-trigger:hover{transform:translate(-2px)}.answer-sheet-drawer{width:100%}.answer-sheet-header,.answer-sheet-mode-row{padding-left:16px;padding-right:16px}.answer-sheet-scroll{padding-left:12px;padding-right:12px}}.markdown-content{min-width:0}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 14px}.markdown-content strong{color:var(--teal);font-weight:800}.markdown-content em{font-style:italic}.markdown-content del{color:var(--teal-soft)}.markdown-content a{color:var(--red);text-underline-offset:3px;font-weight:700;text-decoration:underline}.markdown-content :not(pre)>code{color:var(--red);background:#ffffff75;border:1px solid #5a7d8c3d;border-radius:5px;padding:.14em .38em;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--teal);margin:1.35em 0 .62em;font-weight:800;line-height:1.35}.markdown-content h1{font-size:1.46em}.markdown-content h2{font-size:1.34em}.markdown-content h3{font-size:1.22em}.markdown-content h4,.markdown-content h5,.markdown-content h6{font-size:1.08em}.markdown-content ul,.markdown-content ol{margin:.62em 0 1em;padding-left:1.55em}.markdown-content ul{list-style:outside}.markdown-content ol{list-style:decimal}.markdown-content ol>li::marker{content:"(" counter(list-item) ") "}.markdown-content li{padding-left:.18em;line-height:1.75}.markdown-content li+li{margin-top:.28em}.markdown-content li::marker{color:var(--orange);font-weight:800}.markdown-content blockquote{border-left:4px solid var(--orange);color:var(--teal-soft);background:#ffffff52;margin:1em 0;padding:.72em 1em}.markdown-content hr{background:#5a7d8c66;border:0;height:1px;margin:1.4em 0}.markdown-table-wrap{-webkit-overflow-scrolling:touch;background:#ffffff4d;border:1px solid #5a7d8c61;border-radius:10px;max-width:100%;margin:1em 0 1.2em;overflow-x:auto}.markdown-content table{border-collapse:collapse;width:100%;min-width:440px;font-size:.9em}.markdown-content th,.markdown-content td{vertical-align:top;border-bottom:1px solid #5a7d8c3d;border-right:1px solid #5a7d8c3d;padding:.65em .78em}.markdown-content th{color:var(--white);background:var(--teal-soft);font-weight:800}.markdown-content tr:last-child td{border-bottom:0}.markdown-content th:last-child,.markdown-content td:last-child{border-right:0}.markdown-math-inline{color:var(--teal);letter-spacing:.01em;margin:0 .08em;font-family:STIX Two Math,Cambria Math,Times New Roman,serif;font-size:1.04em;font-style:italic;display:inline-block}.markdown-math-overline{padding-top:.1em;text-decoration:none;display:inline-block;position:relative}.markdown-math-overline:after{content:"";background:currentColor;height:1px;position:absolute;top:0;left:-.05em;right:-.05em}.markdown-math-fraction{vertical-align:.6em;text-align:center;flex-direction:column;align-items:stretch;margin:0 .12em;font-size:.92em;line-height:1.05;display:inline-flex}.markdown-math-numerator{border-bottom:1px solid;padding:0 .2em .08em}.markdown-math-denominator{padding:.08em .2em 0}.markdown-math-inline sup,.markdown-math-inline sub,.markdown-math-block sup,.markdown-math-block sub{font-size:.72em;line-height:0}.markdown-math-block{border-left:4px solid var(--orange);color:var(--teal);text-align:center;white-space:nowrap;background:#ffffff52;margin:1em 0;padding:.8em 1em;font-family:STIX Two Math,Cambria Math,Times New Roman,serif;font-size:1.08em;font-style:italic;overflow-x:auto}.markdown-matrix-expression{vertical-align:middle;align-items:center;gap:.7em;max-width:100%;display:inline-flex}.markdown-matrix-affix{flex:none}.markdown-matrix-brackets{align-items:stretch;padding:.16em 0;display:inline-flex}.markdown-matrix-brackets:before,.markdown-matrix-brackets:after{content:"";flex:0 0 .3em;width:.3em}.markdown-matrix-brackets:before{border-top:2px solid;border-bottom:2px solid;border-left:2px solid}.markdown-matrix-brackets:after{border-top:2px solid;border-bottom:2px solid;border-right:2px solid}.markdown-matrix-grid{border-spacing:.8em .16em;border-collapse:separate!important;width:auto!important;min-width:0!important;font-size:1em!important}.markdown-matrix-grid td{color:inherit;text-align:center;white-space:nowrap;border:0!important;padding:0!important}.content-code{max-width:100%;color:var(--teal);white-space:pre;background:#ffffff61;border:1px solid #2f5e7138;border-radius:12px;margin:16px 0;padding:16px;font-size:.78em;line-height:1.65;overflow-x:auto}.parallel-code-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:100%;margin:16px 0;display:grid}.parallel-code-panel{min-width:0;margin:0}@media (width<=720px){.parallel-code-grid{grid-template-columns:minmax(0,1fr)}}.markdown-image{margin:18px 0}.markdown-image img{border-radius:8px;width:auto;max-width:min(100%,820px);height:auto;display:block}.markdown-image img[src*="/2018-44-1-redraw-20260927."]{width:min(100%,820px)}.question-card[id="2018-06"]>.question-body .markdown-image img{width:min(50%,251px)}.question-card[id="2024-07"]>.question-body .markdown-image img{width:min(33.333%,297px)}.markdown-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin:18px 0;display:grid}.markdown-image-grid-item{min-width:0;margin:0}.markdown-image-grid-item img{object-fit:contain;width:100%;max-width:none;height:auto;display:block}@media (width<=720px){.markdown-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.is-focus .question-body{max-width:800px;margin-top:42px;font-size:clamp(19px,2.1vw,25px);line-height:1.75}.missing-image{border:2px dashed var(--orange);background:#ffffff57;border-radius:16px;align-items:center;gap:16px;min-height:120px;margin-top:20px;padding:20px;display:flex}.missing-image-mark{border:2px solid var(--teal);width:58px;height:58px;color:var(--red);border-radius:16px;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.missing-image strong{color:var(--red);font-size:14px}.missing-image p{color:var(--teal-soft);margin:5px 0 0;font-size:12px;line-height:1.6}.missing-options{color:var(--white);background:var(--orange);border-radius:10px;margin-top:18px;padding:13px 15px;font-size:12px;font-weight:700}.answer-region{border-top:1px dashed var(--teal-soft);margin-top:24px;padding-top:20px;padding-right:28px}.answer-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.mini-program-entry{flex:none;position:relative}.mini-program-button{color:#147645;cursor:pointer;background:#ffffff94;border:1px solid #20a965;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:700}.mini-program-button:hover,.mini-program-button:focus-visible,.mini-program-button[aria-expanded=true]{color:var(--white);background:#20a965;outline:none}.mini-program-popover{z-index:30;background:#fffdf5;border:1px solid #20a96557;border-radius:14px;width:250px;padding:12px;position:absolute;bottom:calc(100% + 9px);right:0;box-shadow:0 16px 38px #143d4933}.mini-program-popover[hidden]{display:none}.mini-program-popover img{border-radius:9px;width:100%;height:auto;display:block}.mini-program-popover p{color:var(--teal);text-align:left;margin:10px 2px 1px;font-size:12px;font-weight:650;line-height:1.55}.answer-placeholder{align-items:flex-start;gap:12px;min-width:0;display:flex}.answer-placeholder[hidden]{display:none}.answer-actions+.answer-placeholder:not([hidden]){margin-top:14px}.answer-placeholder>span{color:var(--white);background:var(--red);border-radius:9px;flex:none;padding:7px 11px;font-size:12px;font-weight:700}.answer-content{min-width:0;color:var(--teal);flex:1;font-size:13px;line-height:1.75}.answer-content p{white-space:pre-line;margin:0}.answer-content p+p{margin-top:12px}.video-link-row{margin-top:14px}.video-link-row[hidden]{display:none}.explanation-region{align-items:flex-start;gap:12px;min-width:0;margin-top:18px;display:flex}.explanation-region[hidden]{display:none}.explanation-label{color:var(--white);background:var(--teal);border-radius:9px;flex:none;padding:7px 11px;font-size:12px;font-weight:700}.explanation-content{min-width:0;color:inherit;flex:1;font-size:13px;line-height:1.75}.explanation-content p{white-space:pre-line;margin:0}.explanation-content p+p{margin-top:12px}.explanation-content h1,.explanation-content h2,.explanation-content h3{margin:14px 0 8px;font-size:1.05em}.video-link{border:1px solid var(--red);color:var(--red);background:#ffffff6b;border-radius:9px;align-items:center;gap:7px;padding:9px 14px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}a.video-link:hover{color:var(--white);background:var(--red)}.video-play{font-size:10px;line-height:1}.video-link.is-unavailable{color:var(--teal-soft);border-color:var(--teal-pale);cursor:not-allowed;background:0 0;border-style:dashed}.reveal-button{border:1px solid var(--teal);color:var(--white);background:var(--teal);cursor:pointer;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:700}.reveal-button.is-hide{color:var(--red);border-color:var(--red);background:#ffffff6b}.focus-link{color:var(--red);margin-top:20px;margin-right:34px;font-size:12px;font-weight:700;display:inline-block}.card-page-number{color:var(--teal);font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700;position:absolute;bottom:18px;right:22px}.scratchpad-trigger{right:max(22px, env(safe-area-inset-right));bottom:max(22px, env(safe-area-inset-bottom));z-index:35;border:2px solid var(--teal);min-height:52px;color:var(--white);background:var(--teal);cursor:pointer;border-radius:15px;align-items:center;gap:9px;padding:0 20px;font-weight:800;display:inline-flex;position:fixed;box-shadow:7px 7px #e63946d1}.scratchpad-trigger span{font-size:22px}.scratchpad-layer{z-index:100;pointer-events:none;position:fixed;inset:0}.scratchpad-drawer{border-left:2px solid var(--teal);width:min(50vw,720px);min-width:520px;color:var(--teal);background:var(--cream-soft);pointer-events:auto;-webkit-touch-callout:none;grid-template-rows:auto minmax(0,1fr);animation:.18s ease-out both scratchpad-enter;display:grid;position:absolute;inset:0 0 0 auto;box-shadow:-22px 0 50px #1b3a4b2e}@keyframes scratchpad-enter{0%{opacity:0;transform:translate(24px)}}.scratchpad-header{border-bottom:1px solid var(--teal-soft);justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:18px 22px;display:flex}.scratchpad-kicker{color:var(--orange);letter-spacing:.12em;margin-bottom:5px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:800;display:block}.scratchpad-header h2{color:var(--teal);margin:0;font-size:23px;line-height:1.1}.scratchpad-status{align-items:center;gap:12px;display:flex}.scratchpad-status span{color:var(--teal-soft);font-size:11px;font-weight:700}.scratchpad-status button{border:1px solid var(--teal);width:42px;height:42px;color:var(--teal);cursor:pointer;background:0 0;border-radius:12px;font-size:25px;line-height:1}.scratchpad-toolbar{border-bottom:1px solid var(--line);background:var(--cream-light);scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;min-height:44px;padding:6px;display:flex;overflow:auto hidden}.scratchpad-tool-group,.scratchpad-history,.scratchpad-swatches{align-items:center;gap:3px;display:inline-flex}.scratchpad-toolbar button{border:1px solid var(--teal-soft);min-height:30px;color:var(--teal);white-space:nowrap;cursor:pointer;background:#ffffff6b;border-radius:8px;flex:none;padding:0 7px;font-size:12px;font-weight:800}.scratchpad-tool-group button{width:30px;padding:0;font-size:17px}.scratchpad-toolbar button.is-active{color:var(--white);border-color:var(--teal);background:var(--teal)}.scratchpad-toolbar button:disabled,.scratchpad-actions button:disabled{opacity:.34;cursor:not-allowed}.scratchpad-swatches button{border-color:var(--swatch);background:var(--swatch);border-radius:50%;width:22px;min-height:22px;padding:0;position:relative}.scratchpad-swatches button.is-active{border-color:var(--swatch);background:var(--swatch);box-shadow:0 0 0 2px var(--cream-light), 0 0 0 4px var(--swatch)}.scratchpad-swatches button.is-active:after{content:"";border:2px solid var(--cream-light);border-radius:50%;position:absolute;inset:5px}.scratchpad-width{color:var(--teal-soft);flex:none;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.scratchpad-width input{width:42px;accent-color:var(--red)}.scratchpad-zoom{color:var(--teal-soft);flex:none;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.scratchpad-zoom input{width:58px;accent-color:var(--red)}.scratchpad-zoom span{font-variant-numeric:tabular-nums;text-align:right;min-width:34px}.scratchpad-view-reset{width:30px;padding:0!important;font-size:17px!important}.scratchpad-history{margin-left:0}.scratchpad-history button{width:30px;padding:0;font-size:18px}.scratchpad-canvas-wrap{border:1px solid var(--teal-soft);background:var(--cream-light);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;border-radius:12px;min-height:0;margin:8px;position:relative;overflow:hidden}.scratchpad-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;position:absolute;inset:0}.scratchpad-canvas.tool-pen{cursor:crosshair}.scratchpad-canvas.tool-eraser{cursor:cell}.scratchpad-canvas.tool-hand{cursor:grab}.scratchpad-canvas.tool-hand.is-panning{cursor:grabbing}.scratchpad-empty{text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;place-content:center;gap:7px;display:grid;position:absolute;inset:0}.scratchpad-empty strong{color:var(--teal);font-size:17px}.scratchpad-empty span{color:var(--teal-soft);font-size:11px}.scratchpad-footer{min-height:76px;padding:12px 16px max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--teal-soft);background:var(--cream-light);align-items:center;gap:12px;display:flex}.finger-toggle{white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.finger-toggle input{width:14px;height:14px;accent-color:var(--red);margin:0}.scratchpad-save-state{color:var(--teal-soft);white-space:nowrap;flex:none;margin-left:auto;font-size:10px;font-weight:700}.scratchpad-save-state.is-warning{color:var(--red)}.scratchpad-footer p{max-width:190px;color:var(--teal-soft);margin:0;font-size:10px;line-height:1.45}.scratchpad-actions{flex:none;align-items:center;gap:5px;margin-left:0;display:flex}.scratchpad-actions>button,.scratchpad-clear-confirm button{border:1px solid var(--teal);min-height:30px;color:var(--teal);cursor:pointer;background:0 0;border-radius:9px;padding:0 7px;font-size:11px;font-weight:800}.scratchpad-actions .scratchpad-export{color:var(--white);background:var(--teal)}.scratchpad-toolbar .scratchpad-clear.is-armed{color:var(--white);border-color:var(--red);background:var(--red)}.scratchpad-toolbar .scratchpad-close{width:30px;padding:0;font-size:19px;line-height:1}.scratchpad-clear-confirm{color:var(--red);align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.scratchpad-clear-confirm button:last-child{color:var(--white);border-color:var(--red);background:var(--red)}@media (width>=761px){body.scratchpad-open .site-shell{overscroll-behavior:contain;scrollbar-gutter:stable;width:50vw;height:100vh;overflow:hidden auto}body.scratchpad-open .site-header{flex-wrap:nowrap;align-items:center;column-gap:8px;width:calc(100% - 24px);min-height:0;padding:9px 0 7px}body.scratchpad-open .brand-cluster{flex:auto;gap:8px;min-width:0}body.scratchpad-open .brand{gap:8px;min-width:0}body.scratchpad-open .brand-seal{border-radius:10px;width:34px;height:34px;font-size:11px;box-shadow:4px 4px #e63946b8}body.scratchpad-open .brand strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.03em;font-size:13px;overflow:hidden}body.scratchpad-open .brand small{display:none}body.scratchpad-open .outline-header-link{border-radius:8px;min-height:30px;padding:0 8px;font-size:10px}body.scratchpad-open .header-nav{flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;gap:6px;min-width:0}body.scratchpad-open .header-nav>*{min-height:30px}body.scratchpad-open .guide-brand{display:none}body.scratchpad-open .brand-logo{border-width:1px;width:24px;height:24px}body.scratchpad-open .account-nav-link,body.scratchpad-open .account-nav-card,body.scratchpad-open .global-search-link,body.scratchpad-open .workbook-header-link{border-radius:8px;min-height:30px;padding:0 8px;font-size:10px}body.scratchpad-open .account-nav-card{gap:5px;max-width:150px}body.scratchpad-open .account-nav-avatar{flex-basis:22px;width:22px;height:22px;font-size:10px}body.scratchpad-open .global-search-link span{font-size:15px}body.scratchpad-open .year-picker{border-radius:8px;gap:4px;padding:4px 6px;font-size:9px}body.scratchpad-open .year-picker select{font-size:10px}body.scratchpad-open .intro{gap:12px;width:calc(100% - 24px);padding:26px 0 20px}body.scratchpad-open .intro .eyebrow{letter-spacing:.04em;margin-bottom:7px;font-size:10px}body.scratchpad-open .intro h1{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.055em;max-width:none;font-size:clamp(20px,2.1vw,28px);overflow:hidden}body.scratchpad-open .intro h1 span{white-space:nowrap;margin:0 0 0 .28em;display:inline}body.scratchpad-open .paper-stamp{white-space:nowrap;border-width:1px;border-radius:10px;align-items:baseline;gap:4px;width:auto;min-height:0;padding:8px 9px;display:inline-flex;box-shadow:4px 4px #e07a2f38}body.scratchpad-open .paper-stamp strong{font-size:20px}body.scratchpad-open .paper-stamp span{font-size:10px}body.scratchpad-open .paper-stamp i{display:none}body.scratchpad-open .toolbar-wrap{margin-top:10px;padding:8px 12px}body.scratchpad-open .toolbar{flex-wrap:nowrap;gap:8px}body.scratchpad-open .mode-switch{border-radius:9px;padding:3px}body.scratchpad-open .mode-switch a{border-radius:7px;padding:6px 10px;font-size:11px}body.scratchpad-open .study-timer{gap:4px}body.scratchpad-open .timer-mode button,body.scratchpad-open .study-timer select,body.scratchpad-open .timer-control,body.scratchpad-open .timer-reset{min-height:28px;font-size:10px}body.scratchpad-open .timer-mode button{padding:0 6px}body.scratchpad-open .study-timer strong{min-width:48px;font-size:14px}body.scratchpad-open .timer-control{padding:0 7px}body.scratchpad-open .timer-reset{min-width:28px;padding:0 6px;font-size:16px}body.scratchpad-open .toolbar-actions{gap:8px}body.scratchpad-open .answer-toggle{gap:5px;font-size:11px}body.scratchpad-open .focus-layout{width:calc(100% - 36px);margin:18px auto 48px}body.scratchpad-open .question-card.is-focus{min-height:auto;padding:clamp(24px,3vw,38px)}body.scratchpad-open .is-focus .question-header h2{font-size:clamp(34px,4vw,48px)}body.scratchpad-open .is-focus .question-body{margin-top:28px;font-size:clamp(17px,1.7vw,21px)}body.scratchpad-open .question-header{gap:14px}body.scratchpad-open .question-meta{max-width:55%}body.scratchpad-open .site-shell>footer{width:calc(100% - 36px)}.scratchpad-drawer{width:50vw;min-width:0}}@media (width>=761px) and (width<=1180px){body.scratchpad-open .intro{grid-template-columns:minmax(0,1fr);gap:8px}body.scratchpad-open .paper-stamp{justify-self:start}body.scratchpad-open .study-timer{order:initial;flex:none;justify-content:flex-start}}@media (width<=760px){.scratchpad-drawer{border-left:0;width:100%;min-width:0}.scratchpad-toolbar{overscroll-behavior-x:contain}}@media (width<=540px){.scratchpad-trigger{bottom:16px;right:16px}.scratchpad-toolbar{gap:5px;padding:6px}.scratchpad-canvas-wrap{margin:6px}}.focus-layout{width:min(980px,100% - 64px);margin:46px auto 92px}.focus-progress{color:var(--teal);justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;font-size:12px;font-weight:700;display:flex}.focus-progress>div{align-items:center;gap:14px;min-width:min(380px,58vw);display:flex}.progress-track{background:#5a7d8c4d;border-radius:999px;flex:1;height:7px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--red);height:100%;display:block}.focus-progress>a{color:var(--red)}.question-navigation{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.question-navigation a{min-height:78px;color:var(--white);background:var(--teal-soft);border-radius:14px;justify-content:space-between;align-items:center;padding:16px 20px;transition:background .16s,transform .16s;display:flex}.question-navigation a:hover{background:var(--teal);transform:translateY(-2px)}.question-navigation a:last-child{text-align:right}.question-navigation a span{font-size:11px}.question-navigation a strong{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px}.question-jump-rail{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf4f5;border:1px solid #2d5b6638;border-radius:18px;flex-direction:column;width:92px;max-height:min(560px,100vh - 120px);padding:10px 7px;display:flex;position:fixed;top:50%;right:max(14px,50vw - 706px);transform:translateY(-50%);box-shadow:8px 10px #2d5b661f,0 14px 32px #2d5b661f}.question-jump-rail__title,.question-jump-rail__position{color:var(--teal);letter-spacing:.08em;text-align:center;font-size:10px;font-weight:800}.question-jump-rail__title{margin-bottom:6px}.question-jump-rail__position{color:var(--ink-soft);letter-spacing:0;margin-top:7px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}.question-jump-rail__list{scrollbar-color:var(--teal-soft) transparent;scrollbar-width:thin;flex-direction:column;gap:4px;min-height:0;max-height:min(470px,100vh - 180px);padding:2px;display:flex;overflow-y:auto}.question-jump-item{min-height:31px;color:var(--teal);border-radius:9px;justify-content:center;align-items:center;padding:0 3px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:800;text-decoration:none;transition:color .16s,background .16s,transform .16s;display:flex}.question-jump-item.is-current,.question-jump-item.is-current:hover{color:var(--white);background:var(--red);transform:none;box-shadow:3px 3px #e07a2f38}@media (width>=761px) and (width<=1180px){.question-jump-rail{width:78px;max-height:min(560px,100vh - 96px);padding:8px 5px;right:10px}.question-jump-rail__list{max-height:min(470px,100vh - 150px)}.question-jump-item{min-height:30px;font-size:10px}.focus-layout{width:calc(100% - 132px);margin-left:24px;margin-right:108px}}@media (width<=760px){.question-jump-rail{display:none}}.no-results,.empty-page{border:2px dashed var(--teal-soft);background:var(--cream-light);text-align:center;border-radius:18px;padding:72px 28px}.home-start-link{border:1px solid var(--red);min-height:40px;color:var(--white);background:var(--red);border-radius:10px;align-items:center;padding:0 16px;font-size:12px;font-weight:800;transition:background .16s,transform .16s;display:inline-flex}.home-start-link:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-1px)}.archive-home main{width:min(1220px,100% - 64px);margin:0 auto}.archive-hero{border-bottom:1px solid var(--teal-soft);grid-template-columns:minmax(0,1fr) 500px;align-items:stretch;gap:48px;padding:72px 0 68px;display:grid}.archive-hero-side{grid-template-columns:150px minmax(0,330px);align-items:center;gap:20px;min-width:0;display:grid}.archive-mini-program{text-align:center;background:#fffdf5d1;border:1px solid #20a9654d;border-radius:16px;padding:12px 10px 11px;box-shadow:0 12px 28px #1b3a4b1a}.archive-mini-program img{border-radius:10px;width:100%;height:auto;display:block}.archive-mini-program strong{color:var(--teal);margin-top:8px;font-size:11px;line-height:1.45;display:block}.archive-hero-copy{padding:24px 0}.archive-hero h1{max-width:820px;color:var(--teal);letter-spacing:-.05em;margin:0;font-size:clamp(48px,6.4vw,82px);line-height:1.02}.archive-hero h1 span{color:var(--red);display:block}.archive-hero-copy>p:last-of-type{max-width:760px;color:var(--teal-soft);margin:25px 0 0;font-size:16px;line-height:1.9}.archive-hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.archive-primary-action,.archive-secondary-action{border-radius:12px;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:0 20px;font-size:13px;font-weight:800;transition:background .16s,color .16s,transform .16s;display:inline-flex}.archive-primary-action{color:var(--white);background:var(--teal)}.archive-primary-action span{font-size:20px}.archive-secondary-action{border:1px solid var(--teal-soft);background:#ffffff47}.outline-home-action{border:1px solid var(--red);min-height:52px;color:var(--white);background:var(--red);border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-top:14px;padding:0 20px;font-size:13px;font-weight:800;transition:color .16s,background .16s,transform .16s;display:inline-flex}.outline-home-action:hover{color:var(--white);background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}.archive-download-action{border:1px solid var(--orange);min-height:52px;color:var(--orange);background:#ffffff47;border-radius:12px;justify-content:center;align-items:center;padding:0 20px;font-size:13px;font-weight:800;transition:color .16s,background .16s,transform .16s;display:inline-flex}.archive-download-action:hover{color:var(--white);background:var(--orange);transform:translateY(-2px)}.workbook-header-link{border:1px solid var(--orange);min-height:40px;color:var(--white);background:var(--orange);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:800;transition:color .16s,background .16s,transform .16s;display:inline-flex}.workbook-header-link:hover,.workbook-header-link.is-active{color:var(--white);background:var(--red);border-color:var(--red);transform:translateY(-1px)}.workbook-layout{width:min(1080px,100% - 64px);margin:0 auto;padding:72px 0 92px}.workbook-hero{max-width:780px;padding-bottom:42px}.workbook-hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(40px,6vw,76px);line-height:1.06}.workbook-hero h1 span{color:var(--red);letter-spacing:.02em;margin-top:12px;font-size:.42em;display:block}.workbook-hero>p:last-child{max-width:690px;color:var(--teal-soft);margin:28px 0 0;font-size:16px;line-height:1.9}.workbook-download-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.workbook-download-card,.workbook-year-section{border:1px solid var(--teal-soft);background:var(--cream-light);box-shadow:var(--shadow);border-radius:18px}.workbook-download-card{flex-direction:column;align-items:flex-start;min-height:276px;padding:28px;transition:transform .16s,box-shadow .16s;display:flex}.workbook-download-card:hover{transform:translateY(-4px);box-shadow:10px 18px 34px #1b3a4b29}.workbook-download-card.is-primary{color:var(--white);background:var(--teal);border-color:var(--teal)}.workbook-download-card.is-orange{border-color:var(--orange);background:#ffffff73}.workbook-card-index{color:var(--orange);letter-spacing:.08em;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:800}.workbook-download-card.is-primary .workbook-card-index{color:var(--cream)}.workbook-download-card h2{margin:38px 0 10px;font-size:clamp(22px,3vw,32px);line-height:1.15}.workbook-download-card p{max-width:390px;color:var(--teal-soft);margin:0;font-size:13px;line-height:1.75}.workbook-download-card.is-primary p{color:var(--teal-pale)}.workbook-card-button{color:var(--red);margin-top:auto;padding-top:22px;font-size:13px;font-weight:800}.workbook-download-card.is-primary .workbook-card-button{color:var(--cream)}.workbook-year-section{grid-column:1/-1;overflow:hidden}.workbook-year-section summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:86px;padding:22px 28px;list-style:none;display:flex}.workbook-year-section summary::-webkit-details-marker{display:none}.workbook-year-section summary>span:first-child{align-items:center;gap:22px;display:inline-flex}.workbook-year-section summary strong{font-size:20px}.workbook-summary-hint{color:var(--teal-soft);font-size:12px;font-weight:700}.workbook-summary-hint:after{content:" ↓";color:var(--orange);font-size:18px}.workbook-year-section[open] .workbook-summary-hint:after{content:" ↑"}.workbook-year-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0 28px 28px;display:grid}.workbook-year-link{background:#ffffff7a;border:1px solid #5a7d8c6b;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:58px;padding:0 14px;font-size:13px;font-weight:800;transition:color .16s,background .16s,border-color .16s;display:flex}.workbook-year-link b{color:var(--orange);font-size:11px}.workbook-year-link:hover{color:var(--white);background:var(--teal);border-color:var(--teal)}.workbook-year-link:hover b{color:var(--cream)}.outline-jump-nav{z-index:20;background:#ffffffe6;border:1px solid #5a7d8c6b;border-radius:14px;flex-direction:column;align-items:stretch;gap:7px;width:238px;max-height:calc(100vh - 32px);margin-top:0;padding:12px;display:flex;position:fixed;top:50%;left:18px;overflow-y:auto;transform:translateY(-50%);box-shadow:6px 6px #e07a2f21}.outline-jump-nav details{min-width:0}.outline-jump-nav summary{cursor:pointer;list-style:none}.outline-jump-nav summary::-webkit-details-marker{display:none}.outline-jump-nav>details>summary{color:var(--teal-soft);margin:0 2px 2px;font-size:12px;font-weight:800}.outline-jump-list{gap:3px;margin:8px 0 0;padding:0;list-style:none;display:grid}.outline-jump-list .outline-jump-list{margin:3px 0 0;padding-left:12px}.outline-jump-list summary,.outline-jump-list>li>a{border:1px solid var(--teal-soft);min-width:0;min-height:30px;color:var(--teal);background:#ffffff5c;border-radius:9px;align-items:center;padding:6px 8px;font-size:11px;font-weight:800;line-height:1.35;transition:color .16s,background .16s,transform .16s;display:flex}.outline-jump-list summary{gap:4px;padding:0}.outline-jump-list summary>a{min-width:0;color:inherit;flex:1;padding:6px 8px}.outline-jump-toggle{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;flex:none;width:0;height:0;margin-left:10px;transition:transform .16s}.outline-jump-nav details[open]>summary .outline-jump-toggle{transform:rotate(90deg)}.outline-jump-nav>details>summary{align-items:center;min-height:24px;display:flex}.outline-jump-nav>details>summary>span:last-child{padding:4px 0}.outline-jump-list summary:hover,.outline-jump-list>li>a:hover{color:var(--white);background:var(--teal);transform:translateY(-1px)}.archive-primary-action:hover,.archive-secondary-action:hover{color:var(--white);background:var(--red);transform:translateY(-2px)}.outline-page{background:linear-gradient(#1b3a4b09 1px, transparent 1px), var(--cream);background-size:100% 38px}.outline-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:44px;width:min(1220px,100% - 64px);margin:0 auto;padding:58px 0 72px;display:grid}.outline-history{background:#ffffff6b;border:1px solid #5a7d8c6b;border-radius:16px;padding:22px;position:sticky;top:28px;box-shadow:8px 8px #e07a2f21}.outline-history-heading .eyebrow{margin-bottom:8px;font-size:11px}.outline-history h2{color:var(--teal);margin:0;font-size:24px}.outline-history-note{color:var(--teal-soft);margin:12px 0 18px;font-size:12px;line-height:1.7}.outline-history nav{gap:8px;display:grid}.outline-version-link{min-width:0;color:var(--teal);border-left:3px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:11px 10px;transition:color .16s,background .16s,border-color .16s;display:flex}.outline-version-link:hover,.outline-version-link.is-current{color:var(--red);border-left-color:var(--red);background:#e6394614}.outline-version-link>span:first-child{min-width:0}.outline-version-link strong,.outline-version-link small{display:block}.outline-version-link strong{font-size:13px}.outline-version-link small{color:var(--teal-soft);margin-top:4px;font-size:10px}.outline-document{min-width:0}.outline-document-header{border-bottom:1px solid var(--teal-soft);padding:8px 0 34px}.outline-document-header h1{max-width:900px;color:var(--teal);letter-spacing:-.06em;white-space:nowrap;margin:0;font-size:clamp(20px,3vw,36px);line-height:1.12}.outline-document-header>p:last-child{color:var(--teal-soft);margin:18px 0 0;font-size:13px}.outline-markdown{box-shadow:var(--shadow);background:#ffffff85;border:1px solid #5a7d8c4d;border-radius:18px;margin-top:36px;padding:clamp(22px,4vw,48px)}.outline-markdown .markdown-content{max-width:none}.outline-markdown .markdown-content h2{border-bottom:1px solid #5a7d8c52;margin-top:2.4em;padding-bottom:10px}.outline-markdown .markdown-content h3{color:var(--red);margin-top:2em}.outline-markdown .markdown-content h4{color:var(--teal);margin-top:1.4em}.archive-summary{color:var(--white);background:linear-gradient(155deg, #ffffff14, transparent 42%), var(--teal);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;padding:28px;display:flex;overflow:hidden}.archive-summary-kicker{color:#ffc071;letter-spacing:.12em;margin-bottom:22px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:800;display:block}.archive-summary>div{border-bottom:1px solid #ffffff2e;flex:1;justify-content:space-between;align-items:center;gap:18px;min-height:0;padding:10px 0;display:flex}.archive-summary>div strong{color:var(--cream-light);font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:44px;line-height:1}.archive-summary>div span{color:#ffffffbd;font-size:13.2px}.archive-years{padding:64px 0 88px}.archive-section-heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:30px;display:flex}.archive-section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(32px,4vw,48px)}.archive-section-heading>p{color:var(--teal-soft);margin:0 0 6px;font-size:12px}.archive-year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.archive-year-card{border:1px solid var(--line);background:#fbf3dab8;border-radius:17px;min-width:0;min-height:330px;padding:25px 22px 22px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden;box-shadow:0 10px 24px #1b3a4b0f}.archive-year-card:hover{border-color:var(--red);transform:translateY(-5px);box-shadow:0 18px 34px #1b3a4b21}.archive-year-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}.archive-year-accent{background:var(--red);width:5px;position:absolute;inset:0 auto 0 0}.archive-year-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.archive-year-label{color:var(--orange);letter-spacing:.14em;font-size:10px;font-weight:800}.archive-year-card h3{color:var(--teal);letter-spacing:-.05em;margin:5px 0 0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:38px;line-height:1}.archive-year-badge{color:var(--white);background:var(--red);white-space:nowrap;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:800}.archive-year-badge.is-origin{background:var(--teal-soft)}.archive-year-card>p{color:var(--teal-soft);margin:18px 0 0;font-size:11px}.archive-year-card dl{border:1px solid var(--line);background:var(--line);border-radius:9px;grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0 0;display:grid;overflow:hidden}.archive-year-card dl div{text-align:center;background:#ffffff6b;padding:9px 5px}.archive-year-card dt{color:var(--teal-soft);font-size:8px}.archive-year-card dd{color:var(--teal);margin:3px 0 0;font-size:11px;font-weight:800}.archive-subjects{flex-wrap:wrap;gap:5px;margin-top:16px;display:flex}.archive-subjects>span{color:var(--teal);background:#5a7d8c1f;border-radius:7px;align-items:center;gap:4px;padding:5px 7px;font-size:8px;font-weight:700;display:inline-flex}.archive-subjects>span b{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}.archive-subjects .subject-数据结构{box-shadow:inset 3px 0 0 var(--red)}.archive-subjects .subject-计算机组成原理{box-shadow:inset 3px 0 0 var(--orange)}.archive-subjects .subject-操作系统{box-shadow:inset 3px 0 0 var(--teal-soft)}.archive-subjects .subject-计算机网络{box-shadow:inset 3px 0 0 var(--teal)}.archive-year-open{color:var(--red);justify-content:space-between;align-items:center;font-size:11px;display:flex;position:absolute;bottom:20px;left:22px;right:22px}@media (width<=1060px){.archive-hero{grid-template-columns:minmax(0,1fr) 430px;gap:30px}.archive-hero-side{grid-template-columns:130px minmax(0,280px)}.archive-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.archive-hero{grid-template-columns:1fr}.archive-hero-side{grid-template-columns:150px minmax(0,1fr)}.outline-layout{grid-template-columns:1fr}.outline-history{position:static}.outline-history nav{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-summary{grid-template-columns:repeat(3,1fr);gap:0 16px;display:grid}.archive-summary-kicker{grid-column:1/-1}.archive-summary>div{display:block}.archive-summary>div span{margin-top:7px;display:block}.archive-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.archive-home main{width:min(100% - 32px,1220px)}.archive-home-header .home-start-link{display:none}.archive-hero{gap:28px;padding:48px 0}.archive-hero-side{display:block}.archive-mini-program{display:none}.archive-hero h1{font-size:clamp(42px,14vw,64px)}.archive-hero-copy>p:last-of-type{font-size:14px}.archive-primary-action,.archive-secondary-action,.archive-download-action{width:100%}.workbook-layout{width:min(100% - 32px,1080px);padding:48px 0 64px}.workbook-hero h1{font-size:clamp(40px,13vw,64px)}.workbook-download-grid{grid-template-columns:1fr}.workbook-year-section{grid-column:auto}.workbook-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.outline-layout{gap:28px;width:min(100% - 28px,1220px);padding:38px 0 50px}.outline-history nav{grid-template-columns:1fr}.outline-document-header h1{font-size:clamp(14px,4vw,26px)}.outline-markdown{padding:20px 16px}.outline-home-action{width:100%}.outline-jump-nav{width:190px;padding:9px;left:8px}.outline-jump-list summary,.outline-jump-list>li>a{min-height:28px;padding:0 6px;font-size:10px}.outline-jump-list summary{padding:0}.outline-jump-list summary>a{padding:5px 6px}.archive-summary{padding:22px}.archive-summary>div strong{font-size:30px}.archive-section-heading{flex-direction:column;align-items:flex-start}.archive-year-grid{grid-template-columns:1fr}.archive-year-card{min-height:310px}}.search-main{width:min(1220px,100% - 64px);margin:0 auto}.search-hero{padding:70px 0 46px}.search-hero h1{color:var(--teal);letter-spacing:-.045em;margin:0;font-size:clamp(44px,6vw,72px);line-height:1.03}.search-hero h1 span{color:var(--red);display:block}.search-hero>p:last-of-type{max-width:720px;color:var(--teal-soft);margin:22px 0 0;font-size:16px;line-height:1.75}.global-search-box{border:2px solid var(--teal);background:var(--cream-light);border-radius:18px;align-items:center;gap:14px;max-width:900px;min-height:72px;margin-top:34px;padding:0 20px;display:flex;box-shadow:9px 9px #e07a2f47}.global-search-box>span{color:var(--red);font-size:30px;line-height:1}.global-search-box input{min-width:0;height:68px;color:var(--teal);background:0 0;border:0;outline:0;flex:1;font-size:18px}.global-search-box input::placeholder{color:#5a7d8cc7}.global-search-box kbd{border:1px solid var(--teal-soft);min-width:30px;color:var(--teal-soft);text-align:center;background:#ffffff6b;border-radius:7px;padding:5px 8px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.search-workspace{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:36px;padding:30px 0 92px;display:grid}.favorites-workspace{grid-template-columns:minmax(0,1fr)}.search-filters{border:1px solid var(--teal-soft);background:#fbf3daa8;border-radius:16px;padding:22px;position:sticky;top:24px}.search-filters>div+div{margin-top:18px}.search-filters label{color:var(--orange);margin-bottom:8px;font-size:12px;font-weight:800;display:block}.search-filters select,.search-result-heading select{border:1px solid var(--teal-soft);width:100%;min-height:42px;color:var(--teal);background:var(--cream-light);cursor:pointer;border-radius:9px;outline:0;padding:0 34px 0 11px;font-size:12px}.search-filters>button{width:100%;min-height:42px;color:var(--white);background:var(--teal);cursor:pointer;border:0;border-radius:9px;margin-top:22px;font-size:12px;font-weight:800}.search-results{min-width:0}.search-result-heading{justify-content:space-between;align-items:center;gap:24px;min-height:44px;margin-bottom:14px;display:flex}.search-result-heading p{color:var(--teal-soft);margin:0;font-size:13px}.search-result-heading p strong{color:var(--red);font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px}.search-result-heading p span{color:#5a7d8cc7}.search-result-heading label{min-width:190px;color:var(--teal-soft);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.search-result-list{gap:14px;display:grid}.search-result-card{border:1px solid var(--teal-soft);background:var(--cream-light);border-radius:16px;min-width:0;padding:24px 26px 22px 30px;transition:transform .16s,box-shadow .16s;display:block;position:relative;overflow:hidden;box-shadow:0 9px 24px #1b3a4b14}.search-result-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #1b3a4b1f}.search-result-accent{background:var(--red);width:6px;position:absolute;inset:0 auto 0 0}.search-result-card.subject-计算机组成原理 .search-result-accent{background:var(--orange)}.search-result-card.subject-操作系统 .search-result-accent{background:var(--teal-soft)}.search-result-card>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.search-result-card header>div:first-child>span{color:var(--orange);font-size:11px;font-weight:800}.search-result-card h2{color:var(--teal);margin:5px 0 0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:25px}.search-result-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.search-result-meta span{color:var(--white);background:var(--teal-soft);border-radius:7px;padding:5px 8px;font-size:10px;font-weight:700}.search-result-meta .wrong-count-badge{background:var(--red)}.search-result-card>p{color:var(--teal);margin:16px 0 0;font-size:14px;line-height:1.75}.search-result-card mark{color:var(--teal);background:#e07a2f4d;padding:0 2px}.search-result-tags{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.search-result-tags>span{color:var(--teal-soft);border:1px solid #5a7d8c66;border-radius:999px;padding:4px 8px;font-size:10px}.knowledge-main{width:min(1180px,100% - 40px);margin:0 auto;padding:54px 0 90px}.knowledge-intro{max-width:760px}.knowledge-intro h1{color:var(--ink);font-family:var(--font-serif);margin:10px 0 0;font-size:clamp(38px,5vw,68px);line-height:1.08}.knowledge-subject-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:38px 0 30px;display:grid}.knowledge-subject-tabs a{min-height:62px;color:var(--ink);background:#fffefab8;border:1px solid #203c352e;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;transition:all .16s;display:flex}.knowledge-subject-tabs a:hover{border-color:var(--teal);transform:translateY(-2px)}.knowledge-subject-tabs a.is-active,.knowledge-subject-tabs a.is-active:hover{border-color:var(--teal);color:var(--white);background:var(--teal);transform:translateY(-2px)}.knowledge-subject-tabs a span{width:32px;height:32px;color:var(--rust);letter-spacing:.8px;background:#e07a2f1f;border-radius:9px;place-items:center;font-size:11px;font-weight:800;display:grid}.knowledge-subject-tabs a.is-active span{color:var(--white);background:#ffffff29}.knowledge-subject-panel>header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px;display:flex}.knowledge-subject-panel h2{color:var(--ink);font-family:var(--font-serif);margin:5px 0 0;font-size:36px}.knowledge-subject-panel>header>span{color:var(--muted);font-size:13px}.knowledge-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.knowledge-chapter-card{background:#fffefabd;border:1px solid #203c3529;border-radius:18px;overflow:hidden;box-shadow:0 16px 36px #203c350f}.knowledge-chapter-card>header{border-bottom:1px solid #203c351f;align-items:baseline;gap:12px;padding:20px 22px 16px;display:flex}.knowledge-chapter-card>header span{color:var(--rust);letter-spacing:1.4px;font-size:12px;font-weight:800}.knowledge-chapter-card h3{color:var(--ink);margin:0;font-size:20px}.knowledge-point-entry{border-top:1px solid #203c3514;scroll-margin-top:24px;position:relative}.knowledge-point-entry:first-child{border-top:0}.knowledge-point-entry.is-selected,.knowledge-point-entry:target{background:#e07a2f14}.knowledge-point-entry details>summary{min-height:54px;color:var(--ink);cursor:pointer;align-items:center;gap:10px;padding:11px 76px 11px 22px;list-style:none;display:flex}.knowledge-point-entry details>summary::-webkit-details-marker{display:none}.knowledge-point-entry details>summary:hover{color:var(--rust);background:#e07a2f12}.knowledge-point-chevron{color:var(--rust);flex:none;transition:transform .16s}.knowledge-point-entry details[open] .knowledge-point-chevron{transform:rotate(90deg)}.knowledge-point-label{flex:1;min-width:0}.knowledge-point-entry small{color:var(--muted);flex:none;font-size:11px}.knowledge-start-link{border:1px solid var(--teal);width:38px;height:38px;color:var(--white);background:var(--teal);border-radius:11px;place-items:center;font-size:20px;font-weight:700;text-decoration:none;display:grid;position:absolute;top:8px;right:14px}.knowledge-start-link:hover,.knowledge-start-link:focus-visible{color:var(--white);background:#315b6d;border-color:#315b6d}.knowledge-question-links{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;padding:0 22px 16px 42px;display:grid}.knowledge-question-links a{color:var(--teal);text-align:center;background:#fff9;border:1px solid #5a7d8c4d;border-radius:8px;padding:7px 9px;font-size:12px;text-decoration:none}.knowledge-question-links a:hover,.knowledge-question-links a:focus-visible{border-color:var(--teal);background:#5a7d8c1f}.knowledge-point-entry.is-empty{opacity:.48;justify-content:space-between;align-items:center;gap:18px;min-height:54px;padding:11px 22px;display:flex}.question-knowledge-tags{border-top:1px solid #203c3524;margin-top:18px;padding-top:16px}.question-knowledge-tags>span{color:var(--muted);letter-spacing:.7px;margin-bottom:9px;font-size:11px;font-weight:750;display:block}.question-knowledge-tags>div{flex-wrap:wrap;gap:7px;display:flex}.question-knowledge-tags a,.question-knowledge-tags strong{color:#95542b;background:#e07a2f14;border:1px solid #e07a2f4d;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:650;text-decoration:none}.question-knowledge-tags a:hover{border-color:var(--rust);background:#e07a2f26}.knowledge-tags-reveal{color:#95542b;font:inherit;cursor:pointer;background:#e07a2f12;border:1px solid #e07a2f4d;border-radius:10px;margin-top:16px;padding:7px 11px;font-size:11px;font-weight:700}.knowledge-tags-reveal:hover{border-color:var(--rust);background:#e07a2f24}@media (width<=760px){.knowledge-main{width:min(100% - 24px,1180px);padding-top:34px}.knowledge-subject-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-chapter-grid{grid-template-columns:1fr}.knowledge-subject-panel>header{flex-direction:column;align-items:start;gap:8px}}.search-result-open{color:var(--red);margin-top:14px;font-size:11px;display:block}.load-more{border:1px solid var(--teal);width:100%;min-height:48px;color:var(--teal);cursor:pointer;background:0 0;border-radius:12px;margin-top:20px;font-size:13px;font-weight:800}.load-more:hover{color:var(--white);background:var(--teal)}.no-results p,.empty-page>p:not(.eyebrow){color:var(--teal-soft)}.empty-page{width:min(680px,100% - 48px);margin:12vh auto}.empty-page h1{color:var(--teal);font-size:44px}.empty-page a{color:var(--white);background:var(--teal);border-radius:10px;margin-top:16px;padding:10px 16px;display:inline-block}footer{border-top:1px solid var(--teal-soft);width:min(1220px,100% - 64px);color:var(--teal-soft);justify-content:space-between;gap:24px;margin:0 auto;padding:28px 0 44px;font-size:11px;display:flex}footer p{margin:0}footer p.footer-note{text-align:right;color:#5a7d8cc7;max-width:340px;line-height:1.7}@media (width<=640px){footer{flex-direction:column;gap:8px}footer p.footer-note{text-align:left;max-width:none}}@media (width<=940px){.guide-brand>span{display:none}.intro{grid-template-columns:1fr}.paper-stamp{display:none}.integrity-strip{padding:0 20px;display:block}.integrity-title{border:0;min-width:0;min-height:60px;padding:0}.integrity-strip dl{border-top:1px solid #ffffff29;width:100%}.integrity-strip dl>div{padding:18px 12px}.paper-layout,.search-workspace{grid-template-columns:1fr}.search-filters{grid-template-columns:repeat(3,1fr) auto;align-items:end;gap:12px;display:grid;position:static}.search-filters>div+div{margin-top:0}.search-filters>button{min-width:120px;margin-top:0}.paper-sidebar{grid-template-columns:1fr 1fr;gap:20px;display:grid;position:static}.filter-block+.filter-block{margin-top:0}.sidebar-note{display:none}}@media (width<=640px){.site-header,.intro,.integrity-strip,.paper-layout,.focus-layout,.search-main,footer{width:min(100% - 28px,1220px)}.site-header{min-height:72px}.brand-cluster{gap:8px}.outline-header-link{min-height:32px;padding:0 8px;font-size:10px}.brand small,.disabled-action,.workbook-header-link{display:none}.header-nav{gap:7px}.account-nav-loading{width:36px;min-height:36px;padding:3px}.account-nav-loading:after{display:none}.global-search-link,.search-back-link,.account-nav-link{min-height:36px;padding:0 9px;font-size:10px}.account-nav-group .account-nav-link:first-child,.archive-home-header .guide-brand{display:none}.site-shell.is-question-mode .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:8px 0;display:grid}.site-shell.is-question-mode .brand-cluster{grid-area:1/1;min-width:0}.site-shell.is-question-mode .brand strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.site-shell.is-question-mode .header-nav{display:contents}.site-shell.is-question-mode .account-nav-group,.site-shell.is-question-mode .account-nav-card,.site-shell.is-question-mode .account-nav-loading,.site-shell.is-question-mode .account-nav-link.is-pending{grid-area:1/2/auto/4;justify-self:end}.site-shell.is-question-mode .account-nav-group .account-nav-link:first-child{display:inline-flex}.site-shell.is-question-mode .global-search-link{grid-area:2/1/auto/3;justify-self:start}.site-shell.is-question-mode .year-picker{grid-area:2/3;justify-self:end}.account-main{width:min(100% - 28px,720px);padding:34px 0 48px}.account-stat-grid,.account-code-row{grid-template-columns:1fr}.account-code-button{width:100%}.account-action-row{flex-direction:column}.intro{padding:44px 0 36px}.intro h1{font-size:43px}.integrity-title>span:last-child{display:none}.integrity-strip dl{grid-template-columns:repeat(2,1fr)}.toolbar-wrap{padding:10px 14px}.toolbar{flex-wrap:nowrap;gap:8px}.toolbar-actions{gap:9px}.study-timer{order:initial;flex:none;justify-content:flex-start;margin:0}.mode-switch a{padding:8px 11px}.paper-layout{gap:28px;margin-top:26px}.search-hero{padding:44px 0 28px}.search-hero h1{font-size:43px}.search-hero>p:last-of-type{font-size:14px}.global-search-box{border-radius:14px;min-height:60px;margin-top:24px;padding:0 14px;box-shadow:6px 6px #e07a2f40}.global-search-box input{height:56px;font-size:15px}.global-search-box kbd{display:none}.search-workspace{gap:24px;padding-top:22px}.search-filters{grid-template-columns:1fr 1fr}.search-filters>button{grid-column:1/-1}.search-result-heading{align-items:flex-end}.search-result-heading label{min-width:140px;display:block}.search-result-heading label span{margin-bottom:5px;display:block}.search-result-card{padding:21px 18px 20px 24px}.search-result-card>header{display:block}.search-result-meta{justify-content:flex-start;margin-top:12px}.paper-sidebar{display:block}.filter-block+.filter-block{margin-top:22px}.subject-filters{grid-template-columns:1fr 1fr}.question-card.is-compact,.question-card.is-focus{padding:34px 20px 26px 24px}.card-watermark{font-size:10px;top:13px;right:18px}.guide-brand .brand-logo{width:30px;height:30px}.question-header{display:block}.question-meta{justify-content:flex-start;max-width:none;margin-top:14px}.is-focus .question-body{margin-top:32px}.answer-placeholder{align-items:flex-start}.focus-link{margin-right:28px}.question-navigation{grid-template-columns:1fr}.nav-spacer{display:none}footer{display:block}footer p+p{margin-top:8px}}@media print{.site-header,.intro,.integrity-strip,.toolbar-wrap,.paper-sidebar,footer,.focus-link,.question-jump-rail,.answer-region,.card-watermark,.answer-sheet-trigger,.answer-sheet-layer{display:none!important}body{background:var(--white)}.paper-layout{width:100%;margin:0;display:block}.question-card{box-shadow:none;break-inside:avoid}}.online-pill{z-index:40;border:1px solid var(--line);color:var(--teal);box-shadow:var(--shadow);pointer-events:none;background:#fbf3daf0;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex;position:fixed;bottom:16px;left:16px}.online-dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #2f9e4426}.question-discussion{border-top:1px solid var(--line);text-align:left;cursor:auto;min-width:0;margin-top:24px;padding-top:18px}.discussion-heading,.discussion-tools,.discussion-submit,.discussion-comment header,.discussion-comment footer,.discussion-actions,.discussion-confirm{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.discussion-heading{justify-content:space-between}.discussion-heading .discussion-toggle{align-items:center;gap:9px;display:inline-flex}.discussion-count{min-width:24px;height:24px;color:var(--teal);background:#e0be673d;border-radius:999px;place-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.question-discussion button{border:1px solid var(--line);color:var(--teal);background:var(--cream,#fbf3da);font:inherit;cursor:pointer;border-radius:9px;padding:7px 12px;font-size:13px}.question-discussion button:hover:not(:disabled){border-color:var(--teal)}.question-discussion button:disabled{opacity:.55;cursor:default}.question-discussion button:focus-visible,.question-discussion input:focus-visible,.question-discussion textarea:focus-visible,.question-discussion select:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.question-discussion .discussion-toggle{background:0 0;border:0;padding:6px 0;font-size:15px;font-weight:700}.discussion-heading>span,.discussion-hint,.discussion-submit small,.discussion-comment footer{color:var(--muted,#627b82);font-size:12px;line-height:1.7}.discussion-body{margin-top:12px;font-size:14px}.discussion-body [role=alert]{color:#a3312b;overflow-wrap:anywhere}.discussion-body [role=status]{color:var(--teal)}.discussion-login-gate{border:1px solid var(--line);background:#ffffff61;border-radius:14px;min-height:210px;margin:16px 0;position:relative;overflow:hidden}.discussion-blur-preview{filter:blur(6px);opacity:.58;-webkit-user-select:none;user-select:none;pointer-events:none;padding:18px}.discussion-blur-preview>div{border-bottom:1px dashed var(--line);padding:12px 0}.discussion-blur-preview p{margin:8px 0 0;line-height:1.75}.discussion-login-message{text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff8e1ad;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:24px;display:flex;position:absolute;inset:0}.discussion-login-message strong{color:var(--teal);font-size:16px}.discussion-login-message span{max-width:460px;color:var(--muted,#627b82);line-height:1.7}.discussion-login-message a{color:#fff;background:var(--teal);border-radius:9px;padding:8px 16px;text-decoration:none;display:inline-flex}.discussion-readonly{border:1px solid var(--line);background:#ffffff6b;border-radius:12px;flex-direction:column;gap:6px;margin:14px 0;padding:14px 16px;display:flex}.discussion-readonly strong{color:var(--teal)}.discussion-readonly span{color:var(--muted,#627b82);font-size:13px;line-height:1.7}.discussion-tools{margin:12px 0}.discussion-tools a,.discussion-comment>a{color:var(--teal);text-underline-offset:3px;font-size:13px;text-decoration:underline}.discussion-form{border:1px solid var(--line);background:#ffffff6b;border-radius:14px;margin:16px 0;padding:16px}.question-discussion input,.question-discussion textarea,.question-discussion select{border:1px solid var(--line);color:var(--teal);font:inherit;background:#fffdf6;border-radius:8px;max-width:100%;padding:8px 10px}.discussion-input-label{gap:8px;display:grid}.question-discussion textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:90px}.discussion-submit{justify-content:space-between;margin-top:10px}.discussion-submit button{color:#fff;background:var(--teal)}.discussion-feed-head{justify-content:space-between;align-items:center;gap:12px;margin:18px 0 4px;display:flex}.discussion-feed-head>strong{color:var(--ink);font-size:14px}.discussion-sort{background:#5a7d8c1f;border-radius:10px;gap:3px;padding:3px;display:inline-flex}.question-discussion .discussion-sort button{background:0 0;border:0;padding:5px 10px;font-size:12px}.question-discussion .discussion-sort button.is-active{color:#fff;background:var(--teal)}.discussion-list{gap:10px;margin-top:14px;display:grid}.discussion-comment{background:#ffffff6b;border:1px solid #47697147;border-radius:16px;min-width:0;padding:15px 17px}.discussion-comment.is-pinned{background:#fff9e2b3;border-color:#b8643c5c}.discussion-comment-main{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:12px;display:grid}.discussion-avatar{color:#fff;background:linear-gradient(145deg,#6f9294,#244858);border:1px solid #47697133;border-radius:50%;place-items:center;width:46px;height:46px;font-size:18px;font-weight:700;display:grid;box-shadow:0 2px 6px #24485829}.discussion-avatar img{object-fit:cover;border-radius:inherit;grid-area:1/1;width:100%;height:100%;display:block}.discussion-avatar span{grid-area:1/1}.discussion-avatar.has-avatar span{display:none}.discussion-avatar.is-mine{background:linear-gradient(145deg,#f0b56b,#b8643c)}.discussion-comment-content{min-width:0}.discussion-comment header{justify-content:space-between;align-items:flex-start;gap:10px;margin:1px 0 6px}.discussion-author{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.discussion-pinned-label{color:#9b5a31;background:#f0b56b38;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.discussion-comment header strong{overflow-wrap:anywhere;color:var(--ink,#173d4d);font-size:15px}.discussion-comment header time{color:var(--muted,#627b82);white-space:nowrap;flex:none;font-size:12px;line-height:1.5}.discussion-status{color:var(--muted,#627b82);background:#e0be672e;border-radius:999px;padding:2px 7px;font-size:11px;line-height:1.5}.discussion-status.status-pending{color:#98611b;background:#f2b74a38}.discussion-status.status-hidden,.discussion-status.status-deleted{color:#a3312b;background:#c740381c}.discussion-question-link{color:var(--teal);text-underline-offset:3px;margin:0 0 2px;font-size:12px;text-decoration:underline;display:inline-block}.discussion-content{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink,#173d4d);margin:7px 0 8px;line-height:1.75}.discussion-actions{margin-top:7px;font-size:12px}.discussion-actions span{color:var(--muted,#627b82)}.discussion-actions button[aria-pressed=true]{background:var(--teal);color:#fff}.discussion-actions .discussion-delete-confirm{color:#fff;background:#b42318;border-color:#b42318}.discussion-actions .discussion-delete-confirm:hover:not(:disabled){background:#8f1d14;border-color:#8f1d14}.discussion-confirm{background:#fff4dc;border-radius:10px;margin-top:12px;padding:12px;font-size:13px}.discussion-replies{border-left:2px solid #5a7d8c33;gap:8px;margin:12px 0 0 58px;padding-left:14px;display:grid}.discussion-reply{background:#fffdf6ad;border-radius:12px;padding:11px 12px}.discussion-reply header{justify-content:space-between;align-items:flex-start;gap:10px;margin:0 0 5px;display:flex}.discussion-reply header strong{color:var(--ink);font-size:13px}.discussion-reply header time{color:var(--muted);flex:none;font-size:11px}.discussion-reply .discussion-content{margin:5px 0;font-size:13px}.discussion-reply .discussion-actions{margin-top:4px}.discussion-reply-form{background:#fffdf6b8;border:1px solid #47697138;border-radius:12px;margin:12px 0 0 58px;padding:12px}.discussion-reply-form__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.discussion-reply-form__head strong{color:var(--teal);font-size:13px}.question-discussion .discussion-reply-form__head button{background:0 0;border:0;padding:4px 8px}.question-discussion .discussion-reply-form textarea{min-height:68px}.discussion-more{margin-top:12px}.discussion-history{width:min(860px,100%);margin:32px auto 60px}.discussion-history h1{font-size:28px}@media (width<=640px){.discussion-form{padding:12px}.discussion-heading{align-items:flex-start;gap:4px}.discussion-comment{padding:13px}.discussion-comment-main{grid-template-columns:38px minmax(0,1fr);gap:9px}.discussion-avatar{width:38px;height:38px;font-size:15px}.discussion-comment header{display:block}.discussion-comment header time{margin-top:3px;display:block}.discussion-feed-head{flex-direction:column;align-items:flex-start}.discussion-replies,.discussion-reply-form{margin-left:0}.discussion-reply header{display:block}}@media print{.question-discussion{display:none!important}}.study-tool-toggle{z-index:120;color:#fffdf4;background:var(--teal);writing-mode:vertical-rl;letter-spacing:.16em;cursor:pointer;border:0;border-radius:12px 0 0 12px;padding:15px 10px;font:700 13px/1.2 inherit;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:0 7px 22px #173d4d3d}.study-tool-toggle:hover{background:#275766}.focus-layout.has-ai{width:min(1480px,100% - 64px)}.focus-study-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}.focus-layout.has-ai:not(.has-scratchpad) .focus-study-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr)}.focus-study-grid>.question-card,.focus-study-grid>.ai-tutor{box-sizing:border-box;width:100%;margin:0}.focus-study-grid>.ai-tutor{max-height:calc(100vh - 108px);position:sticky;top:88px;overflow:auto}.ai-tutor{box-sizing:border-box;width:min(920px,100% - 32px);color:var(--ink);background:#fffdf6b8;border:1px solid #4769714d;border-radius:20px;margin:22px auto 8px;padding:22px;box-shadow:0 14px 34px #24485817}.ai-tutor>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.ai-tutor>header span{color:#b8643c;letter-spacing:.13em;font-size:10px;font-weight:800}.ai-tutor>header h3{margin:4px 0 0;font-size:25px}.ai-tutor>header small{color:var(--muted);background:#e0be6733;border-radius:999px;padding:6px 10px}.ai-section{border-bottom:1px dashed var(--line);padding:18px 0}.ai-section:last-child{border-bottom:0}.ai-section>h4{margin:0 0 6px;font-size:17px}.ai-section>p,.ai-state,.ai-lock{color:var(--muted);line-height:1.7}.ai-hint-actions{flex-wrap:wrap;gap:9px;margin:13px 0;display:flex}.ai-tutor button{border:1px solid var(--line);color:var(--teal);font:inherit;cursor:pointer;background:#fffdf6;border-radius:10px;padding:9px 13px}.ai-tutor button:disabled{opacity:.55;cursor:default}.ai-tutor .ai-primary{color:#fff;border-color:var(--teal);background:var(--teal)}.ai-answer{background:#ffffffa3;border-radius:14px;margin-top:13px;padding:16px;line-height:1.75}.ai-answer h4,.ai-answer p{margin:0 0 9px}.ai-answer-block{margin-top:12px}.ai-answer-block pre{color:#fff;white-space:pre-wrap;background:#173d4d;border-radius:9px;padding:12px;overflow-x:auto}.ai-takeaway{background:#f0b56b26;border-left:3px solid #b8643c;padding:10px 12px}.ai-chat{gap:10px;margin:12px 0;display:grid}.ai-message{background:#ffffff9e;border-radius:14px;max-width:88%;padding:11px 13px}.ai-message.is-user{background:#e0be673d;justify-self:end}.ai-message p{margin:0;line-height:1.7}.ai-section form{gap:10px;display:grid}.ai-section textarea{resize:vertical;box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:90px;color:var(--ink);font:inherit;background:#fffdf6;border-radius:12px;padding:12px}.ai-walk{gap:9px;margin-top:12px;display:grid}.ai-walk button{text-align:left;gap:9px;display:flex}.ai-walk button.is-correct{background:#edf9f1;border-color:#2f855a}.ai-walk button.is-wrong{background:#fff0ee;border-color:#b42318}.ai-correct{color:#267249}.ai-wrong,.ai-error{color:#a3312b}.focus-progress>div:first-child{min-width:0}.question-jump-rail{z-index:2;width:auto;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0;display:block;position:relative;top:auto;right:auto;transform:none}.question-jump-rail__toggle{color:var(--teal);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:3px 8px;font-weight:800;display:inline-flex}.question-jump-rail__toggle:hover,.question-jump-rail__toggle[aria-expanded=true]{background:#ffffff80;border-color:#2d5b663d}.question-jump-rail__toggle span{color:var(--red);font-size:15px;line-height:1}.question-jump-rail__list{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf4fa;border:1px solid #2d5b6638;border-radius:13px;flex-flow:wrap;align-content:flex-start;gap:6px;width:min(680px,100vw - 48px);max-height:178px;padding:9px;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 12px 28px #2d5b662b}.question-jump-item{min-width:49px;min-height:29px;color:var(--teal);background:#e3efedb3;border-radius:8px;justify-content:center;align-items:center;padding:0 7px;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.question-jump-item:hover{color:var(--white);background:var(--teal-soft);transform:none}.question-jump-item.is-current,.question-jump-item.is-current:hover{color:var(--white);background:var(--red);box-shadow:2px 2px #e07a2f38}body.scratchpad-open .question-jump-rail{display:block}@media (width<=1050px){.focus-layout.has-ai{width:min(980px,100% - 40px)}.focus-layout.has-ai:not(.has-scratchpad) .focus-study-grid{grid-template-columns:minmax(0,1fr)}.focus-study-grid>.question-card,.focus-study-grid>.ai-tutor{min-width:0}.focus-study-grid>.ai-tutor{max-height:none;position:static;overflow:visible}}@media (width<=760px){.question-jump-rail{display:block}.question-jump-rail__list{width:min(440px,100vw - 32px);max-height:150px}.question-jump-item{min-width:45px}}@media (width<=700px){.ai-tutor{width:calc(100% - 20px);padding:16px}.study-tool-toggle{padding:12px 8px}.ai-tutor>header h3{font-size:21px}}@media print{.study-tool-toggle,.ai-tutor{display:none!important}}.focus-progress-meter{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.focus-progress-meter small{min-width:42px;color:var(--muted);text-align:right;font:700 11px/1 JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}.focus-workbench-bar{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffcf2eb;border:1px solid #2d5b6633;border-radius:15px;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:14px;margin:0 0 18px;padding:10px 12px;display:grid;position:relative;box-shadow:0 10px 26px #2d5b661a}.focus-workbench-bar__back{min-height:38px;color:var(--teal);background:#e3efedad;border-radius:10px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.focus-workbench-bar__back:hover{color:var(--white);background:var(--teal)}.focus-progress-jump{align-items:center;gap:12px;width:100%;min-width:0;display:flex;position:relative}.focus-progress-jump__progress{min-width:0;min-height:38px;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;align-items:center;gap:10px;padding:0 4px;display:flex}.focus-progress-jump__progress:hover,.focus-progress-jump__progress[aria-expanded=true]{background:#e3efed7a}.focus-progress-jump__progress:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.focus-progress-jump__progress:disabled{cursor:default}.focus-progress-jump__progress small{min-width:45px;color:var(--muted);text-align:right;flex:none;font:700 11px/1 JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}.focus-progress-jump__trigger{min-height:38px;color:var(--teal);cursor:pointer;background:#e3efedad;border:1px solid #2d5b663d;border-radius:10px;flex:none;padding:0 14px;font-family:inherit;font-size:13px;font-weight:800}.focus-progress-jump__trigger:hover,.focus-progress-jump__trigger[aria-expanded=true]{border-color:var(--teal);color:var(--white);background:var(--teal)}.focus-progress-jump__trigger:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.focus-progress-jump__trigger:disabled{cursor:default}.focus-progress-jump__progress .progress-track{min-width:0}.focus-progress-jump__list{z-index:20;background:#fffdf6fa;border:1px solid #2d5b663d;border-radius:14px;grid-template-columns:minmax(0,1fr);align-content:start;gap:5px;width:154px;max-height:min(64vh,560px);padding:8px;display:grid;position:absolute;top:calc(100% + 7px);right:0;overflow-y:auto;box-shadow:0 15px 34px #173d4d33}.focus-progress-jump__item{min-height:34px;color:var(--teal);background:#e3efedb3;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font:800 11px/1 JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;text-decoration:none;display:flex}.focus-progress-jump__item:hover{color:var(--white);background:var(--teal-soft)}.focus-progress-jump__item.is-current,.focus-progress-jump__item.is-current:hover{color:var(--white);background:var(--red)}.question-jump-rail.is-floating{z-index:129;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf6f7;border:1px solid #2d5b663d;border-radius:16px;flex-direction:column;width:118px;height:min(72vh,690px);max-height:calc(100vh - 112px);padding:10px;animation:.16s ease-out both question-jump-slide-in;display:flex;position:fixed;top:50%;right:58px;transform:translateY(-50%);box-shadow:0 15px 34px #173d4d33}@keyframes question-jump-slide-in{0%{opacity:0;transform:translate(18px,-50%)}to{opacity:1;transform:translateY(-50%)}}.question-jump-rail__header{border-bottom:1px solid #2d5b6629;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 6px;padding:1px 2px 9px;display:grid}.question-jump-rail__header span{color:var(--teal);font-size:12px;font-weight:800}.question-jump-rail__header strong{color:var(--muted);grid-column:1;font:700 10px/1.2 JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace}.question-jump-rail__header button{width:26px;height:26px;color:var(--teal);cursor:pointer;background:#e3efedb8;border:0;border-radius:8px;grid-area:1/2/3;place-items:center;padding:0;font:800 18px/1 inherit;display:grid}.question-jump-rail.is-floating .question-jump-rail__list{width:100%;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:5px;margin-top:8px;padding:0 2px 2px 0;display:grid;position:static;overflow-y:auto;transform:none}.question-jump-rail.is-floating .question-jump-item{box-sizing:border-box;justify-content:center;width:100%;min-width:0;min-height:34px;font-size:11px}.question-detail-columns{min-width:0}.question-columns-toggle{width:auto;min-width:108px;height:38px;color:var(--teal);cursor:pointer;background:#fffdf6eb;border:1px solid #2d5b664d;border-radius:11px;justify-content:center;align-items:center;gap:7px;margin:0 0 8px;padding:0;font-size:12px;font-weight:800;line-height:1;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:inline-flex;box-shadow:0 3px #e0be6747,0 7px 14px #2d5b6614}.question-columns-toggle__icon{font-size:19px;font-weight:500}.question-columns-toggle:hover,.question-columns-toggle:focus-visible{background:#fff9df;border-color:#2d5b6694;transform:translateY(-1px)}.question-columns-toggle.is-active{color:var(--white);border-color:var(--teal);background:var(--teal);box-shadow:0 3px #173d4d4d,0 8px 16px #2d5b662e}.question-columns-toggle.is-active:hover,.question-columns-toggle.is-active:focus-visible{background:#275766}.question-detail-columns.is-split{--question-fit-scale:1;--question-fit-height:calc(100vh - 320px);box-sizing:border-box;height:var(--question-fit-height);max-height:var(--question-fit-height);column-count:2;column-fill:balance;column-gap:clamp(24px,3vw,48px);overflow:hidden}.question-detail-columns.is-split>.question-body{break-inside:auto;font-size:calc(clamp(19px, 2.1vw, 25px) * var(--question-fit-scale));margin-top:0;line-height:1.48}.question-detail-columns.is-split .question-body p{margin-bottom:calc(14px * var(--question-fit-scale))}.question-detail-columns.is-split .question-body .markdown-image{margin:calc(18px * var(--question-fit-scale)) 0;break-inside:avoid}.question-detail-columns.is-split .question-body .markdown-image img{max-height:calc(var(--question-fit-height) * .42);object-fit:contain}.question-detail-columns.is-split .question-body .content-code{margin:calc(16px * var(--question-fit-scale)) 0;padding:calc(16px * var(--question-fit-scale));font-size:.78em;line-height:1.4}.question-detail-columns.is-split>.choice-options{display:contents}.question-detail-columns.is-split .choice-option{font-size:calc(15px * var(--question-fit-scale));break-inside:avoid}.study-tools-menu{z-index:130;align-items:center;gap:8px;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.study-tools-menu__trigger{width:48px;min-height:86px;color:var(--white);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#173d4dd1;border:1px solid #fffdf6b8;border-right:0;border-radius:14px 0 0 14px;place-content:center;gap:6px;font:800 12px/1 inherit;display:grid;box-shadow:0 7px 22px #173d4d38}.study-tools-menu__trigger>span:first-child{font-size:17px}.study-tools-menu__trigger>span:last-child{writing-mode:vertical-rl;letter-spacing:.12em}.study-tools-menu__trigger:hover,.study-tools-menu__trigger[aria-expanded=true]{background:var(--teal)}.study-tools-menu__panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf6f5;border:1px solid #2d5b6638;border-radius:14px;order:-1;gap:5px;min-width:148px;padding:8px;display:grid;box-shadow:0 12px 30px #2d5b6633}.study-tools-menu__panel button{min-height:36px;color:var(--teal);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:7px 10px;font:700 12px/1.2 inherit;display:flex}.study-tools-menu__panel button:hover,.study-tools-menu__panel button.is-active{color:var(--white);background:var(--teal-soft);border-color:#2d5b662e}.study-tools-menu__panel button[aria-pressed]:after{content:"";color:#0000;background:0 0;border:1.5px solid #2d5b668f;border-radius:4px;flex:0 0 15px;place-items:center;width:15px;height:15px;margin-left:auto;font-size:12px;font-weight:900;line-height:1;display:inline-grid}.study-tools-menu__panel button[aria-pressed=true]:after{content:"✓";color:var(--teal);background:#fff9df;border-color:#fff9df;margin-left:auto}.study-tools-menu__panel button:disabled{opacity:.46;cursor:default}.focus-layout.has-scratchpad,.focus-layout.has-ai-and-scratchpad{width:min(1480px,100% - 64px)}.focus-layout.has-scratchpad .focus-study-grid{grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}.focus-layout.has-scratchpad:not(.has-ai) .focus-study-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-layout.has-ai-and-scratchpad .focus-study-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.focus-study-grid>.scratchpad-layer{width:100%;min-width:0}.scratchpad-layer.is-embedded{z-index:1;pointer-events:auto;align-self:start;max-height:calc(100vh - 108px);position:sticky;top:88px}.scratchpad-drawer.is-embedded{isolation:isolate;border:1px solid #2d5b6629;border-left:0;border-radius:18px;width:100%;min-width:0;height:min(720px,100vh - 150px);max-height:none;position:relative;inset:auto;overflow:hidden;box-shadow:0 12px 28px #2d5b661f}.focus-layout.has-scratchpad:not(.has-ai) .scratchpad-layer.is-embedded{max-height:calc(100vh - 32px);top:16px}.focus-layout.has-scratchpad:not(.has-ai) .scratchpad-drawer.is-embedded{height:calc(100vh - 32px)}.scratchpad-drawer.is-embedded .scratchpad-canvas-wrap{border-radius:12px;margin:8px}body.scratchpad-open{overflow:auto}@media (width>=761px){body.scratchpad-open .site-shell{width:100%;height:auto;min-height:100vh;overflow:visible}}@media (width<=1050px){.focus-layout.has-scratchpad,.focus-layout.has-ai-and-scratchpad{width:min(980px,100% - 40px)}.focus-layout.has-scratchpad .focus-study-grid,.focus-layout.has-ai-and-scratchpad .focus-study-grid{grid-template-columns:1fr}.scratchpad-layer.is-embedded{max-height:none;position:static}.scratchpad-drawer.is-embedded{height:min(620px,70vh)}.focus-layout.has-scratchpad:not(.has-ai) .focus-study-grid{grid-template-columns:1fr}.focus-layout.has-scratchpad:not(.has-ai) .scratchpad-layer.is-embedded{max-height:none;top:auto}.focus-layout.has-scratchpad:not(.has-ai) .scratchpad-drawer.is-embedded{height:min(620px,70vh)}}@media (width<=760px){.focus-progress-meter{min-width:0}.focus-workbench-bar{grid-template-columns:auto 1fr;gap:8px;padding:8px}.focus-workbench-bar .focus-progress-meter{grid-area:2/1/auto/-1}.focus-workbench-bar__back{white-space:nowrap;min-height:36px}.question-jump-rail.is-floating{width:112px;height:min(68vh,560px);max-height:calc(100vh - 84px);right:50px}.question-detail-columns.is-split{column-count:1}.study-tools-menu__panel{min-width:136px}.study-tools-menu__trigger{width:42px;min-height:74px}.scratchpad-drawer.is-embedded{height:min(560px,68vh)}}@media print{.study-tools-menu,.question-jump-rail.is-floating{display:none!important}}.mistakes-export-button{color:#fff;background:var(--teal);font:inherit;cursor:pointer;border:0;border-radius:10px;margin-top:16px;padding:10px 18px;font-weight:700}.mistakes-export-button:disabled{opacity:.5;cursor:default}.mistakes-export-page{min-height:100vh;color:var(--ink);background:#e7ece8;padding:28px}.mistakes-export-header,.mistakes-export-controls{width:min(1080px,100%);margin:0 auto 18px}.mistakes-export-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.mistakes-export-header a{color:var(--teal);font-weight:700;text-decoration:none}.mistakes-export-header div{text-align:right;display:grid}.mistakes-export-header strong{font-size:20px}.mistakes-export-header span{color:var(--muted);margin-top:4px;font-size:12px}.mistakes-export-controls{background:#fffdf7;border:1px solid #0d2b3e2e;border-radius:16px;flex-wrap:wrap;align-items:end;gap:12px;padding:18px;display:flex;box-shadow:0 10px 30px #0d2b3e14}.mistakes-export-controls label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.mistakes-export-controls select{border:1px solid var(--line);min-width:150px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:9px 10px}.mistakes-export-controls .mistakes-export-check{min-height:38px;color:var(--ink);align-items:center;gap:8px;display:flex}.mistakes-export-print-action{gap:6px;margin-left:auto;display:grid}.mistakes-export-print-action small{max-width:290px;color:var(--muted);font-size:11px;line-height:1.45}.mistakes-export-controls button{color:#fff;background:var(--teal);min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:9px;padding:9px 16px;font-weight:700}.mistakes-export-controls button:disabled{opacity:.5;cursor:default}.mistakes-export-controls>p{color:var(--muted);flex-basis:100%;margin:0;font-size:12px}.mistakes-print-document{box-sizing:border-box;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:16mm 15mm 18mm;box-shadow:0 12px 34px #0d2b3e1f}.mistakes-print-title{border-bottom:2px solid var(--teal);margin-bottom:12mm;padding-bottom:6mm}.mistakes-print-title p{color:#bb673c;letter-spacing:.18em;margin:0 0 4mm;font-size:10px;font-weight:800}.mistakes-print-title h1{color:var(--teal);margin:0;font-size:25px}.mistakes-print-title span{color:#667a80;margin-top:3mm;font-size:11px;display:block}.mistakes-print-list{gap:8mm;display:grid}.mistakes-print-question{break-inside:avoid;border-bottom:1px solid #bdc9c9;padding-bottom:7mm}.mistakes-print-question>header{align-items:center;gap:10px;margin-bottom:4mm;display:flex}.mistakes-print-question>header>span{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:800;display:grid}.mistakes-print-question>header div{display:grid}.mistakes-print-question>header strong{color:var(--teal);font-size:17px}.mistakes-print-question>header small{color:#687c82;font-size:10px}.mistakes-print-stem{font-size:12px;line-height:1.72}.mistakes-print-stem>:first-child,.mistakes-print-options .markdown-content>:first-child{margin-top:0}.mistakes-print-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:3mm 5mm;margin-top:4mm;display:grid}.mistakes-print-options>div{border:1px solid #cbd4d4;border-radius:7px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:7px;padding:2.5mm 3mm;font-size:11px;line-height:1.55;display:grid}.mistakes-print-options b{color:#fff;background:#65878c;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;display:grid}.mistakes-print-options p{margin:0}.mistakes-print-document img{max-width:100%;height:auto}.mistakes-answer-key{break-before:page;page-break-before:always;display:block}.mistakes-answer-key h2{border-bottom:2px solid var(--teal);color:var(--teal);padding-bottom:4mm}.mistakes-answer-key>div{grid-template-columns:repeat(4,1fr);gap:3mm;display:grid}.mistakes-answer-key p{border-bottom:1px solid #cbd4d4;justify-content:space-between;margin:0;padding:3mm;display:flex}.mistakes-answer-key span{font-size:11px}.mistakes-answer-key strong{color:#bb673c}.favorites-reference-answers{margin-top:10mm;display:block!important}.favorites-reference-answers h3{color:var(--teal);font-size:17px}.favorites-reference-answers article{border-bottom:1px solid #cbd4d4;margin:0 0 9mm;padding-bottom:5mm;font-size:12px;line-height:1.65}.favorites-reference-answers h4{color:var(--teal);margin:0 0 3mm;font-size:14px}.favorites-reference-answers .markdown-content>:first-child{margin-top:0}.favorites-print-comprehensive{break-inside:auto}.mistakes-export-empty{color:var(--muted);text-align:center;padding:30px}@media (width<=900px){.mistakes-export-page{padding:16px}.mistakes-export-header{align-items:flex-start}.mistakes-export-header div{text-align:left}.mistakes-print-document{width:100%;min-height:0;padding:24px}.mistakes-print-options{grid-template-columns:1fr}.mistakes-export-print-action{margin-left:0}}@media print{@page{size:A4;margin:14mm 13mm 16mm}html,body{background:#fff!important}.no-print{display:none!important}.mistakes-export-page{background:#fff;min-height:0;padding:0}.mistakes-print-document{width:auto;min-height:0;box-shadow:none;margin:0;padding:0}.mistakes-print-question{break-inside:avoid-page}.favorites-print-comprehensive{break-inside:auto}.mistakes-print-document img{break-inside:avoid}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}


.question-video {
  min-width: 0;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(37, 74, 88, 0.2);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.35);
}

.question-video-heading {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  color: var(--teal);
  font-size: 14px;
}

.question-video-play-icon { color: var(--red); font-size: 12px; }

.question-video-locked {
  position: relative;
  display: grid;
  min-height: clamp(170px, 30vw, 330px);
  overflow: hidden;
  place-items: center;
  border-radius: 11px;
  background: #173646;
  isolation: isolate;
}

.question-video-blurred-scene {
  position: absolute;
  z-index: -1;
  inset: -22px;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 24% 35%, rgba(237, 173, 93, .9) 0 7%, transparent 8%),
    radial-gradient(ellipse at 70% 40%, rgba(83, 138, 145, .9) 0 18%, transparent 19%),
    linear-gradient(135deg, #355e69, #d2a86a 48%, #324d5e);
  filter: blur(12px) saturate(.75);
  transform: scale(1.08);
}

.question-video-blurred-scene img {
  object-fit: cover;
  object-position: center;
}

.question-video-blurred-scene::before,
.question-video-blurred-scene::after,
.question-video-blurred-scene i,
.question-video-blurred-scene b {
  position: absolute;
  display: block;
  content: "";
  border-radius: 50%;
  background: rgba(12, 37, 49, .55);
}

.question-video-blurred-scene::before { width: 34%; height: 120%; left: 12%; top: 36%; }
.question-video-blurred-scene::after { width: 27%; height: 90%; right: 17%; top: 46%; background: rgba(244, 209, 155, .65); }
.question-video-blurred-scene i { width: 16%; height: 30%; left: 20%; top: 22%; }
.question-video-blurred-scene b { width: 22%; height: 42%; right: 27%; top: 15%; background: rgba(23, 50, 63, .65); }
.question-video-blurred-scene > span { display: none; }

.question-video-lock-copy {
  display: grid;
  gap: 5px;
  color: white;
  text-align: center;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .45);
}

.question-video-lock-copy strong { font-size: clamp(16px, 2.2vw, 22px); }
.question-video-lock-copy span { font-size: 13px; opacity: .88; }

.question-video-unlock,
.question-video-load {
  border: 0;
  border-radius: 9px;
  padding: 11px 18px;
  color: #fff;
  background: var(--teal);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.question-video-unlock { position: absolute; bottom: 16px; }
.question-video-unlock:hover,
.question-video-load:hover:not(:disabled) { background: #153b4c; }
.question-video-guidance { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
.question-video-load:disabled { opacity: .65; cursor: wait; }

.question-video-preview {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  width: 100%;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(37, 74, 88, .3);
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(140deg, #315b6d, #c4975a);
  cursor: pointer;
  isolation: isolate;
}

.question-video-preview::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 45%, rgba(5, 20, 27, .75));
  pointer-events: none;
}

.question-video-preview > img {
  z-index: 0;
  object-fit: cover;
}

.question-video-preview:hover > img { transform: scale(1.025); }
.question-video-preview:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.question-video-preview:disabled { cursor: wait; }
.question-video-preview-fallback { z-index: 2; font-size: 19px; font-weight: 700; }
.question-video-preview-play {
  z-index: 2;
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  padding-left: 4px;
  border-radius: 50%;
  background: rgba(15, 45, 58, .88);
  box-shadow: 0 6px 25px rgba(0, 0, 0, .3);
  font-size: 22px;
}

.question-video-preview-caption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 15px;
  left: 0;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .8);
}

.question-video-player { width: min(100%, 720px); container: video-player / inline-size; }

.question-video-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px;
  background: #07141c;
  outline: none;
}

.question-video-stage:focus-visible { box-shadow: 0 0 0 3px rgba(56, 112, 130, .35); }
.question-video-stage video { display: block; width: 100%; height: 100%; object-fit: contain; background: #07141c; }

.question-video-surface {
  position: absolute;
  inset: 0;
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
  touch-action: none;
  -webkit-touch-callout: none;
  user-select: none;
}

.question-video-surface:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }

.question-video-fast-indicator {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 8px 11px;
  border-radius: 999px;
  color: white;
  background: rgba(13, 37, 49, .86);
  font-size: 13px;
  font-weight: 700;
  pointer-events: none;
}

.question-video-seek-preview {
  position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: grid; justify-items: center; gap: 9px; width: min(78%, 280px); padding: 18px;
  border-radius: 14px; background: rgba(7, 20, 28, .86); color: #fff; pointer-events: none;
  font-size: 14px; font-variant-numeric: tabular-nums;
}
.question-video-seek-preview strong { font-size: 18px; }
.question-video-seek-preview small { color: rgba(255, 255, 255, .75); }
.question-video-seek-track { width: 100%; height: 5px; overflow: hidden; border-radius: 4px; background: rgba(255, 255, 255, .3); }
.question-video-seek-track i { display: block; height: 100%; background: #fff; border-radius: inherit; }

.question-video-controls {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 9px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 12px;
}

.question-video-controls button {
  min-height: 32px;
  padding: 4px 9px;
  border: 1px solid rgba(37, 74, 88, .3);
  border-radius: 7px;
  color: var(--teal);
  background: rgba(255, 255, 255, .72);
  font: inherit;
  cursor: pointer;
}

.question-video-controls button:disabled { opacity: .5; cursor: wait; }
.question-video-controls input[type="range"] { flex: 1 1 80px; min-width: 12px; accent-color: var(--teal); }
.question-video-controls .question-video-volume-slider { flex: 0 1 86px; min-width: 60px; }
.question-video-volume { white-space: nowrap; }
.question-video-volume-icon { display: none; width: 22px; height: 22px; }
.question-video-volume-control { position: relative; display: flex; align-items: center; gap: 9px; }
.question-video-volume-popup { display: flex; }
.question-video-time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.question-video-controls > button, .question-video-time, .question-video-rate, .question-video-volume-control { flex-shrink: 0; }

.question-video-controls select {
  border: 1px solid rgba(37, 74, 88, .3);
  border-radius: 7px;
  padding: 5px 8px;
  color: var(--teal);
  background: rgba(255, 255, 255, .72);
  font: inherit;
  cursor: pointer;
}

.question-video-player:fullscreen,
.question-video-player.is-pseudo-fullscreen {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #07141c;
}

.question-video-player.is-pseudo-fullscreen {
  position: fixed;
  z-index: 3000;
  inset: 0;
  width: 100vw;
  height: 100dvh;
}

.question-video-player:fullscreen .question-video-stage,
.question-video-player.is-pseudo-fullscreen .question-video-stage {
  flex: 1 1 auto;
  min-height: 0;
  aspect-ratio: auto;
  border-radius: 0;
}

.question-video-player:fullscreen .question-video-controls,
.question-video-player.is-pseudo-fullscreen .question-video-controls {
  position: absolute;
  z-index: 5;
  flex-wrap: nowrap;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 18px max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  color: #fff;
  background: linear-gradient(transparent, rgba(3, 15, 22, .92) 35%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
}

.question-video-player:fullscreen.controls-visible .question-video-controls,
.question-video-player.is-pseudo-fullscreen.controls-visible .question-video-controls {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.question-video-player:fullscreen .question-video-progress,
.question-video-player.is-pseudo-fullscreen .question-video-progress {
  flex: 1 1 120px;
  min-width: 40px;
}

.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-time { flex-basis: auto; }
.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-volume-control { flex: 0 0 auto; padding: 7px 0; cursor: pointer; }
.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-volume { display: flex; align-items: center; cursor: pointer; }
.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-volume-text { display: none; }
.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-volume-icon { display: block; }
.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-volume-popup {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding: 12px 14px 16px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 10px;
  background: rgba(16, 35, 46, .96);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-volume-control:is(:hover, :focus-within) .question-video-volume-popup {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.question-video-player:is(:fullscreen, .is-pseudo-fullscreen) .question-video-volume-slider {
  writing-mode: vertical-lr;
  direction: rtl;
  width: 18px;
  height: 90px;
  min-width: 0;
  flex: none;
  accent-color: #fff;
}

.question-video-player:fullscreen .question-video-controls button,
.question-video-player.is-pseudo-fullscreen .question-video-controls button {
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
  background: rgba(16, 45, 59, .82);
}

.question-video-player:fullscreen .question-video-controls select,
.question-video-player.is-pseudo-fullscreen .question-video-controls select {
  color: #fff;
  background: #173b4c;
}

@media (pointer: coarse) {
  .question-video-controls .question-video-volume-control { display: none; }
}

@container video-player (max-width: 600px) {
  .question-video-controls .question-video-volume-text { display: none; }
  .question-video-controls .question-video-volume-icon { display: block; }
  .question-video-controls .question-video-volume { display: flex; cursor: pointer; }
  .question-video-controls .question-video-volume-control { padding: 7px 0; }
  .question-video-controls .question-video-volume-popup {
    position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%);
    padding: 12px 14px 16px; border-radius: 10px; background: rgba(16, 35, 46, .96);
    visibility: hidden; opacity: 0; pointer-events: none;
  }
  .question-video-controls .question-video-volume-control:is(:hover, :focus-within) .question-video-volume-popup { visibility: visible; opacity: 1; pointer-events: auto; }
  .question-video-controls .question-video-volume-slider { writing-mode: vertical-lr; direction: rtl; width: 18px; height: 90px; min-width: 0; flex: none; accent-color: #fff; }
}

@container video-player (max-width: 420px) {
  .question-video-controls { gap: 5px; font-size: 11px; }
  .question-video-time { font-size: 10px; }
  .question-video-controls button { padding: 4px 6px; }
  .question-video-controls select { padding: 5px 4px; }
}

.question-video-message { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.question-video-retry {
  margin-top: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  color: var(--teal);
  padding: 6px 10px;
  font-size: 13px;
  cursor: pointer;
}
.question-video-retry:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }

.question-video-modal-backdrop {
  position: fixed;
  z-index: 2500;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(11, 28, 37, .58);
}

.question-video-modal {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 12px;
  width: min(100%, 390px);
  padding: 26px 24px 22px;
  border: 1px solid rgba(37, 74, 88, .24);
  border-radius: 18px;
  color: var(--teal);
  background: var(--paper, #fbf5df);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .26);
  text-align: center;
}

.question-video-modal h3 { margin: 0; font-size: 18px; }
.question-video-modal img { display: block; width: min(72vw, 260px); height: auto; border-radius: 12px; }
.question-video-modal p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.question-video-modal a { color: var(--teal); font-size: 13px; font-weight: 700; }
.question-video-modal-close { position: absolute; top: 8px; right: 10px; border: 0; color: var(--muted); background: transparent; font-size: 24px; cursor: pointer; }

@media (max-width: 600px) {
  .question-video { padding: 11px; }
  .question-video-locked { min-height: 190px; }
  .question-video-unlock { bottom: 11px; }
}

.video-link.is-unavailable {
  color: var(--teal-soft);
  border-color: var(--teal-pale);
  border-style: dashed;
  background: transparent;
  cursor: not-allowed;
}

.reveal-button {
  padding: 9px 14px;
  border: 1px solid var(--teal);
  border-radius: 9px;
  color: var(--white);
  background: var(--teal);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.reveal-button.is-hide {
  color: var(--red);
  border-color: var(--red);
  background: rgba(255, 255, 255, 0.42);
}

.focus-link {
  display: inline-block;
  margin-top: 20px;
  margin-right: 34px;
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
}

.card-page-number {
  position: absolute;
  right: 22px;
  bottom: 18px;
  color: var(--teal);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 700;
}

.scratchpad-trigger {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 35;
  min-height: 52px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 2px solid var(--teal);
  border-radius: 15px;
  color: var(--white);
  background: var(--teal);
  font-weight: 800;
  box-shadow: 7px 7px 0 rgba(230, 57, 70, 0.82);
  cursor: pointer;
}

.scratchpad-trigger span {
  font-size: 22px;
}

.scratchpad-layer {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
}

.scratchpad-drawer {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(50vw, 720px);
  min-width: 520px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border-left: 2px solid var(--teal);
  color: var(--teal);
  background: var(--cream-soft);
  box-shadow: -22px 0 50px rgba(27, 58, 75, 0.18);
  animation: scratchpad-enter 180ms ease-out both;
  pointer-events: auto;
  -webkit-touch-callout: none;
}

@keyframes scratchpad-enter {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
}

.scratchpad-header {
  min-height: 88px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--teal-soft);
}

.scratchpad-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--orange);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.scratchpad-header h2 {
  margin: 0;
  color: var(--teal);
  font-size: 23px;
  line-height: 1.1;
}

.scratchpad-status {
  display: flex;
  align-items: center;
  gap: 12px;
}

.scratchpad-status span {
  color: var(--teal-soft);
  font-size: 11px;
  font-weight: 700;
}

.scratchpad-status button {
  width: 42px;
  height: 42px;
  border: 1px solid var(--teal);
  border-radius: 12px;
  color: var(--teal);
  background: transparent;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.scratchpad-toolbar {
  min-width: 0;
  min-height: 44px;
  padding: 6px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid var(--line);
  background: var(--cream-light);
  scrollbar-width: thin;
}

.scratchpad-tool-group,
.scratchpad-history,
.scratchpad-swatches {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.scratchpad-toolbar button {
  min-height: 30px;
  padding: 0 7px;
  flex: 0 0 auto;
  border: 1px solid var(--teal-soft);
  border-radius: 8px;
  color: var(--teal);
  background: rgba(255, 255, 255, 0.42);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.scratchpad-tool-group button {
  width: 30px;
  padding: 0;
  font-size: 17px;
}

.scratchpad-toolbar button.is-active {
  color: var(--white);
  border-color: var(--teal);
  background: var(--teal);
}

.scratchpad-toolbar button:disabled,
.scratchpad-actions button:disabled {
  opacity: 0.34;
  cursor: not-allowed;
}

.scratchpad-swatches button {
  position: relative;
  width: 22px;
  min-height: 22px;
  padding: 0;
  border-color: var(--swatch);
  border-radius: 50%;
  background: var(--swatch);
}

.scratchpad-swatches button.is-active {
  border-color: var(--swatch);
  background: var(--swatch);
  box-shadow:
    0 0 0 2px var(--cream-light),
    0 0 0 4px var(--swatch);
}

.scratchpad-swatches button.is-active::after {
  position: absolute;
  inset: 5px;
  content: "";
  border: 2px solid var(--cream-light);
  border-radius: 50%;
}

.scratchpad-width {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--teal-soft);
  font-size: 11px;
  font-weight: 700;
  flex: 0 0 auto;
}

.scratchpad-width input {
  width: 42px;
  accent-color: var(--red);
}

.scratchpad-zoom {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--teal-soft);
  font-size: 11px;
  font-weight: 700;
  flex: 0 0 auto;
}

.scratchpad-zoom input {
  width: 58px;
  accent-color: var(--red);
}

.scratchpad-zoom span {
  min-width: 34px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.scratchpad-view-reset {
  width: 30px;
  padding: 0 !important;
  font-size: 17px !important;
}

.scratchpad-history {
  margin-left: 0;
}

.scratchpad-history button {
  width: 30px;
  padding: 0;
  font-size: 18px;
}

.scratchpad-canvas-wrap {
  position: relative;
  min-height: 0;
  margin: 8px;
  overflow: hidden;
  border: 1px solid var(--teal-soft);
  border-radius: 12px;
  background: var(--cream-light);
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
}

.scratchpad-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: transparent;
}

.scratchpad-canvas.tool-pen {
  cursor: crosshair;
}

.scratchpad-canvas.tool-eraser {
  cursor: cell;
}

.scratchpad-canvas.tool-hand {
  cursor: grab;
}

.scratchpad-canvas.tool-hand.is-panning {
  cursor: grabbing;
}

.scratchpad-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 7px;
  text-align: center;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.scratchpad-empty strong {
  color: var(--teal);
  font-size: 17px;
}

.scratchpad-empty span {
  color: var(--teal-soft);
  font-size: 11px;
}

.scratchpad-footer {
  min-height: 76px;
  padding: 12px 16px max(12px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--teal-soft);
  background: var(--cream-light);
}

.finger-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 800;
}

.finger-toggle input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: var(--red);
}

.scratchpad-save-state {
  margin-left: auto;
  flex: 0 0 auto;
  color: var(--teal-soft);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.scratchpad-save-state.is-warning {
  color: var(--red);
}

.scratchpad-footer p {
  max-width: 190px;
  margin: 0;
  color: var(--teal-soft);
  font-size: 10px;
  line-height: 1.45;
}

.scratchpad-actions {
  margin-left: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
}

.scratchpad-actions > button,
.scratchpad-clear-confirm button {
  min-height: 30px;
  padding: 0 7px;
  border: 1px solid var(--teal);
  border-radius: 9px;
  color: var(--teal);
  background: transparent;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.scratchpad-actions .scratchpad-export {
  color: var(--white);
  background: var(--teal);
}

.scratchpad-toolbar .scratchpad-clear.is-armed {
  color: var(--white);
  border-color: var(--red);
  background: var(--red);
}

.scratchpad-toolbar .scratchpad-close {
  width: 30px;
  padding: 0;
  font-size: 19px;
  line-height: 1;
}

.scratchpad-clear-confirm {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
}

.scratchpad-clear-confirm button:last-child {
  color: var(--white);
  border-color: var(--red);
  background: var(--red);
}

body.scratchpad-open {
  overflow: hidden;
}

@media (min-width: 761px) {
  body.scratchpad-open .site-shell {
    width: 50vw;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  body.scratchpad-open .site-header {
    width: calc(100% - 24px);
    min-height: 0;
    padding: 9px 0 7px;
    align-items: center;
    column-gap: 8px;
    flex-wrap: nowrap;
  }

  body.scratchpad-open .brand-cluster {
    min-width: 0;
    flex: 1 1 auto;
    gap: 8px;
  }

  body.scratchpad-open .brand {
    min-width: 0;
    gap: 8px;
  }

  body.scratchpad-open .brand-seal {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 11px;
    box-shadow: 4px 4px 0 rgba(230, 57, 70, 0.72);
  }

  body.scratchpad-open .brand strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    letter-spacing: 0.03em;
  }

  body.scratchpad-open .brand small {
    display: none;
  }

  body.scratchpad-open .outline-header-link {
    min-height: 30px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 10px;
  }

  body.scratchpad-open .header-nav {
    min-width: 0;
    flex: 0 1 auto;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
  }

  body.scratchpad-open .header-nav > * {
    min-height: 30px;
  }

  body.scratchpad-open .guide-brand {
    display: none;
  }

  body.scratchpad-open .brand-logo {
    width: 24px;
    height: 24px;
    border-width: 1px;
  }

  body.scratchpad-open .account-nav-link,
  body.scratchpad-open .account-nav-card,
  body.scratchpad-open .global-search-link,
  body.scratchpad-open .workbook-header-link {
    min-height: 30px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 10px;
  }

  body.scratchpad-open .account-nav-card {
    gap: 5px;
    max-width: 150px;
  }

  body.scratchpad-open .account-nav-avatar {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    font-size: 10px;
  }

  body.scratchpad-open .global-search-link span {
    font-size: 15px;
  }

  body.scratchpad-open .year-picker {
    padding: 4px 6px;
    gap: 4px;
    border-radius: 8px;
    font-size: 9px;
  }

  body.scratchpad-open .year-picker select {
    font-size: 10px;
  }

  body.scratchpad-open .intro {
    width: calc(100% - 24px);
    padding: 26px 0 20px;
    gap: 12px;
  }

  body.scratchpad-open .intro .eyebrow {
    margin-bottom: 7px;
    font-size: 10px;
    letter-spacing: 0.04em;
  }

  body.scratchpad-open .intro h1 {
    max-width: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(20px, 2.1vw, 28px);
    letter-spacing: -0.055em;
  }

  body.scratchpad-open .intro h1 span {
    display: inline;
    margin: 0 0 0 0.28em;
    white-space: nowrap;
  }

  body.scratchpad-open .paper-stamp {
    width: auto;
    min-height: 0;
    padding: 8px 9px;
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    border-width: 1px;
    border-radius: 10px;
    box-shadow: 4px 4px 0 rgba(224, 122, 47, 0.22);
    white-space: nowrap;
  }

  body.scratchpad-open .paper-stamp strong {
    font-size: 20px;
  }

  body.scratchpad-open .paper-stamp span {
    font-size: 10px;
  }

  body.scratchpad-open .paper-stamp i {
    display: none;
  }

  body.scratchpad-open .toolbar-wrap {
    margin-top: 10px;
    padding: 8px 12px;
  }

  body.scratchpad-open .toolbar {
    gap: 8px;
    flex-wrap: nowrap;
  }

  body.scratchpad-open .mode-switch {
    padding: 3px;
    border-radius: 9px;
  }

  body.scratchpad-open .mode-switch a {
    padding: 6px 10px;
    border-radius: 7px;
    font-size: 11px;
  }

  body.scratchpad-open .study-timer {
    gap: 4px;
  }

  body.scratchpad-open .timer-mode button,
  body.scratchpad-open .study-timer select,
  body.scratchpad-open .timer-control,
  body.scratchpad-open .timer-reset {
    min-height: 28px;
    font-size: 10px;
  }

  body.scratchpad-open .timer-mode button {
    padding: 0 6px;
  }

  body.scratchpad-open .study-timer strong {
    min-width: 48px;
    font-size: 14px;
  }

  body.scratchpad-open .timer-control {
    padding: 0 7px;
  }

  body.scratchpad-open .timer-reset {
    min-width: 28px;
    padding: 0 6px;
    font-size: 16px;
  }

  body.scratchpad-open .toolbar-actions {
    gap: 8px;
  }

  body.scratchpad-open .answer-toggle {
    gap: 5px;
    font-size: 11px;
  }

  body.scratchpad-open .focus-layout {
    width: calc(100% - 36px);
    margin: 18px auto 48px;
  }

  body.scratchpad-open .question-card.is-focus {
    min-height: auto;
    padding: clamp(24px, 3vw, 38px);
  }

  body.scratchpad-open .is-focus .question-header h2 {
    font-size: clamp(34px, 4vw, 48px);
  }

  body.scratchpad-open .is-focus .question-body {
    margin-top: 28px;
    font-size: clamp(17px, 1.7vw, 21px);
  }

  body.scratchpad-open .question-header {
    gap: 14px;
  }

  body.scratchpad-open .question-meta {
    max-width: 55%;
  }

  body.scratchpad-open .site-shell > footer {
    width: calc(100% - 36px);
  }

  .scratchpad-drawer {
    width: 50vw;
    min-width: 0;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  body.scratchpad-open .intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body.scratchpad-open .paper-stamp {
    justify-self: start;
  }

  body.scratchpad-open .study-timer {
    order: initial;
    flex: 0 0 auto;
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .scratchpad-drawer {
    width: 100%;
    min-width: 0;
    border-left: 0;
  }

  .scratchpad-toolbar {
    overscroll-behavior-x: contain;
  }
}

@media (max-width: 540px) {
  .scratchpad-trigger {
    right: 16px;
    bottom: 16px;
  }

  .scratchpad-toolbar {
    padding: 6px;
    gap: 5px;
  }

  .scratchpad-canvas-wrap {
    margin: 6px;
  }
}

.focus-layout {
  width: min(980px, calc(100% - 64px));
  margin: 46px auto 92px;
}

.focus-progress {
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: var(--teal);
  font-size: 12px;
  font-weight: 700;
}

.focus-progress > div {
  min-width: min(380px, 58vw);
  display: flex;
  align-items: center;
  gap: 14px;
}

.progress-track {
  height: 7px;
  flex: 1;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(90, 125, 140, 0.3);
}

.progress-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--red);
}

.focus-progress > a {
  color: var(--red);
}

.question-navigation {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.question-navigation a {
  min-height: 78px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 14px;
  color: var(--white);
  background: var(--teal-soft);
  transition:
    background 160ms ease,
    transform 160ms ease;
}

.question-navigation a:hover {
  background: var(--teal);
  transform: translateY(-2px);
}

.question-navigation a:last-child {
  text-align: right;
}

.question-navigation a span {
  font-size: 11px;
}

.question-navigation a strong {
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 18px;
}

.question-jump-rail {
  position: fixed;
  z-index: 80;
  top: 50%;
  right: max(14px, calc((100vw - 1220px) / 2 - 96px));
  width: 92px;
  max-height: min(560px, calc(100vh - 120px));
  padding: 10px 7px;
  display: flex;
  flex-direction: column;
  transform: translateY(-50%);
  border: 1px solid rgba(45, 91, 102, 0.22);
  border-radius: 18px;
  background: rgba(255, 252, 244, 0.96);
  box-shadow: 8px 10px 0 rgba(45, 91, 102, 0.12), 0 14px 32px rgba(45, 91, 102, 0.12);
  backdrop-filter: blur(10px);
}

.question-jump-rail__title,
.question-jump-rail__position {
  color: var(--teal);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
}

.question-jump-rail__title {
  margin-bottom: 6px;
}

.question-jump-rail__position {
  margin-top: 7px;
  color: var(--ink-soft);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  letter-spacing: 0;
}

.question-jump-rail__list {
  min-height: 0;
  max-height: min(470px, calc(100vh - 180px));
  padding: 2px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow-y: auto;
  scrollbar-color: var(--teal-soft) transparent;
  scrollbar-width: thin;
}

.question-jump-item {
  min-height: 31px;
  padding: 0 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  color: var(--teal);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  transition:
    color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.question-jump-item:hover {
  color: var(--white);
  background: var(--teal-soft);
  transform: translateX(-2px);
}

.question-jump-item.is-current,
.question-jump-item.is-current:hover {
  color: var(--white);
  background: var(--red);
  box-shadow: 3px 3px 0 rgba(224, 122, 47, 0.22);
  transform: none;
}

body.scratchpad-open .question-jump-rail {
  display: none;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .question-jump-rail {
    right: 10px;
    width: 78px;
    max-height: min(560px, calc(100vh - 96px));
    padding: 8px 5px;
  }

  .question-jump-rail__list {
    max-height: min(470px, calc(100vh - 150px));
  }

  .question-jump-item {
    min-height: 30px;
    font-size: 10px;
  }

  .focus-layout {
    width: calc(100% - 132px);
    margin-left: 24px;
    margin-right: 108px;
  }
}

@media (max-width: 760px) {
  .question-jump-rail {
    display: none;
  }
}

.no-results,
.empty-page {
  padding: 72px 28px;
  border: 2px dashed var(--teal-soft);
  border-radius: 18px;
  background: var(--cream-light);
  text-align: center;
}

.home-start-link {
  min-height: 40px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--red);
  border-radius: 10px;
  color: var(--white);
  background: var(--red);
  font-size: 12px;
  font-weight: 800;
  transition:
    background 160ms ease,
    transform 160ms ease;
}

.home-start-link:hover {
  background: var(--teal);
  border-color: var(--teal);
  transform: translateY(-1px);
}

.archive-home main {
  width: min(1220px, calc(100% - 64px));
  margin: 0 auto;
}

.archive-hero {
  padding: 72px 0 68px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 500px;
  align-items: stretch;
  gap: 48px;
  border-bottom: 1px solid var(--teal-soft);
}

.archive-hero-side {
  min-width: 0;
  display: grid;
  grid-template-columns: 150px minmax(0, 330px);
  align-items: center;
  gap: 20px;
}

.archive-mini-program {
  padding: 12px 10px 11px;
  border: 1px solid rgba(32, 169, 101, 0.3);
  border-radius: 16px;
  background: rgba(255, 253, 245, 0.82);
  box-shadow: 0 12px 28px rgba(27, 58, 75, 0.1);
  text-align: center;
}

.archive-mini-program img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.archive-mini-program strong {
  display: block;
  margin-top: 8px;
  color: var(--teal);
  font-size: 11px;
  line-height: 1.45;
}

.archive-hero-copy {
  padding: 24px 0;
}

.archive-hero h1 {
  max-width: 820px;
  margin: 0;
  color: var(--teal);
  font-size: clamp(48px, 6.4vw, 82px);
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.archive-hero h1 span {
  display: block;
  color: var(--red);
}

.archive-hero-copy > p:last-of-type {
  max-width: 760px;
  margin: 25px 0 0;
  color: var(--teal-soft);
  font-size: 16px;
  line-height: 1.9;
}

.archive-hero-actions {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.archive-primary-action,
.archive-secondary-action {
  min-height: 52px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  transition:
    background 160ms ease,
    color 160ms ease,
    transform 160ms ease;
}

.archive-primary-action {
  color: var(--white);
  background: var(--teal);
}

.archive-primary-action span {
  font-size: 20px;
}

.archive-secondary-action {
  border: 1px solid var(--teal-soft);
  background: rgba(255, 255, 255, 0.28);
}

.outline-home-action {
  margin-top: 14px;
  min-height: 52px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--red);
  border-radius: 12px;
  color: var(--white);
  background: var(--red);
  font-size: 13px;
  font-weight: 800;
  transition:
    color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.outline-home-action:hover {
  color: var(--white);
  background: var(--teal);
  border-color: var(--teal);
  transform: translateY(-2px);
}

.archive-download-action {
  min-height: 52px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--orange);
  border-radius: 12px;
  color: var(--orange);
  background: rgba(255, 255, 255, 0.28);
  font-size: 13px;
  font-weight: 800;
  transition:
    color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.archive-download-action:hover {
  color: var(--white);
  background: var(--orange);
  transform: translateY(-2px);
}

.workbook-header-link {
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--orange);
  border-radius: 10px;
  color: var(--white);
  background: var(--orange);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  transition:
    color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.workbook-header-link:hover,
.workbook-header-link.is-active {
  color: var(--white);
  background: var(--red);
  border-color: var(--red);
  transform: translateY(-1px);
}

.workbook-layout {
  width: min(1080px, calc(100% - 64px));
  margin: 0 auto;
  padding: 72px 0 92px;
}

.workbook-hero {
  max-width: 780px;
  padding-bottom: 42px;
}

.workbook-hero h1 {
  margin: 0;
  font-size: clamp(40px, 6vw, 76px);
  line-height: 1.06;
  letter-spacing: -0.055em;
}

.workbook-hero h1 span {
  display: block;
  margin-top: 12px;
  color: var(--red);
  font-size: 0.42em;
  letter-spacing: 0.02em;
}

.workbook-hero > p:last-child {
  max-width: 690px;
  margin: 28px 0 0;
  color: var(--teal-soft);
  font-size: 16px;
  line-height: 1.9;
}

.workbook-download-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.workbook-download-card,
.workbook-year-section {
  border: 1px solid var(--teal-soft);
  border-radius: 18px;
  background: var(--cream-light);
  box-shadow: var(--shadow);
}

.workbook-download-card {
  min-height: 276px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition:
    transform 160ms ease,
    box-shadow 160ms ease;
}

.workbook-download-card:hover {
  transform: translateY(-4px);
  box-shadow: 10px 18px 34px rgba(27, 58, 75, 0.16);
}

.workbook-download-card.is-primary {
  color: var(--white);
  background: var(--teal);
  border-color: var(--teal);
}

.workbook-download-card.is-orange {
  border-color: var(--orange);
  background: rgba(255, 255, 255, 0.45);
}

.workbook-card-index {
  color: var(--orange);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.workbook-download-card.is-primary .workbook-card-index {
  color: var(--cream);
}

.workbook-download-card h2 {
  margin: 38px 0 10px;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.15;
}

.workbook-download-card p {
  max-width: 390px;
  margin: 0;
  color: var(--teal-soft);
  font-size: 13px;
  line-height: 1.75;
}

.workbook-download-card.is-primary p {
  color: var(--teal-pale);
}

.workbook-card-button {
  margin-top: auto;
  padding-top: 22px;
  color: var(--red);
  font-size: 13px;
  font-weight: 800;
}

.workbook-download-card.is-primary .workbook-card-button {
  color: var(--cream);
}

.workbook-year-section {
  grid-column: 1 / -1;
  overflow: hidden;
}

.workbook-year-section summary {
  min-height: 86px;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  list-style: none;
}

.workbook-year-section summary::-webkit-details-marker {
  display: none;
}

.workbook-year-section summary > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 22px;
}

.workbook-year-section summary strong {
  font-size: 20px;
}

.workbook-summary-hint {
  color: var(--teal-soft);
  font-size: 12px;
  font-weight: 700;
}

.workbook-summary-hint::after {
  content: " ↓";
  color: var(--orange);
  font-size: 18px;
}

.workbook-year-section[open] .workbook-summary-hint::after {
  content: " ↑";
}

.workbook-year-grid {
  padding: 0 28px 28px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.workbook-year-link {
  min-height: 58px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border: 1px solid rgba(90, 125, 140, 0.42);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.48);
  font-size: 13px;
  font-weight: 800;
  transition:
    color 160ms ease,
    background 160ms ease,
    border-color 160ms ease;
}

.workbook-year-link b {
  color: var(--orange);
  font-size: 11px;
}

.workbook-year-link:hover {
  color: var(--white);
  background: var(--teal);
  border-color: var(--teal);
}

.workbook-year-link:hover b {
  color: var(--cream);
}

.outline-jump-nav {
  position: fixed;
  top: 50%;
  left: 18px;
  z-index: 20;
  width: 238px;
  max-height: calc(100vh - 32px);
  margin-top: 0;
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  border: 1px solid rgba(90, 125, 140, 0.42);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 6px 6px 0 rgba(224, 122, 47, 0.13);
  overflow-y: auto;
  transform: translateY(-50%);
}

.outline-jump-nav details {
  min-width: 0;
}

.outline-jump-nav summary {
  cursor: pointer;
  list-style: none;
}

.outline-jump-nav summary::-webkit-details-marker {
  display: none;
}

.outline-jump-nav > details > summary {
  margin: 0 2px 2px;
  color: var(--teal-soft);
  font-size: 12px;
  font-weight: 800;
}

.outline-jump-list {
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 3px;
  list-style: none;
}

.outline-jump-list .outline-jump-list {
  margin: 3px 0 0;
  padding-left: 12px;
}

.outline-jump-list summary,
.outline-jump-list > li > a {
  min-width: 0;
  min-height: 30px;
  padding: 6px 8px;
  display: flex;
  align-items: center;
  border: 1px solid var(--teal-soft);
  border-radius: 9px;
  color: var(--teal);
  background: rgba(255, 255, 255, 0.36);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  transition:
    color 160ms ease,
    background 160ms ease,
    transform 160ms ease;
}

.outline-jump-list summary {
  padding: 0;
  gap: 4px;
}

.outline-jump-list summary > a {
  min-width: 0;
  flex: 1;
  padding: 6px 8px;
  color: inherit;
}

.outline-jump-toggle {
  width: 0;
  height: 0;
  margin-left: 10px;
  flex: 0 0 auto;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid currentColor;
  transition: transform 160ms ease;
}

.outline-jump-nav details[open] > summary .outline-jump-toggle {
  transform: rotate(90deg);
}

.outline-jump-nav > details > summary {
  display: flex;
  align-items: center;
  min-height: 24px;
}

.outline-jump-nav > details > summary > span:last-child {
  padding: 4px 0;
}

.outline-jump-list summary:hover,
.outline-jump-list > li > a:hover {
  color: var(--white);
  background: var(--teal);
  transform: translateY(-1px);
}

.archive-primary-action:hover,
.archive-secondary-action:hover {
  color: var(--white);
  background: var(--red);
  transform: translateY(-2px);
}

.outline-page {
  background:
    linear-gradient(rgba(27, 58, 75, 0.035) 1px, transparent 1px),
    var(--cream);
  background-size: 100% 38px;
}

.outline-layout {
  width: min(1220px, calc(100% - 64px));
  margin: 0 auto;
  padding: 58px 0 72px;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
  gap: 44px;
}

.outline-history {
  position: sticky;
  top: 28px;
  padding: 22px;
  border: 1px solid rgba(90, 125, 140, 0.42);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.42);
  box-shadow: 8px 8px 0 rgba(224, 122, 47, 0.13);
}

.outline-history-heading .eyebrow {
  margin-bottom: 8px;
  font-size: 11px;
}

.outline-history h2 {
  margin: 0;
  color: var(--teal);
  font-size: 24px;
}

.outline-history-note {
  margin: 12px 0 18px;
  color: var(--teal-soft);
  font-size: 12px;
  line-height: 1.7;
}

.outline-history nav {
  display: grid;
  gap: 8px;
}

.outline-version-link {
  min-width: 0;
  padding: 11px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  border-left: 3px solid transparent;
  color: var(--teal);
  border-radius: 8px;
  transition:
    color 160ms ease,
    background 160ms ease,
    border-color 160ms ease;
}

.outline-version-link:hover,
.outline-version-link.is-current {
  color: var(--red);
  background: rgba(230, 57, 70, 0.08);
  border-left-color: var(--red);
}

.outline-version-link > span:first-child {
  min-width: 0;
}

.outline-version-link strong,
.outline-version-link small {
  display: block;
}

.outline-version-link strong {
  font-size: 13px;
}

.outline-version-link small {
  margin-top: 4px;
  color: var(--teal-soft);
  font-size: 10px;
}

.outline-document {
  min-width: 0;
}

.outline-document-header {
  padding: 8px 0 34px;
  border-bottom: 1px solid var(--teal-soft);
}

.outline-document-header h1 {
  max-width: 900px;
  margin: 0;
  color: var(--teal);
  font-size: clamp(20px, 3vw, 36px);
  line-height: 1.12;
  letter-spacing: -0.06em;
  white-space: nowrap;
}

.outline-document-header > p:last-child {
  margin: 18px 0 0;
  color: var(--teal-soft);
  font-size: 13px;
}

.outline-markdown {
  margin-top: 36px;
  padding: clamp(22px, 4vw, 48px);
  border: 1px solid rgba(90, 125, 140, 0.3);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.52);
  box-shadow: var(--shadow);
}

.outline-markdown .markdown-content {
  max-width: none;
}

.outline-markdown .markdown-content h2 {
  margin-top: 2.4em;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(90, 125, 140, 0.32);
}

.outline-markdown .markdown-content h3 {
  margin-top: 2em;
  color: var(--red);
}

.outline-markdown .markdown-content h4 {
  margin-top: 1.4em;
  color: var(--teal);
}

.archive-summary {
  display: flex;
  flex-direction: column;
  padding: 28px;
  overflow: hidden;
  border-radius: 20px;
  color: var(--white);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.08), transparent 42%),
    var(--teal);
  box-shadow: var(--shadow);
}

.archive-summary-kicker {
  display: block;
  margin-bottom: 22px;
  color: #ffc071;
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.archive-summary > div {
  flex: 1;
  min-height: 0;
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.archive-summary > div strong {
  color: var(--cream-light);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 44px;
  line-height: 1;
}

.archive-summary > div span {
  color: rgba(255, 255, 255, 0.74);
  font-size: 13.2px;
}

.archive-years {
  padding: 64px 0 88px;
}

.archive-section-heading {
  margin-bottom: 30px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}

.archive-section-heading h2 {
  margin: 0;
  font-size: clamp(32px, 4vw, 48px);
  letter-spacing: -0.035em;
}

.archive-section-heading > p {
  margin: 0 0 6px;
  color: var(--teal-soft);
  font-size: 12px;
}

.archive-year-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.archive-year-card {
  position: relative;
  min-width: 0;
  min-height: 330px;
  padding: 25px 22px 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(251, 243, 218, 0.72);
  box-shadow: 0 10px 24px rgba(27, 58, 75, 0.06);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.archive-year-card:hover {
  border-color: var(--red);
  box-shadow: 0 18px 34px rgba(27, 58, 75, 0.13);
  transform: translateY(-5px);
}

.archive-year-card:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 3px;
}

.archive-year-accent {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--red);
}

.archive-year-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.archive-year-label {
  color: var(--orange);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.archive-year-card h3 {
  margin: 5px 0 0;
  color: var(--teal);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.05em;
}

.archive-year-badge {
  padding: 6px 8px;
  border-radius: 999px;
  color: var(--white);
  background: var(--red);
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}

.archive-year-badge.is-origin {
  background: var(--teal-soft);
}

.archive-year-card > p {
  margin: 18px 0 0;
  color: var(--teal-soft);
  font-size: 11px;
}

.archive-year-card dl {
  margin: 20px 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--line);
}

.archive-year-card dl div {
  padding: 9px 5px;
  background: rgba(255, 255, 255, 0.42);
  text-align: center;
}

.archive-year-card dt {
  color: var(--teal-soft);
  font-size: 8px;
}

.archive-year-card dd {
  margin: 3px 0 0;
  color: var(--teal);
  font-size: 11px;
  font-weight: 800;
}

.archive-subjects {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.archive-subjects > span {
  padding: 5px 7px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 7px;
  color: var(--teal);
  background: rgba(90, 125, 140, 0.12);
  font-size: 8px;
  font-weight: 700;
}

.archive-subjects > span b {
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
}

.archive-subjects .subject-数据结构 {
  box-shadow: inset 3px 0 0 var(--red);
}

.archive-subjects .subject-计算机组成原理 {
  box-shadow: inset 3px 0 0 var(--orange);
}

.archive-subjects .subject-操作系统 {
  box-shadow: inset 3px 0 0 var(--teal-soft);
}

.archive-subjects .subject-计算机网络 {
  box-shadow: inset 3px 0 0 var(--teal);
}

.archive-year-open {
  position: absolute;
  right: 22px;
  bottom: 20px;
  left: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--red);
  font-size: 11px;
}

@media (max-width: 1060px) {
  .archive-hero {
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 30px;
  }

  .archive-hero-side {
    grid-template-columns: 130px minmax(0, 280px);
  }

  .archive-year-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .archive-hero {
    grid-template-columns: 1fr;
  }

  .archive-hero-side {
    grid-template-columns: 150px minmax(0, 1fr);
  }

  .outline-layout {
    grid-template-columns: 1fr;
  }

  .outline-history {
    position: static;
  }

  .outline-history nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 16px;
  }

  .archive-summary-kicker {
    grid-column: 1 / -1;
  }

  .archive-summary > div {
    display: block;
  }

  .archive-summary > div span {
    display: block;
    margin-top: 7px;
  }

  .archive-year-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .archive-home main {
    width: min(100% - 32px, 1220px);
  }

  .archive-home-header .home-start-link {
    display: none;
  }

  .archive-hero {
    padding: 48px 0;
    gap: 28px;
  }

  .archive-hero-side {
    display: block;
  }

  .archive-mini-program {
    display: none;
  }

  .archive-hero h1 {
    font-size: clamp(42px, 14vw, 64px);
  }

  .archive-hero-copy > p:last-of-type {
    font-size: 14px;
  }

  .archive-primary-action,
  .archive-secondary-action,
  .archive-download-action {
    width: 100%;
  }

  .workbook-layout {
    width: min(100% - 32px, 1080px);
    padding: 48px 0 64px;
  }

  .workbook-hero h1 {
    font-size: clamp(40px, 13vw, 64px);
  }

  .workbook-download-grid {
    grid-template-columns: 1fr;
  }

  .workbook-year-section {
    grid-column: auto;
  }

  .workbook-year-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .outline-layout {
    width: min(100% - 28px, 1220px);
    padding: 38px 0 50px;
    gap: 28px;
  }

  .outline-history nav {
    grid-template-columns: 1fr;
  }

  .outline-document-header h1 {
    font-size: clamp(14px, 4vw, 26px);
  }

  .outline-markdown {
    padding: 20px 16px;
  }

  .outline-home-action {
    width: 100%;
  }

  .outline-jump-nav {
    left: 8px;
    width: 190px;
    padding: 9px;
  }

  .outline-jump-list summary,
  .outline-jump-list > li > a {
    min-height: 28px;
    padding: 0 6px;
    font-size: 10px;
  }

  .outline-jump-list summary {
    padding: 0;
  }

  .outline-jump-list summary > a {
    padding: 5px 6px;
  }

  .archive-summary {
    padding: 22px;
  }

  .archive-summary > div strong {
    font-size: 30px;
  }

  .archive-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .archive-year-grid {
    grid-template-columns: 1fr;
  }

  .archive-year-card {
    min-height: 310px;
  }
}

.search-main {
  width: min(1220px, calc(100% - 64px));
  margin: 0 auto;
}

.search-hero {
  padding: 70px 0 46px;
}

.search-hero h1 {
  margin: 0;
  color: var(--teal);
  font-size: clamp(44px, 6vw, 72px);
  line-height: 1.03;
  letter-spacing: -0.045em;
}

.search-hero h1 span {
  display: block;
  color: var(--red);
}

.search-hero > p:last-of-type {
  max-width: 720px;
  margin: 22px 0 0;
  color: var(--teal-soft);
  font-size: 16px;
  line-height: 1.75;
}

.global-search-box {
  max-width: 900px;
  min-height: 72px;
  margin-top: 34px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 2px solid var(--teal);
  border-radius: 18px;
  background: var(--cream-light);
  box-shadow: 9px 9px 0 rgba(224, 122, 47, 0.28);
}

.global-search-box > span {
  color: var(--red);
  font-size: 30px;
  line-height: 1;
}

.global-search-box input {
  min-width: 0;
  height: 68px;
  flex: 1;
  border: 0;
  outline: 0;
  color: var(--teal);
  background: transparent;
  font-size: 18px;
}

.global-search-box input::placeholder {
  color: rgba(90, 125, 140, 0.78);
}

.global-search-box kbd {
  min-width: 30px;
  padding: 5px 8px;
  border: 1px solid var(--teal-soft);
  border-radius: 7px;
  color: var(--teal-soft);
  background: rgba(255, 255, 255, 0.42);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 12px;
  text-align: center;
}

.search-workspace {
  padding: 30px 0 92px;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

.favorites-workspace {
  grid-template-columns: minmax(0, 1fr);
}

.search-filters {
  position: sticky;
  top: 24px;
  padding: 22px;
  border: 1px solid var(--teal-soft);
  border-radius: 16px;
  background: rgba(251, 243, 218, 0.66);
}

.search-filters > div + div {
  margin-top: 18px;
}

.search-filters label {
  display: block;
  margin-bottom: 8px;
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
}

.search-filters select,
.search-result-heading select {
  width: 100%;
  min-height: 42px;
  padding: 0 34px 0 11px;
  border: 1px solid var(--teal-soft);
  border-radius: 9px;
  outline: 0;
  color: var(--teal);
  background: var(--cream-light);
  font-size: 12px;
  cursor: pointer;
}

.search-filters > button {
  width: 100%;
  min-height: 42px;
  margin-top: 22px;
  border: 0;
  border-radius: 9px;
  color: var(--white);
  background: var(--teal);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.search-results {
  min-width: 0;
}

.search-result-heading {
  min-height: 44px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.search-result-heading p {
  margin: 0;
  color: var(--teal-soft);
  font-size: 13px;
}

.search-result-heading p strong {
  color: var(--red);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 22px;
}

.search-result-heading p span {
  color: rgba(90, 125, 140, 0.78);
}

.search-result-heading label {
  min-width: 190px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--teal-soft);
  font-size: 11px;
  font-weight: 700;
}

.search-result-list {
  display: grid;
  gap: 14px;
}

.search-result-card {
  /* Keep cards block-level even inside a bulk-selection wrapper. */
  display: block;
  position: relative;
  min-width: 0;
  padding: 24px 26px 22px 30px;
  overflow: hidden;
  border: 1px solid var(--teal-soft);
  border-radius: 16px;
  background: var(--cream-light);
  box-shadow: 0 9px 24px rgba(27, 58, 75, 0.08);
  transition:
    transform 160ms ease,
    box-shadow 160ms ease;
}

.search-result-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(27, 58, 75, 0.12);
}

.search-result-accent {
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: var(--red);
}

.search-result-card.subject-计算机组成原理 .search-result-accent {
  background: var(--orange);
}

.search-result-card.subject-操作系统 .search-result-accent {
  background: var(--teal-soft);
}

.search-result-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.search-result-card header > div:first-child > span {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
}

.search-result-card h2 {
  margin: 5px 0 0;
  color: var(--teal);
  font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 25px;
}

.search-result-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.search-result-meta span {
  padding: 5px 8px;
  border-radius: 7px;
  color: var(--white);
  background: var(--teal-soft);
  font-size: 10px;
  font-weight: 700;
}

.search-result-meta .wrong-count-badge {
  background: var(--red);
}

.search-result-card > p {
  margin: 16px 0 0;
  color: var(--teal);
  font-size: 14px;
  line-height: 1.75;
}

.search-result-card mark {
  padding: 0 2px;
  color: var(--teal);
  background: rgba(224, 122, 47, 0.3);
}

.search-result-tags {
  margin-top: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.search-result-tags > span {
  padding: 4px 8px;
  border: 1px solid rgba(90, 125, 140, 0.4);
  border-radius: 999px;
  color: var(--teal-soft);
  font-size: 10px;
}

/* 按知识点刷题：沿用档案室纸张与索引卡视觉，四科保持独立入口。 */
.knowledge-main {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 54px 0 90px;
}

.knowledge-intro {
  max-width: 760px;
}

.knowledge-intro h1 {
  margin: 10px 0 0;
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.08;
}

.knowledge-subject-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 38px 0 30px;
}

.knowledge-subject-tabs a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 12px 16px;
  border: 1px solid rgba(32, 60, 53, 0.18);
  border-radius: 14px;
  color: var(--ink);
  background: rgba(255, 254, 250, 0.72);
  text-decoration: none;
  transition: 160ms ease;
}

.knowledge-subject-tabs a:hover {
  border-color: var(--teal);
  transform: translateY(-2px);
}

.knowledge-subject-tabs a.is-active,
.knowledge-subject-tabs a.is-active:hover {
  border-color: var(--teal);
  color: var(--white);
  background: var(--teal);
  transform: translateY(-2px);
}

.knowledge-subject-tabs a span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  color: var(--rust);
  background: rgba(224, 122, 47, 0.12);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
}

.knowledge-subject-tabs a.is-active span {
  color: var(--white);
  background: rgba(255, 255, 255, 0.16);
}

.knowledge-subject-panel > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.knowledge-subject-panel h2 {
  margin: 5px 0 0;
  color: var(--ink);
  font-family: var(--font-serif);
  font-size: 36px;
}

.knowledge-subject-panel > header > span {
  color: var(--muted);
  font-size: 13px;
}

.knowledge-chapter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.knowledge-chapter-card {
  overflow: hidden;
  border: 1px solid rgba(32, 60, 53, 0.16);
  border-radius: 18px;
  background: rgba(255, 254, 250, 0.74);
  box-shadow: 0 16px 36px rgba(32, 60, 53, 0.06);
}

.knowledge-chapter-card > header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(32, 60, 53, 0.12);
}

.knowledge-chapter-card > header span {
  color: var(--rust);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.4px;
}

.knowledge-chapter-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 20px;
}

.knowledge-point-entry {
  position: relative;
  border-top: 1px solid rgba(32, 60, 53, 0.08);
  scroll-margin-top: 24px;
}

.knowledge-point-entry:first-child {
  border-top: 0;
}

.knowledge-point-entry.is-selected,
.knowledge-point-entry:target {
  background: rgba(224, 122, 47, 0.08);
}

.knowledge-point-entry details > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 11px 76px 11px 22px;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}

.knowledge-point-entry details > summary::-webkit-details-marker {
  display: none;
}

.knowledge-point-entry details > summary:hover {
  color: var(--rust);
  background: rgba(224, 122, 47, 0.07);
}

.knowledge-point-chevron {
  flex: 0 0 auto;
  color: var(--rust);
  transition: transform 160ms ease;
}

.knowledge-point-entry details[open] .knowledge-point-chevron {
  transform: rotate(90deg);
}

.knowledge-point-label {
  flex: 1;
  min-width: 0;
}

.knowledge-point-entry small {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 11px;
}

.knowledge-start-link {
  position: absolute;
  top: 8px;
  right: 14px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--teal);
  border-radius: 11px;
  color: var(--white);
  background: var(--teal);
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
}

.knowledge-start-link:hover,
.knowledge-start-link:focus-visible {
  color: var(--white);
  background: #315b6d;
  border-color: #315b6d;
}

.knowledge-question-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 8px;
  padding: 0 22px 16px 42px;
}

.knowledge-question-links a {
  padding: 7px 9px;
  border: 1px solid rgba(90, 125, 140, 0.3);
  border-radius: 8px;
  color: var(--teal);
  background: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  text-align: center;
  text-decoration: none;
}

.knowledge-question-links a:hover,
.knowledge-question-links a:focus-visible {
  border-color: var(--teal);
  background: rgba(90, 125, 140, 0.12);
}

.knowledge-point-entry.is-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 54px;
  padding: 11px 22px;
  opacity: 0.48;
}

.question-knowledge-tags {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(32, 60, 53, 0.14);
}

.question-knowledge-tags > span {
  display: block;
  margin-bottom: 9px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.7px;
}

.question-knowledge-tags > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.question-knowledge-tags a,
.question-knowledge-tags strong {
  padding: 6px 10px;
  border: 1px solid rgba(224, 122, 47, 0.3);
  border-radius: 999px;
  color: #95542b;
  background: rgba(224, 122, 47, 0.08);
  font-size: 11px;
  font-weight: 650;
  text-decoration: none;
}

.question-knowledge-tags a:hover {
  border-color: var(--rust);
  background: rgba(224, 122, 47, 0.15);
}

.knowledge-tags-reveal {
  margin-top: 16px;
  padding: 7px 11px;
  border: 1px solid rgba(224, 122, 47, 0.3);
  border-radius: 10px;
  color: #95542b;
  background: rgba(224, 122, 47, 0.07);
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.knowledge-tags-reveal:hover {
  border-color: var(--rust);
  background: rgba(224, 122, 47, 0.14);
}

@media (max-width: 760px) {
  .knowledge-main {
    width: min(100% - 24px, 1180px);
    padding-top: 34px;
  }

  .knowledge-subject-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .knowledge-chapter-grid {
    grid-template-columns: 1fr;
  }

  .knowledge-subject-panel > header {
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }
}

.search-result-open {
  display: block;
  margin-top: 14px;
  color: var(--red);
  font-size: 11px;
}

.load-more {
  width: 100%;
  min-height: 48px;
  margin-top: 20px;
  border: 1px solid var(--teal);
  border-radius: 12px;
  color: var(--teal);
  background: transparent;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.load-more:hover {
  color: var(--white);
  background: var(--teal);
}

.no-results p,
.empty-page > p:not(.eyebrow) {
  color: var(--teal-soft);
}

.empty-page {
  width: min(680px, calc(100% - 48px));
  margin: 12vh auto;
}

.empty-page h1 {
  color: var(--teal);
  font-size: 44px;
}

.empty-page a {
  display: inline-block;
  margin-top: 16px;
  padding: 10px 16px;
  border-radius: 10px;
  color: var(--white);
  background: var(--teal);
}

footer {
  width: min(1220px, calc(100% - 64px));
  margin: 0 auto;
  padding: 28px 0 44px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid var(--teal-soft);
  color: var(--teal-soft);
  font-size: 11px;
}

footer p {
  margin: 0;
}

footer p.footer-note {
  max-width: 340px;
  text-align: right;
  color: rgba(90, 125, 140, 0.78);
  line-height: 1.7;
}

@media (max-width: 640px) {
  footer {
    flex-direction: column;
    gap: 8px;
  }
  footer p.footer-note {
    max-width: none;
    text-align: left;
  }
}

@media (max-width: 940px) {
  .guide-brand > span {
    display: none;
  }

  .intro {
    grid-template-columns: 1fr;
  }

  .paper-stamp {
    display: none;
  }

  .integrity-strip {
    display: block;
    padding: 0 20px;
  }

  .integrity-title {
    min-width: 0;
    min-height: 60px;
    padding: 0;
    border: 0;
  }

  .integrity-strip dl {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
  }

  .integrity-strip dl > div {
    padding: 18px 12px;
  }

  .paper-layout {
    grid-template-columns: 1fr;
  }

  .search-workspace {
    grid-template-columns: 1fr;
  }

  .search-filters {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto;
    align-items: end;
    gap: 12px;
  }

  .search-filters > div + div {
    margin-top: 0;
  }

  .search-filters > button {
    min-width: 120px;
    margin-top: 0;
  }

  .paper-sidebar {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .filter-block + .filter-block {
    margin-top: 0;
  }

  .sidebar-note {
    display: none;
  }
}

@media (max-width: 640px) {
  .site-header,
  .intro,
  .integrity-strip,
  .paper-layout,
  .focus-layout,
  .search-main,
  footer {
    width: min(100% - 28px, 1220px);
  }

  .site-header {
    min-height: 72px;
  }

  .brand-cluster {
    gap: 8px;
  }

  .outline-header-link {
    min-height: 32px;
    padding: 0 8px;
    font-size: 10px;
  }

  .brand small,
  .disabled-action,
  .workbook-header-link {
    display: none;
  }

  .header-nav {
    gap: 7px;
  }

  .account-nav-loading {
    width: 36px;
    min-height: 36px;
    padding: 3px;
  }

  .account-nav-loading::after {
    display: none;
  }

  .global-search-link,
  .search-back-link,
  .account-nav-link {
    min-height: 36px;
    padding: 0 9px;
    font-size: 10px;
  }

  .account-nav-group .account-nav-link:first-child,
  .archive-home-header .guide-brand {
    display: none;
  }

  .site-shell.is-question-mode .site-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 6px;
    padding: 8px 0;
  }

  .site-shell.is-question-mode .brand-cluster {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .site-shell.is-question-mode .brand strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 15px;
  }

  .site-shell.is-question-mode .header-nav {
    display: contents;
  }

  .site-shell.is-question-mode .account-nav-group,
  .site-shell.is-question-mode .account-nav-card,
  .site-shell.is-question-mode .account-nav-loading,
  .site-shell.is-question-mode .account-nav-link.is-pending {
    grid-column: 2 / 4;
    grid-row: 1;
    justify-self: end;
  }

  .site-shell.is-question-mode .account-nav-group .account-nav-link:first-child {
    display: inline-flex;
  }

  .site-shell.is-question-mode .global-search-link {
    grid-column: 1 / 3;
    grid-row: 2;
    justify-self: start;
  }

  .site-shell.is-question-mode .year-picker {
    grid-column: 3;
    grid-row: 2;
    justify-self: end;
  }

  .account-main {
    width: min(100% - 28px, 720px);
    padding: 34px 0 48px;
  }

  .account-stat-grid {
    grid-template-columns: 1fr;
  }

  .account-code-row {
    grid-template-columns: 1fr;
  }

  .account-code-button {
    width: 100%;
  }

  .account-action-row {
    flex-direction: column;
  }

  .intro {
    padding: 44px 0 36px;
  }

  .intro h1 {
    font-size: 43px;
  }

  .integrity-title > span:last-child {
    display: none;
  }

  .integrity-strip dl {
    grid-template-columns: repeat(2, 1fr);
  }

  .toolbar-wrap {
    padding: 10px 14px;
  }

  .toolbar {
    flex-wrap: nowrap;
    gap: 8px;
  }

  .toolbar-actions {
    gap: 9px;
  }

  .study-timer {
    order: initial;
    flex: 0 0 auto;
    justify-content: flex-start;
    margin: 0;
  }

  .mode-switch a {
    padding: 8px 11px;
  }

  .paper-layout {
    margin-top: 26px;
    gap: 28px;
  }

  .search-hero {
    padding: 44px 0 28px;
  }

  .search-hero h1 {
    font-size: 43px;
  }

  .search-hero > p:last-of-type {
    font-size: 14px;
  }

  .global-search-box {
    min-height: 60px;
    margin-top: 24px;
    padding: 0 14px;
    border-radius: 14px;
    box-shadow: 6px 6px 0 rgba(224, 122, 47, 0.25);
  }

  .global-search-box input {
    height: 56px;
    font-size: 15px;
  }

  .global-search-box kbd {
    display: none;
  }

  .search-workspace {
    padding-top: 22px;
    gap: 24px;
  }

  .search-filters {
    grid-template-columns: 1fr 1fr;
  }

  .search-filters > button {
    grid-column: 1 / -1;
  }

  .search-result-heading {
    align-items: flex-end;
  }

  .search-result-heading label {
    min-width: 140px;
    display: block;
  }

  .search-result-heading label span {
    display: block;
    margin-bottom: 5px;
  }

  .search-result-card {
    padding: 21px 18px 20px 24px;
  }

  .search-result-card > header {
    display: block;
  }

  .search-result-meta {
    margin-top: 12px;
    justify-content: flex-start;
  }

  .paper-sidebar {
    display: block;
  }

  .filter-block + .filter-block {
    margin-top: 22px;
  }

  .subject-filters {
    grid-template-columns: 1fr 1fr;
  }

  .question-card.is-compact,
  .question-card.is-focus {
    padding: 34px 20px 26px 24px;
  }

  .card-watermark {
    top: 13px;
    right: 18px;
    font-size: 10px;
  }

  .guide-brand .brand-logo {
    width: 30px;
    height: 30px;
  }

  .question-header {
    display: block;
  }

  .question-meta {
    max-width: none;
    margin-top: 14px;
    justify-content: flex-start;
  }

  .is-focus .question-body {
    margin-top: 32px;
  }

  .answer-placeholder {
    align-items: flex-start;
  }

  .focus-link {
    margin-right: 28px;
  }

  .question-navigation {
    grid-template-columns: 1fr;
  }

  .nav-spacer {
    display: none;
  }

  footer {
    display: block;
  }

  footer p + p {
    margin-top: 8px;
  }
}

@media print {
  .site-header,
  .intro,
  .integrity-strip,
  .toolbar-wrap,
  .paper-sidebar,
  footer,
  .focus-link,
  .question-jump-rail,
  .answer-region,
  .card-watermark,
  .answer-sheet-trigger,
  .answer-sheet-layer {
    display: none !important;
  }

  body {
    background: var(--white);
  }

  .paper-layout {
    width: 100%;
    margin: 0;
    display: block;
  }

  .question-card {
    box-shadow: none;
    break-inside: avoid;
  }
}

/* —— 在线人数悬浮角标（整卷 / 单题页）—— */
.online-pill {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 40;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--teal);
  background: rgba(251, 243, 218, 0.94);
  box-shadow: var(--shadow);
  font-size: 12px;
  font-weight: 700;
  pointer-events: none;
}

.online-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px rgba(47, 158, 68, 0.15);
}

/* Shared Web / mini-program discussion. Whole-paper panels stay collapsed. */
.question-discussion { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 18px; min-width: 0; text-align: left; cursor: auto; }
.discussion-heading, .discussion-tools, .discussion-submit,
.discussion-comment header, .discussion-comment footer, .discussion-actions, .discussion-confirm {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.discussion-heading { justify-content: space-between; }
.discussion-heading .discussion-toggle { display: inline-flex; align-items: center; gap: 9px; }
.discussion-count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; color: var(--teal); background: rgba(224, 190, 103, .24); font-size: 12px; font-weight: 700; }
.question-discussion button { border: 1px solid var(--line); border-radius: 9px; padding: 7px 12px; color: var(--teal); background: var(--cream, #fbf3da); font: inherit; font-size: 13px; cursor: pointer; }
.question-discussion button:hover:not(:disabled) { border-color: var(--teal); }
.question-discussion button:disabled { opacity: .55; cursor: default; }
.question-discussion button:focus-visible, .question-discussion input:focus-visible,
.question-discussion textarea:focus-visible, .question-discussion select:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.question-discussion .discussion-toggle { padding: 6px 0; border: 0; background: none; font-weight: 700; font-size: 15px; }
.discussion-heading > span, .discussion-hint, .discussion-submit small, .discussion-comment footer { font-size: 12px; color: var(--muted, #627b82); line-height: 1.7; }
.discussion-body { margin-top: 12px; font-size: 14px; }
.discussion-body [role="alert"] { color: #a3312b; overflow-wrap: anywhere; }
.discussion-body [role="status"] { color: var(--teal); }
.discussion-login-gate { position: relative; min-height: 210px; margin: 16px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.38); }
.discussion-blur-preview { padding: 18px; filter: blur(6px); opacity: .58; user-select: none; pointer-events: none; }
.discussion-blur-preview > div { padding: 12px 0; border-bottom: 1px dashed var(--line); }
.discussion-blur-preview p { margin: 8px 0 0; line-height: 1.75; }
.discussion-login-message { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 24px; text-align: center; background: rgba(255,248,225,.68); backdrop-filter: blur(2px); }
.discussion-login-message strong { font-size: 16px; color: var(--teal); }
.discussion-login-message span { max-width: 460px; color: var(--muted, #627b82); line-height: 1.7; }
.discussion-login-message a { display: inline-flex; padding: 8px 16px; border-radius: 9px; color: #fff; background: var(--teal); text-decoration: none; }
.discussion-readonly { display: flex; flex-direction: column; gap: 6px; margin: 14px 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.42); }
.discussion-readonly strong { color: var(--teal); }
.discussion-readonly span { color: var(--muted, #627b82); font-size: 13px; line-height: 1.7; }
.discussion-tools { margin: 12px 0; }
.discussion-tools a, .discussion-comment > a { color: var(--teal); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.discussion-form { padding: 16px; margin: 16px 0; background: rgba(255,255,255,.42); border: 1px solid var(--line); border-radius: 14px; }
.question-discussion input, .question-discussion textarea, .question-discussion select { border: 1px solid var(--line); border-radius: 8px; background: #fffdf6; padding: 8px 10px; color: var(--teal); font: inherit; max-width: 100%; }
.discussion-input-label { display: grid; gap: 8px; }
.question-discussion textarea { width: 100%; box-sizing: border-box; resize: vertical; min-height: 90px; }
.discussion-submit { margin-top: 10px; justify-content: space-between; }
.discussion-submit button { color: #fff; background: var(--teal); }
.discussion-feed-head { margin: 18px 0 4px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.discussion-feed-head > strong { color: var(--ink); font-size: 14px; }
.discussion-sort { padding: 3px; display: inline-flex; gap: 3px; border-radius: 10px; background: rgba(90, 125, 140, .12); }
.question-discussion .discussion-sort button { padding: 5px 10px; border: 0; background: transparent; font-size: 12px; }
.question-discussion .discussion-sort button.is-active { color: #fff; background: var(--teal); }
.discussion-list { display: grid; gap: 10px; margin-top: 14px; }
.discussion-comment { padding: 15px 17px; border: 1px solid rgba(71, 105, 113, .28); border-radius: 16px; background: rgba(255,255,255,.42); min-width: 0; }
.discussion-comment.is-pinned { border-color: rgba(184, 100, 60, .36); background: rgba(255, 249, 226, .7); }
.discussion-comment-main { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: start; gap: 12px; }
.discussion-avatar { width: 46px; height: 46px; border: 1px solid rgba(71, 105, 113, .2); border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #6f9294, #244858); box-shadow: 0 2px 6px rgba(36, 72, 88, .16); font-size: 18px; font-weight: 700; }
.discussion-avatar img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: inherit; grid-area: 1 / 1; }
.discussion-avatar span { grid-area: 1 / 1; }
.discussion-avatar.has-avatar span { display: none; }
.discussion-avatar.is-mine { background: linear-gradient(145deg, #f0b56b, #b8643c); }
.discussion-comment-content { min-width: 0; }
.discussion-comment header { justify-content: space-between; align-items: flex-start; gap: 10px; margin: 1px 0 6px; }
.discussion-author { display: flex; align-items: center; gap: 8px; min-width: 0; flex-wrap: wrap; }
.discussion-pinned-label { padding: 2px 7px; border-radius: 999px; color: #9b5a31; background: rgba(240, 181, 107, .22); font-size: 11px; font-weight: 700; }
.discussion-comment header strong { overflow-wrap: anywhere; color: var(--ink, #173d4d); font-size: 15px; }
.discussion-comment header time { flex: 0 0 auto; color: var(--muted, #627b82); font-size: 12px; line-height: 1.5; white-space: nowrap; }
.discussion-status { padding: 2px 7px; border-radius: 999px; color: var(--muted, #627b82); background: rgba(224, 190, 103, .18); font-size: 11px; line-height: 1.5; }
.discussion-status.status-pending { color: #98611b; background: rgba(242, 183, 74, .22); }
.discussion-status.status-hidden, .discussion-status.status-deleted { color: #a3312b; background: rgba(199, 64, 56, .11); }
.discussion-question-link { display: inline-block; margin: 0 0 2px; color: var(--teal); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.discussion-content { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; margin: 7px 0 8px; color: var(--ink, #173d4d); }
.discussion-actions { margin-top: 7px; font-size: 12px; }
.discussion-actions span { color: var(--muted, #627b82); }
.discussion-actions button[aria-pressed="true"] { background: var(--teal); color: white; }
.discussion-actions .discussion-delete-confirm { color: #fff; border-color: #b42318; background: #b42318; }
.discussion-actions .discussion-delete-confirm:hover:not(:disabled) { border-color: #8f1d14; background: #8f1d14; }
.discussion-confirm { background: #fff4dc; border-radius: 10px; padding: 12px; margin-top: 12px; font-size: 13px; }
.discussion-replies { margin: 12px 0 0 58px; padding-left: 14px; display: grid; gap: 8px; border-left: 2px solid rgba(90, 125, 140, .2); }
.discussion-reply { padding: 11px 12px; border-radius: 12px; background: rgba(255, 253, 246, .68); }
.discussion-reply header { margin: 0 0 5px; display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.discussion-reply header strong { color: var(--ink); font-size: 13px; }
.discussion-reply header time { flex: 0 0 auto; color: var(--muted); font-size: 11px; }
.discussion-reply .discussion-content { margin: 5px 0; font-size: 13px; }
.discussion-reply .discussion-actions { margin-top: 4px; }
.discussion-reply-form { margin: 12px 0 0 58px; padding: 12px; border: 1px solid rgba(71, 105, 113, .22); border-radius: 12px; background: rgba(255, 253, 246, .72); }
.discussion-reply-form__head { margin-bottom: 8px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.discussion-reply-form__head strong { color: var(--teal); font-size: 13px; }
.question-discussion .discussion-reply-form__head button { padding: 4px 8px; border: 0; background: transparent; }
.question-discussion .discussion-reply-form textarea { min-height: 68px; }
.discussion-more { margin-top: 12px; }
.discussion-history { width: min(860px, 100%); margin: 32px auto 60px; }
.discussion-history h1 { font-size: 28px; }
@media (max-width: 640px) {
  .discussion-form { padding: 12px; }
  .discussion-heading { align-items: flex-start; gap: 4px; }
  .discussion-comment { padding: 13px; }
  .discussion-comment-main { grid-template-columns: 38px minmax(0, 1fr); gap: 9px; }
  .discussion-avatar { width: 38px; height: 38px; font-size: 15px; }
  .discussion-comment header { display: block; }
  .discussion-comment header time { display: block; margin-top: 3px; }
  .discussion-feed-head { align-items: flex-start; flex-direction: column; }
  .discussion-replies, .discussion-reply-form { margin-left: 0; }
  .discussion-reply header { display: block; }
}
@media print { .question-discussion { display: none !important; } }

.study-tool-toggle { position: fixed; z-index: 120; right: 0; top: 50%; transform: translateY(-50%); border: 0; border-radius: 12px 0 0 12px; padding: 15px 10px; color: #fffdf4; background: var(--teal); box-shadow: 0 7px 22px rgba(23,61,77,.24); writing-mode: vertical-rl; letter-spacing: .16em; font: 700 13px/1.2 inherit; cursor: pointer; }
.study-tool-toggle:hover { background: #275766; }
.focus-layout.has-ai { width: min(1480px, calc(100% - 64px)); }
.focus-study-grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 22px; }
.focus-layout.has-ai:not(.has-scratchpad) .focus-study-grid { grid-template-columns: minmax(0, 1.35fr) minmax(360px, .8fr); }
.focus-study-grid > .question-card, .focus-study-grid > .ai-tutor { width: 100%; box-sizing: border-box; margin: 0; }
.focus-study-grid > .ai-tutor { position: sticky; top: 88px; max-height: calc(100vh - 108px); overflow: auto; }
.ai-tutor { width: min(920px, calc(100% - 32px)); box-sizing: border-box; margin: 22px auto 8px; padding: 22px; border: 1px solid rgba(71,105,113,.3); border-radius: 20px; background: rgba(255,253,246,.72); box-shadow: 0 14px 34px rgba(36,72,88,.09); color: var(--ink); }
.ai-tutor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.ai-tutor > header span { color: #b8643c; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.ai-tutor > header h3 { margin: 4px 0 0; font-size: 25px; }
.ai-tutor > header small { padding: 6px 10px; border-radius: 999px; background: rgba(224,190,103,.2); color: var(--muted); }
.ai-section { padding: 18px 0; border-bottom: 1px dashed var(--line); }
.ai-section:last-child { border-bottom: 0; }
.ai-section > h4 { margin: 0 0 6px; font-size: 17px; }
.ai-section > p, .ai-state, .ai-lock { color: var(--muted); line-height: 1.7; }
.ai-hint-actions { display: flex; gap: 9px; flex-wrap: wrap; margin: 13px 0; }
.ai-tutor button { border: 1px solid var(--line); border-radius: 10px; padding: 9px 13px; background: #fffdf6; color: var(--teal); font: inherit; cursor: pointer; }
.ai-tutor button:disabled { opacity: .55; cursor: default; }
.ai-tutor .ai-primary { color: #fff; border-color: var(--teal); background: var(--teal); }
.ai-answer { margin-top: 13px; padding: 16px; border-radius: 14px; background: rgba(255,255,255,.64); line-height: 1.75; }
.ai-answer h4, .ai-answer p { margin: 0 0 9px; }
.ai-answer-block { margin-top: 12px; }
.ai-answer-block pre { overflow-x: auto; padding: 12px; border-radius: 9px; background: #173d4d; color: #fff; white-space: pre-wrap; }
.ai-takeaway { padding: 10px 12px; border-left: 3px solid #b8643c; background: rgba(240,181,107,.15); }
.ai-chat { display: grid; gap: 10px; margin: 12px 0; }
.ai-message { max-width: 88%; padding: 11px 13px; border-radius: 14px; background: rgba(255,255,255,.62); }
.ai-message.is-user { justify-self: end; background: rgba(224,190,103,.24); }
.ai-message p { margin: 0; line-height: 1.7; }
.ai-section form { display: grid; gap: 10px; }
.ai-section textarea { min-height: 90px; resize: vertical; box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf6; color: var(--ink); font: inherit; }
.ai-walk { display: grid; gap: 9px; margin-top: 12px; }
.ai-walk button { display: flex; gap: 9px; text-align: left; }
.ai-walk button.is-correct { border-color: #2f855a; background: #edf9f1; }
.ai-walk button.is-wrong { border-color: #b42318; background: #fff0ee; }
.ai-correct { color: #267249; }.ai-wrong, .ai-error { color: #a3312b; }
.focus-progress > div:first-child { min-width: 0; }
.question-jump-rail { position: relative; z-index: 2; top: auto; right: auto; width: auto; max-height: none; padding: 0; display: block; transform: none; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; }
.question-jump-rail__toggle { display: inline-flex; align-items: center; gap: 8px; padding: 3px 8px; border: 1px solid transparent; border-radius: 9px; color: var(--teal); background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.question-jump-rail__toggle:hover, .question-jump-rail__toggle[aria-expanded="true"] { border-color: rgba(45,91,102,.24); background: rgba(255,255,255,.5); }
.question-jump-rail__toggle span { color: var(--red); font-size: 15px; line-height: 1; }
.question-jump-rail__list { position: absolute; z-index: 5; top: calc(100% + 8px); left: 0; width: min(680px, calc(100vw - 48px)); max-height: 178px; padding: 9px; display: flex; flex-direction: row; flex-wrap: wrap; align-content: flex-start; gap: 6px; overflow-y: auto; border: 1px solid rgba(45,91,102,.22); border-radius: 13px; background: rgba(255,252,244,.98); box-shadow: 0 12px 28px rgba(45,91,102,.17); backdrop-filter: blur(10px); }
.question-jump-item { min-width: 49px; min-height: 29px; padding: 0 7px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; color: var(--teal); background: rgba(227,239,237,.7); font-family: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace; font-size: 11px; font-weight: 800; text-decoration: none; }
.question-jump-item:hover { color: var(--white); background: var(--teal-soft); transform: none; }
.question-jump-item.is-current, .question-jump-item.is-current:hover { color: var(--white); background: var(--red); box-shadow: 2px 2px 0 rgba(224,122,47,.22); }
body.scratchpad-open .question-jump-rail { display: block; }
@media (max-width: 1050px) {
  .focus-layout.has-ai { width: min(980px, calc(100% - 40px)); }
  /* Match the desktop two-column selector so the mobile layout actually wins. */
  .focus-layout.has-ai:not(.has-scratchpad) .focus-study-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .focus-study-grid > .question-card,
  .focus-study-grid > .ai-tutor { min-width: 0; }
  .focus-study-grid > .ai-tutor { position: static; max-height: none; overflow: visible; }
}
@media (max-width: 760px) { .question-jump-rail { display: block; }.question-jump-rail__list { width: min(440px, calc(100vw - 32px)); max-height: 150px; }.question-jump-item { min-width: 45px; } }
@media (max-width: 700px) { .ai-tutor { width: calc(100% - 20px); padding: 16px; }.study-tool-toggle { padding: 12px 8px; }.ai-tutor > header h3 { font-size: 21px; } }
@media print { .study-tool-toggle, .ai-tutor { display: none !important; } }

/* 单题学习工具：统一收纳到右侧菜单；草稿纸改为学习区内的并列栏。 */
.focus-progress-meter {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.focus-progress-meter small {
  min-width: 42px;
  color: var(--muted);
  font: 700 11px/1 "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  text-align: right;
}

.focus-workbench-bar {
  position: relative;
  z-index: 10;
  margin: 0 0 18px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto minmax(100px, 1fr);
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(45, 91, 102, 0.2);
  border-radius: 15px;
  background: rgba(255, 252, 242, 0.92);
  box-shadow: 0 10px 26px rgba(45, 91, 102, 0.1);
  backdrop-filter: blur(14px);
}

.focus-workbench-bar__back {
  min-height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 10px;
  color: var(--teal);
  background: rgba(227, 239, 237, 0.68);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.focus-workbench-bar__back:hover {
  color: var(--white);
  background: var(--teal);
}

/* Single-question progress and its jump button share the workbench bar. */
.focus-progress-jump {
  position: relative;
  min-width: 0;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
}

.focus-progress-jump__progress {
  min-width: 0;
  flex: 1;
  min-height: 38px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.focus-progress-jump__progress:hover,
.focus-progress-jump__progress[aria-expanded="true"] {
  background: rgba(227, 239, 237, .48);
}

.focus-progress-jump__progress:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

.focus-progress-jump__progress:disabled { cursor: default; }

.focus-progress-jump__progress small {
  flex: none;
  min-width: 45px;
  color: var(--muted);
  text-align: right;
  font: 700 11px/1 "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
}

.focus-progress-jump__trigger {
  flex: none;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(45, 91, 102, .24);
  border-radius: 10px;
  color: var(--teal);
  background: rgba(227, 239, 237, .68);
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.focus-progress-jump__trigger:hover,
.focus-progress-jump__trigger[aria-expanded="true"] {
  border-color: var(--teal);
  color: var(--white);
  background: var(--teal);
}

.focus-progress-jump__trigger:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: 2px;
}

.focus-progress-jump__trigger:disabled { cursor: default; }
.focus-progress-jump__progress .progress-track { min-width: 0; }

.focus-progress-jump__list {
  position: absolute;
  z-index: 20;
  top: calc(100% + 7px);
  right: 0;
  width: 154px;
  max-height: min(64vh, 560px);
  padding: 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 5px;
  overflow-y: auto;
  border: 1px solid rgba(45, 91, 102, .24);
  border-radius: 14px;
  background: rgba(255, 253, 246, .98);
  box-shadow: 0 15px 34px rgba(23, 61, 77, .2);
}

.focus-progress-jump__item {
  min-height: 34px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--teal);
  background: rgba(227, 239, 237, .7);
  font: 800 11px/1 "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
  text-decoration: none;
}

.focus-progress-jump__item:hover { color: var(--white); background: var(--teal-soft); }
.focus-progress-jump__item.is-current,
.focus-progress-jump__item.is-current:hover { color: var(--white); background: var(--red); }

.question-jump-rail.is-floating {
  position: fixed;
  z-index: 129;
  top: 50%;
  right: 58px;
  width: 118px;
  height: min(72vh, 690px);
  max-height: calc(100vh - 112px);
  padding: 10px;
  display: flex;
  flex-direction: column;
  transform: translateY(-50%);
  border: 1px solid rgba(45, 91, 102, 0.24);
  border-radius: 16px;
  background: rgba(255, 253, 246, 0.97);
  box-shadow: 0 15px 34px rgba(23, 61, 77, 0.2);
  backdrop-filter: blur(12px);
  animation: question-jump-slide-in 160ms ease-out both;
}

@keyframes question-jump-slide-in {
  from { opacity: 0; transform: translate(18px, -50%); }
  to { opacity: 1; transform: translate(0, -50%); }
}

.question-jump-rail__header {
  padding: 1px 2px 9px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 3px 6px;
  border-bottom: 1px solid rgba(45, 91, 102, 0.16);
}

.question-jump-rail__header span {
  color: var(--teal);
  font-size: 12px;
  font-weight: 800;
}

.question-jump-rail__header strong {
  grid-column: 1;
  color: var(--muted);
  font: 700 10px/1.2 "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;
}

.question-jump-rail__header button {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 26px;
  height: 26px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: var(--teal);
  background: rgba(227, 239, 237, 0.72);
  font: 800 18px/1 inherit;
  cursor: pointer;
}

.question-jump-rail.is-floating .question-jump-rail__list {
  position: static;
  width: 100%;
  min-height: 0;
  max-height: none;
  margin-top: 8px;
  padding: 0 2px 2px 0;
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 5px;
  overflow-y: auto;
  transform: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.question-jump-rail.is-floating .question-jump-item {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  box-sizing: border-box;
  justify-content: center;
  font-size: 11px;
}

.question-detail-columns {
  min-width: 0;
}

.question-columns-toggle {
  width: auto;
  min-width: 108px;
  height: 38px;
  margin: 0 0 8px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(45, 91, 102, 0.3);
  border-radius: 11px;
  color: var(--teal);
  background: rgba(255, 253, 246, 0.92);
  box-shadow: 0 3px 0 rgba(224, 190, 103, 0.28), 0 7px 14px rgba(45, 91, 102, 0.08);
  gap: 7px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease, box-shadow 140ms ease;
}

.question-columns-toggle__icon {
  font-size: 19px;
  font-weight: 500;
}

.question-columns-toggle:hover,
.question-columns-toggle:focus-visible {
  border-color: rgba(45, 91, 102, 0.58);
  background: #fff9df;
  transform: translateY(-1px);
}

.question-columns-toggle.is-active {
  color: var(--white);
  border-color: var(--teal);
  background: var(--teal);
  box-shadow: 0 3px 0 rgba(23, 61, 77, 0.3), 0 8px 16px rgba(45, 91, 102, 0.18);
}

.question-columns-toggle.is-active:hover,
.question-columns-toggle.is-active:focus-visible {
  background: #275766;
}

.question-detail-columns.is-split {
  --question-fit-scale: 1;
  --question-fit-height: calc(100vh - 320px);
  box-sizing: border-box;
  height: var(--question-fit-height);
  max-height: var(--question-fit-height);
  column-count: 2;
  column-gap: clamp(24px, 3vw, 48px);
  column-fill: balance;
  overflow: hidden;
}

.question-detail-columns.is-split > .question-body {
  break-inside: auto;
  margin-top: 0;
  font-size: calc(clamp(19px, 2.1vw, 25px) * var(--question-fit-scale));
  line-height: 1.48;
}

.question-detail-columns.is-split .question-body p {
  margin-bottom: calc(14px * var(--question-fit-scale));
}

.question-detail-columns.is-split .question-body .markdown-image {
  margin: calc(18px * var(--question-fit-scale)) 0;
  break-inside: avoid;
}

.question-detail-columns.is-split .question-body .markdown-image img {
  max-height: calc(var(--question-fit-height) * 0.42);
  object-fit: contain;
}

.question-detail-columns.is-split .question-body .content-code {
  margin: calc(16px * var(--question-fit-scale)) 0;
  padding: calc(16px * var(--question-fit-scale));
  font-size: 0.78em;
  line-height: 1.4;
}

.question-detail-columns.is-split > .choice-options {
  display: contents;
}

/* 双栏只排题目内容；字号按可用视口高度自动收缩，避免长题把两栏撑出首屏。 */
.question-detail-columns.is-split .choice-option {
  font-size: calc(15px * var(--question-fit-scale));
  break-inside: avoid;
}

.study-tools-menu {
  position: fixed;
  z-index: 130;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
}

.study-tools-menu__trigger {
  width: 48px;
  min-height: 86px;
  border: 1px solid rgba(255, 253, 246, 0.72);
  border-right: 0;
  border-radius: 14px 0 0 14px;
  color: var(--white);
  background: rgba(23, 61, 77, 0.82);
  box-shadow: 0 7px 22px rgba(23, 61, 77, 0.22);
  display: grid;
  place-content: center;
  gap: 6px;
  font: 800 12px/1 inherit;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.study-tools-menu__trigger > span:first-child {
  font-size: 17px;
}

.study-tools-menu__trigger > span:last-child {
  writing-mode: vertical-rl;
  letter-spacing: 0.12em;
}

.study-tools-menu__trigger:hover,
.study-tools-menu__trigger[aria-expanded="true"] {
  background: var(--teal);
}

.study-tools-menu__panel {
  order: -1;
  min-width: 148px;
  padding: 8px;
  display: grid;
  gap: 5px;
  border: 1px solid rgba(45, 91, 102, 0.22);
  border-radius: 14px;
  background: rgba(255, 253, 246, 0.96);
  box-shadow: 0 12px 30px rgba(45, 91, 102, 0.2);
  backdrop-filter: blur(12px);
}

.study-tools-menu__panel button {
  min-height: 36px;
  padding: 7px 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--teal);
  background: transparent;
  font: 700 12px/1.2 inherit;
  text-align: left;
  cursor: pointer;
}

.study-tools-menu__panel button:hover,
.study-tools-menu__panel button.is-active {
  border-color: rgba(45, 91, 102, 0.18);
  color: var(--white);
  background: var(--teal-soft);
}

.study-tools-menu__panel button[aria-pressed]::after {
  content: "";
  width: 15px;
  height: 15px;
  margin-left: auto;
  flex: 0 0 15px;
  display: inline-grid;
  place-items: center;
  border: 1.5px solid rgba(45, 91, 102, 0.56);
  border-radius: 4px;
  color: transparent;
  background: transparent;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.study-tools-menu__panel button[aria-pressed="true"]::after {
  content: "✓";
  margin-left: auto;
  border-color: #fff9df;
  color: var(--teal);
  background: #fff9df;
}

.study-tools-menu__panel button:disabled {
  opacity: 0.46;
  cursor: default;
}

.focus-layout.has-scratchpad,
.focus-layout.has-ai-and-scratchpad {
  width: min(1480px, calc(100% - 64px));
}

.focus-layout.has-scratchpad .focus-study-grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 1fr);
}

/* 只打开草稿纸时严格平分可用宽度。不要给草稿纸设置固定上限，
 * 否则宽屏下剩余空间会全部落到题目侧，看起来不再是左右半屏。 */
.focus-layout.has-scratchpad:not(.has-ai) .focus-study-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.focus-layout.has-ai-and-scratchpad .focus-study-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.focus-study-grid > .scratchpad-layer {
  width: 100%;
  min-width: 0;
}

.scratchpad-layer.is-embedded {
  position: sticky;
  top: 88px;
  z-index: 1;
  align-self: start;
  max-height: calc(100vh - 108px);
  pointer-events: auto;
}

.scratchpad-drawer.is-embedded {
  position: relative;
  inset: auto;
  width: 100%;
  min-width: 0;
  height: min(720px, calc(100vh - 150px));
  max-height: none;
  border: 1px solid rgba(45, 91, 102, 0.16);
  border-left: 0;
  border-radius: 18px;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 12px 28px rgba(45, 91, 102, 0.12);
}

.focus-layout.has-scratchpad:not(.has-ai) .scratchpad-layer.is-embedded {
  top: 16px;
  max-height: calc(100vh - 32px);
}

.focus-layout.has-scratchpad:not(.has-ai) .scratchpad-drawer.is-embedded {
  height: calc(100vh - 32px);
}

/* 嵌入单题工作台时，画布和页脚不能越过外层的完整圆角。 */
.scratchpad-drawer.is-embedded .scratchpad-canvas-wrap {
  margin: 8px;
  border-radius: 12px;
}

/* embedded 草稿纸不需要把整个页面压成旧版的半屏抽屉。 */
body.scratchpad-open {
  overflow: auto;
}

@media (min-width: 761px) {
  body.scratchpad-open .site-shell {
    width: 100%;
    height: auto;
    min-height: 100vh;
    overflow: visible;
  }
}

@media (max-width: 1050px) {
  .focus-layout.has-scratchpad,
  .focus-layout.has-ai-and-scratchpad {
    width: min(980px, calc(100% - 40px));
  }

  .focus-layout.has-scratchpad .focus-study-grid,
  .focus-layout.has-ai-and-scratchpad .focus-study-grid {
    grid-template-columns: 1fr;
  }

  .scratchpad-layer.is-embedded {
    position: static;
    max-height: none;
  }

  .scratchpad-drawer.is-embedded {
    height: min(620px, 70vh);
  }

  .focus-layout.has-scratchpad:not(.has-ai) .focus-study-grid {
    grid-template-columns: 1fr;
  }

  .focus-layout.has-scratchpad:not(.has-ai) .scratchpad-layer.is-embedded {
    top: auto;
    max-height: none;
  }

  .focus-layout.has-scratchpad:not(.has-ai) .scratchpad-drawer.is-embedded {
    height: min(620px, 70vh);
  }
}

@media (max-width: 760px) {
  .focus-progress-meter {
    min-width: 0;
  }

  .focus-workbench-bar {
    grid-template-columns: auto 1fr;
    gap: 8px;
    padding: 8px;
  }

  .focus-workbench-bar .focus-progress-meter {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .focus-workbench-bar__back {
    min-height: 36px;
    white-space: nowrap;
  }

  .question-jump-rail.is-floating {
    right: 50px;
    width: 112px;
    height: min(68vh, 560px);
    max-height: calc(100vh - 84px);
  }

  .question-detail-columns.is-split {
    column-count: 1;
  }

  .study-tools-menu__panel {
    min-width: 136px;
  }

  .study-tools-menu__trigger {
    width: 42px;
    min-height: 74px;
  }

  .scratchpad-drawer.is-embedded {
    height: min(560px, 68vh);
  }
}

@media print {
  .study-tools-menu,
  .question-jump-rail.is-floating {
    display: none !important;
  }
}

/* Mistake workbook: browser-native print/PDF, with no server-side files. */
.mistakes-export-button { margin-top: 16px; border: 0; border-radius: 10px; padding: 10px 18px; color: #fff; background: var(--teal); font: inherit; font-weight: 700; cursor: pointer; }
.mistakes-export-button:disabled { opacity: .5; cursor: default; }
.mistakes-export-page { min-height: 100vh; padding: 28px; color: var(--ink); background: #e7ece8; }
.mistakes-export-header, .mistakes-export-controls { width: min(1080px, 100%); margin: 0 auto 18px; }
.mistakes-export-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.mistakes-export-header a { color: var(--teal); font-weight: 700; text-decoration: none; }
.mistakes-export-header div { display: grid; text-align: right; }
.mistakes-export-header strong { font-size: 20px; }
.mistakes-export-header span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.mistakes-export-controls { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; padding: 18px; border: 1px solid rgba(13,43,62,.18); border-radius: 16px; background: #fffdf7; box-shadow: 0 10px 30px rgba(13,43,62,.08); }
.mistakes-export-controls label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.mistakes-export-controls select { min-width: 150px; border: 1px solid var(--line); border-radius: 8px; padding: 9px 10px; color: var(--ink); background: #fff; font: inherit; }
.mistakes-export-controls .mistakes-export-check { display: flex; align-items: center; gap: 8px; min-height: 38px; color: var(--ink); }
.mistakes-export-print-action { display: grid; gap: 6px; margin-left: auto; }
.mistakes-export-print-action small { max-width: 290px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.mistakes-export-controls button { min-height: 40px; border: 0; border-radius: 9px; padding: 9px 16px; color: #fff; background: var(--teal); font: inherit; font-weight: 700; cursor: pointer; }
.mistakes-export-controls button:disabled { opacity: .5; cursor: default; }
.mistakes-export-controls > p { flex-basis: 100%; margin: 0; color: var(--muted); font-size: 12px; }
.mistakes-print-document { width: 210mm; min-height: 297mm; margin: 0 auto; padding: 16mm 15mm 18mm; background: #fff; box-shadow: 0 12px 34px rgba(13,43,62,.12); box-sizing: border-box; }
.mistakes-print-title { margin-bottom: 12mm; padding-bottom: 6mm; border-bottom: 2px solid var(--teal); }
.mistakes-print-title p { margin: 0 0 4mm; color: #bb673c; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.mistakes-print-title h1 { margin: 0; color: var(--teal); font-size: 25px; }
.mistakes-print-title span { display: block; margin-top: 3mm; color: #667a80; font-size: 11px; }
.mistakes-print-list { display: grid; gap: 8mm; }
.mistakes-print-question { break-inside: avoid; padding-bottom: 7mm; border-bottom: 1px solid #bdc9c9; }
.mistakes-print-question > header { display: flex; align-items: center; gap: 10px; margin-bottom: 4mm; }
.mistakes-print-question > header > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; background: var(--teal); font-size: 11px; font-weight: 800; }
.mistakes-print-question > header div { display: grid; }
.mistakes-print-question > header strong { color: var(--teal); font-size: 17px; }
.mistakes-print-question > header small { color: #687c82; font-size: 10px; }
.mistakes-print-stem { font-size: 12px; line-height: 1.72; }
.mistakes-print-stem > :first-child, .mistakes-print-options .markdown-content > :first-child { margin-top: 0; }
.mistakes-print-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3mm 5mm; margin-top: 4mm; }
.mistakes-print-options > div { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 7px; padding: 2.5mm 3mm; border: 1px solid #cbd4d4; border-radius: 7px; font-size: 11px; line-height: 1.55; }
.mistakes-print-options b { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; color: #fff; background: #65878c; font-size: 10px; }
.mistakes-print-options p { margin: 0; }
.mistakes-print-document img { max-width: 100%; height: auto; }
.mistakes-answer-key { display: block; break-before: page; page-break-before: always; }
.mistakes-answer-key h2 { padding-bottom: 4mm; border-bottom: 2px solid var(--teal); color: var(--teal); }
.mistakes-answer-key > div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; }
.mistakes-answer-key p { display: flex; justify-content: space-between; margin: 0; padding: 3mm; border-bottom: 1px solid #cbd4d4; }
.mistakes-answer-key span { font-size: 11px; }
.mistakes-answer-key strong { color: #bb673c; }
.favorites-reference-answers { display: block !important; margin-top: 10mm; }
.favorites-reference-answers h3 { color: var(--teal); font-size: 17px; }
.favorites-reference-answers article { margin: 0 0 9mm; padding-bottom: 5mm; border-bottom: 1px solid #cbd4d4; font-size: 12px; line-height: 1.65; }
.favorites-reference-answers h4 { margin: 0 0 3mm; color: var(--teal); font-size: 14px; }
.favorites-reference-answers .markdown-content > :first-child { margin-top: 0; }
.favorites-print-comprehensive { break-inside: auto; }
.mistakes-export-empty { padding: 30px; color: var(--muted); text-align: center; }
@media (max-width: 900px) {
  .mistakes-export-page { padding: 16px; }
  .mistakes-export-header { align-items: flex-start; }
  .mistakes-export-header div { text-align: left; }
  .mistakes-print-document { width: 100%; min-height: 0; padding: 24px; }
  .mistakes-print-options { grid-template-columns: 1fr; }
  .mistakes-export-print-action { margin-left: 0; }
}
@media print {
  @page { size: A4; margin: 14mm 13mm 16mm; }
  html, body { background: #fff !important; }
  .no-print { display: none !important; }
  .mistakes-export-page { min-height: 0; padding: 0; background: #fff; }
  .mistakes-print-document { width: auto; min-height: 0; margin: 0; padding: 0; box-shadow: none; }
  .mistakes-print-question { break-inside: avoid-page; }
  .favorites-print-comprehensive { break-inside: auto; }
  .mistakes-print-document img { break-inside: avoid; }
}

.discussion-parent-context { margin: 2px 0 0; color: var(--muted, #627b82); font-size: 12px; line-height: 1.6; }
.discussion-actions .discussion-delete-note { flex-basis: 100%; color: #a3312b; font-size: 12px; line-height: 1.6; }