@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";@layer components;@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-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--animate-bounce:bounce 1s infinite;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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 utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.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,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);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}.blur{--tw-blur:blur(8px);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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{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))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--color-primary-50:#eef2ff;--color-primary-100:#e0e7ff;--color-primary-200:#c7d2fe;--color-primary-300:#a5b4fc;--color-primary-400:#818cf8;--color-primary-500:#6366f1;--color-primary-600:#4f46e5;--color-primary-700:#4338ca;--color-primary-800:#3730a3;--color-primary-900:#312e81;--color-accent-400:#34d399;--color-accent-500:#10b981;--color-accent-600:#059669;--color-danger-400:#fb7185;--color-danger-500:#f43f5e;--color-danger-600:#e11d48;--color-warning-400:#fbbf24;--color-warning-500:#f59e0b;--color-surface:#fff;--color-surface-elevated:#f8fafc;--color-surface-sunken:#f1f5f9;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-inverse:#fff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 20px #6366f126;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--font-sans:"Inter", system-ui, -apple-system, sans-serif}:root.dark{--color-surface:#0f172a;--color-surface-elevated:#1e293b;--color-surface-sunken:#0c1322;--color-border:#334155;--color-border-hover:#475569;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-text-inverse:#0f172a;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #0000004d;--shadow-glow:0 0 25px #6366f140}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body{padding-top:var(--sat);padding-bottom:var(--sab);padding-left:var(--sal);padding-right:var(--sar);background:var(--color-surface);color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;min-height:100vh;margin:0;line-height:1.6;overflow-x:clip}button,a,input,select,textarea{touch-action:manipulation}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.glass{-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #fff3}:root.dark .glass{background:#1e293bb3;border-color:#33415566}.gradient-primary{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700))}.gradient-accent{background:linear-gradient(135deg, var(--color-accent-400), var(--color-accent-600))}.gradient-hero{background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 40%,#312e81 100%)}.text-gradient{background:linear-gradient(135deg, var(--color-primary-400), var(--color-accent-400));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .4s var(--transition-base) both}.animate-slide-in-right{animation:slideInRight .3s var(--transition-base) both}.animate-pulse-soft{animation:2s ease-in-out infinite pulse-soft}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.katex{font-size:1em!important}.katex-display{margin:.75em 0!important}@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-ease{syntax:"*";inherits:false}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.pin-gate-overlay{z-index:9999;background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 40%,#312e81 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.pin-gate-overlay:before,.pin-gate-overlay:after{content:"";pointer-events:none;filter:blur(80px);opacity:.4;border-radius:50%;position:absolute}.pin-gate-overlay:before{background:radial-gradient(circle,#6366f180,#0000 70%);width:500px;height:500px;animation:8s ease-in-out infinite alternate pin-orb-float;top:-150px;right:-100px}.pin-gate-overlay:after{background:radial-gradient(circle,#10b98159,#0000 70%);width:400px;height:400px;animation:10s ease-in-out infinite alternate-reverse pin-orb-float;bottom:-100px;left:-80px}@keyframes pin-orb-float{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-20px)scale(1.1)}}.pin-gate-card{z-index:1;-webkit-backdrop-filter:blur(24px);text-align:center;background:#ffffff12;border:1px solid #ffffff1f;border-radius:24px;width:100%;max-width:420px;padding:48px 40px;animation:.5s cubic-bezier(.16,1,.3,1) both pin-card-enter;position:relative;box-shadow:0 32px 64px #0006,inset 0 0 0 1px #ffffff0d}@keyframes pin-card-enter{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.pin-gate-avatar-wrapper{justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;display:flex}.pin-gate-avatar{object-fit:cover;border:3px solid #fff6;border-radius:50%;width:72px;height:72px;transition:transform .3s;box-shadow:0 8px 24px #6366f166,0 0 0 2px #818cf899}.pin-gate-avatar:hover{transform:scale(1.08)rotate(4deg)}.pin-gate-creator-link{color:#94a3b8b3;letter-spacing:.02em;margin-top:20px;font-size:.75rem;text-decoration:none;transition:color .2s;display:inline-block}.pin-gate-creator-link:hover{color:#818cf8;text-decoration:underline}.pin-gate-logo{background:linear-gradient(135deg,#818cf8,#6366f1);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;display:flex;box-shadow:0 8px 24px #6366f159}.pin-gate-title{color:#f1f5f9;letter-spacing:-.03em;margin:0 0 8px;font-size:1.5rem;font-weight:800}.pin-gate-subtitle{color:#94a3b8;margin:0 0 32px;font-size:.875rem;line-height:1.5}.pin-digits-row{justify-content:center;gap:10px;margin-bottom:24px;display:flex}.pin-digit-input{color:#f1f5f9;width:48px;height:56px;font-family:var(--font-sans);text-align:center;caret-color:#818cf8;background:#ffffff0f;border:2px solid #ffffff26;border-radius:12px;outline:none;font-size:1.5rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1)}.pin-digit-input[type=password]{-webkit-text-security:disc;letter-spacing:0;font-family:caption,sans-serif}.pin-digit-input:focus{background:#6366f11a;border-color:#818cf8;box-shadow:0 0 0 3px #6366f133}.pin-digit-input.pin-digit--filled{background:#6366f114;border-color:#6366f180}.pin-digit-input.pin-digit--error{background:#f43f5e14;border-color:#f43f5e}.pin-mask-toggle-wrap{justify-content:center;margin-top:-10px;margin-bottom:16px;display:flex}.pin-mask-toggle-btn{color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0f;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.75rem;font-weight:600;transition:all .18s;display:inline-flex}.pin-mask-toggle-btn:hover{color:#f1f5f9;background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-1px)}.pin-mask-toggle-btn:active{transform:translateY(0)}.pin-error-msg{color:#fb7185;justify-content:center;align-items:center;gap:6px;min-height:20px;margin-bottom:20px;font-size:.8125rem;font-weight:500;animation:.3s pin-error-appear;display:flex}@keyframes pin-error-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pin-submit-btn{color:#fff;width:100%;font-family:var(--font-sans);cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:14px;padding:14px 24px;font-size:.9375rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #6366f14d}.pin-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.pin-submit-btn:active:not(:disabled){transform:translateY(0)}.pin-submit-btn:disabled{opacity:.5;cursor:not-allowed}.pin-loading{flex-direction:column;align-items:center;gap:16px;padding:40px 0;display:flex}.pin-spinner{border:3px solid #ffffff1a;border-top-color:#818cf8;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite pin-spin}@keyframes pin-spin{to{transform:rotate(360deg)}}.pin-loading-text{color:#94a3b8;font-size:.875rem}.pin-shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both pin-shake}@keyframes pin-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.pin-gate-overlay.pin-gate--success{animation:.6s .3s both pin-success-fade}@keyframes pin-success-fade{to{opacity:0;pointer-events:none}}.pin-success-icon{background:linear-gradient(135deg,#34d399,#10b981);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;animation:.4s cubic-bezier(.34,1.56,.64,1) both pin-success-pop;display:flex;box-shadow:0 8px 24px #10b98159}@keyframes pin-success-pop{0%{transform:scale(0)}to{transform:scale(1)}}.pin-success-text{color:#f1f5f9;font-size:1.125rem;font-weight:600}@media (width<=480px){.pin-gate-card{margin:0 16px;padding:36px 24px}.pin-digit-input{width:42px;height:50px;font-size:1.25rem}}.tutorial-overlay{z-index:1000;pointer-events:none;position:fixed;inset:0}.tutorial-backdrop{z-index:1000;pointer-events:auto;transition:opacity .3s;position:fixed;inset:0}.tutorial-spotlight-svg{z-index:1000;pointer-events:auto;width:100%;height:100%;position:fixed;inset:0}.tutorial-tooltip{z-index:1002;-webkit-backdrop-filter:blur(20px);pointer-events:auto;background:#fffffff2;border:1px solid #e2e8f0cc;border-radius:16px;width:340px;padding:24px;animation:.35s cubic-bezier(.16,1,.3,1) both tutorial-tooltip-enter;position:fixed;box-shadow:0 20px 40px #0000001f,inset 0 0 0 1px #ffffff80}:root.dark .tutorial-tooltip{background:#1e293bf2;border-color:#33415599;box-shadow:0 20px 40px #0006,inset 0 0 0 1px #ffffff0d}@keyframes tutorial-tooltip-enter{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.tutorial-tooltip-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.tutorial-step-indicator{color:#fff;background:linear-gradient(135deg,#818cf8,#6366f1);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8125rem;font-weight:700;display:flex}.tutorial-step-title{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:700}.tutorial-step-description{color:var(--color-text-secondary);margin:0 0 20px;font-size:.875rem;line-height:1.6}.tutorial-progress-bar{background:var(--color-surface-sunken);border-radius:999px;height:3px;margin-bottom:16px;overflow:hidden}.tutorial-progress-fill{background:linear-gradient(90deg,#818cf8,#6366f1);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.tutorial-actions{justify-content:space-between;align-items:center;display:flex}.tutorial-skip-btn{color:var(--color-text-tertiary);font-family:var(--font-sans);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:6px 10px;font-size:.8125rem;font-weight:500;transition:all .15s}.tutorial-skip-btn:hover{color:var(--color-text-secondary);background:var(--color-surface-sunken)}.tutorial-nav-btns{gap:8px;display:flex}.tutorial-prev-btn,.tutorial-next-btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex}.tutorial-prev-btn{background:var(--color-surface-sunken);color:var(--color-text-secondary);border:1px solid var(--color-border)}.tutorial-prev-btn:hover{background:var(--color-border);color:var(--color-text-primary)}.tutorial-next-btn{color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 2px 8px #6366f140}.tutorial-next-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.tutorial-next-btn:active{transform:translateY(0)}.tutorial-welcome-card{z-index:1002;-webkit-backdrop-filter:blur(24px);text-align:center;pointer-events:auto;background:#fffffff2;border:1px solid #e2e8f0cc;border-radius:20px;width:440px;max-width:calc(100vw - 32px);padding:40px;animation:.4s cubic-bezier(.16,1,.3,1) both tutorial-tooltip-enter;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 32px 64px #00000026,inset 0 0 0 1px #ffffff80}:root.dark .tutorial-welcome-card{background:#1e293bf2;border-color:#33415599;box-shadow:0 32px 64px #00000080,inset 0 0 0 1px #ffffff0d}.tutorial-welcome-icon{background:linear-gradient(135deg,#818cf8,#6366f1);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex;box-shadow:0 12px 28px #6366f14d}.tutorial-welcome-title{color:var(--color-text-primary);letter-spacing:-.03em;margin:0 0 8px;font-size:1.5rem;font-weight:800}.tutorial-welcome-desc{color:var(--color-text-secondary);margin:0 0 28px;font-size:.9375rem;line-height:1.6}.tutorial-welcome-actions{flex-direction:column;gap:10px;display:flex}.tutorial-start-btn{color:#fff;width:100%;font-family:var(--font-sans);cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:14px;padding:14px 24px;font-size:.9375rem;font-weight:600;transition:all .2s;box-shadow:0 4px 16px #6366f14d}.tutorial-start-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px #6366f166}.tutorial-dismiss-btn{border:1px solid var(--color-border);width:100%;color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:14px;padding:12px 24px;font-size:.875rem;font-weight:500;transition:all .15s}.tutorial-dismiss-btn:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.tutorial-restart-btn{border:1px dashed var(--color-border);border-radius:var(--radius-xl);color:var(--color-text-tertiary);font-family:var(--font-sans);cursor:pointer;background:0 0;align-items:center;gap:8px;margin-top:16px;padding:10px 20px;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex}.tutorial-restart-btn:hover{color:var(--color-primary-500);border-color:var(--color-primary-300);background:var(--color-primary-50)}:root.dark .tutorial-restart-btn:hover{background:#6366f11a;border-color:#6366f14d}@media (width<=480px){.tutorial-tooltip{width:300px;padding:20px}.tutorial-welcome-card{padding:28px 20px}}.settings-overlay{z-index:1100;-webkit-backdrop-filter:blur(8px);background:#0f172a99;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out settings-fade-in;display:flex;position:fixed;inset:0}@keyframes settings-fade-in{0%{opacity:0}to{opacity:1}}.settings-modal{background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-xl), 0 0 0 1px #ffffff1a inset;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) settings-slide-up;display:flex;position:relative;overflow:hidden}@keyframes settings-slide-up{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.settings-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.settings-title-wrap{align-items:center;gap:10px;display:flex}.settings-icon-badge{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary-400), var(--color-primary-600));color:#fff;width:36px;height:36px;box-shadow:0 2px 8px var(--shadow-glow);justify-content:center;align-items:center;display:flex}.settings-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:700}.settings-close-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-sunken);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:flex}.settings-close-btn:hover{background:var(--color-danger-500);border-color:var(--color-danger-500);color:#fff}.settings-body{flex-direction:column;gap:24px;padding:20px 24px;display:flex;overflow-y:auto}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin:0;font-size:.8125rem;font-weight:700}.settings-segmented-grid{background:var(--color-surface-sunken);border-radius:var(--radius-lg);border:1px solid var(--color-border);grid-template-columns:repeat(3,1fr);gap:8px;padding:4px;display:grid}.settings-seg-btn{border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.8125rem;font-weight:600;display:flex}.settings-seg-btn:hover{color:var(--color-text-primary)}.settings-seg-btn--active{background:var(--color-surface);color:var(--color-primary-600);box-shadow:var(--shadow-sm)}:root.dark .settings-seg-btn--active{color:var(--color-primary-400)}.settings-accents-grid{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-accent-swatch{border-radius:var(--radius-lg);cursor:pointer;color:#fff;height:44px;transition:all var(--transition-fast);border:2px solid #0000;flex:1;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative}.settings-accent-swatch:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.settings-accent-swatch--active{box-shadow:0 0 0 2px var(--color-text-primary), var(--shadow-md);border-color:#fff;transform:scale(1.05)}.swatch-indigo{background:linear-gradient(135deg,#818cf8,#6366f1)}.swatch-emerald{background:linear-gradient(135deg,#34d399,#10b981)}.swatch-violet{background:linear-gradient(135deg,#a78bfa,#8b5cf6)}.swatch-rose{background:linear-gradient(135deg,#fb7185,#f43f5e)}.swatch-amber{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.swatch-sky{background:linear-gradient(135deg,#38bdf8,#0ea5e9)}.settings-font-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.settings-font-btn{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 8px;display:flex}.settings-font-btn:hover{border-color:var(--color-primary-300);background:var(--color-surface);color:var(--color-text-primary)}.settings-font-btn--active{border-color:var(--color-primary-500);background:var(--color-primary-50);color:var(--color-primary-600);box-shadow:0 0 0 1px var(--color-primary-500);font-weight:700}:root.dark .settings-font-btn--active{color:var(--color-primary-300);background:#6366f126}.settings-font-label{font-size:.75rem}.settings-density-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.settings-density-btn{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:10px;font-size:.8125rem;font-weight:600;display:flex}.settings-density-btn:hover{background:var(--color-surface);color:var(--color-text-primary)}.settings-density-btn--active{border-color:var(--color-primary-500);background:var(--color-primary-50);color:var(--color-primary-600)}:root.dark .settings-density-btn--active{color:var(--color-primary-300);background:#6366f126}.settings-actions-list{flex-direction:column;gap:8px;display:flex}.settings-action-row{border-radius:var(--radius-lg);background:var(--color-surface-sunken);border:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.settings-action-info{flex-direction:column;gap:2px;display:flex}.settings-action-name{color:var(--color-text-primary);font-size:.8125rem;font-weight:600}.settings-action-desc{color:var(--color-text-tertiary);font-size:.75rem}.settings-action-trigger{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;font-size:.75rem;font-weight:600}.settings-action-trigger:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.settings-action-trigger--danger:hover{background:var(--color-danger-500);border-color:var(--color-danger-500);color:#fff}.settings-class-notice{color:var(--color-primary-600);background:#6366f11a;border:1px solid #6366f133;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}:root.dark .settings-class-notice{color:var(--color-primary-400)}.settings-classes-wrap{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap;gap:6px;max-height:140px;padding:8px 10px;display:flex;overflow-y:auto}.settings-class-chip{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8125rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0000000a}.settings-class-chip:hover{border-color:var(--color-primary-400);transform:translateY(-1px)}.settings-class-chip-icon{font-size:.8125rem}.settings-class-chip-text{letter-spacing:.01em}.settings-class-chip-remove{color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0 2px;font-size:.75rem;font-weight:800;line-height:1;display:flex}.settings-class-chip-remove:hover{color:var(--color-danger-500)}.settings-add-class-form{align-items:center;gap:8px;display:flex}.settings-add-class-input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none;flex:1;padding:8px 12px;font-size:.8125rem;font-weight:600}.settings-add-class-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px #6366f126}.settings-add-class-btn{border-radius:var(--radius-md);background:var(--color-primary-600);color:#fff;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border:none;padding:8px 14px;font-size:.8125rem;font-weight:700}.settings-add-class-btn:hover:not(:disabled){background:var(--color-primary-700);transform:translateY(-1px)}.settings-add-class-btn:disabled{opacity:.5;cursor:not-allowed}.settings-class-presets-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.settings-preset-btn{border-radius:var(--radius-sm);background:var(--color-surface);border:1px dashed var(--color-border);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:3px 8px;font-size:.75rem;font-weight:600}.settings-preset-btn:hover{color:var(--color-primary-600);border-color:var(--color-primary-400);background:#6366f10d}.settings-preset-btn--reset{color:var(--color-text-tertiary)}.settings-preset-btn--reset:hover{color:var(--color-danger-500);border-color:var(--color-danger-300);background:#f43f5e0d}.settings-footer{border-top:1px solid var(--color-border);background:var(--color-surface-sunken);justify-content:flex-end;align-items:center;padding:16px 24px;display:flex}.settings-done-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px var(--shadow-glow);border:none;padding:8px 20px;font-size:.875rem;font-weight:600}.settings-done-btn:hover{box-shadow:0 4px 12px var(--shadow-glow);transform:translateY(-1px)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.4"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.exam-math-wrapper{line-height:inherit;color:inherit;text-align:justify;text-justify:inter-word;display:inline}.exam-math-inline{vertical-align:middle;margin:0 2px;line-height:0;display:inline-block}.exam-math-inline .katex{text-rendering:auto;font-size:1.05em;line-height:1.2}.exam-math-block{text-align:center;margin:12px 0;padding:8px 0;display:block;overflow-x:auto}.exam-math-block .katex-display{margin:0!important}.exam-math-block .katex{font-size:1.15em}.exam-math-fallback{font-family:var(--font-mono,monospace);background:var(--color-surface-sunken);border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:2px 6px;font-size:.875em}.katex .base{white-space:nowrap;display:inline-block}.katex .strut{display:inline-block}.exam-table-container{max-width:100%;margin:14px 0;overflow-x:auto}.exam-markdown-table{border-collapse:collapse;background:var(--color-surface,#fff);border:1.5px solid #374151;width:100%;margin:0 auto;font-size:.9375rem}.exam-markdown-table th,.exam-markdown-table td{text-align:center;vertical-align:middle;border:1px solid #4b5563;padding:8px 14px}.exam-markdown-table th{background:var(--color-surface-sunken,#f3f4f6);color:var(--color-text-primary,#111827);letter-spacing:.02em;font-weight:700}.exam-markdown-table tr:nth-child(2n) td{background:#00000004}.exam-text-block{text-align:justify;text-justify:inter-word;display:block}.exam-flowchart-container{background:var(--color-surface-sunken,#f9fafb);border-radius:var(--radius-md,8px);border:1.5px solid #e5e7eb;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:16px 0;padding:14px 18px;display:flex}.exam-stage-box{background:var(--color-surface,#fff);text-align:center;border:1.5px solid #374151;border-radius:4px;justify-content:center;align-items:center;min-width:110px;min-height:52px;padding:8px 16px;font-size:.9375rem;font-weight:500;display:inline-flex;box-shadow:0 1px 3px #0000000d}.exam-stage-box--blank{color:#6b7280;letter-spacing:.08em;border-style:solid}.exam-stage-arrow{color:#4b5563;-webkit-user-select:none;user-select:none;font-size:1.25rem;font-weight:700}.exam-tickbox-list{flex-direction:column;gap:6px;margin:8px 0 12px;display:flex}.exam-tickbox-row{background:#00000004;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;max-width:380px;padding:6px 12px;transition:background .15s;display:flex}.exam-tickbox-row:hover{background:#00000009;border-color:#00000014}.exam-tickbox-label{color:var(--color-text-primary,#1f2937);flex:1;font-size:.9375rem}.exam-tickbox{color:#10b981;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #374151;border-radius:3px;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;min-height:20px;margin-left:14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px 2px #0000000d}.exam-tickbox.checked{background:#ecfdf5;border-color:#10b981}.upload-container{flex-direction:column;gap:20px;width:100%;max-width:680px;display:flex}.upload-tabs-container{background:var(--color-surface-sunken);border-radius:var(--radius-xl);border:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:12px;padding:6px;display:grid}.upload-tab{border-radius:var(--radius-lg);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;background:0 0;border:1.5px solid #0000;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex;position:relative}.upload-tab:hover{background:#ffffff0d;border-color:#6366f133}.upload-tab--active{box-shadow:0 4px 16px #00000014,0 0 0 1px #6366f126;background:var(--color-surface)!important;border-color:var(--color-primary-500)!important}.upload-tab-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.upload-tab-text{flex-direction:column;gap:2px;min-width:0;display:flex}.upload-tab-title{color:var(--color-text-primary);font-size:.9375rem;font-weight:700}.upload-tab-desc{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.upload-tab-badge{color:#fff;text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:999px;padding:2px 7px;font-size:.65rem;font-weight:800;position:absolute;top:-8px;right:8px;box-shadow:0 2px 6px #0ea5e966}.upload-humanities-hint{border-radius:var(--radius-lg);color:var(--color-text-secondary);background:#0ea5e914;border:1px solid #0ea5e940;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.8125rem;line-height:1.5;display:flex}.upload-hint-icon{flex-shrink:0;font-size:1.1rem}.upload-section{flex-direction:column;gap:8px;display:flex}.upload-section-header{justify-content:space-between;align-items:center;display:flex}.upload-section-title{color:var(--color-text-primary);font-size:.9375rem;font-weight:700}.upload-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:600}.upload-badge--required{color:var(--color-primary-600);background:#6366f11a}.upload-badge--optional{background:var(--color-surface-sunken);color:var(--color-text-tertiary)}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);background:var(--color-surface);text-align:center;padding:32px 24px;position:relative}.drop-zone--insert{background:#0ea5e908;border-style:dashed;border-color:#0ea5e959;padding:24px}.drop-zone--insert:hover{background:#0ea5e90f;border-color:#0ea5e9}.drop-zone--secondary{background:var(--color-surface-sunken);border-style:dashed;padding:20px 24px}.drop-zone--secondary:hover{background:var(--color-surface);border-color:var(--color-primary-300)}.drop-zone-title-sm{color:var(--color-primary-600);margin:0 0 4px;font-size:.9375rem;font-weight:600}.drop-zone:hover{border-color:var(--color-primary-300);background:var(--color-primary-50)}.drop-zone--active{border-color:var(--color-primary-500);background:var(--color-primary-50);border-style:solid;transform:scale(1.01);box-shadow:0 0 0 4px #6366f11a}.drop-zone--has-file{border-color:var(--color-accent-400);cursor:default;background:#10b9810a;border-style:solid;padding:24px 32px}.drop-zone--has-file:hover{border-color:var(--color-accent-500);background:#10b9810f}.drop-zone--error{border-color:var(--color-danger-400);background:#f43f5e0a}.drop-zone-input{opacity:0;cursor:pointer;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.drop-zone-content{flex-direction:column;align-items:center;gap:8px;display:flex}.drop-zone-icon{color:var(--color-text-tertiary);transition:all var(--transition-base);margin-bottom:8px}.drop-zone-icon--active{color:var(--color-primary-500);transform:scale(1.15)}.drop-zone-title{color:var(--color-text-primary);margin:0;font-size:1.0625rem;font-weight:700}.drop-zone-subtitle{color:var(--color-text-secondary);margin:0;font-size:.875rem}.drop-zone-browse{color:var(--color-primary-500);transition:text-decoration-color var(--transition-fast);font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.drop-zone:hover .drop-zone-browse{-webkit-text-decoration-color:var(--color-primary-500);text-decoration-color:var(--color-primary-500)}.drop-zone-hint{color:var(--color-text-tertiary);margin:4px 0 0;font-size:.75rem}.file-preview{align-items:center;gap:16px;width:100%;display:flex}.file-preview-icon{color:var(--color-accent-500);flex-shrink:0}.file-preview-info{text-align:left;flex:1;min-width:0}.file-preview-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.file-preview-size{color:var(--color-text-tertiary);margin:2px 0 0;font-size:.8125rem}.file-preview-remove{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;display:flex}.file-preview-remove:hover{border-color:var(--color-danger-400);color:var(--color-danger-500);background:#f43f5e0f}.upload-error{border-radius:var(--radius-lg);color:var(--color-danger-500);background:#f43f5e0f;border:1px solid #f43f5e33;align-items:center;gap:8px;padding:10px 16px;font-size:.8125rem;font-weight:500;display:flex}.upload-error-icon{font-size:1rem}.upload-ai-options-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);padding:16px 20px;box-shadow:0 2px 8px #00000008}.upload-ai-options-card:hover{border-color:var(--color-primary-300);background:var(--color-surface-hover,var(--color-surface))}.upload-toggle-label{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.upload-toggle-info{flex-direction:column;flex:1;gap:4px;display:flex}.upload-toggle-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upload-toggle-icon{font-size:1.125rem}.upload-toggle-title{color:var(--color-text-primary);font-size:.9375rem;font-weight:700}.upload-badge--new{color:var(--color-primary-600);background:linear-gradient(135deg,#6366f126,#a855f726);border:1px solid #6366f133}.upload-toggle-desc{color:var(--color-text-secondary);margin:0;font-size:.8125rem;line-height:1.4}.upload-switch-wrapper{flex-shrink:0;width:48px;height:26px;position:relative}.upload-switch-input{opacity:0;width:0;height:0;position:absolute}.upload-switch-slider{cursor:pointer;background-color:var(--color-border-strong,#cbd5e1);border-radius:999px;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.upload-switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.upload-switch-input:checked+.upload-switch-slider{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600))}.upload-switch-input:focus-visible+.upload-switch-slider{box-shadow:0 0 0 3px var(--color-primary-200)}.upload-switch-input:checked+.upload-switch-slider:before{transform:translate(22px)}.extract-btn{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:.9375rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #6366f14d}.extract-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.extract-btn:active:not(:disabled){transform:translateY(0)}.extract-btn:disabled{opacity:.7;cursor:not-allowed}.extract-btn-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pipeline-progress{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:640px;box-shadow:var(--shadow-md);padding:24px}.pipeline-progress--error{border-color:#f43f5e4d}.pipeline-steps{justify-content:center;align-items:flex-start;gap:0;margin-bottom:20px;display:flex}.pipeline-step-wrapper{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.pipeline-step{background:var(--color-surface-sunken);width:32px;height:32px;color:var(--color-text-tertiary);border:2px solid var(--color-border);z-index:1;transition:all var(--transition-base);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:relative}.pipeline-step--active{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500);animation:2s ease-in-out infinite pulse-soft;box-shadow:0 0 0 4px #6366f126}.pipeline-step--complete{background:var(--color-accent-500);color:#fff;border-color:var(--color-accent-500)}.pipeline-step-label{color:var(--color-text-tertiary);text-align:center;white-space:nowrap;margin-top:6px;font-size:.6875rem;font-weight:500}.pipeline-step-line{background:var(--color-border);z-index:0;height:2px;position:absolute;top:16px;left:calc(50% + 16px);right:calc(16px - 50%)}.pipeline-step-line--complete{background:var(--color-accent-500)}.pipeline-bar-track{background:var(--color-surface-sunken);border-radius:999px;width:100%;height:6px;margin-bottom:16px;overflow:hidden}.pipeline-bar-fill{background:linear-gradient(90deg, var(--color-primary-400), var(--color-primary-600));border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.pipeline-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}.pipeline-status{align-items:center;gap:10px;display:flex}.pipeline-status-icon{font-size:1.125rem}.pipeline-status-text{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.pipeline-error{border-radius:var(--radius-md);background:#f43f5e0d;border:1px solid #f43f5e26;margin-top:12px;padding:12px 16px}.pipeline-error-detail{color:var(--color-danger-500);white-space:pre-wrap;word-break:break-word;max-height:200px;margin:0;font-family:SF Mono,Consolas,monospace;font-size:.75rem;line-height:1.5;overflow-y:auto}@media (width<=640px){.pipeline-step-label{font-size:.6rem}.pipeline-step{width:28px;height:28px;font-size:.7rem}}.crop-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:130;background:#0f172abf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.crop-modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:1100px;max-height:94vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.crop-modal-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-sunken);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.crop-modal-header-left{align-items:center;gap:12px;display:flex}.crop-modal-icon{font-size:1.5rem}.crop-modal-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:800}.crop-modal-subtitle{color:var(--color-text-secondary);margin:2px 0 0;font-size:.8125rem}.crop-modal-close-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex}.crop-modal-close-btn:hover{color:var(--color-danger-500);border-color:var(--color-danger-300);background:#f43f5e14}.crop-modal-toolbar{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 24px;display:flex}.crop-toolbar-group{align-items:center;gap:6px;display:flex}.crop-toolbar-group--right{margin-left:auto}.crop-toolbar-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-right:2px;font-size:.75rem;font-weight:700}.crop-btn-page{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);padding:4px 8px;font-size:.75rem}.crop-btn-page:hover:not(:disabled){background:var(--color-primary-50);border-color:var(--color-primary-400);color:var(--color-primary-600)}.crop-page-indicator{color:var(--color-text-primary);padding:0 4px;font-size:.8125rem;font-weight:700}.crop-btn-tool{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:5px 10px;font-size:.78125rem;font-weight:600}.crop-btn-tool:hover{background:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-600)}.crop-zoom-label{color:var(--color-text-primary);text-align:center;min-width:40px;font-size:.78125rem;font-weight:700}.crop-modal-body{flex:1;grid-template-columns:1fr 340px;gap:16px;min-height:480px;max-height:68vh;padding:16px 24px;display:grid;overflow:hidden}@media (width<=860px){.crop-modal-body{grid-template-columns:1fr;max-height:none;overflow-y:auto}}.crop-workspace-area{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#1e293b;justify-content:center;padding:20px;display:flex;position:relative;overflow:auto}.crop-loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;color:#cbd5e1;border-radius:var(--radius-lg);background:#0f172ab3;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.875rem;display:flex;position:absolute;inset:0}.crop-empty-state{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:380px;margin:auto;padding:30px 20px;display:flex}.crop-empty-icon{font-size:2.5rem}.crop-empty-state h4{color:#f8fafc;margin:0;font-size:1.125rem;font-weight:700}.crop-empty-state p{color:#94a3b8;margin:0;font-size:.875rem;line-height:1.5}.crop-error-state{color:var(--color-danger-400);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px;font-size:.875rem;display:flex}.crop-loading-spinner{border:3px solid #fff3;border-top-color:var(--color-primary-400);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.crop-canvas-wrapper{transition:transform .15s ease-out;display:inline-block}.crop-interactive-container{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-shadow:0 8px 30px #0006}.crop-source-canvas{pointer-events:none;background:#fff;max-width:100%;height:auto;max-height:60vh;display:block}.crop-source-image{pointer-events:none;background:#fff;width:auto;max-width:100%;height:auto;max-height:60vh;display:block;box-shadow:0 4px 20px #0006}.crop-shade-box{pointer-events:none;background:#0f172aa6;position:absolute}.crop-shade-top{top:0;left:0;right:0}.crop-shade-bottom{bottom:0;left:0;right:0}.crop-shade-left{left:0}.crop-shade-right{right:0}.crop-selection-box{border:2px solid var(--color-primary-500);cursor:move;box-sizing:border-box;position:absolute;box-shadow:0 0 0 1px #fffc,inset 0 0 0 1px #ffffff80}.crop-grid-line{pointer-events:none;border-color:#ffffff59;position:absolute}.crop-grid-h1{border-top:1px dashed;top:33.33%;left:0;right:0}.crop-grid-h2{border-top:1px dashed;top:66.66%;left:0;right:0}.crop-grid-v1{border-left:1px dashed;top:0;bottom:0;left:33.33%}.crop-grid-v2{border-left:1px dashed;top:0;bottom:0;left:66.66%}.crop-box-tag{border-radius:var(--radius-sm);color:#fff;pointer-events:none;opacity:.8;background:#0f172abf;padding:2px 6px;font-size:.6875rem;font-weight:700;position:absolute;top:6px;left:6px}.crop-handle{border:2px solid var(--color-primary-600);z-index:2;background:#fff;border-radius:2px;width:12px;height:12px;position:absolute;box-shadow:0 1px 4px #0000004d}.crop-handle-nw{cursor:nwse-resize;top:-6px;left:-6px}.crop-handle-n{cursor:ns-resize;top:-6px;left:calc(50% - 6px)}.crop-handle-ne{cursor:nesw-resize;top:-6px;right:-6px}.crop-handle-e{cursor:ew-resize;top:calc(50% - 6px);right:-6px}.crop-handle-se{cursor:nwse-resize;bottom:-6px;right:-6px}.crop-handle-s{cursor:ns-resize;bottom:-6px;left:calc(50% - 6px)}.crop-handle-sw{cursor:nesw-resize;bottom:-6px;left:-6px}.crop-handle-w{cursor:ew-resize;top:calc(50% - 6px);left:-6px}.crop-preview-sidebar{flex-direction:column;gap:12px;display:flex}.crop-preview-header{justify-content:space-between;align-items:center;display:flex}.crop-preview-title{color:var(--color-text-primary);font-size:.875rem;font-weight:700}.crop-dimensions-badge{background:var(--color-surface-sunken);color:var(--color-text-secondary);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}.crop-preview-card{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex:1;justify-content:center;align-items:center;min-height:200px;max-height:280px;padding:12px;display:flex;overflow:hidden}.crop-preview-img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:100%;box-shadow:var(--shadow-sm);background:#fff}.crop-preview-tips{border-radius:var(--radius-md);background:#6366f10d;border:1px solid #6366f126;padding:12px}.crop-tip-title{color:var(--color-primary-600);margin:0 0 6px;font-size:.78125rem;font-weight:700}.crop-tip-list{color:var(--color-text-secondary);margin:0;padding-left:16px;font-size:.75rem;line-height:1.5}.crop-modal-footer{background:var(--color-surface-elevated);border-top:1px solid var(--color-surface-sunken);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.crop-box-coords{color:var(--color-text-tertiary);font-size:.8125rem;font-weight:600;font-family:var(--font-mono,monospace)}.crop-footer-right{align-items:center;gap:10px;display:flex}.crop-btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:9px 18px;font-size:.875rem;font-weight:600}.crop-btn-secondary:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.crop-btn-primary{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));border-radius:var(--radius-lg);font-family:var(--font-sans);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;padding:9px 20px;font-size:.875rem;font-weight:700;box-shadow:0 2px 8px #6366f14d}.crop-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.crop-btn-primary:disabled{opacity:.6;cursor:not-allowed}.eap-player-card{border-radius:var(--radius-xl,16px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1.5px solid #e2e8f0;margin:14px 0;padding:16px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 20px -2px #0f172a12,0 2px 6px -1px #0f172a0a}.eap-player-card--active{border-color:#38bdf8;box-shadow:0 8px 24px -2px #0ea5e92e,0 2px 8px #0ea5e91a}.eap-player-card:before{content:"";opacity:.9;background:linear-gradient(90deg,#0ea5e9,#6366f1,#10b981);height:3px;position:absolute;top:0;left:0;right:0}.eap-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.eap-header-left{align-items:center;gap:12px;display:flex}.eap-audio-icon-wrap{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.eap-icon{font-size:1.2rem}.eap-wave-bars{align-items:flex-end;gap:2px;height:14px;display:flex;position:absolute;bottom:4px;right:4px}.eap-bar{background:#0284c7;border-radius:1px;width:2px;animation:.8s ease-in-out infinite alternate eapWave}.eap-bar-1{height:4px;animation-delay:.1s}.eap-bar-2{height:10px;animation-delay:.3s}.eap-bar-3{height:14px;animation-delay:.2s}.eap-bar-4{height:6px;animation-delay:.4s}@keyframes eapWave{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.eap-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:800}.eap-sub{color:#64748b;align-items:center;gap:6px;margin-top:2px;font-size:.75rem;font-weight:500;display:flex}.eap-limit-pill{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.eap-limit-pill--exhausted{color:#dc2626;background:#fef2f2;border-color:#fecaca}.eap-limit-pill--unlimited{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.eap-controls-row{align-items:center;gap:16px;display:flex}.eap-main-play-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#2563eb);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 14px #2563eb59}.eap-main-play-btn:hover:not(:disabled){transform:scale(1.06);box-shadow:0 6px 18px #2563eb73}.eap-main-play-btn--playing{background:linear-gradient(135deg,#059669,#10b981);box-shadow:0 4px 14px #10b98159}.eap-main-play-btn--disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.8);box-shadow:none}.eap-play-icon{font-size:1.1rem;line-height:1}.eap-scrubber-group{flex-direction:column;flex:1;gap:4px;display:flex}.eap-time-row{color:#475569;justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;font-size:.75rem;display:flex}.eap-track-scope-label{color:#0284c7;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:.75rem;font-weight:600;display:inline-flex;overflow:hidden}.eap-track-scope-label strong{color:#0369a1;font-weight:700}.eap-scope-icon{font-size:.875rem;line-height:1}.eap-time-display{font-family:var(--font-mono,monospace);color:#475569;flex-shrink:0;align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:inline-flex}.eap-time-divider{opacity:.5;font-weight:400}.eap-slider-wrap{align-items:center;display:flex;position:relative}.eap-readonly-progress{cursor:not-allowed;-webkit-user-select:none;user-select:none;background:#e2e8f0;border-radius:4px;width:100%;height:6px;position:relative;overflow:hidden}.eap-progress-fill{background:linear-gradient(90deg,#0284c7,#0ea5e9);border-radius:4px;height:100%;transition:width .15s linear}.eap-scrubber-range{appearance:none;cursor:pointer;background:#e2e8f0;border-radius:4px;outline:none;width:100%;height:6px;transition:height .15s}.eap-scrubber-range:hover{height:8px}.eap-scrubber-range::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#2563eb;border-radius:50%;width:14px;height:14px;transition:transform .15s;box-shadow:0 2px 6px #2563eb66}.eap-scrubber-range:hover::-webkit-slider-thumb{transform:scale(1.25)}.eap-tools-group{align-items:center;gap:8px;display:flex}.eap-tool-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:6px 10px;font-size:.75rem;font-weight:700;transition:all .15s}.eap-tool-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.eap-vol-wrap{align-items:center;gap:4px;display:flex}.eap-vol-slider{appearance:none;cursor:pointer;background:#cbd5e1;border-radius:2px;outline:none;width:50px;height:4px}.eap-vol-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#475569;border-radius:50%;width:10px;height:10px}.eap-transcript-section{border-top:1px dashed #e2e8f0;margin-top:14px;padding-top:10px}.eap-transcript-toggle-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:.8125rem;font-weight:700;transition:color .15s;display:flex}.eap-transcript-toggle-btn:hover{color:#1d4ed8}.eap-chevron{opacity:.7;font-size:.65rem}.eap-transcript-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;padding:12px 14px}.eap-transcript-text{color:#334155;white-space:pre-wrap;margin:0;font-size:.8125rem;line-height:1.6}.eap-compact-root{background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:8px;max-width:100%;padding:4px 12px 4px 6px;display:inline-flex;box-shadow:0 2px 6px #0000000d}.eap-compact-play-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;display:flex}.eap-compact-play-btn:hover:not(:disabled){background:#0369a1}.eap-compact-info{flex-direction:column;line-height:1.2;display:flex}.eap-compact-title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.75rem;font-weight:700;overflow:hidden}.eap-compact-time{color:#64748b;font-family:monospace;font-size:.6875rem}.eap-limit-badge{color:#0284c7;background:#e0f2fe;border-radius:10px;padding:2px 6px;font-size:.6875rem;font-weight:700}.eap-limit-badge--exhausted{color:#dc2626;background:#fef2f2}.eap-player-card--ielts{border-radius:var(--radius-xl,14px);background:#fff;border:1.5px solid #cbd5e1;margin:0;box-shadow:0 6px 20px -2px #0f172a14}.eap-player-card--ielts:before{background:linear-gradient(90deg,#0ea5e9,#6366f1,#8b5cf6);height:3.5px}.eap-range-badge{color:#0284c7;letter-spacing:.03em;text-transform:uppercase;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:800;display:inline-flex}.eap-readonly-progress{cursor:not-allowed;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.eap-progress-fill{background:linear-gradient(90deg,#0ea5e9,#4f46e5);border-radius:999px;height:100%;transition:width .15s ease-out;box-shadow:0 0 6px #0ea5e959}.sq-inline-gap-container{line-height:2.2;font-size:inherit;color:inherit;word-break:break-word;display:inline}.sq-gap-input-wrap{vertical-align:middle;align-items:center;margin:0 4px;display:inline-flex;position:relative}.sq-gap-badge{color:#fff;box-sizing:border-box;-webkit-user-select:none;user-select:none;letter-spacing:-.02em;background:#0284c7;border:1.5px solid #0284c7;border-right:none;border-radius:6px 0 0 6px;flex-shrink:0;justify-content:center;align-items:center;height:32px;padding:2px 7px;font-size:.725rem;font-weight:800;display:inline-flex}.sq-gap-input{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-left:none;border-radius:0 8px 8px 0;outline:none;width:140px;min-width:110px;max-width:220px;height:32px;padding:4px 10px;font-size:.9375rem;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 2px #0000000a}.sq-gap-input::placeholder{color:#94a3b8;font-size:.8125rem;font-weight:400}.sq-gap-input:focus{background:#fff;border-color:#0284c7;width:170px;box-shadow:0 0 0 3px #0284c72e}.sq-gap-input:hover:not(:focus){border-color:#94a3b8}.sq-gap-review-pill{vertical-align:middle;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;margin:0 4px;padding:3px 10px 3px 4px;font-size:.875rem;font-weight:700;line-height:1.4;display:inline-flex}.sq-gap-num-tag{color:#fff;background:#0f172a;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:800}.sq-gap-val-text{color:#0f172a}.sq-gap-status-icon{font-size:.875rem;font-weight:900}.sq-gap-review-pill--correct{color:#15803d;background:#f0fdf4;border-color:#86efac}.sq-gap-review-pill--correct .sq-gap-num-tag{background:#16a34a}.sq-gap-review-pill--correct .sq-gap-val-text{color:#15803d}.sq-gap-review-pill--incorrect{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.sq-gap-review-pill--incorrect .sq-gap-num-tag{background:#dc2626}.sq-gap-review-pill--incorrect .sq-gap-val-text{color:#b91c1c;opacity:.85;text-decoration:line-through}.sq-gap-incorrect-wrap{align-items:center;gap:6px;display:inline-flex}.sq-gap-key-hint{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:4px;padding:1px 6px;font-size:.75rem;font-weight:800}.q-editor-backdrop{-webkit-backdrop-filter:blur(8px);z-index:120;background:#0f172ab3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.q-editor-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:980px;max-height:94vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.q-editor-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-sunken);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.q-editor-header-left{align-items:center;gap:12px;display:flex}.q-editor-icon{font-size:1.5rem}.q-editor-title{color:var(--color-text-primary);margin:0;font-size:1.1875rem;font-weight:800}.q-editor-subtitle{color:var(--color-text-secondary);margin:2px 0 0;font-size:.8125rem}.q-editor-close-btn{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex}.q-editor-close-btn:hover{color:var(--color-danger-500);border-color:var(--color-danger-300);background:#f43f5e14}.q-editor-tabs{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);gap:4px;padding:8px 24px 0;display:flex;overflow-x:auto}.q-editor-tab-btn{color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;gap:6px;padding:10px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.q-editor-tab-btn:hover{color:var(--color-primary-600)}.q-editor-tab-btn--active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600)}.q-editor-tab-count{background:var(--color-primary-100);color:var(--color-primary-700);border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:700}.q-editor-error{border-radius:var(--radius-md);color:var(--color-danger-500);background:#f43f5e14;border:1px solid #f43f5e40;margin:12px 24px 0;padding:8px 14px;font-size:.8125rem;font-weight:600}.q-editor-body{flex:1;padding:20px 24px;overflow-y:auto}.q-editor-tab-content{flex-direction:column;gap:18px;display:flex}.q-math-toolbar{background:var(--color-surface-sunken);border-radius:var(--radius-lg);border:1px solid var(--color-border);align-items:center;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.q-toolbar-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.75rem;font-weight:700}.q-toolbar-chips{flex-wrap:wrap;gap:6px;display:flex}.q-toolbar-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-mono,monospace);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:4px 10px;font-size:.8125rem;font-weight:600}.q-toolbar-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary-400);color:var(--color-primary-600)}.q-editor-split{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=768px){.q-editor-split{grid-template-columns:1fr}}.q-editor-split-col{flex-direction:column;gap:6px;display:flex}.q-editor-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:700}.q-editor-label code{background:var(--color-surface-sunken);color:var(--color-primary-600);border-radius:4px;padding:1px 4px}.q-editor-textarea{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);width:100%;font-family:var(--font-sans);color:var(--color-text-primary);resize:vertical;transition:border-color var(--transition-fast);padding:12px 14px;font-size:.9375rem;line-height:1.6}.q-editor-textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.q-editor-textarea--sm{padding:8px 12px;font-size:.875rem}.q-editor-preview-box{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:160px;color:var(--color-text-primary);flex:1;padding:12px 16px;font-size:.9375rem;line-height:1.7;overflow-y:auto}.q-editor-preview-placeholder{color:var(--color-text-tertiary);font-size:.875rem;font-style:italic}.q-editor-field{flex-direction:column;gap:6px;display:flex}.q-editor-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);color:var(--color-text-primary);transition:border-color var(--transition-fast);padding:9px 14px;font-size:.875rem}.q-editor-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.q-editor-input--sm{padding:6px 10px;font-size:.8125rem}.q-editor-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);color:var(--color-text-primary);padding:9px 14px;font-size:.875rem}.q-editor-grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.q-editor-url-row{gap:8px;display:flex}.q-editor-diagram-preview{background:var(--color-surface-sunken);border-radius:var(--radius-md);justify-content:center;margin-top:8px;padding:10px;display:flex}.q-editor-diagram-thumb{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:180px}.q-editor-hint{color:var(--color-text-tertiary);font-size:.75rem;font-style:italic}.q-editor-style-picker{flex-direction:column;gap:8px;display:flex}.q-editor-style-radios{flex-wrap:wrap;gap:10px;display:flex}.q-style-radio{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.q-style-radio--active{background:var(--color-primary-50);border-color:var(--color-primary-500);color:var(--color-primary-700)}.q-editor-subhead-row{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.q-editor-subhead{color:var(--color-text-primary);margin:0;font-size:.9375rem;font-weight:700}.q-subs-mark-total{color:var(--color-primary-600);margin-left:8px;font-size:.8125rem}.q-editor-btn-add{background:var(--color-primary-50);border:1px solid var(--color-primary-200);border-radius:var(--radius-md);color:var(--color-primary-600);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;font-size:.78125rem;font-weight:700}.q-editor-btn-add:hover{background:var(--color-primary-500);color:#fff}.q-editor-subs-list{flex-direction:column;gap:12px;display:flex}.q-editor-sub-card{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-left:4px solid var(--color-primary-500);border-radius:0 var(--radius-lg) var(--radius-lg) 0;flex-direction:column;gap:10px;padding:14px;display:flex}.q-editor-sub-header{align-items:center;gap:12px;display:flex}.q-editor-sub-id-input{width:60px;color:var(--color-primary-600);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 8px;font-size:.9375rem;font-weight:800}.q-editor-sub-marks-wrap{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.q-editor-marks-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:55px;padding:5px 8px;font-size:.875rem;font-weight:700}.q-editor-sub-body{flex-direction:column;gap:6px;display:flex}.q-editor-sub-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:700}.q-editor-sub-insights-row{margin-top:4px}.q-editor-sub-insight-field{flex-direction:column;gap:4px;display:flex}.q-editor-options-list{flex-direction:column;gap:8px;display:flex}.q-editor-option-row{align-items:center;gap:8px;display:flex}.q-editor-delete-btn{color:var(--color-danger-500);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:1px solid #0000;padding:6px 10px;font-size:.8125rem;font-weight:600}.q-editor-delete-btn:hover{background:#f43f5e14;border-color:#f43f5e33}.q-editor-empty-card{text-align:center;background:var(--color-surface-sunken);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-tertiary);flex-direction:column;align-items:center;gap:10px;padding:24px;display:flex}.q-editor-empty-hint{color:var(--color-text-tertiary);font-size:.875rem;font-style:italic}.q-editor-section{flex-direction:column;gap:8px;display:flex}.q-editor-fields-list{flex-direction:column;gap:6px;display:flex}.q-editor-field-row{align-items:center;gap:8px;display:flex}.q-editor-row-num{color:var(--color-text-tertiary);min-width:20px;font-size:.8125rem;font-weight:700}.q-editor-footer{background:var(--color-surface-elevated);border-top:1px solid var(--color-surface-sunken);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.q-editor-summary-pill{background:var(--color-surface-sunken);color:var(--color-text-secondary);border-radius:999px;padding:4px 12px;font-size:.8125rem;font-weight:700}.q-editor-footer-right{align-items:center;gap:10px;display:flex}.q-editor-btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:9px 18px;font-size:.875rem;font-weight:600}.q-editor-btn-secondary:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text-primary)}.q-editor-btn-primary{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));border-radius:var(--radius-lg);font-family:var(--font-sans);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;padding:9px 20px;font-size:.875rem;font-weight:700;box-shadow:0 2px 8px #6366f14d}.q-editor-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.q-editor-btn-primary:disabled,.q-editor-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.rbd-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#0f172abf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.rbd-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);flex-direction:column;width:95vw;max-width:1200px;height:90vh;max-height:860px;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #00000080,0 0 0 1px #ffffff0d}.rbd-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.rbd-header-left{align-items:center;gap:14px;display:flex}.rbd-booklet-icon{font-size:2rem;line-height:1}.rbd-title-row{align-items:center;gap:10px;display:flex}.rbd-title{color:var(--color-text-primary);margin:0;font-size:1.2rem;font-weight:800}.rbd-subject-badge{color:#0284c7;text-transform:uppercase;background:#0ea5e91f;border:1px solid #0ea5e94d;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}.rbd-subtitle{color:var(--color-text-secondary);margin:2px 0 0;font-size:.8125rem}.rbd-btn-close{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .15s;display:flex}.rbd-btn-close:hover{background:var(--color-danger-50);color:var(--color-danger-600);border-color:var(--color-danger-200)}.rbd-nav-strip{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:10px 24px;display:flex;overflow-x:auto}.rbd-nav-label{color:var(--color-text-tertiary);white-space:nowrap;font-size:.8125rem;font-weight:700}.rbd-nav-pills{align-items:center;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.rbd-pill{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;transition:all .15s;display:flex}.rbd-pill:hover{background:var(--color-surface);color:var(--color-text-primary);border-color:#38bdf8}.rbd-pill--active{font-weight:700;box-shadow:0 2px 8px #0284c759;color:#fff!important;background:#0284c7!important;border-color:#0284c7!important}.rbd-pill-id{font-weight:800}.rbd-pill-title{text-overflow:ellipsis;opacity:.9;max-width:140px;font-size:.75rem;overflow:hidden}.rbd-body{background:#090d16;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.rbd-viewer-container{flex-direction:column;flex:1;min-height:0;display:flex}.rbd-resource-bar{z-index:10;background:#0f172af2;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:8px 18px;display:flex}.rbd-resource-meta{align-items:center;gap:8px;min-width:0;display:flex}.rbd-res-tag{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;border-radius:6px;padding:3px 8px;font-size:.8125rem;font-weight:800}.rbd-res-name{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.rbd-res-page{color:#94a3b8;font-size:.75rem}.rbd-toolbar{align-items:center;gap:6px;display:flex}.rbd-tool-btn{color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:4px 10px;font-size:.8125rem;font-weight:700;transition:all .15s}.rbd-tool-btn:hover:not(:disabled){color:#38bdf8;background:#334155;border-color:#38bdf8}.rbd-tool-btn:disabled{opacity:.4;cursor:not-allowed}.rbd-tool-btn--reset{color:#38bdf8;background:#0ea5e933;border-color:#0ea5e966}.rbd-zoom-level{color:#94a3b8;text-align:center;min-width:40px;font-family:monospace;font-size:.75rem;font-weight:700}.rbd-viewport{-webkit-user-select:none;user-select:none;background:#0b1120;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.rbd-viewport--draggable{cursor:grab}.rbd-viewport--dragging{cursor:grabbing}.rbd-image-wrap{justify-content:center;align-items:center;max-width:100%;max-height:100%;transition:transform 50ms ease-out;display:flex}.rbd-image{object-fit:contain;pointer-events:none;border-radius:4px;max-width:90vw;max-height:68vh;box-shadow:0 10px 30px #00000080}.rbd-text-content{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:8px;max-width:800px;max-height:80%;padding:24px;font-size:.9375rem;line-height:1.6;overflow-y:auto}.rbd-text-content pre{white-space:pre-wrap;margin:0;font-family:inherit}.rbd-footer-hint{color:#64748b;text-align:center;background:#0f172af2;border-top:1px solid #ffffff0f;padding:6px 16px;font-size:.75rem}.rbd-empty-state,.rbd-no-resources{text-align:center;color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.rbd-empty-icon,.rbd-no-res-icon{opacity:.6;margin-bottom:12px;font-size:3rem}.review-container{flex-direction:column;gap:24px;width:100%;max-width:900px;display:flex}.review-header{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:24px}.review-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.review-header-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-toggle-btn{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.review-toggle-btn:hover{background:var(--color-surface);border-color:var(--color-primary-400);color:var(--color-primary-600)}.review-toggle-btn--active{color:var(--color-accent-600);background:#10b9811a;border-color:#10b9814d}.review-title{color:var(--color-text-primary);margin:0 0 4px;font-size:1.25rem;font-weight:800}.review-subtitle{color:var(--color-text-secondary);margin:0;font-size:.875rem}.review-duplicate-banner{border-radius:var(--radius-xl);color:var(--color-text-primary);background:#f59e0b14;border:1px solid #f59e0b4d;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;display:flex}.review-dup-icon{font-size:1.75rem;line-height:1}.review-dup-content{flex:1;min-width:240px}.review-dup-title{color:#d97706;margin-bottom:2px;font-size:.9375rem;font-weight:700;display:block}.review-dup-desc{color:var(--color-text-secondary);margin:0;font-size:.8125rem;line-height:1.4}.review-dup-actions{align-items:center;gap:8px;display:flex}.review-dup-btn{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#d97706;border:none;padding:8px 14px;font-size:.8125rem;font-weight:600}.review-dup-btn:hover{background:#b45309;transform:translateY(-1px)}.review-meta-grid{flex-wrap:wrap;gap:8px;display:flex}.meta-badge{background:var(--color-surface-sunken);border-radius:var(--radius-md);flex-direction:column;min-width:80px;padding:8px 14px;display:flex}.meta-badge--success{background:#10b98114;border:1px solid #10b98140}.meta-badge--success .meta-badge-value{color:#059669}.meta-badge--warning{background:#f59e0b14;border:1px solid #f59e0b40}.meta-badge--warning .meta-badge-value{color:#d97706}.meta-badge--selected{background:#6366f114;border:1px solid #6366f140}.meta-badge--selected .meta-badge-value{color:#4f46e5}.meta-badge--clickable{cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border)}.meta-badge--clickable:hover{border-color:var(--color-primary-400);background:var(--color-surface);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.meta-badge--neutral{background:var(--color-surface-sunken);border:1px solid var(--color-border)}.meta-badge--neutral .meta-badge-value{color:var(--color-text-primary)}.review-metadata-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.review-metadata-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);width:100%;max-width:560px;overflow:hidden}.review-metadata-modal-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken);justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.review-metadata-modal-title-group{align-items:center;gap:12px;display:flex}.review-metadata-modal-icon{font-size:1.5rem}.review-metadata-modal-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:700}.review-metadata-modal-desc{color:var(--color-text-secondary);margin:2px 0 0;font-size:.8125rem}.review-metadata-modal-close{color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;padding:4px 8px;font-size:1.25rem}.review-metadata-modal-close:hover{background:var(--color-surface);color:var(--color-text-primary)}.review-metadata-modal-body{max-height:70vh;padding:24px;overflow-y:auto}.review-metadata-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.review-meta-field{flex-direction:column;gap:6px;display:flex}.review-meta-field label{color:var(--color-text-primary);font-size:.8125rem;font-weight:600}.review-meta-field input{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast);padding:10px 14px;font-family:inherit;font-size:.875rem}.review-meta-field input:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px #6366f126}.review-metadata-modal-footer{border-top:1px solid var(--color-border);background:var(--color-surface-sunken);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.review-meta-cancel-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;padding:10px 18px;font-size:.875rem;font-weight:600}.review-meta-cancel-btn:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.review-meta-save-btn{background:var(--color-primary-600);border:1px solid var(--color-primary-600);border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:background-color var(--transition-fast);padding:10px 20px;font-size:.875rem;font-weight:600}.review-meta-save-btn:hover{background:var(--color-primary-700)}.meta-badge-sub{margin-left:4px;font-size:.75rem;font-weight:600}.meta-badge-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);font-size:.6875rem;font-weight:600}.meta-badge-value{color:var(--color-text-primary);margin-top:2px;font-size:.9375rem;font-weight:700}.review-selection-bar{border-top:1px solid var(--color-border);align-items:center;gap:12px;margin-top:16px;padding-top:12px;font-size:.875rem;display:flex}.review-select-all-label{color:var(--color-text-primary);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:flex}.review-checkbox{width:18px;height:18px;accent-color:var(--color-accent-600);cursor:pointer}.review-selection-hint{color:var(--color-text-tertiary);font-size:.8125rem}.review-card--unselected{opacity:.45;background:var(--color-surface-sunken);border-style:dashed}.review-card--duplicate{border-color:#f59e0b66}.badge--duplicate{color:#d97706;background:#f59e0b26;font-weight:700}.review-questions{flex-direction:column;gap:12px;display:flex}.review-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);overflow:hidden}.review-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.review-card-header{border-bottom:1px solid var(--color-surface-sunken);background:var(--color-surface-elevated);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:14px 20px;display:flex}.review-card-left{align-items:center;gap:8px;display:flex}.review-card-right{align-items:center;gap:12px;display:flex}.review-q-number{color:var(--color-primary-600);font-size:.9375rem;font-weight:800}.review-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:2px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.badge--easy{color:var(--color-accent-600);background:#10b9811a}.badge--medium{color:#b45309;background:#fbbf241f}.badge--hard{color:var(--color-danger-600);background:#f43f5e1a}.badge--style{background:var(--color-surface-sunken);color:var(--color-text-secondary)}.badge--paper{color:var(--color-primary-600);text-transform:none;letter-spacing:normal;background:#6366f114;border:1px solid #6366f133;font-size:.75rem;font-weight:600}.review-topic{color:var(--color-text-secondary);font-size:.8125rem}.review-marks{color:var(--color-primary-600);font-size:.875rem;font-weight:700}.review-edit-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);margin-left:6px;padding:4px 10px;font-size:.75rem;font-weight:700}.review-edit-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-600)}.review-card-body{color:var(--color-text-primary);padding:16px 20px;font-size:.9375rem;line-height:1.7}.review-diagram{padding:0 20px 16px}.review-diagram-wrap{flex-direction:column;align-items:flex-start;gap:8px;display:inline-flex;position:relative}.review-diagram-img{border-radius:var(--radius-md);border:1px solid var(--color-border);object-fit:contain;background:#fff;max-width:100%;max-height:300px}.review-crop-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:5px;padding:5px 12px;font-size:.78125rem;font-weight:700;display:inline-flex}.review-crop-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary-400);color:var(--color-primary-600)}.review-crop-btn--inline{margin-left:auto}.review-diagram-placeholder{background:var(--color-surface-sunken);border-radius:var(--radius-md);color:var(--color-text-tertiary);align-items:center;gap:8px;margin:0 20px 16px;padding:10px 16px;font-size:.8125rem;display:flex}.review-sub-questions{flex-direction:column;gap:12px;padding:0 20px 16px;display:flex}.review-sub-question{background:var(--color-surface-sunken);border-left:3px solid var(--color-primary-400);border-radius:0 var(--radius-md) var(--radius-md) 0;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.review-sub-header{align-items:flex-start;gap:10px;display:flex}.review-sub-id{color:var(--color-primary-600);min-width:32px;font-size:.9375rem;font-weight:700}.review-sub-text{color:var(--color-text-primary);flex:1;font-size:.875rem;line-height:1.6}.review-sub-marks{color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem;font-weight:700}.review-sub-markscheme{border-radius:var(--radius-sm);background:#10b9810f;border:1px solid #10b98126;align-items:flex-start;gap:8px;margin-top:4px;padding:6px 10px;font-size:.8125rem;display:flex}.review-sub-ms-label{color:var(--color-accent-600);white-space:nowrap;font-weight:600}.review-sub-ms-content{color:var(--color-text-secondary);flex:1}.review-options{flex-direction:column;gap:6px;padding:0 20px 16px;display:flex}.review-option{background:var(--color-surface-sunken);border-radius:var(--radius-md);color:var(--color-text-primary);padding:8px 14px;font-size:.875rem}.review-markscheme{border-top:1px solid var(--color-surface-sunken)}.review-markscheme-toggle{width:100%;color:var(--color-primary-500);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.8125rem;font-weight:600;display:flex}.review-markscheme-toggle:hover{background:var(--color-primary-50)}.review-chevron{transition:transform var(--transition-fast);font-size:1rem;display:inline-block}.review-chevron--open{transform:rotate(90deg)}.review-markscheme-body{flex-direction:column;gap:6px;padding:4px 20px 16px;display:flex}.review-ms-point{color:var(--color-text-secondary);align-items:flex-start;gap:8px;font-size:.8125rem;line-height:1.6;display:flex}.review-ms-bullet{color:var(--color-accent-500);margin-top:1px;font-weight:700}.review-ms-section{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.review-ms-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.review-ms-answer{border-radius:var(--radius-sm);color:var(--color-accent-700,#047857);background:#10b98114;padding:2px 10px;font-size:.8125rem;font-weight:500}.review-insights-pill{color:var(--color-primary-600);background:linear-gradient(135deg,#6366f11f,#a855f71f);border:1px solid #6366f133;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.6875rem;font-weight:600}.review-sub-guidance{border-radius:var(--radius-md);border-left:3px solid var(--color-primary-500);background:#6366f10f;align-items:baseline;gap:8px;padding:6px 10px;font-size:.8125rem;display:flex}.review-sub-misconception{border-radius:var(--radius-md);background:#f59e0b14;border-left:3px solid #f59e0b;align-items:baseline;gap:8px;padding:6px 10px;font-size:.8125rem;display:flex}.review-guidance-badge{color:var(--color-primary-600);white-space:nowrap;font-size:.6875rem;font-weight:700}.review-misconception-badge{color:#d97706;white-space:nowrap;font-size:.6875rem;font-weight:700}.review-sub-guidance-text{color:var(--color-text-secondary);line-height:1.5}.review-guidance-box{border-radius:var(--radius-md);background:#6366f10d;border:1px solid #6366f126;flex-direction:column;gap:6px;margin-top:10px;padding:10px 14px;display:flex}.review-guidance-header{color:var(--color-primary-600);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.review-guidance-list{flex-direction:column;gap:4px;display:flex}.review-guidance-item{color:var(--color-text-secondary);align-items:flex-start;gap:6px;font-size:.8125rem;line-height:1.5;display:flex}.review-guidance-dot{color:var(--color-primary-500);font-weight:700}.review-misconceptions-box{border-radius:var(--radius-md);background:#f59e0b0f;border:1px solid #f59e0b33;flex-direction:column;gap:6px;margin-top:10px;padding:10px 14px;display:flex}.review-misconceptions-header{color:#d97706;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.review-misconceptions-list{flex-direction:column;gap:4px;display:flex}.review-misconception-item{color:var(--color-text-secondary);align-items:flex-start;gap:6px;font-size:.8125rem;line-height:1.5;display:flex}.review-misconception-dot{color:#f59e0b;font-weight:700}.review-actions{background:linear-gradient(to top, var(--color-surface-sunken) 60%, transparent);z-index:10;justify-content:flex-end;gap:12px;padding:16px 0;display:flex;position:sticky;bottom:0}.review-btn{border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.875rem;font-weight:600;display:inline-flex}.review-btn--cancel{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.review-btn--cancel:hover{background:var(--color-surface-sunken);border-color:var(--color-border-hover)}.review-btn--save{background:linear-gradient(135deg, var(--color-accent-500), var(--color-accent-600));color:#fff;box-shadow:0 4px 14px #10b9814d}.review-btn--save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.review-btn--save:disabled{opacity:.7;cursor:not-allowed}.review-inline-qnum-wrap{align-items:center;gap:4px;display:flex}.review-inline-label{color:var(--color-text-tertiary);text-transform:uppercase;font-size:.6875rem;font-weight:700}.review-inline-qnum-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:50px;font-family:var(--font-sans);color:var(--color-text-primary);padding:4px 8px;font-size:.875rem;font-weight:700}.review-inline-select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);color:var(--color-text-primary);cursor:pointer;padding:4px 8px;font-size:.8125rem;font-weight:600}.review-inline-topic-wrap{align-items:center;gap:6px;display:flex}.review-inline-topic-input,.review-inline-subtopic-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);color:var(--color-text-primary);max-width:140px;padding:4px 8px;font-size:.8125rem}.review-inline-stem-editor{flex-direction:column;gap:8px;width:100%;display:flex}.review-inline-textarea{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-family:var(--font-mono,monospace);color:var(--color-text-primary);resize:vertical;transition:border-color var(--transition-fast);padding:8px 12px;font-size:.875rem;line-height:1.45}.review-inline-textarea:focus{border-color:var(--color-primary-500);background:var(--color-surface);outline:none}.review-inline-textarea--sub{font-size:.8125rem}.review-inline-textarea--ms{background:#10b9810a;border-color:#10b98133;font-size:.8125rem}.review-inline-preview{border-radius:var(--radius-md);background:#6366f10a;border:1px dashed #6366f133;padding:8px 12px}.review-preview-label{text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:4px;font-size:.6875rem;font-weight:700;display:block}.review-inline-subid-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:44px;color:var(--color-text-primary);padding:3px 6px;font-size:.8125rem;font-weight:700}.review-inline-subtext-wrap{flex-direction:column;gap:6px;width:100%;display:flex}.review-inline-marks-wrap{align-items:center;gap:4px;display:flex}.review-inline-marks-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:44px;color:var(--color-text-primary);padding:3px 6px;font-size:.8125rem;font-weight:700}.review-tool-btn{border-radius:var(--radius-md);font-family:var(--font-sans);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.review-tool-btn:hover{transform:translateY(-1px)}.review-split-btn{color:#d97706;background:#f59e0b14;border-color:#f59e0b4d}.review-split-btn:hover{background:#f59e0b26;border-color:#d97706}.review-merge-btn{color:#4f46e5;background:#6366f114;border-color:#6366f14d}.review-merge-btn:hover{background:#6366f126;border-color:#4f46e5}.review-delete-btn{color:#dc2626;background:#ef44440f;border-color:#ef444433}.review-delete-btn:hover{background:#ef44441f;border-color:#dc2626}.review-add-subq-btn{background:var(--color-surface-sunken);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-self:flex-start;margin-top:4px;padding:6px 12px;font-size:.8125rem;font-weight:600}.review-add-subq-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600);background:var(--color-surface)}.review-sub-diagram-container{background:var(--color-surface-sunken);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;gap:6px;margin:10px 0 6px;padding:8px;display:flex}.review-sub-diagram-img{object-fit:contain;border-radius:var(--radius-sm);background:#fff;max-width:100%;max-height:240px}.review-sub-diagram-actions{align-items:center;gap:8px;display:flex}.review-sub-crop-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.review-sub-crop-btn:hover{background:var(--color-surface-sunken);border-color:var(--color-primary-400);color:var(--color-primary-600)}.review-sub-crop-btn--remove{color:#dc2626;border-color:#ef444440}.review-sub-crop-btn--remove:hover{background:#ef444414;border-color:#dc2626}.review-sub-diagram-trigger-bar{margin-top:4px}.review-sub-add-diagram-btn{border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:4px;padding:3px 8px;font-size:.6875rem;font-weight:600;display:inline-flex}.review-sub-add-diagram-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600);background:var(--color-surface-sunken)}.review-diagram-bar{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);padding:8px 20px}.review-add-diagram-btn{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.review-add-diagram-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}@media (width<=640px){.review-card-header{flex-direction:column;align-items:flex-start}.review-meta-grid,.review-actions{flex-direction:column}}.upload-page{background:var(--color-surface-sunken);min-height:calc(100vh - 64px);padding:40px 24px 60px}.upload-page-inner{flex-direction:column;align-items:center;max-width:900px;margin:0 auto;display:flex}.upload-page-header{text-align:center;margin-bottom:40px}.upload-page-title{color:var(--color-text-primary);letter-spacing:-.03em;margin:0 0 8px;font-size:1.75rem;font-weight:800}.upload-page-desc{color:var(--color-text-secondary);max-width:500px;margin:0;font-size:1rem;line-height:1.6}.upload-page-center{flex-direction:column;align-items:center;gap:20px;width:100%;display:flex}.upload-retry-btn{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:10px 20px;font-size:.875rem;font-weight:500;display:inline-flex}.upload-retry-btn:hover{background:var(--color-surface-sunken);border-color:var(--color-border-hover)}.upload-success{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);width:100%;max-width:520px;padding:60px 32px}.upload-success-icon{margin-bottom:16px;font-size:3rem}.upload-success-title{color:var(--color-text-primary);margin:0 0 8px;font-size:1.5rem;font-weight:800}.upload-success-desc{color:var(--color-text-secondary);margin:0 0 28px;font-size:.9375rem;line-height:1.6}.upload-success-actions{justify-content:center;gap:12px;display:flex}.upload-success-btn{border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.875rem;font-weight:600;display:inline-flex}.upload-success-btn--primary{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 4px 14px #6366f14d}.upload-success-btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}@media (width<=640px){.upload-page{padding:24px 16px 40px}.upload-page-title{font-size:1.375rem}}.filters-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-sm);flex-direction:column;gap:20px;padding:24px 20px;display:flex;position:sticky;top:84px}.filter-group{flex-direction:column;gap:8px;display:flex}.filter-bookmark-pill{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:10px 14px;font-size:.8125rem;font-weight:700;display:flex}.filter-bookmark-pill:hover{background:#f59e0b14;border-color:#f59e0b4d}.filter-bookmark-pill.active{color:#b45309;background:linear-gradient(135deg,#f59e0b26,#f59e0b40);border-color:#f59e0b}.bookmark-count-badge{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:800}.filter-bookmark-pill.active .bookmark-count-badge{color:#fff;background:#f59e0b;border-color:#f59e0b}.filter-search-hint{color:var(--color-text-tertiary);margin:2px 0 0;font-size:.6875rem;line-height:1.3}.filter-search-hint code{background:var(--color-surface-sunken);font-family:var(--font-mono,monospace);color:var(--color-primary-500);border-radius:3px;padding:1px 4px}.filter-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:700}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--color-text-tertiary);pointer-events:none;font-size:.875rem;position:absolute;left:12px}.search-input{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);padding:10px 36px;font-size:.875rem}.search-input:focus{border-color:var(--color-primary-500);background:var(--color-surface);outline:none;box-shadow:0 0 0 3px #6366f126}.search-clear-btn{color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;padding:4px;font-size:.75rem;position:absolute;right:10px}.search-clear-btn:hover{color:var(--color-danger-500);background:#f43f5e1a}.filter-select{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:10px 14px;font-size:.875rem}.filter-select:focus{border-color:var(--color-primary-500);background:var(--color-surface);outline:none;box-shadow:0 0 0 3px #6366f126}.filter-pills{flex-wrap:wrap;gap:6px;display:flex}.filter-pill{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;font-size:.75rem;font-weight:600}.filter-pill:hover{background:var(--color-surface);border-color:var(--color-primary-300);color:var(--color-primary-600)}.filter-pill--active{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.filter-pill--active:hover{background:var(--color-primary-600);color:#fff}.filter-reset-section{border-top:1px solid var(--color-surface-sunken);flex-direction:column;gap:8px;padding-top:16px;display:flex}.filter-results-info{color:var(--color-text-secondary);font-size:.8125rem}.text-highlight{color:var(--color-primary-600);font-weight:700}.filter-reset-btn{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-danger-500);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:8px 14px;font-size:.8125rem;font-weight:600}.filter-reset-btn:hover{border-color:var(--color-danger-400);background:#f43f5e14;border-style:solid}.q-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.q-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.q-card--selected{border-color:var(--color-primary-500);box-shadow:0 0 0 2px #6366f140, var(--shadow-md);background:linear-gradient(180deg, #6366f105 0%, var(--color-surface) 100%)}.q-card-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-sunken);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;display:flex}.q-card-header-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.q-card-header-right{align-items:center;gap:10px;display:flex}.q-select-label{cursor:pointer;align-items:center;margin-right:4px;display:flex}.q-checkbox{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.q-checkbox-custom{background:var(--color-surface);border:2px solid var(--color-border);width:20px;height:20px;transition:all var(--transition-fast);border-radius:6px;display:inline-block;position:relative}.q-select-label:hover .q-checkbox-custom{border-color:var(--color-primary-400)}.q-checkbox:checked~.q-checkbox-custom{background:var(--color-primary-500);border-color:var(--color-primary-500)}.q-checkbox:checked~.q-checkbox-custom:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.q-bookmark-btn{cursor:pointer;transition:transform var(--transition-fast), filter var(--transition-fast);filter:grayscale();opacity:.5;background:0 0;border:none;padding:2px 4px;font-size:1.125rem;line-height:1}.q-bookmark-btn:hover{opacity:1;filter:grayscale(0);transform:scale(1.25)}.q-bookmark-btn--active{text-shadow:0 0 8px #f59e0b80;filter:grayscale(0)!important;opacity:1!important}.q-number{color:var(--color-primary-600);font-size:1rem;font-weight:800}.q-badge{border-radius:999px;align-items:center;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.q-badge--paper{color:var(--color-primary-600);background:#6366f114;border:1px solid #6366f133}.q-tags-container{border-top:1px dashed var(--color-border);flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:8px;display:flex}.q-tags-label{opacity:.7;font-size:.8125rem}.q-tag-chip{color:var(--color-primary-600);background:#6366f11a;border:1px solid #6366f140;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.q-tag-remove-btn{color:var(--color-primary-500);cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:.625rem;line-height:1}.q-tag-remove-btn:hover{opacity:1;color:#ef4444}.q-tag-add-btn{background:var(--color-surface-sunken);border:1px dashed var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:700}.q-tag-add-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600);background:var(--color-surface)}.q-tag-input-form{align-items:center;gap:4px;display:inline-flex}.q-tag-input{background:var(--color-surface-sunken);border:1px solid var(--color-primary-400);color:var(--color-text-primary);border-radius:999px;outline:none;width:90px;padding:2px 8px;font-size:.6875rem}.q-tag-submit-btn,.q-tag-cancel-btn{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.5625rem;display:inline-flex}.q-tag-submit-btn{color:#10b981;border-color:#10b981}.q-stem-text{text-align:justify;text-justify:inter-word;color:var(--color-text-primary);margin-bottom:12px;line-height:1.65}.q-mcq-letter{background:var(--color-surface-elevated);border:1px solid var(--color-border);width:24px;height:24px;color:var(--color-primary-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:inline-flex}.q-mcq-text{flex:1}.q-badge--easy{color:var(--color-accent-600);background:#10b9811a}.q-badge--medium{color:#b45309;background:#f59e0b1f}.q-badge--hard{color:var(--color-danger-600);background:#f43f5e1a}.q-badge--style{background:var(--color-surface-sunken);color:var(--color-text-secondary)}.q-topic-tag{color:var(--color-text-secondary);background:var(--color-surface-sunken);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;max-width:220px;padding:4px 10px;font-size:.8125rem;font-weight:600;overflow:hidden}.q-subtopic-tag{color:var(--color-text-tertiary);font-weight:400}.q-marks-badge{color:var(--color-primary-600);font-size:.875rem;font-weight:700}.q-card-body{flex-direction:column;flex:1;gap:14px;padding:18px 20px;display:flex}.q-stem-text{color:var(--color-text-primary);text-align:justify;font-size:.9375rem;line-height:1.7}.q-diagram-container{justify-content:center;padding:8px 0;display:flex}.q-diagram-img{border-radius:var(--radius-md);border:1px solid var(--color-border);object-fit:contain;cursor:pointer;max-width:100%;max-height:240px;transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.q-diagram-img:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.q-mcq-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:4px;display:grid}.q-mcq-choice{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);align-items:center;gap:8px;padding:10px 14px;font-size:.875rem;display:flex}.q-sub-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.q-sub-item{background:var(--color-surface-sunken);border-left:3px solid var(--color-primary-400);border-radius:0 var(--radius-md) var(--radius-md) 0;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.q-sub-item-header{align-items:flex-start;gap:10px;display:flex}.q-sub-id{color:var(--color-primary-600);min-width:32px;font-size:.9375rem;font-weight:700}.q-sub-text{color:var(--color-text-primary);text-align:justify;flex:1;font-size:.875rem;line-height:1.6}.q-sub-marks{color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem;font-weight:700}.q-sub-ms{border-radius:var(--radius-sm);background:#10b9810f;border:1px solid #10b98126;align-items:flex-start;gap:8px;padding:6px 10px;font-size:.8125rem;display:flex}.q-ms-label{color:var(--color-accent-600);white-space:nowrap;font-weight:600}.q-ms-content{color:var(--color-text-secondary);flex:1}.q-markscheme-section{border-top:1px solid var(--color-surface-sunken);padding-top:8px}.q-ms-toggle-btn{color:var(--color-primary-600);font-family:var(--font-sans);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:.8125rem;font-weight:600;display:flex}.q-ms-toggle-btn:hover{color:var(--color-primary-700)}.q-ms-chevron{transition:transform var(--transition-fast);font-size:1rem;display:inline-block}.q-ms-chevron--open{transform:rotate(90deg)}.q-ms-body{border-radius:var(--radius-md);background:#10b9810a;border:1px solid #10b98126;flex-direction:column;gap:6px;margin-top:6px;padding:8px 12px;display:flex}.q-ms-point{color:var(--color-text-secondary);align-items:flex-start;gap:8px;font-size:.8125rem;display:flex}.q-ms-bullet{color:var(--color-accent-500);font-weight:700}.q-ms-answers{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.q-ms-answers-label{color:var(--color-text-tertiary);text-transform:uppercase;font-size:.75rem;font-weight:600}.q-ms-answer-pill{border-radius:var(--radius-sm);color:var(--color-accent-600);background:#10b9811a;padding:2px 8px;font-size:.75rem}.q-insights-indicator{color:var(--color-primary-600);background:linear-gradient(135deg,#6366f11f,#a855f71f);border:1px solid #6366f133;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:.6875rem;font-weight:600}.q-sub-guidance{border-radius:var(--radius-sm);border-left:2.5px solid var(--color-primary-500);background:#6366f10d;align-items:baseline;gap:6px;margin-top:4px;padding:4px 8px;font-size:.78125rem;display:flex}.q-sub-misconception{border-radius:var(--radius-sm);background:#f59e0b12;border-left:2.5px solid #f59e0b;align-items:baseline;gap:6px;margin-top:4px;padding:4px 8px;font-size:.78125rem;display:flex}.q-guidance-badge{color:var(--color-primary-600);white-space:nowrap;font-size:.6875rem;font-weight:700}.q-misconception-badge{color:#d97706;white-space:nowrap;font-size:.6875rem;font-weight:700}.q-guidance-text{color:var(--color-text-secondary);line-height:1.4}.q-guidance-container{border-radius:var(--radius-sm);background:#6366f10d;border:1px solid #6366f126;flex-direction:column;gap:4px;margin-top:8px;padding:8px 10px;display:flex}.q-guidance-title{color:var(--color-primary-600);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:5px;font-size:.71875rem;font-weight:700;display:flex}.q-guidance-item{color:var(--color-text-secondary);align-items:flex-start;gap:6px;font-size:.78125rem;line-height:1.45;display:flex}.q-guidance-bullet{color:var(--color-primary-500);font-weight:700}.q-misconceptions-container{border-radius:var(--radius-sm);background:#f59e0b0f;border:1px solid #f59e0b33;flex-direction:column;gap:4px;margin-top:8px;padding:8px 10px;display:flex}.q-misconceptions-title{color:#d97706;text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:5px;font-size:.71875rem;font-weight:700;display:flex}.q-misconception-item{color:var(--color-text-secondary);align-items:flex-start;gap:6px;font-size:.78125rem;line-height:1.45;display:flex}.q-misconception-bullet{color:#f59e0b;font-weight:700}.q-card-footer{background:var(--color-surface-elevated);border-top:1px solid var(--color-surface-sunken);justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;display:flex}.q-card-footer-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.q-action-btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.q-action-btn--preview{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.q-action-btn--preview:hover{background:var(--color-surface-sunken);color:var(--color-text-primary);border-color:var(--color-border-hover)}.q-action-btn--edit{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.q-action-btn--edit:hover{background:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-600)}.q-action-btn--variant{color:var(--color-primary-600);background:linear-gradient(135deg,#6366f114,#a855f71a);border-color:#6366f140;font-weight:700}.q-action-btn--variant:hover{border-color:var(--color-primary-400);background:linear-gradient(135deg,#6366f12e,#a855f738);transform:translateY(-1px)}.q-action-btn--delete{color:var(--color-text-tertiary);background:0 0;border-color:#0000}.q-action-btn--delete:hover{color:var(--color-danger-500);background:#f43f5e1a;border-color:#f43f5e4d}.q-action-btn--add{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 2px 8px var(--shadow-glow)}.q-action-btn--add:hover{box-shadow:0 4px 12px var(--shadow-glow);transform:translateY(-1px)}.q-action-btn--remove{color:var(--color-accent-600);background:#10b9811a;border-color:#10b9814d}.q-action-btn--remove:hover{color:var(--color-danger-600);background:#f43f5e14;border-color:#f43f5e4d}@media (width<=640px){.q-card-header{flex-direction:column;align-items:flex-start}.q-card-footer{flex-direction:column;align-items:stretch}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:100;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:780px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.modal-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-sunken);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header-left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modal-title{color:var(--color-text-primary);margin:0;font-size:1.1875rem;font-weight:800}.modal-close-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.modal-close-btn:hover{color:var(--color-danger-500);border-color:var(--color-danger-300);background:#f43f5e14}.modal-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:18px 20px;display:flex;overflow-y:auto}.modal-meta-row{background:var(--color-surface-sunken);border-radius:var(--radius-md);color:var(--color-text-secondary);flex-wrap:wrap;gap:12px;padding:10px 14px;font-size:.8125rem;display:flex}.modal-insights-badge{color:var(--color-primary-600);background:linear-gradient(135deg,#6366f126,#a855f726);border:1px solid #6366f140;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.modal-header-actions-row{align-items:center;gap:12px;display:flex}.modal-enrich-btn{border-radius:var(--radius-md);color:var(--color-primary-600);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,#6366f11f,#a855f71f);border:1px solid #6366f14d;align-items:center;gap:6px;padding:5px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.modal-enrich-btn:hover:not(:disabled){background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 2px 8px #6366f14d}.modal-enrich-btn:disabled{opacity:.7;cursor:wait}.modal-enrich-spinner{border:2px solid #6366f14d;border-top-color:var(--color-primary-600);border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin}.modal-enrich-error{border-radius:var(--radius-md);color:var(--color-danger-500);background:#f43f5e14;border:1px solid #f43f5e33;margin-bottom:8px;padding:8px 12px;font-size:.8125rem}.modal-sub-guidance{border-radius:var(--radius-md);border-left:3px solid var(--color-primary-500);background:#6366f10f;align-items:baseline;gap:8px;padding:6px 12px;font-size:.8125rem;display:flex}.modal-sub-misconception{border-radius:var(--radius-md);background:#f59e0b14;border-left:3px solid #f59e0b;align-items:baseline;gap:8px;padding:6px 12px;font-size:.8125rem;display:flex}.modal-guidance-badge{color:var(--color-primary-600);white-space:nowrap;font-size:.75rem;font-weight:700}.modal-misconception-badge{color:#d97706;white-space:nowrap;font-size:.75rem;font-weight:700}.modal-guidance-text{color:var(--color-text-secondary);line-height:1.5}.modal-guidance-container{border-radius:var(--radius-md);background:#6366f10f;border:1px solid #6366f133;flex-direction:column;gap:6px;margin-top:10px;padding:12px 16px;display:flex}.modal-guidance-title{color:var(--color-primary-600);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.75rem;font-weight:800;display:flex}.modal-guidance-item{color:var(--color-text-secondary);align-items:flex-start;gap:8px;font-size:.8125rem;line-height:1.5;display:flex}.modal-guidance-bullet{color:var(--color-primary-500);font-weight:700}.modal-misconceptions-container{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b40;flex-direction:column;gap:6px;margin-top:10px;padding:12px 16px;display:flex}.modal-misconceptions-title{color:#d97706;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.75rem;font-weight:800;display:flex}.modal-misconception-item{color:var(--color-text-secondary);align-items:flex-start;gap:8px;font-size:.8125rem;line-height:1.5;display:flex}.modal-misconception-bullet{color:#f59e0b;font-weight:700}.modal-meta-tag strong{color:var(--color-text-primary)}.modal-section{flex-direction:column;gap:8px;display:flex}.modal-section-header-flex{justify-content:space-between;align-items:center;display:flex}.modal-section-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.875rem;font-weight:700}.modal-toggle-ms-btn{color:var(--color-primary-600);cursor:pointer;background:0 0;border:none;font-size:.75rem;font-weight:600;text-decoration:underline}.modal-stem-text{color:var(--color-text-primary);background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-surface-sunken);padding:12px 16px;font-size:.9375rem;line-height:1.65}.modal-diagram-box{background:var(--color-surface-sunken);border-radius:var(--radius-lg);justify-content:center;padding:12px;display:flex}.modal-diagram-img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:260px;box-shadow:var(--shadow-sm);background:#fff}.modal-mcq-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.modal-mcq-choice{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);align-items:center;padding:12px 16px;font-size:.9375rem;display:flex}.modal-sub-list{flex-direction:column;gap:12px;display:flex}.modal-sub-card{background:var(--color-surface-sunken);border-left:3px solid var(--color-primary-500);border-radius:0 var(--radius-md) var(--radius-md) 0;flex-direction:column;gap:8px;padding:14px 18px;display:flex}.modal-sub-header{align-items:flex-start;gap:12px;display:flex}.modal-sub-id{color:var(--color-primary-600);min-width:36px;font-size:1.0625rem;font-weight:800}.modal-sub-text{color:var(--color-text-primary);flex:1;font-size:.9375rem;line-height:1.7}.modal-sub-marks{color:var(--color-text-secondary);white-space:nowrap;font-size:.875rem;font-weight:700}.modal-sub-ms{border-radius:var(--radius-md);background:#10b98114;border:1px solid #10b98133;align-items:flex-start;gap:8px;margin-top:6px;padding:8px 12px;font-size:.875rem;display:flex}.modal-ms-label{color:var(--color-accent-600);white-space:nowrap;font-weight:700}.modal-ms-content{color:var(--color-text-secondary);flex:1}.modal-ms-box{border-radius:var(--radius-lg);background:#10b9810d;border:1px solid #10b98133;flex-direction:column;gap:8px;padding:14px 18px;display:flex}.modal-ms-point{color:var(--color-text-secondary);align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.6;display:flex}.modal-ms-bullet{color:var(--color-accent-500);font-weight:700}.modal-ms-answers{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.modal-ms-answers-label{color:var(--color-text-tertiary);text-transform:uppercase;font-size:.75rem;font-weight:700}.modal-footer{background:var(--color-surface-elevated);border-top:1px solid var(--color-surface-sunken);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.modal-footer-left,.modal-footer-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.modal-action-btn{border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:8px;padding:10px 18px;font-size:.875rem;font-weight:600;display:inline-flex}.modal-action-btn--copy{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.modal-action-btn--copy:hover{background:var(--color-surface-sunken);color:var(--color-text-primary);border-color:var(--color-primary-300)}.modal-action-btn--edit{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.modal-action-btn--edit:hover{background:var(--color-primary-50);border-color:var(--color-primary-400);color:var(--color-primary-600)}.modal-action-btn--variant{color:var(--color-primary-600);background:linear-gradient(135deg,#6366f11a,#a855f71f);border-color:#6366f14d}.modal-action-btn--variant:hover{border-color:var(--color-primary-500);background:linear-gradient(135deg,#6366f133,#a855f740);transform:translateY(-1px)}.modal-action-btn--close{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.modal-action-btn--close:hover{background:var(--color-surface-sunken)}.modal-action-btn--select{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 2px 8px #6366f14d}.modal-action-btn--select:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.modal-action-btn--remove{color:var(--color-accent-600);background:#10b9811f;border-color:#10b9814d}.modal-action-btn--remove:hover{color:var(--color-danger-600);background:#f43f5e1a;border-color:#f43f5e4d}.variant-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:120;background:#0f172abf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.variant-modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:1140px;max-height:calc(100vh - 40px);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.variant-modal-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-sunken);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.variant-header-left{align-items:center;gap:12px;display:flex}.variant-header-icon{border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f126,#a855f733);border:1px solid #6366f14d;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.25rem;display:flex}.variant-modal-title{color:var(--color-text-primary);margin:0;font-size:1.1875rem;font-weight:800}.variant-modal-subtitle{color:var(--color-text-secondary);margin:2px 0 0;font-size:.8125rem}.variant-close-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex}.variant-close-btn:hover{color:var(--color-danger-500);border-color:var(--color-danger-300);background:#f43f5e14}.variant-config-section{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:10px;padding:14px 22px;display:flex}.variant-modes-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.variant-label{color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem;font-weight:700}.variant-mode-chips{flex-wrap:wrap;gap:6px;display:flex}.variant-mode-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.variant-mode-chip:hover:not(:disabled){border-color:var(--color-primary-400);color:var(--color-primary-600);background:var(--color-surface-elevated)}.variant-mode-chip--active{box-shadow:0 2px 8px #6366f14d;background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700))!important;color:#fff!important;border-color:var(--color-primary-600)!important}.variant-instruction-row{align-items:center;gap:8px;display:flex}.variant-instruction-input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-sans);transition:border-color var(--transition-fast);outline:none;flex:1;padding:8px 14px}.variant-instruction-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #6366f11f}.variant-generate-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-600), #7c3aed);color:#fff;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border:none;align-items:center;gap:6px;padding:8px 18px;font-size:.875rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #7c3aed40}.variant-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #7c3aed59}.variant-generate-btn:disabled{opacity:.7;cursor:wait}.variant-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.variant-suggestions-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.variant-sublabel{color:var(--color-text-tertiary);text-transform:uppercase;font-size:.75rem;font-weight:700}.variant-suggestion-chip{border-radius:var(--radius-sm);background:var(--color-surface);border:1px dashed var(--color-border);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);padding:3px 8px;font-size:.75rem}.variant-suggestion-chip:hover{color:var(--color-primary-600);border-color:var(--color-primary-400);background:#6366f10d}.variant-error-alert{border-radius:var(--radius-md);color:var(--color-danger-500);background:#f43f5e14;border:1px solid #f43f5e33;margin:10px 22px 0;padding:8px 12px;font-size:.8125rem}.variant-workspace{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.variant-column{flex-direction:column;min-height:0;display:flex;overflow:hidden}.variant-column--original{background:var(--color-surface-sunken);border-right:1px solid var(--color-border)}.variant-column--generated{background:var(--color-surface)}.variant-column-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.variant-col-badge{border-radius:999px;padding:3px 10px;font-size:.8125rem;font-weight:700}.variant-col-badge--original{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.variant-col-badge--generated{color:var(--color-primary-600);background:linear-gradient(135deg,#6366f126,#a855f726);border:1px solid #6366f14d}.variant-meta-info{color:var(--color-text-tertiary);font-size:.75rem;font-weight:600}.variant-column-scroll{flex-direction:column;flex:1;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.variant-stem-box{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);padding:14px 16px;font-size:.9375rem;line-height:1.65}.variant-stem-box--highlight{background:linear-gradient(#6366f108,#0000);border-color:#6366f14d}.variant-diagram-box{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex}.variant-diagram-box--transferred{background:linear-gradient(180deg, #6366f10a, var(--color-surface));border-color:#6366f159}.variant-diagram-badge{color:var(--color-text-tertiary);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.variant-diagram-badge--transferred{color:var(--color-primary-600);background:#6366f11a;border-color:#6366f140}.variant-diagram-img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:220px}.variant-sub-list{flex-direction:column;gap:10px;display:flex}.variant-sub-item{background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;gap:6px;padding:10px 14px;display:flex}.variant-sub-header{align-items:flex-start;gap:8px;display:flex}.variant-sub-id{color:var(--color-primary-600);min-width:26px;font-size:.9375rem;font-weight:800}.variant-sub-text{color:var(--color-text-primary);flex:1;font-size:.875rem;line-height:1.55}.variant-sub-marks{color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem;font-weight:700}.variant-sub-ms{border-radius:var(--radius-sm);color:var(--color-text-secondary);background:#10b98114;gap:6px;padding:4px 8px;font-size:.8125rem;display:flex}.variant-ms-tag{color:var(--color-accent-600);font-weight:700}.variant-sub-guidance{color:var(--color-primary-600);border-radius:var(--radius-sm);background:#6366f10f;gap:6px;padding:4px 8px;font-size:.75rem;display:flex}.variant-options-list{grid-template-columns:1fr 1fr;gap:8px;display:grid}.variant-option-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);padding:8px 12px;font-size:.875rem}.variant-option-item--mcq{background:#6366f105;border-color:#6366f140}.variant-ms-card{border-radius:var(--radius-md);background:#10b9810d;border:1px solid #10b98133;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.variant-ms-header{color:var(--color-accent-600);font-size:.8125rem;font-weight:700}.variant-ms-points{flex-direction:column;gap:4px;display:flex}.variant-ms-point{color:var(--color-text-secondary);gap:8px;font-size:.8125rem;line-height:1.5;display:flex}.variant-ms-dot{color:var(--color-accent-500);font-weight:700}.variant-insight-box{border-radius:var(--radius-sm);padding:6px 10px;font-size:.75rem;line-height:1.45}.variant-insight-box--guidance{border-left:3px solid var(--color-primary-500);color:var(--color-text-secondary);background:#6366f114}.variant-insight-box--trap{color:var(--color-text-secondary);background:#f59e0b14;border-left:3px solid #f59e0b}.variant-loading-state{flex-direction:column;gap:12px;padding:20px 0;display:flex}.variant-shimmer-box{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-surface-elevated) 50%, var(--color-surface-sunken) 75%);background-size:200% 100%;height:90px;animation:1.5s infinite shimmer}.variant-shimmer-line{background:linear-gradient(90deg, var(--color-surface-sunken) 25%, var(--color-surface-elevated) 50%, var(--color-surface-sunken) 75%);background-size:200% 100%;border-radius:4px;height:16px;animation:1.5s infinite shimmer}.variant-loading-text{color:var(--color-primary-600);text-align:center;margin-top:10px;font-size:.8125rem;font-weight:600}.variant-empty-state{color:var(--color-text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;font-size:.875rem;display:flex}.variant-modal-footer{background:var(--color-surface-elevated);border-top:1px solid var(--color-surface-sunken);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:12px 22px;display:flex}.variant-footer-left{align-items:center;display:flex}.variant-toggle-ms-btn{color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);padding:5px 10px;font-size:.75rem;font-weight:600}.variant-toggle-ms-btn:hover{color:var(--color-text-primary);border-color:var(--color-primary-400)}.variant-footer-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.variant-btn-secondary{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;padding:8px 14px;font-size:.8125rem;font-weight:600}.variant-btn-secondary:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.variant-btn-tool{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);padding:8px 14px;font-size:.8125rem;font-weight:600}.variant-btn-tool:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}.variant-btn-accent{border-radius:var(--radius-md);color:var(--color-accent-600);cursor:pointer;transition:all var(--transition-fast);background:#10b9811f;border:1px solid #10b9814d;padding:8px 14px;font-size:.8125rem;font-weight:700}.variant-btn-accent:hover{background:#10b98133;transform:translateY(-1px)}.variant-btn-primary{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;padding:8px 18px;font-size:.8125rem;font-weight:700;box-shadow:0 2px 8px #6366f14d}.variant-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.variant-btn-primary:disabled{opacity:.7;cursor:wait}.variant-btn--completed{color:#10b981!important;box-shadow:none!important;background:#10b9812e!important;border:1px solid #10b98180!important}.variant-success-pill{color:#10b981;background:#10b9811f;border:1px solid #10b9814d;border-radius:9999px;align-items:center;gap:4px;padding:5px 12px;font-size:.775rem;font-weight:700;display:inline-flex}@media (width<=840px){.variant-workspace{grid-template-columns:1fr;overflow-y:auto}}.assembler-backdrop{-webkit-backdrop-filter:blur(8px);z-index:120;background:#0f172abf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.assembler-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:980px;max-height:calc(100vh - 40px);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.assembler-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-sunken);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.assembler-header-left{align-items:center;gap:12px;display:flex}.assembler-header-icon{border-radius:var(--radius-lg);background:linear-gradient(135deg,#f59e0b26,#ea580c33);border:1px solid #f59e0b4d;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.25rem;display:flex}.assembler-title{color:var(--color-text-primary);margin:0;font-size:1.1875rem;font-weight:800}.assembler-subtitle{color:var(--color-text-secondary);margin:2px 0 0;font-size:.8125rem}.assembler-close-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex}.assembler-close-btn:hover{color:var(--color-danger-500);border-color:var(--color-danger-300);background:#f43f5e14}.assembler-body{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.assembler-alert{border-radius:var(--radius-md);align-items:center;gap:8px;padding:10px 14px;font-size:.8125rem;display:flex}.assembler-alert--error{color:var(--color-danger-500);background:#f43f5e14;border:1px solid #f43f5e40}.assembler-config-grid{grid-template-columns:1.15fr .85fr;gap:20px;display:grid}.assembler-config-col{flex-direction:column;gap:16px;display:flex}.assembler-section{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.assembler-section--full-height{box-sizing:border-box;height:100%}.assembler-section--split{grid-template-columns:1fr 1fr;gap:12px;display:grid}.assembler-label{color:var(--color-text-primary);align-items:center;gap:6px;font-size:.8125rem;font-weight:700;display:flex}.assembler-help-text{color:var(--color-text-tertiary);font-size:.75rem;line-height:1.4}.assembler-marks-row{flex-wrap:wrap;gap:6px;display:flex}.assembler-pill-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:6px 12px;font-size:.8125rem;font-weight:600}.assembler-pill-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}.assembler-pill-btn--active{box-shadow:0 2px 8px #6366f140;background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700))!important;color:#fff!important;border-color:var(--color-primary-600)!important}.assembler-custom-marks-wrap{width:90px;position:relative}.assembler-custom-marks-input{border:1px dashed var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);text-align:center;box-sizing:border-box;border-radius:999px;outline:none;padding:6px 10px;font-size:.8125rem;font-weight:600}.assembler-custom-marks-input:focus,.assembler-custom-marks-input--active{border:1px solid var(--color-primary-500);background:var(--color-surface-elevated)}.assembler-diff-presets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.assembler-diff-card{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;transition:all var(--transition-fast);flex-direction:column;gap:4px;padding:10px;display:flex}.assembler-diff-card:hover{border-color:var(--color-primary-300)}.assembler-diff-card--active{box-shadow:0 0 0 2px #6366f126;border-color:var(--color-primary-500)!important;background:#6366f10a!important}.assembler-diff-card-title{color:var(--color-text-primary);font-size:.8125rem;font-weight:700}.assembler-diff-card-desc{color:var(--color-text-tertiary);flex:1;font-size:.6875rem;line-height:1.35}.assembler-diff-bars{background:var(--color-surface-sunken);border-radius:999px;height:6px;margin-top:4px;display:flex;overflow:hidden}.diff-bar{height:100%}.diff-bar--easy{background:#10b981}.diff-bar--med{background:#f59e0b}.diff-bar--hard{background:#ef4444}.assembler-format-row{flex-wrap:wrap;gap:6px;display:flex}.assembler-select{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);font-size:.8125rem;font-family:var(--font-sans);cursor:pointer;outline:none;padding:7px 10px}.assembler-subject-picker{flex-direction:column;gap:8px;display:flex}.assembler-subject-chips{flex-wrap:wrap;gap:6px;display:flex}.assembler-subject-chip{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.assembler-subject-chip:hover{background:var(--color-surface-elevated);border-color:var(--color-primary-300);color:var(--color-primary-600)}.assembler-subject-chip--active{font-weight:700;box-shadow:0 0 0 2px #6366f126;border-color:var(--color-primary-500)!important;color:var(--color-primary-600)!important;background:linear-gradient(135deg,#6366f11f,#a855f726)!important}.assembler-subject-badge{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-primary-600);border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:700}.assembler-divider{border:none;border-top:1px solid var(--color-border);margin:4px 0}.assembler-topics-header{justify-content:space-between;align-items:center;display:flex}.assembler-topics-actions{color:var(--color-text-tertiary);align-items:center;gap:6px;font-size:.75rem;display:flex}.assembler-text-btn{color:var(--color-primary-600);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:700}.assembler-text-btn:hover{text-decoration:underline}.assembler-add-topic-form{gap:6px;margin:2px 0 6px;display:flex}.assembler-add-topic-input{border-radius:var(--radius-md);border:1px dashed var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:.78125rem;font-family:var(--font-sans);transition:all var(--transition-fast);outline:none;flex:1;padding:6px 10px}.assembler-add-topic-input:focus{border-style:solid;border-color:var(--color-primary-500);background:var(--color-surface-elevated)}.assembler-add-topic-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border:none;padding:6px 12px;font-size:.75rem;font-weight:700}.assembler-add-topic-btn:disabled{opacity:.4;cursor:not-allowed}.assembler-proportion-toolbar{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.assembler-proportion-toggle{gap:4px;display:flex}.assembler-prop-mode-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);flex:1;padding:5px 8px;font-size:.75rem;font-weight:600}.assembler-prop-mode-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.assembler-prop-mode-btn--active{background:var(--color-primary-600)!important;color:#fff!important;border-color:var(--color-primary-700)!important}.assembler-prop-status-row{justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;display:flex}.assembler-prop-total-badge{border-radius:var(--radius-sm);padding:2px 8px;font-weight:700}.assembler-prop-total-badge--ok{color:#059669;background:#10b98126;border:1px solid #10b9814d}.assembler-prop-total-badge--warn{color:#d97706;background:#f59e0b26;border:1px solid #f59e0b4d}.assembler-normalize-btn{color:var(--color-primary-600);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#6366f11a;border:1px solid #6366f140;padding:3px 8px;font-size:.6875rem;font-weight:700}.assembler-normalize-btn:hover{background:var(--color-primary-600);color:#fff}.assembler-topics-list{flex-direction:column;gap:4px;max-height:360px;padding-right:4px;display:flex;overflow-y:auto}.assembler-topics-loading,.assembler-topics-empty{color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;gap:8px;padding:20px;font-size:.8125rem;display:flex}.assembler-topics-spinner{border:2px solid #6366f133;border-top-color:var(--color-primary-600);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.assembler-topic-card{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);transition:all var(--transition-fast);flex-direction:column;gap:6px;padding:6px 10px;display:flex}.assembler-topic-card:hover{background:var(--color-surface-elevated);border-color:var(--color-primary-300)}.assembler-topic-card--selected{background:#6366f10d!important;border-color:#6366f14d!important}.assembler-topic-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.assembler-topic-checkbox{accent-color:var(--color-primary-600);cursor:pointer}.assembler-topic-name{color:var(--color-text-primary);flex:1;font-size:.8125rem;font-weight:500}.assembler-topic-count-pill{color:var(--color-text-tertiary);background:var(--color-surface-sunken);border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:600}.assembler-topic-slider-row{align-items:center;gap:10px;padding-top:2px;padding-left:24px;display:flex}.assembler-topic-range{height:4px;accent-color:var(--color-primary-600);cursor:pointer;flex:1}.assembler-topic-slider-meta{justify-content:flex-end;align-items:center;gap:6px;min-width:100px;display:flex}.assembler-topic-weight-value{color:var(--color-primary-600);font-size:.8125rem;font-weight:700}.assembler-topic-approx-marks{color:var(--color-text-tertiary);font-size:.6875rem}.assembler-preview-container{flex-direction:column;gap:14px;display:flex}.assembler-metrics-strip{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);grid-template-columns:repeat(3,1fr) 2fr;gap:10px;padding:12px 16px;display:grid}.assembler-metric-box{flex-direction:column;gap:4px;display:flex}.assembler-metric-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem;font-weight:700}.assembler-metric-value{color:var(--color-text-primary);align-items:center;gap:6px;font-size:1.0625rem;font-weight:800;display:flex}.assembler-match-tag{color:#059669;border-radius:var(--radius-sm);background:#10b9811f;padding:2px 6px;font-size:.6875rem;font-weight:700}.assembler-diff-tag{color:#d97706;border-radius:var(--radius-sm);background:#f59e0b1f;padding:2px 6px;font-size:.6875rem;font-weight:700}.assembler-live-diff-bar{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);height:18px;margin-top:2px;display:flex;overflow:hidden}.live-diff-fill{color:#fff;text-shadow:0 1px 2px #0006;justify-content:center;align-items:center;height:100%;font-size:.6875rem;font-weight:800;display:flex}.live-diff-fill--easy{background:#10b981}.live-diff-fill--med{background:#f59e0b}.live-diff-fill--hard{background:#ef4444}.assembler-topic-tags-strip{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.assembler-topic-strip-title{color:var(--color-text-secondary);font-size:.75rem;font-weight:700}.assembler-topic-tags{flex-wrap:wrap;gap:6px;display:flex}.assembler-topic-stat-tag{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:2px 8px;font-size:.75rem}.assembler-preview-list{flex-direction:column;gap:8px;max-height:340px;padding-right:4px;display:flex;overflow-y:auto}.assembler-preview-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:10px 14px;display:flex}.assembler-preview-item-header{align-items:center;gap:8px;display:flex}.assembler-q-num{color:var(--color-primary-600);font-size:.8125rem;font-weight:800}.assembler-q-topic{color:var(--color-text-secondary);font-size:.75rem;font-weight:600}.assembler-q-diff{border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:700}.diff-easy{color:#059669;background:#10b9811a}.diff-med{color:#d97706;background:#f59e0b1a}.diff-hard{color:#dc2626;background:#ef44441a}.assembler-q-marks{color:var(--color-text-secondary);margin-left:auto;font-size:.75rem;font-weight:700}.assembler-preview-item-body{color:var(--color-text-primary);font-size:.8125rem;line-height:1.45}.assembler-footer{background:var(--color-surface-elevated);border-top:1px solid var(--color-surface-sunken);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:14px 24px;display:flex}.assembler-footer-left{align-items:center;display:flex}.assembler-footer-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assembler-btn-secondary{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;padding:8px 14px;font-size:.8125rem;font-weight:600}.assembler-btn-secondary:hover{background:var(--color-surface-sunken);color:var(--color-text-primary)}.assembler-btn-tool{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);padding:8px 14px;font-size:.8125rem;font-weight:600}.assembler-btn-tool:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}.assembler-btn-primary{border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,#f59e0b,#ea580c);border:none;padding:8px 18px;font-size:.8125rem;font-weight:700;box-shadow:0 2px 8px #f59e0b4d}.assembler-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #f59e0b66}.assembler-btn-primary:disabled{opacity:.7;cursor:wait}@media (width<=820px){.assembler-config-grid{grid-template-columns:1fr}.assembler-metrics-strip{grid-template-columns:1fr 1fr}}.confirm-overlay{z-index:1200;-webkit-backdrop-filter:blur(8px);background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out confirm-fade-in;display:flex;position:fixed;inset:0}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-card{background:var(--color-surface);border-radius:var(--radius-2xl);border:1px solid var(--color-border);width:100%;max-width:440px;box-shadow:var(--shadow-xl), 0 0 0 1px #ffffff1a inset;text-align:center;padding:28px 24px 20px;animation:.25s cubic-bezier(.16,1,.3,1) confirm-pop;position:relative}@keyframes confirm-pop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-icon-wrap{width:52px;height:52px;color:var(--color-danger-500);background:#f43f5e1f;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex;box-shadow:0 4px 14px #f43f5e33}.confirm-title{color:var(--color-text-primary);margin:0 0 8px;font-size:1.25rem;font-weight:700}.confirm-message{color:var(--color-text-secondary);margin:0 0 24px;font-size:.875rem;line-height:1.5}.confirm-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.confirm-btn{border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;flex:1;padding:10px 16px;font-size:.875rem;font-weight:600}.confirm-btn--cancel{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-secondary)}.confirm-btn--cancel:hover{background:var(--color-border);color:var(--color-text-primary)}.confirm-btn--danger{background:linear-gradient(135deg, var(--color-danger-500), var(--color-danger-600));color:#fff;box-shadow:0 2px 8px #f43f5e4d}.confirm-btn--danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #f43f5e66}.confirm-btn--danger:disabled{opacity:.6;cursor:not-allowed}.bank-page{background:var(--color-surface-sunken);min-height:calc(100vh - 64px);padding:32px 24px 100px}.bank-page-container{max-width:1360px;margin:0 auto}.bank-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.bank-title{color:var(--color-text-primary);letter-spacing:-.03em;margin:0 0 6px;font-size:1.875rem;font-weight:800}.bank-subtitle{color:var(--color-text-secondary);max-width:680px;margin:0;font-size:.9375rem;line-height:1.6}.bank-header-actions{align-items:center;gap:10px;display:flex}.bank-mobile-filter-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;padding:10px 16px;font-size:.875rem;font-weight:600;display:none}.bank-btn{border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.bank-btn--assemble{color:#d97706;background:linear-gradient(135deg,#f59e0b1f,#ea580c26);border-color:#f59e0b59;font-weight:700}.bank-btn--assemble:hover{background:linear-gradient(135deg,#f59e0b38,#ea580c40);border-color:#f59e0b;transform:translateY(-1px);box-shadow:0 2px 10px #f59e0b33}.bank-btn--create{background:var(--color-surface);border-color:var(--color-primary-300);color:var(--color-primary-600);font-weight:700}.bank-btn--create:hover{background:var(--color-primary-50);border-color:var(--color-primary-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.bank-btn--upload{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 2px 8px #6366f140}.bank-btn--upload:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.bank-btn--primary{background:var(--color-primary-500);color:#fff}.bank-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.bank-layout{grid-template-columns:280px 1fr;align-items:start;gap:28px;display:grid}.bank-catalog{flex-direction:column;gap:20px;min-width:0;display:flex}.bank-toast{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);align-items:center;gap:10px;margin-bottom:20px;padding:12px 18px;font-size:.875rem;font-weight:600;display:flex}.bank-toast--success{color:var(--color-accent-600);background:#10b9811f;border:1px solid #10b9814d}:root.dark .bank-toast--success{color:#34d399;background:#10b98133}.bank-toast--error{color:var(--color-danger-500);background:#f43f5e1f;border:1px solid #f43f5e4d}.bank-toolbar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.bank-results-count{color:var(--color-text-secondary);font-size:.875rem}.bank-results-count strong{color:var(--color-text-primary)}.bank-toolbar-left{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.bank-add-all-btn{border-radius:var(--radius-md);color:var(--color-primary-600);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:#6366f114;border:1px solid #6366f159;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;font-weight:700;display:inline-flex}:root.dark .bank-add-all-btn{color:#c7d2fe;background:#6366f12e;border-color:#6366f166}.bank-add-all-btn:hover{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600);transform:translateY(-1px);box-shadow:0 2px 8px #6366f140}.bank-add-all-btn--active{color:var(--color-accent-600);background:#10b9811f;border-color:#10b98166}:root.dark .bank-add-all-btn--active{color:#34d399;background:#10b98133}.bank-toolbar-selection{align-items:center;gap:8px;display:flex}.bank-selected-indicator{color:var(--color-accent-600);background:#10b9811a;border:1px solid #10b98140;border-radius:999px;padding:4px 12px;font-size:.8125rem;font-weight:700}.bank-toolbar-delete-btn{border-radius:var(--radius-md);color:var(--color-danger-500);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:#f43f5e14;border:1px solid #f43f5e4d;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.bank-toolbar-delete-btn:hover{background:var(--color-danger-500);color:#fff;border-color:var(--color-danger-500)}.bank-grid,.bank-skeleton-grid{flex-direction:column;gap:16px;display:flex}.bank-skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);height:220px}.bank-empty{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;padding:60px 24px;display:flex}.bank-empty-icon{margin-bottom:16px;font-size:3.5rem}.bank-empty-title{color:var(--color-text-primary);margin:0 0 8px;font-size:1.25rem;font-weight:800}.bank-empty-desc{color:var(--color-text-secondary);max-width:500px;margin:0 0 24px;font-size:.9375rem;line-height:1.6}.bank-empty-actions{gap:12px;display:flex}.bank-error{text-align:center;border-radius:var(--radius-xl);background:#f43f5e0d;border:1px solid #f43f5e33;flex-direction:column;align-items:center;gap:12px;padding:40px;display:flex}.bank-error-icon{font-size:2rem}.bank-pagination{justify-content:center;align-items:center;gap:16px;padding:24px 0 12px;display:flex}.bank-page-btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:8px 18px;font-size:.8125rem;font-weight:600}.bank-page-btn:hover:not(:disabled){background:var(--color-surface-sunken);border-color:var(--color-primary-400)}.bank-page-btn:disabled{opacity:.4;cursor:not-allowed}.bank-page-info{color:var(--color-text-secondary);font-size:.875rem}.bank-page-info strong{color:var(--color-text-primary)}.bank-basket-bar{z-index:80;width:calc(100% - 48px);max-width:760px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.bank-basket-inner{-webkit-backdrop-filter:blur(16px);color:#fff;background:#0f172aeb;border:1px solid #ffffff26;border-radius:999px;justify-content:space-between;align-items:center;padding:10px 14px 10px 20px;display:flex;box-shadow:0 12px 36px #00000059}.bank-basket-info{align-items:center;gap:12px;display:flex}.bank-basket-badge{background:var(--color-primary-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:800;display:flex;box-shadow:0 0 10px #6366f180}.bank-basket-text{font-size:.875rem;font-weight:600}.bank-basket-actions{align-items:center;gap:10px;display:flex}.bank-basket-btn{font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:999px;padding:8px 18px;font-size:.8125rem;font-weight:700}.bank-basket-btn--clear{color:#fff9;background:0 0}.bank-basket-btn--clear:hover{color:#fff;background:#ffffff1a}.bank-basket-btn--danger{color:#fb7185;background:#f43f5e33;border:1px solid #f43f5e66}.bank-basket-btn--danger:hover{background:var(--color-danger-500);color:#fff;border-color:var(--color-danger-500)}.bank-basket-btn--primary{background:linear-gradient(135deg, var(--color-accent-500), var(--color-accent-600));color:#fff;box-shadow:0 4px 14px #10b98166}.bank-basket-btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98180}@media (width<=900px){.bank-layout{grid-template-columns:1fr}.bank-sidebar{display:none}.bank-sidebar--open{display:block}.bank-mobile-filter-btn{display:inline-block}}@media (width<=640px){.bank-page{padding:20px 16px 100px}.bank-basket-text{display:none}}.header-editor-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);overflow:hidden}.header-editor-card:hover{border-color:var(--color-border-hover)}.header-editor-title-row{background:var(--color-surface-elevated);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.header-editor-title-group{align-items:center;gap:14px;display:flex}.header-editor-icon{font-size:1.5rem}.header-editor-heading{color:var(--color-text-primary);margin:0 0 2px;font-size:1.0625rem;font-weight:800}.header-editor-subheading{color:var(--color-text-secondary);margin:0;font-size:.8125rem}.header-editor-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);color:var(--color-primary-600);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;font-size:.75rem;font-weight:600}.header-editor-toggle:hover{background:var(--color-surface-sunken);border-color:var(--color-primary-400)}.header-editor-form{flex-direction:column;gap:16px;padding:20px;display:flex}.header-template-selector{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.header-template-label{color:var(--color-text-primary);font-size:.8125rem;font-weight:700}.header-template-options{flex-wrap:wrap;gap:8px;display:flex}.header-template-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:6px 14px;font-size:.8125rem;font-weight:600}.header-template-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}.header-template-btn--active{background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff!important}.header-editor-form{border-top:1px solid var(--color-surface-sunken)}.header-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.header-grid-3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.header-field{flex-direction:column;gap:6px;display:flex}.header-field-label-flex{justify-content:space-between;align-items:center;display:flex}.header-field-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:700}.text-required{color:var(--color-danger-500)}.header-suggest-btn{color:var(--color-accent-600);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#10b9811a;border:1px solid #10b98140;padding:1px 6px;font-size:.6875rem;font-weight:700}.header-suggest-btn:hover{background:#10b98133}.header-input{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);padding:10px 14px;font-size:.875rem}.header-input:focus{border-color:var(--color-primary-500);background:var(--color-surface);outline:none;box-shadow:0 0 0 3px #6366f126}.header-textarea{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-sunken);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);resize:vertical;transition:all var(--transition-fast);padding:10px 14px;font-size:.875rem;line-height:1.5}.header-textarea:focus{border-color:var(--color-primary-500);background:var(--color-surface);outline:none;box-shadow:0 0 0 3px #6366f126}@media (width<=768px){.header-grid-2,.header-grid-3{grid-template-columns:1fr}}.test-q-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);overflow:hidden}.test-q-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.test-q-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-surface-sunken);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;display:flex}.test-q-header-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.test-q-drag-handle{color:var(--color-text-tertiary);cursor:grab;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:1.25rem}.test-q-order-badge{color:var(--color-primary-600);font-size:.9375rem;font-weight:800}.test-q-header-right{align-items:center;gap:10px;display:flex}.test-q-marks-pill{color:var(--color-text-primary);font-size:.875rem;font-weight:700}.test-q-reorder-group{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.test-q-reorder-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:.75rem;display:flex}.test-q-reorder-btn:hover:not(:disabled){background:var(--color-surface);color:var(--color-primary-600)}.test-q-reorder-btn:disabled{opacity:.25;cursor:not-allowed}.test-q-edit-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;width:30px;height:30px;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.test-q-edit-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-600)}.test-q-variant-btn{color:var(--color-primary-600);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:linear-gradient(135deg,#6366f114,#a855f71f);border:1px solid #6366f14d;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.test-q-variant-btn:hover{border-color:var(--color-primary-500);background:linear-gradient(135deg,#6366f133,#a855f740);transform:translateY(-1px)}.test-q-remove-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-tertiary);cursor:pointer;width:30px;height:30px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;display:flex}.test-q-remove-btn:hover{border-color:var(--color-danger-400);color:var(--color-danger-500);background:#f43f5e14}.test-q-body{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.test-q-stem{color:var(--color-text-primary);font-size:.9375rem;line-height:1.7}.test-q-diagram-container{justify-content:center;padding:6px 0;display:flex}.test-q-diagram-img{border-radius:var(--radius-md);border:1px solid var(--color-border);object-fit:contain;max-width:100%;max-height:260px}.test-q-sub-list{flex-direction:column;gap:10px;display:flex}.test-q-sub-card{background:var(--color-surface-sunken);border-left:3px solid var(--color-primary-400);border-radius:0 var(--radius-md) var(--radius-md) 0;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.test-q-sub-header{align-items:flex-start;gap:10px;display:flex}.test-q-sub-id{color:var(--color-primary-600);min-width:32px;font-size:.9375rem;font-weight:700}.test-q-sub-text{color:var(--color-text-primary);flex:1;font-size:.875rem;line-height:1.6}.test-q-sub-marks{color:var(--color-text-secondary);font-size:.8125rem;font-weight:700}.test-q-sub-ms{border-radius:var(--radius-sm);background:#10b9810f;border:1px solid #10b98126;align-items:flex-start;gap:8px;padding:6px 10px;font-size:.8125rem;display:flex}.test-q-ms-section{border-top:1px solid var(--color-surface-sunken);padding-top:6px}.test-q-ms-toggle{color:var(--color-primary-600);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.test-q-ms-box{border-radius:var(--radius-md);background:#10b9810a;border:1px solid #10b98126;flex-direction:column;gap:6px;margin-top:6px;padding:8px 12px;display:flex}.test-q-ms-point{color:var(--color-text-secondary);align-items:flex-start;gap:8px;font-size:.8125rem;display:flex}.test-q-ms-bullet{color:var(--color-accent-500);font-weight:700}.test-sidebar{flex-direction:column;gap:20px;display:flex;position:sticky;top:84px}.test-sidebar-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:20px;display:flex}.test-sidebar-title{color:var(--color-text-primary);margin:0;font-size:1.0625rem;font-weight:800}.test-sidebar-subtitle{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.8125rem;font-weight:700}.test-sidebar-muted{color:var(--color-text-tertiary);margin:0;font-size:.8125rem}.test-stat-box{background:var(--color-surface-sunken);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px;display:flex}.test-stat-header{justify-content:space-between;align-items:baseline;display:flex}.test-stat-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:600}.test-stat-value{color:var(--color-text-secondary);font-size:1.125rem}.text-primary{color:var(--color-primary-600);font-size:1.375rem;font-weight:800}.test-progress-track{background:var(--color-border);border-radius:999px;height:8px;overflow:hidden}.test-progress-fill{background:linear-gradient(90deg, var(--color-primary-500), var(--color-primary-600));height:100%;transition:width var(--transition-base);border-radius:999px}.test-progress-fill--complete{background:linear-gradient(90deg, var(--color-accent-500), var(--color-accent-600))}.test-target-row{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:.75rem;display:flex}.test-target-label{font-weight:600}.test-target-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:54px;color:var(--color-text-primary);text-align:center;padding:2px 6px;font-size:.8125rem;font-weight:700}.test-target-unit{color:var(--color-text-tertiary)}.test-metrics-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.test-metric-item{background:var(--color-surface-elevated);border:1px solid var(--color-surface-sunken);border-radius:var(--radius-md);text-align:center;flex-direction:column;gap:2px;padding:10px;display:flex}.test-metric-val{color:var(--color-text-primary);font-size:1.125rem;font-weight:800}.test-metric-lbl{color:var(--color-text-tertiary);text-transform:uppercase;font-size:.6875rem;font-weight:600}.test-diff-container{flex-direction:column;gap:8px;display:flex}.test-diff-bar{background:var(--color-surface-sunken);border-radius:999px;height:10px;display:flex;overflow:hidden}.test-diff-seg{height:100%;transition:width var(--transition-base)}.test-diff-seg--easy{background:#10b981}.test-diff-seg--med{background:#f59e0b}.test-diff-seg--hard{background:#f43f5e}.test-diff-legend{flex-direction:column;gap:4px;display:flex}.test-diff-tag{color:var(--color-text-secondary);font-size:.75rem;font-weight:600}.test-topics-list{flex-direction:column;gap:6px;max-height:200px;display:flex;overflow-y:auto}.test-topic-row{background:var(--color-surface-sunken);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:4px 8px;font-size:.75rem;display:flex}.test-topic-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-weight:600;overflow:hidden}.test-topic-marks{color:var(--color-primary-600);font-weight:700}.test-sidebar-actions{flex-direction:column;gap:10px;display:flex}.test-action-btn{border-radius:var(--radius-lg);width:100%;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);text-align:center;border:1px solid #0000;padding:12px 18px;font-size:.875rem;font-weight:700}.test-action-btn--export{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 4px 14px #6366f14d}.test-action-btn--export:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #6366f166}.test-action-btn--export:disabled{opacity:.5;cursor:not-allowed}.test-action-btn--preview{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.test-action-btn--preview:hover{background:var(--color-surface-sunken);border-color:var(--color-primary-400)}.test-action-btn--save{background:linear-gradient(135deg, var(--color-accent-500), var(--color-accent-600));color:#fff;box-shadow:0 2px 8px #10b9814d}.test-action-btn--save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #10b98166}.test-action-btn--save:disabled{opacity:.5;cursor:not-allowed}.test-action-btn--add{border-color:var(--color-border);color:var(--color-primary-600);background:0 0;font-weight:600}.test-action-btn--add:hover{border-color:var(--color-primary-400);background:#6366f10f}.paper-preview-wrapper{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.paper-print-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:820px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.paper-print-bar-info{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.paper-print-btn{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:8px;padding:8px 18px;font-size:.8125rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #6366f14d}.paper-print-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f166}.exam-paper-sheet{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:4px;width:100%;max-width:820px;padding:48px 56px;font-family:Times New Roman,Times,serif,system-ui;box-shadow:0 10px 40px #00000014}.exam-school-name{text-align:center;letter-spacing:.05em;text-transform:uppercase;margin-bottom:20px;font-size:1.125rem;font-weight:700}.exam-candidate-box{border:1.5px solid #111827;flex-direction:column;gap:12px;margin-bottom:20px;padding:14px 20px;display:flex}.exam-cand-row{align-items:center;gap:24px;width:100%;display:flex}.exam-cand-field{align-items:baseline;gap:8px;display:flex}.exam-cand-field--name{flex:3}.exam-cand-field--class,.exam-cand-field--date{flex:1.5}.exam-cand-label{letter-spacing:.05em;white-space:nowrap;font-family:Arial,Helvetica,sans-serif;font-size:.8125rem;font-weight:700}.exam-cand-line{border-bottom:1px dotted #4b5563;flex:1;height:1px}.exam-divider{border-top:2px solid #111827;margin:16px 0}.exam-meta-block{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.exam-title-text{margin:0 0 4px;font-size:1.375rem;font-weight:700}.exam-subject-text{color:#374151;font-size:1rem;font-weight:700}.exam-meta-right{text-align:right;flex-direction:column;gap:6px;display:flex}.exam-time-text{font-size:.9375rem;font-weight:700}.exam-marks-total-box{border:1px solid #111827;padding:4px 10px;font-size:.875rem;display:inline-block}.exam-instructions-box{background:#f9fafb;border:1px solid #9ca3af;margin-bottom:32px;padding:12px 18px;font-family:Arial,Helvetica,sans-serif;font-size:.8125rem}.exam-inst-title{margin:0 0 6px;font-weight:700}.exam-inst-list{text-align:justify;flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.exam-question-stream{flex-direction:column;gap:36px;display:flex}.exam-q-section{page-break-inside:avoid}.exam-q-row{align-items:flex-start;gap:16px;display:flex}.exam-q-num{min-width:24px;font-size:1.125rem;font-weight:700}.exam-q-content{flex-direction:column;flex:1;gap:14px;display:flex}.exam-q-stem{text-align:justify;font-size:1rem;line-height:1.6}.exam-q-diagram{justify-content:center;padding:8px 0;display:flex}.exam-q-diagram img{object-fit:contain;max-width:100%;max-height:280px}.exam-mcq-table{flex-direction:column;gap:8px;margin-left:16px;display:flex}.exam-mcq-row{font-size:.9375rem}.exam-sub-stream{flex-direction:column;gap:20px;display:flex}.exam-sub-block{flex-direction:column;gap:8px;display:flex}.exam-sub-row{align-items:flex-start;gap:12px;display:flex}.exam-sub-id{min-width:28px;font-weight:700}.exam-sub-text{text-align:justify;flex:1;font-size:.9375rem;line-height:1.6}.exam-mark-right{white-space:nowrap;font-size:.875rem;font-weight:700}.exam-answer-lines{flex-direction:column;gap:14px;margin:8px 0 8px 28px;display:flex}.exam-line{border-bottom:1px dotted #9ca3af;width:100%;height:1px}.exam-q-total-row{justify-content:flex-end;margin-top:4px;display:flex}.exam-q-total-badge{font-size:.875rem;font-weight:700}@media print{body{color:#000!important;background:#fff!important}.no-print,.navbar,.test-sidebar,.paper-print-bar{display:none!important}.paper-preview-wrapper{padding:0!important}.exam-paper-sheet{box-shadow:none!important;border:none!important;max-width:100%!important;padding:0!important}.exam-q-section{page-break-inside:avoid}}.export-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.export-modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);flex-direction:column;width:100%;max-width:860px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 25px 50px -12px #00000059}.export-modal-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.export-modal-title-group{align-items:center;gap:14px;display:flex}.export-modal-icon{font-size:1.75rem}.export-modal-title{color:var(--color-text-primary);margin:0 0 2px;font-size:1.25rem;font-weight:800}.export-modal-subtitle{color:var(--color-text-secondary);margin:0;font-size:.8125rem}.export-modal-close{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-tertiary);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;display:flex}.export-modal-close:hover{color:var(--color-danger-500);border-color:var(--color-danger-300);background:#f43f5e1a}.export-section-title{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;padding:16px 24px 8px;font-size:.875rem;font-weight:800;display:flex}.export-templates-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:8px 24px 16px;display:grid}@media (width<=768px){.export-templates-grid{grid-template-columns:repeat(2,1fr)}}.export-template-card{border-radius:var(--radius-lg);background:var(--color-surface);border:2px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;gap:6px;padding:12px;display:flex}.export-template-card:hover{border-color:var(--color-primary-300);background:var(--color-surface-elevated);transform:translateY(-2px)}.export-template-card--active{box-shadow:0 0 0 2px #6366f133;border-color:var(--color-primary-600)!important;background:linear-gradient(135deg,#6366f114,#a855f714)!important}.export-tmpl-header{justify-content:space-between;align-items:center;display:flex}.export-tmpl-icon{font-size:1.25rem}.export-tmpl-badge{text-transform:uppercase;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-secondary);padding:2px 6px;font-size:.625rem;font-weight:700}.export-template-card--active .export-tmpl-badge{background:var(--color-primary-600);color:#fff}.export-tmpl-name{color:var(--color-text-primary);margin:0;font-size:.8125rem;font-weight:800;line-height:1.3}.export-tmpl-desc{color:var(--color-text-tertiary);margin:0;font-size:.6875rem;line-height:1.4}.export-options-box{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin:0 24px;padding:14px 18px}.export-options-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=640px){.export-options-grid{grid-template-columns:1fr}}.export-opt-col{flex-direction:column;gap:6px;display:flex}.export-opt-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:700}.export-text-input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:.8125rem;font-family:var(--font-sans);transition:all var(--transition-fast);outline:none;padding:6px 10px}.export-text-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px #6366f126}.export-pill-group{flex-wrap:wrap;gap:6px;display:flex}.export-pill-btn{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:5px 10px;font-size:.75rem;font-weight:600}.export-pill-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.export-pill-btn--active{font-weight:700;background:var(--color-primary-600)!important;border-color:var(--color-primary-600)!important;color:#fff!important}.export-grid{grid-template-columns:1fr 1fr;gap:16px;padding:8px 24px 24px;display:grid}@media (width<=640px){.export-grid{grid-template-columns:1fr}}.export-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);flex-direction:column;gap:10px;padding:16px;display:flex}.export-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.export-card-icon-wrap{border-radius:var(--radius-md);justify-content:center;align-items:center;width:38px;height:38px;font-size:1.25rem;display:flex}.export-card-icon--word{background:#2563eb1a}.export-card-icon--ms{background:#f59e0b1a}.export-card-icon--pdf{background:#ef44441a}.export-card-icon--booklet{background:#a855f71a}.export-card-content{flex-direction:column;flex:1;gap:4px;display:flex}.export-card-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.export-card-name{color:var(--color-text-primary);margin:0;font-size:.9375rem;font-weight:800}.export-badge{border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:700}.export-badge--word{color:#2563eb;background:#2563eb1a}.export-badge--pdf{color:#ef4444;background:#ef44441a}.export-card-desc{color:var(--color-text-secondary);margin:0;font-size:.75rem;line-height:1.45}.export-card-action-btn{border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);cursor:pointer;background:linear-gradient(135deg, var(--color-primary-600), var(--color-primary-700));border:1px solid var(--color-primary-600);color:#fff;transition:all var(--transition-fast);text-align:center;margin-top:auto;padding:8px 14px;font-size:.8125rem;font-weight:700}.export-card-action-btn:hover{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600));transform:translateY(-1px);box-shadow:0 4px 12px #6366f140}.export-card-split-btns{gap:8px;margin-top:auto;display:flex}.export-card-action-btn--sub{background:var(--color-surface-sunken);color:var(--color-text-primary);border-color:var(--color-border)}.export-card-action-btn--sub:hover{background:var(--color-surface-elevated);border-color:var(--color-primary-400);color:var(--color-primary-600)}.export-loading-banner{color:var(--color-primary-600);background:#6366f11a;border-top:1px solid #6366f133;align-items:center;gap:12px;padding:12px 24px;font-size:.8125rem;font-weight:600;display:flex}.export-spinner{border:2px solid #6366f133;border-top-color:var(--color-primary-600);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.share-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172ab3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.share-modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 25px 50px -12px #00000059}.share-modal-header{background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.share-modal-title-group{align-items:center;gap:12px;display:flex}.share-modal-icon{font-size:1.5rem}.share-modal-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:800}.share-modal-subtitle{color:var(--color-text-secondary);margin:0;font-size:.75rem}.share-modal-close{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-tertiary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.share-modal-close:hover{color:#ef4444;background:#ef44441a}.share-modal-body{flex-direction:column;gap:20px;padding:24px;display:flex}.share-section-box{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:18px 20px}.share-section-heading{color:var(--color-text-primary);margin:0 0 4px;font-size:.875rem;font-weight:800}.share-section-desc{color:var(--color-text-secondary);margin:0 0 14px;font-size:.75rem;line-height:1.4}.share-code-display-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.quiz-code-badge-wrap{background:var(--color-surface);border:1.5px solid var(--color-primary-400);border-radius:var(--radius-lg);align-items:center;gap:8px;padding:6px 14px;display:flex}.quiz-code-label{color:var(--color-text-tertiary);font-size:.6875rem;font-weight:800}.quiz-code-text{font-family:var(--font-mono,monospace);color:var(--color-primary-500);letter-spacing:.05em;font-size:1.125rem;font-weight:900}.quiz-code-copy-btn{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;padding:4px 8px;font-size:.75rem;font-weight:700}.quiz-code-copy-btn:hover{background:var(--color-primary-500);color:#fff}.share-link-input-group{gap:8px;display:flex}.share-link-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8125rem;font-family:var(--font-mono,monospace);outline:none;flex:1;padding:8px 12px}.share-link-copy-btn{background:var(--color-primary-600);color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:8px 14px;font-size:.8125rem;font-weight:700}.share-link-copy-btn:hover{background:var(--color-primary-500)}.share-action-btn{border-radius:var(--radius-md);cursor:pointer;text-align:center;width:100%;transition:all var(--transition-fast);padding:10px 16px;font-size:.8125rem;font-weight:700}.share-action-btn--html{color:#fff;background:linear-gradient(135deg,#059669,#10b981);border:none}.share-action-btn--html:hover{background:linear-gradient(135deg,#10b981,#34d399);transform:translateY(-1px)}.share-lms-grid{flex-direction:column;gap:10px;display:flex}.share-lms-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 14px;display:flex}.share-lms-card:hover{border-color:var(--color-primary-400);transform:translate(2px)}.lms-icon{font-size:1.25rem}.lms-info{flex-direction:column;flex:1;display:flex}.lms-info strong{color:var(--color-text-primary);font-size:.8125rem}.lms-info span{color:var(--color-text-tertiary);font-size:.6875rem}.lms-export-badge{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;padding:4px 10px;font-size:.75rem;font-weight:700}.share-lms-card:hover .lms-export-badge{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}.bam-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1100;background:#0f172abf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.bam-modal{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-2xl,18px);flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.bam-modal--multi{max-width:940px}.bam-header{border-bottom:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-elevated,#f8fafc);justify-content:space-between;align-items:flex-start;padding:18px 24px;display:flex}.bam-title-group{align-items:flex-start;gap:12px;display:flex}.bam-icon{font-size:1.75rem;line-height:1}.bam-title{color:var(--color-text-primary,#0f172a);margin:0 0 4px;font-size:1.15rem;font-weight:800}.bam-sub{color:var(--color-text-secondary,#64748b);margin:0;font-size:.78125rem;line-height:1.4}.bam-close-btn{background:var(--color-surface,#fff);border:1px solid var(--color-border,#cbd5e1);color:var(--color-text-secondary,#64748b);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.bam-close-btn:hover{color:var(--color-text-primary,#0f172a);border-color:#0284c7}.bam-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.bam-timeline-card{background:var(--color-surface-sunken,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.bam-timeline-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.bam-timeline-title{color:var(--color-text-primary,#0f172a);text-transform:uppercase;letter-spacing:.5px;font-size:.8125rem;font-weight:800}.bam-quick-actions{align-items:center;gap:8px;display:flex}.bam-pill-btn{background:var(--color-surface,#fff);border:1px solid var(--color-border,#cbd5e1);color:var(--color-text-primary,#0f172a);cursor:pointer;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:700;transition:all .15s}.bam-pill-btn:hover{background:#f1f5f9;border-color:#0284c7}.bam-pill-btn--add{color:#fff;background:#0284c7;border-color:#0284c7}.bam-pill-btn--add:hover{background:#0369a1}.bam-meter-track{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;flex-wrap:wrap;gap:4px;max-height:100px;padding:8px;display:flex;overflow-y:auto}.bam-meter-slot{color:#94a3b8;cursor:pointer;background:#f1f5f9;border:1px dashed #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.6875rem;font-weight:700;transition:all .15s;display:flex}.bam-meter-slot:hover{z-index:2;transform:scale(1.1)}.bam-meter-slot--covered{border-style:solid}.bam-meter-slot--ready{box-shadow:0 2px 4px #0000001a}.bam-meter-slot--active{outline-offset:1px;outline:2px solid #0f172a}.bam-sections-container{grid-template-columns:260px 1fr;gap:16px;min-height:380px;display:grid}@media (width<=768px){.bam-sections-container{grid-template-columns:1fr}}.bam-sections-nav{background:var(--color-surface-sunken,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.bam-sections-nav-header{color:var(--color-text-secondary,#64748b);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-elevated,#fff);padding:10px 14px;font-size:.75rem;font-weight:800}.bam-sections-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.bam-section-tab{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);cursor:pointer;border-left-width:4px;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;transition:all .15s;display:flex}.bam-section-tab:hover{border-color:#cbd5e1;transform:translate(2px)}.bam-section-tab--active{border-color:#0284c7;box-shadow:0 2px 6px #0284c726}.bam-sec-tab-top{justify-content:space-between;align-items:center;display:flex}.bam-sec-badge{border-radius:4px;padding:2px 6px;font-size:.6875rem;font-weight:800}.bam-sec-status-dot{background:#cbd5e1;border-radius:50%;width:8px;height:8px}.bam-sec-status-dot--ready{background:#10b981;box-shadow:0 0 6px #10b98199}.bam-sec-tab-title{color:var(--color-text-primary,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;overflow:hidden}.bam-section-editor{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;flex-direction:column;gap:14px;padding:16px;display:flex;overflow-y:auto}.bam-sec-header-row{border-bottom:1px solid var(--color-border,#e2e8f0);align-items:flex-end;gap:12px;padding-bottom:12px;display:flex}.bam-sec-range-group{align-items:flex-end;gap:6px;display:flex}.bam-range-sep{color:var(--color-text-secondary,#64748b);margin-bottom:8px;font-size:.8125rem;font-weight:700}.bam-delete-sec-btn{color:#ef4444;cursor:pointer;background:#ef444414;border:1px solid #ef444440;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.bam-delete-sec-btn:hover{color:#fff;background:#ef4444}.bam-label{color:var(--color-text-secondary,#64748b);margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.bam-input{background:var(--color-surface-sunken,#f8fafc);border:1.5px solid var(--color-border,#cbd5e1);width:100%;color:var(--color-text-primary,#0f172a);box-sizing:border-box;border-radius:8px;outline:none;padding:7px 10px;font-size:.84375rem;font-weight:600}.bam-input:focus{background:#fff;border-color:#0284c7}.bam-input--num{text-align:center;width:65px}.bam-select,.bam-textarea{background:var(--color-surface-sunken,#f8fafc);border:1.5px solid var(--color-border,#cbd5e1);width:100%;color:var(--color-text-primary,#0f172a);box-sizing:border-box;border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:.84375rem}.bam-select:focus,.bam-textarea:focus{background:#fff;border-color:#0284c7}.bam-attached-preview-box{background:#0284c70a;border:1.5px solid #0284c74d;border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.bam-attached-top-bar{justify-content:space-between;align-items:center;display:flex}.bam-attached-tag{color:#0284c7;text-transform:uppercase;font-size:.8125rem;font-weight:800}.bam-btn-sm-danger{color:#ef4444;cursor:pointer;background:0 0;border:none;font-size:.75rem;font-weight:700;text-decoration:underline}.bam-track-picker-card{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-sunken,#f8fafc);border-radius:10px;overflow:hidden}.bam-picker-tabs{background:var(--color-surface-elevated,#fff);border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;overflow-x:auto}.bam-tab-btn{color:var(--color-text-secondary,#64748b);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 12px;font-size:.78125rem;font-weight:700;transition:all .15s}.bam-tab-btn:hover{color:#0284c7}.bam-tab-btn--active{color:#0284c7;background:#0284c70d;border-bottom-color:#0284c7}.bam-drawer-body{padding:12px}.bam-lib-pane{flex-direction:column;gap:8px;display:flex}.bam-lib-scroll-list{flex-direction:column;gap:6px;max-height:200px;display:flex;overflow-y:auto}.bam-lib-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.bam-lib-card:hover{border-color:#0284c7}.bam-lib-card-title{color:var(--color-text-primary,#0f172a);font-size:.8125rem;font-weight:700}.bam-lib-card-sub{color:var(--color-text-secondary,#64748b);font-size:.6875rem}.bam-lib-card-snippet{color:#0284c7;margin-top:2px;font-size:.6875rem;font-style:italic}.bam-select-track-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#0284c7;border:none;border-radius:6px;padding:5px 10px;font-size:.75rem;font-weight:700}.bam-select-track-btn:hover{background:#0369a1}.bam-upload-dropzone{text-align:center;background:var(--color-surface,#fff);border:2px dashed #cbd5e1;border-radius:8px;padding:24px}.bam-upload-btn-label{color:#fff;cursor:pointer;background:#0284c7;border-radius:8px;padding:8px 16px;font-size:.8125rem;font-weight:700;display:inline-block}.bam-upload-btn-label:hover{background:#0369a1}.bam-record-pane{text-align:center;padding:16px}.bam-btn-record{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;padding:10px 18px;font-size:.84375rem;font-weight:700}.bam-recording-live{color:#ef4444;justify-content:center;align-items:center;gap:12px;font-weight:700;display:flex}.bam-pulse-dot{background:#ef4444;border-radius:50%;width:10px;height:10px;animation:1s infinite pulse}.bam-btn-stop{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:700}.bam-proc-banner{color:#0284c7;background:#0284c71a;border:1px solid #0284c7;border-radius:8px;padding:8px 14px;font-size:.8125rem;font-weight:600}.bam-footer{border-top:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-elevated,#f8fafc);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.bam-btn-primary{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;padding:9px 18px;font-size:.84375rem;font-weight:700;transition:all .15s}.bam-btn-primary:hover:not(:disabled){background:#0369a1;box-shadow:0 4px 12px #0284c74d}.bam-btn-secondary{background:var(--color-surface,#fff);border:1px solid var(--color-border,#cbd5e1);color:var(--color-text-primary,#0f172a);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:.8125rem;font-weight:700}.bam-btn-danger{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:8px;padding:8px 14px;font-size:.75rem;font-weight:700}.bam-btn-danger:hover{background:#ef444414}.builder-page{background:var(--color-surface-sunken);min-height:calc(100vh - 64px);padding:32px 24px 100px}.builder-container{flex-direction:column;gap:24px;max-width:1360px;margin:0 auto;display:flex}.builder-top-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.builder-title{color:var(--color-text-primary);letter-spacing:-.03em;margin:0 0 6px;font-size:1.875rem;font-weight:800}.builder-subtitle{color:var(--color-text-secondary);max-width:640px;margin:0;font-size:.9375rem;line-height:1.6}.builder-view-switcher{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:4px;display:flex}.builder-assemble-btn{border-radius:var(--radius-md);color:#d97706;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,#f59e0b1f,#ea580c26);border:1px solid #f59e0b59;padding:8px 16px;font-size:.8125rem;font-weight:700}.builder-assemble-btn:hover{background:linear-gradient(135deg,#f59e0b38,#ea580c40);border-color:#f59e0b;transform:translateY(-1px)}.builder-share-top-btn{border-radius:var(--radius-md);color:var(--color-primary-500);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:#6366f11f;border:1.5px solid #6366f14d;padding:8px 14px;font-size:.8125rem;font-weight:700}.builder-share-top-btn:hover:not(:disabled){border-color:var(--color-primary-500);background:#6366f133;transform:translateY(-1px)}.builder-share-top-btn:disabled{opacity:.4;cursor:not-allowed}.builder-audio-top-btn{border-radius:var(--radius-md);color:#38bdf8;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:#38bdf81f;border:1.5px solid #38bdf859;padding:8px 14px;font-size:.8125rem;font-weight:700}.builder-audio-top-btn:hover:not(:disabled){background:#38bdf838;border-color:#38bdf8;transform:translateY(-1px)}.builder-audio-top-btn:disabled{opacity:.4;cursor:not-allowed}.builder-testrun-top-btn{border-radius:var(--radius-md);color:#10b981;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:#10b9811f;border:1.5px solid #10b98159;padding:8px 14px;font-size:.8125rem;font-weight:700}.builder-testrun-top-btn:hover:not(:disabled){color:#fff;background:#10b981;border-color:#10b981;transform:translateY(-1px)}.builder-testrun-top-btn:disabled{opacity:.4;cursor:not-allowed}.builder-export-top-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;padding:8px 16px;font-size:.8125rem;font-weight:700;box-shadow:0 2px 8px #6366f140}.builder-export-top-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.builder-export-top-btn:disabled{opacity:.5;cursor:not-allowed}.builder-switch-btn{border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 16px;font-size:.8125rem;font-weight:600}.builder-switch-btn:hover{color:var(--color-text-primary)}.builder-switch-btn--active{background:var(--color-primary-500);color:#fff;box-shadow:0 2px 8px #6366f14d}.builder-switch-btn--active:hover{color:#fff}.builder-success-banner{color:var(--color-accent-600);border-radius:var(--radius-lg);background:#10b9811a;border:1px solid #10b9814d;align-items:center;gap:8px;padding:12px 20px;font-size:.875rem;font-weight:600;display:flex}.builder-grid{grid-template-columns:1fr 340px;align-items:start;gap:28px;display:grid}.builder-main-column{flex-direction:column;gap:24px;min-width:0;display:flex}.builder-sidebar-column{position:sticky;top:84px}.builder-questions-section{flex-direction:column;gap:16px;display:flex}.builder-section-header{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.builder-section-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:800}.builder-section-hint{color:var(--color-text-tertiary);font-size:.8125rem}.builder-questions-list{flex-direction:column;gap:16px;display:flex}.builder-empty{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;max-width:600px;margin:40px auto;padding:80px 24px;display:flex}.builder-empty-icon{margin-bottom:16px;font-size:3.5rem}.builder-empty-title{color:var(--color-text-primary);margin:0 0 8px;font-size:1.375rem;font-weight:800}.builder-empty-desc{color:var(--color-text-secondary);margin:0 0 24px;font-size:.9375rem;line-height:1.6}.builder-empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.builder-btn-assemble{color:#fff;border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,#f59e0b,#ea580c);border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.9375rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #f59e0b4d}.builder-btn-assemble:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.builder-btn-secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:12px 24px;font-size:.9375rem;font-weight:600;display:inline-flex}.builder-btn-secondary:hover{background:var(--color-surface-sunken);color:var(--color-text-primary);border-color:var(--color-primary-300)}.builder-btn-primary{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:8px;padding:12px 24px;font-size:.9375rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #6366f14d}.builder-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}@media (width<=1024px){.builder-grid{grid-template-columns:1fr}}@media (width<=640px){.builder-page{padding:20px 16px 80px}}.og-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#0f172abf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.og-card{background:#fff;border-radius:16px;flex-direction:column;width:96vw;max-width:1560px;height:92vh;max-height:94vh;transition:width .2s,height .2s,max-width .2s;animation:.25s cubic-bezier(.16,1,.3,1) ogScaleUp;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #e2e8f0cc}.og-card--maximized{border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important}@keyframes ogScaleUp{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.og-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.og-title-group{align-items:center;gap:.875rem;display:flex}.og-icon{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.75rem;display:flex}.og-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.og-subtitle{color:#64748b;margin:.2rem 0 0;font-size:.875rem}.og-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;transition:all .15s;display:flex}.og-close-btn:hover{color:#0f172a;background:#e2e8f0}.og-tabs{background:#fff;border-bottom:1px solid #e2e8f0;gap:1rem;padding:0 1.75rem;display:flex}.og-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.875rem 1rem;font-size:.9375rem;font-weight:600;transition:all .15s;display:flex}.og-tab:hover{color:#2563eb}.og-tab--active{color:#2563eb;border-bottom-color:#2563eb}.og-tab-badge{color:#1e40af;background:#dbeafe;border-radius:9999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.og-body{flex:1;padding:1.5rem 1.75rem;overflow-y:auto}.og-upload-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}@media (width<=768px){.og-upload-grid{grid-template-columns:1fr}}.og-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:1.5rem;display:flex}.og-panel-title{color:#1e293b;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.05rem;font-weight:700;display:flex}.og-panel-desc{color:#64748b;margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.og-download-card{background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:.75rem;margin-top:auto;padding:1.25rem;display:flex}.og-download-specs{flex-wrap:wrap;gap:.5rem;display:flex}.og-spec-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.og-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.og-btn--primary{color:#fff;background:#2563eb}.og-btn--primary:hover{background:#1d4ed8;transform:translateY(-1px)}.og-btn--success{color:#fff;background:#16a34a}.og-btn--success:hover{background:#15803d;transform:translateY(-1px)}.og-btn--secondary{color:#334155;background:#fff;border:1px solid #cbd5e1}.og-btn--secondary:hover{color:#0f172a;background:#f8fafc}.og-dropzone{text-align:center;cursor:pointer;background:#fff;border:2px dashed #94a3b8;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2.25rem 1.5rem;transition:all .2s;display:flex}.og-dropzone:hover,.og-dropzone--active{background:#eff6ff;border-color:#2563eb}.og-dropzone-icon{margin-bottom:.75rem;font-size:2.5rem}.og-dropzone-title{color:#1e293b;margin:0 0 .25rem;font-size:1rem;font-weight:700}.og-dropzone-hint{color:#64748b;margin:0;font-size:.8125rem}.og-grid-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.og-grid-actions{align-items:center;gap:.6rem;display:flex}.og-table-scroll{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1;min-height:480px;max-height:calc(88vh - 200px);overflow:auto}.og-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:.875rem}.og-table th{color:#475569;white-space:nowrap;z-index:10;background:#f8fafc;border-bottom:1px solid #cbd5e1;border-right:1px solid #f1f5f9;padding:.75rem .875rem;font-weight:700;position:sticky;top:0}.og-table td{background:#fff;border-bottom:1px solid #f1f5f9;border-right:1px solid #f8fafc;padding:.5rem .75rem}.og-table tr:hover td{background:#f8fafc}.og-col-sticky-action{z-index:5;text-align:center;width:55px;min-width:55px;position:sticky;left:0;background:#f8fafc!important}th.og-col-sticky-action{z-index:15!important;background:#f1f5f9!important}.og-col-sticky-name{z-index:5;min-width:180px;position:sticky;left:55px;box-shadow:2px 0 6px -2px #00000014;background:#fff!important}th.og-col-sticky-name{box-shadow:2px 0 6px -2px #00000014;z-index:15!important;background:#f1f5f9!important}.og-row-del-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.85rem;line-height:1;transition:all .15s}.og-row-del-btn:hover{color:#ef4444;background:#fee2e2}.og-header-actions{align-items:center;gap:.5rem;display:flex}.og-header-icon-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .15s;display:flex}.og-header-icon-btn:hover{color:#0f172a;background:#e2e8f0}.og-cell-input{border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;min-width:90px;padding:.45rem .65rem;font-size:.875rem;transition:border-color .15s}.og-cell-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.og-stats-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.875rem;margin-bottom:1.25rem;display:grid}.og-stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;padding:.875rem 1rem;display:flex}.og-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.og-stat-val{color:#0f172a;margin-top:.25rem;font-size:1.35rem;font-weight:800}.og-mark-badge{cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:.2rem .5rem;font-size:.75rem;font-weight:700;transition:transform .1s;display:inline-flex}.og-mark-badge:hover{transform:scale(1.06)}.og-mark-badge--full{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.og-mark-badge--partial{color:#a16207;background:#fef9c3;border:1px solid #fef08a}.og-mark-badge--zero{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.og-grade-pill{text-align:center;border-radius:9999px;padding:.2rem .6rem;font-size:.8125rem;font-weight:800;display:inline-block}.og-footer{background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.125rem 1.75rem;display:flex}.og-footer-left,.og-footer-right{align-items:center;gap:.75rem;display:flex}.og-success-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex}.og-success-icon{margin-bottom:1rem;font-size:3.5rem}.og-success-title{color:#0f172a;margin:0 0 .5rem;font-size:1.5rem;font-weight:800}.og-success-desc{color:#64748b;max-width:500px;margin:0 0 1.75rem;font-size:.9375rem;line-height:1.6}.og-success-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.saved-page{background:var(--color-surface-sunken);min-height:calc(100vh - 64px);padding:32px 24px 100px}.saved-container{flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;display:flex}.saved-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.saved-title{color:var(--color-text-primary);letter-spacing:-.03em;margin:0 0 6px;font-size:1.875rem;font-weight:800}.saved-subtitle{color:var(--color-text-secondary);max-width:600px;margin:0;font-size:.9375rem}.saved-new-btn{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #6366f140}.saved-new-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #6366f159}.saved-subject-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex}.saved-subject-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.8125rem;font-weight:700}.saved-subject-tabs{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.saved-subject-tab{border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.8125rem;font-weight:600;display:inline-flex}.saved-subject-tab:hover{background:var(--color-surface);border-color:var(--color-primary-300);color:var(--color-primary-600)}.saved-subject-tab--active{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 2px 8px var(--shadow-glow);border-color:#0000;font-weight:700}.saved-controls-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:16px 20px;display:flex}.saved-controls-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.saved-group-toggle{background:var(--color-surface-sunken);border-radius:var(--radius-lg);border:1px solid var(--color-border);align-items:center;gap:6px;padding:4px 6px;display:flex}.saved-group-label{color:var(--color-text-tertiary);text-transform:uppercase;margin-right:4px;padding-left:6px;font-size:.75rem;font-weight:700}.saved-group-btn{border-radius:var(--radius-md);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.saved-group-btn:hover{color:var(--color-text-primary)}.saved-group-btn--active{background:var(--color-surface);color:var(--color-primary-600);box-shadow:var(--shadow-sm);font-weight:700}:root.dark .saved-group-btn--active{color:var(--color-primary-400)}.saved-search-box{flex:1;align-items:center;min-width:280px;max-width:420px;display:flex;position:relative}.saved-search-icon{pointer-events:none;opacity:.7;font-size:.875rem;position:absolute;left:12px}.saved-search-input{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;font-family:var(--font-sans);color:var(--color-text-primary);transition:all var(--transition-fast);outline:none;padding:8px 32px 8px 36px;font-size:.875rem}.saved-search-input:focus{border-color:var(--color-primary-400);background:var(--color-surface);box-shadow:0 0 0 3px #6366f11f}.saved-search-clear{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.75rem;position:absolute;right:10px}.saved-search-clear:hover{color:var(--color-text-primary)}.saved-filter-pills{border-top:1px solid var(--color-surface-sunken);flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.saved-pills-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:.75rem;font-weight:700}.saved-filter-pill{border:1px solid var(--color-border);background:var(--color-surface-sunken);font-family:var(--font-sans);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:600}.saved-filter-pill:hover{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-hover)}.saved-filter-pill--active{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500);font-weight:700}.saved-sections-wrapper{flex-direction:column;gap:36px;display:flex}.saved-group-section{flex-direction:column;gap:16px;display:flex}.saved-group-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.saved-group-title-row{align-items:center;gap:10px;display:flex}.saved-group-icon{font-size:1.25rem}.saved-group-name{color:var(--color-text-primary);letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:800}.saved-group-count{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.saved-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.saved-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);flex-direction:column;gap:16px;padding:20px;display:flex}.saved-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.saved-card-header{justify-content:space-between;align-items:center;display:flex}.saved-card-badge-row{gap:8px;display:flex}.saved-badge{border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.saved-badge--marks{color:var(--color-primary-600);background:#6366f11a}.saved-badge--count{background:var(--color-surface-sunken);color:var(--color-text-secondary)}.saved-card-date{color:var(--color-text-tertiary);font-size:.75rem}.saved-card-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:800;line-height:1.4}.saved-card-topics{flex-wrap:wrap;align-items:center;gap:6px;margin-top:-4px;display:flex}.saved-tag{border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:180px;padding:3px 8px;font-size:.6875rem;font-weight:600;display:inline-flex;overflow:hidden}.saved-tag--subject{color:var(--color-primary-600);background:#6366f114;border:1px solid #6366f133}.saved-tag--topic{background:var(--color-surface-sunken);color:var(--color-text-secondary);border:1px solid var(--color-border)}.saved-tag--more{background:var(--color-surface-sunken);color:var(--color-text-tertiary);font-weight:700}.saved-card-footer{border-top:1px solid var(--color-surface-sunken);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.saved-card-btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;padding:8px 16px;font-size:.8125rem;font-weight:700}.saved-card-btn--open{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-primary-600);text-align:center;flex:1}.saved-card-btn--open:hover:not(:disabled){background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.saved-card-btn--export{color:var(--color-primary-600);text-align:center;background:#6366f114;border-color:#6366f140;font-weight:700}.saved-card-btn--export:hover:not(:disabled){background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff}.saved-card-btn--grade{color:#059669;text-align:center;background:#10b98114;border-color:#10b9814d;font-weight:700}.saved-card-btn--grade:hover:not(:disabled){color:#fff;background:#059669;border-color:#059669}.saved-card-btn--delete{border-color:var(--color-border);color:var(--color-danger-500);background:0 0}.saved-card-btn--delete:hover:not(:disabled){border-color:var(--color-danger-300);background:#f43f5e1a}.saved-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.saved-skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);height:180px}.saved-empty{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;max-width:540px;margin:40px auto;padding:80px 24px;display:flex}.saved-empty-icon{margin-bottom:16px;font-size:3.5rem}.saved-empty-title{color:var(--color-text-primary);margin:0 0 8px;font-size:1.25rem;font-weight:800}.saved-empty-desc{color:var(--color-text-secondary);margin:0 0 20px;font-size:.9375rem;line-height:1.6}.saved-btn{border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:700;display:inline-flex}.saved-btn--primary{background:var(--color-primary-500);color:#fff}.saved-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-secondary)}.qrm-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1100;background:#0f172acc;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.qrm-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:1100px;height:88vh;box-shadow:var(--shadow-2xl);flex-direction:column;display:flex;overflow:hidden}.qrm-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);justify-content:space-between;align-items:flex-start;padding:20px 28px;display:flex}.qrm-subject-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-500);background:#6366f11a;border-radius:999px;margin-bottom:4px;padding:3px 8px;font-size:.6875rem;font-weight:800;display:inline-block}.qrm-title{color:var(--color-text-primary);margin:0 0 4px;font-size:1.25rem;font-weight:900}.qrm-sub{color:var(--color-text-secondary);margin:0;font-size:.75rem}.qrm-code{font-family:var(--font-mono,monospace);color:var(--color-primary-500);background:var(--color-surface-sunken);border-radius:4px;padding:2px 6px;font-weight:800}.qrm-header-actions{align-items:center;gap:10px;display:flex}.qrm-btn-excel{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:linear-gradient(135deg,#10b981,#059669);border:1px solid #059669;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #10b98140}.qrm-btn-excel:hover{background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.cand-actions{align-items:center;gap:8px;display:flex}.qrm-btn-excel-sm{color:#10b981;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.qrm-btn-excel-sm:hover{color:#fff;background:#10b981}.qrm-close-btn{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-tertiary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.qrm-kpi-ribbon{background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);gap:12px;padding:14px 28px;display:grid}@media (width<=768px){.qrm-kpi-ribbon{grid-template-columns:repeat(2,1fr)}}.qrm-kpi-card{flex-direction:column;display:flex}.kpi-val{color:var(--color-primary-500);font-size:1.25rem;font-weight:900;line-height:1.1}.kpi-val--integrity{color:#10b981}.kpi-lbl{color:var(--color-text-tertiary);font-size:.6875rem;font-weight:700}.qrm-body-layout{flex:1;min-height:0;display:flex;overflow:hidden}.qrm-roster-panel{border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;flex-shrink:0;width:360px;display:flex}@media (width<=900px){.qrm-roster-panel{width:280px}}.qrm-roster-toolbar{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.qrm-roster-search{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);outline:none;padding:6px 10px;font-size:.75rem}.qrm-status-filter-pills{gap:4px;display:flex}.qrm-filter-pill{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;border-radius:999px;padding:3px 8px;font-size:.625rem;font-weight:700}.qrm-filter-pill.active{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.qrm-student-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.qrm-student-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);padding:10px 12px}.qrm-student-card:hover{border-color:var(--color-primary-300);background:var(--color-surface)}.qrm-student-card.selected{border-color:var(--color-primary-500);box-shadow:0 0 0 1px var(--color-primary-500);background:#6366f114}.qrm-sc-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.qrm-sc-name-wrap{align-items:center;gap:6px;display:flex}.qrm-sc-name{color:var(--color-text-primary);font-size:.8125rem}.score-tag{border-radius:4px;padding:2px 6px;font-size:.6875rem;font-weight:800}.score-tag.high{color:#10b981;background:#10b98126}.score-tag.med{color:#f59e0b;background:#f59e0b26}.score-tag.low{color:#ef4444;background:#ef444426}.qrm-sc-bottom{color:var(--color-text-tertiary);justify-content:space-between;align-items:center;font-size:.6875rem;display:flex}.qrm-sc-integrity.clean{color:#10b981;font-weight:700}.qrm-sc-integrity.flagged{color:#ef4444;font-weight:800}.qrm-empty-roster{text-align:center;color:var(--color-text-tertiary);padding:40px 16px}.qrm-empty-roster .empty-icon{margin-bottom:8px;font-size:2.5rem}.qrm-empty-roster h3{color:var(--color-text-primary);margin:0 0 6px;font-size:.9375rem}.qrm-empty-roster p{margin:0;font-size:.75rem;line-height:1.4}.qrm-roster-footer{border-top:1px solid var(--color-border);text-align:center;padding:10px 14px}.qrm-btn-danger-link{color:#ef4444;cursor:pointer;background:0 0;border:none;font-size:.6875rem;font-weight:700}.qrm-detail-panel{background:var(--color-surface-sunken);flex:1;min-width:0;padding:24px 28px;overflow-y:auto}.qrm-detail-placeholder{text-align:center;height:100%;color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.qrm-detail-placeholder .placeholder-icon{margin-bottom:12px;font-size:3rem}.qrm-detail-placeholder h3{color:var(--color-text-primary);margin:0 0 4px;font-size:1.125rem}.qrm-detail-content{flex-direction:column;gap:20px;display:flex}.qrm-candidate-header-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.cand-info h2{color:var(--color-text-primary);margin:0 0 2px;font-size:1.25rem;font-weight:900}.cand-info p{color:var(--color-text-secondary);margin:0;font-size:.75rem}.cand-grade{flex-direction:column;align-items:flex-end;display:flex}.cand-grade-num{color:var(--color-primary-500);font-size:1.375rem;font-weight:900}.cand-grade-pct{color:var(--color-text-secondary);font-size:.75rem;font-weight:800}.cand-delete-btn{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:6px 10px}.qrm-proctor-card{border-radius:var(--radius-xl);border:1.5px solid var(--color-border);padding:16px 20px}.qrm-proctor-card.clean{background:#10b9810f;border-color:#10b98140}.qrm-proctor-card.alert{background:#ef444414;border-color:#ef44444d}.proctor-header{align-items:center;gap:12px;display:flex}.proctor-icon{font-size:1.5rem}.proctor-header strong{color:var(--color-text-primary);font-size:.875rem;display:block}.proctor-header p{color:var(--color-text-secondary);margin:2px 0 0;font-size:.75rem}.proctor-timeline{border-top:1px solid #0000001a;flex-direction:column;gap:6px;margin-top:12px;padding-top:12px;display:flex}.proctor-log-item{align-items:center;gap:10px;font-size:.75rem;display:flex}.log-strike-tag{color:#fff;background:#ef4444;border-radius:4px;padding:2px 6px;font-size:.625rem;font-weight:800}.log-time{font-family:var(--font-mono,monospace);color:var(--color-text-tertiary)}.log-event{color:var(--color-text-primary);font-weight:600}.qrm-topics-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:16px 20px}.qrm-topics-card h4{color:var(--color-text-primary);margin:0 0 12px;font-size:.875rem;font-weight:800}.topic-bars{flex-direction:column;gap:10px;display:flex}.topic-bar-row{flex-direction:column;gap:4px;display:flex}.topic-bar-labels{color:var(--color-text-secondary);justify-content:space-between;font-size:.75rem;font-weight:700;display:flex}.topic-progress-bg{background:var(--color-surface-sunken);border-radius:999px;height:6px;overflow:hidden}.topic-progress-fill{background:linear-gradient(90deg, var(--color-primary-500), #10b981);border-radius:999px;height:100%}.qrm-questions-breakdown h4{color:var(--color-text-primary);margin:0 0 12px;font-size:.875rem;font-weight:800}.qrm-questions-list{flex-direction:column;gap:12px;display:flex}.qrm-q-item{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:14px 18px}.qrm-q-item.correct{border-left:4px solid #10b981}.qrm-q-item.incorrect{border-left:4px solid #ef4444}.q-item-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.q-num-topic{align-items:center;gap:8px;display:flex}.q-badge{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;font-size:.6875rem;font-weight:800}.q-topic{color:var(--color-text-secondary);font-size:.75rem;font-weight:700}.q-marks-tag{font-size:.75rem;font-weight:800}.qrm-q-item.correct .q-marks-tag{color:#10b981}.qrm-q-item.incorrect .q-marks-tag{color:#ef4444}.q-answer-details{flex-direction:column;gap:8px;font-size:.8125rem;display:flex}.ans-block{flex-direction:column;gap:2px;display:flex}.ans-lbl{color:var(--color-text-tertiary);font-size:.6875rem;font-weight:700}.ans-val.correct-text{color:#10b981;font-weight:800}.ans-val.wrong-text{color:#ef4444;font-weight:800}.ans-val.model-text{background:var(--color-surface-sunken);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:8px 12px}.ans-misconceptions{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b40;padding:8px 12px}.misc-lbl{color:#f59e0b;font-size:.6875rem;font-weight:800}.ans-misconceptions ul{color:var(--color-text-secondary);margin:4px 0 0 16px;padding:0;font-size:.75rem}.lip-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#0f172abf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden}.lip-modal-container{background:var(--color-surface,#fff);color:var(--color-text-primary,#0f172a);border-radius:var(--radius-xl,16px);border:1px solid var(--color-border,#e2e8f0);flex-direction:column;width:100%;max-width:1400px;height:92vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.lip-header{border-bottom:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-raised,#f8fafc);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.lip-header-title-wrap{align-items:center;gap:16px;display:flex}.lip-live-indicator{background:#16a34a1f;border:1px solid #16a34a4d;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:flex}.lip-pulse-dot{background:#16a34a;border-radius:50%;width:8px;height:8px;animation:1.8s infinite lipPulse;box-shadow:0 0 #16a34ab3}@keyframes lipPulse{0%{box-shadow:0 0 #16a34ab3}70%{box-shadow:0 0 0 7px #16a34a00}to{box-shadow:0 0 #16a34a00}}.lip-live-text{letter-spacing:.08em;color:#15803d;font-size:.75rem;font-weight:800}.lip-title{color:var(--color-text-primary,#0f172a);margin:0;font-size:1.125rem;font-weight:700}.lip-quiz-name{color:var(--color-primary,#2563eb)}.lip-subtitle{color:var(--color-text-secondary,#64748b);align-items:center;gap:8px;margin-top:3px;font-size:.8125rem;display:flex}.lip-header-actions{align-items:center;gap:12px;display:flex}.lip-btn-log-toggle{border-radius:var(--radius-md,8px);background:var(--color-surface,#fff);border:1px solid var(--color-border,#cbd5e1);color:var(--color-text-primary,#1e293b);cursor:pointer;padding:8px 14px;font-size:.8125rem;font-weight:600;transition:all .2s}.lip-btn-log-toggle:hover,.lip-btn-log-toggle--active{background:var(--color-primary-light,#eff6ff);border-color:var(--color-primary,#2563eb);color:var(--color-primary,#2563eb)}.lip-close-btn{color:var(--color-text-secondary,#64748b);cursor:pointer;border-radius:var(--radius-md,8px);background:0 0;border:none;padding:6px 10px;font-size:1.25rem;transition:all .2s}.lip-close-btn:hover{background:var(--color-surface-sunken,#e2e8f0);color:var(--color-text-primary,#0f172a)}.lip-stats-bar{background:var(--color-surface,#fff);border-bottom:1px solid var(--color-border,#e2e8f0);flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;padding:12px 24px;display:grid}.lip-stat-card{border-radius:var(--radius-lg,10px);background:var(--color-surface-raised,#f8fafc);border:1px solid var(--color-border,#e2e8f0);flex-direction:column;padding:10px 14px;display:flex}.lip-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary,#64748b);font-size:.6875rem;font-weight:700}.lip-stat-val{color:var(--color-text-primary,#0f172a);margin-top:2px;font-size:1.375rem;font-weight:800}.lip-stat-card--active .lip-stat-val{color:#16a34a}.lip-stat-card--locked .lip-stat-val{color:#dc2626}.lip-stat-card--alert{background:#dc262614;border-color:#dc262659;animation:2s infinite lipPulseRed}@keyframes lipPulseRed{0%,to{border-color:#dc262659}50%{border-color:#dc2626}}.lip-stat-card--warning .lip-stat-val{color:#d97706}.lip-stat-card--multimonitor .lip-stat-val{color:#9333ea}.lip-toolbar{border-bottom:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-sunken,#f1f5f9);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px;padding:12px 24px;display:flex}.lip-filter-tabs{background:var(--color-surface,#fff);border-radius:var(--radius-md,8px);border:1px solid var(--color-border,#cbd5e1);gap:6px;padding:4px;display:flex}.lip-tab{color:var(--color-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:.8125rem;font-weight:600;transition:all .2s}.lip-tab:hover{color:var(--color-text-primary,#0f172a)}.lip-tab--active{background:var(--color-primary,#2563eb);color:#fff!important}.lip-filter-dropdowns{align-items:center;gap:8px;display:flex}.lip-select-wrap{background:var(--color-surface,#fff);border:1px solid var(--color-border,#cbd5e1);border-radius:var(--radius-md,8px);align-items:center;gap:6px;padding:2px 8px 2px 10px;transition:all .2s;display:flex;box-shadow:0 1px 2px #0000000a}.lip-select-wrap:focus-within{border-color:var(--color-primary,#2563eb);box-shadow:0 0 0 2px #2563eb33}.lip-select-icon{color:var(--color-text-secondary,#64748b);-webkit-user-select:none;user-select:none;font-size:.875rem}.lip-select{color:var(--color-text-primary,#0f172a);cursor:pointer;background:0 0;border:none;outline:none;padding:5px 4px;font-family:inherit;font-size:.8125rem;font-weight:600}.lip-select option{background:var(--color-surface,#fff);color:var(--color-text-primary,#0f172a)}.lip-search-wrap{flex:1;min-width:200px}.lip-search-input{border-radius:var(--radius-md,8px);border:1px solid var(--color-border,#cbd5e1);background:var(--color-surface,#fff);width:100%;color:var(--color-text-primary,#0f172a);padding:7px 12px;font-size:.8125rem}.lip-cohort-actions{align-items:center;gap:8px;display:flex}.lip-btn-cohort{border-radius:var(--radius-md,8px);cursor:pointer;border:1px solid #0000;padding:7px 14px;font-size:.8125rem;font-weight:700;transition:all .2s}.lip-btn-announce{color:#fff;background:#f59e0b}.lip-btn-announce:hover{background:#d97706}.lip-btn-unlock-all{color:#fff;background:#16a34a}.lip-btn-unlock-all:hover{background:#15803d}.lip-btn-add-all-time{background:var(--color-surface,#fff);border-color:var(--color-border,#cbd5e1);color:var(--color-text-primary,#1e293b)}.lip-btn-add-all-time:hover{background:var(--color-surface-sunken,#e2e8f0)}.lip-body{flex:1;display:flex;position:relative;overflow:hidden}.lip-grid-container{flex:1;padding:20px 24px;overflow-y:auto}.lip-students-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.lip-student-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-lg,12px);flex-direction:column;gap:12px;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 4px #0000000a}.lip-student-card:hover{box-shadow:0 6px 12px #00000014}.lip-student-card--locked{background:#fef2f2b3;box-shadow:0 0 12px #dc262640;border:2px solid #dc2626!important}.lip-student-card--warning{background:#fefce899;border-color:#f59e0b}.lip-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.lip-student-name{color:var(--color-text-primary,#0f172a);margin:0;font-size:.9375rem;font-weight:700}.lip-student-sub{gap:6px;margin-top:4px;display:flex}.lip-tag{border-radius:4px;padding:2px 6px;font-size:.6875rem;font-weight:600}.lip-tag-seat{background:var(--color-surface-sunken,#e2e8f0);color:var(--color-text-secondary,#475569)}.lip-tag-class{color:#2563eb;background:#2563eb1a}.lip-status-badge{letter-spacing:.03em;border-radius:6px;padding:3px 8px;font-size:.6875rem;font-weight:800}.lip-status-badge--active{color:#15803d;background:#16a34a1f;border:1px solid #16a34a4d}.lip-status-badge--locked{color:#fff;background:#dc2626;animation:1s infinite alternate lipBlink}@keyframes lipBlink{0%{opacity:1}to{opacity:.7}}.lip-status-badge--warning{color:#fff;background:#f59e0b}.lip-status-badge--submitted{color:#fff;background:#64748b}.lip-status-badge--offline{color:#fff;background:#94a3b8}.lip-card-lock-banner{color:#991b1b;background:#fee2e2;border-left:3px solid #dc2626;border-radius:4px;align-items:center;gap:6px;padding:8px 10px;font-size:.75rem;font-weight:600;display:flex}.lip-card-progress-section{flex-direction:column;gap:6px;display:flex}.lip-progress-labels{color:var(--color-text-secondary,#64748b);justify-content:space-between;font-size:.75rem;display:flex}.lip-clock-val{color:var(--color-text-primary,#0f172a);font-weight:700}.lip-progress-track{background:var(--color-surface-sunken,#e2e8f0);border-radius:999px;height:6px;overflow:hidden}.lip-progress-fill{border-radius:999px;height:100%;transition:width .3s}.lip-card-telemetry{color:var(--color-text-secondary,#64748b);border-top:1px dashed var(--color-border,#e2e8f0);flex-direction:column;gap:3px;padding-top:8px;font-size:.6875rem;display:flex}.lip-telemetry-val--violation{color:#dc2626;font-weight:700}.lip-telemetry-row--multi{color:#9333ea;font-weight:700}.lip-card-actions{grid-template-columns:1fr auto;gap:8px;margin-top:auto;display:grid}.lip-card-btn{border-radius:var(--radius-md,6px);cursor:pointer;text-align:center;border:1px solid #0000;padding:7px 10px;font-size:.75rem;font-weight:700;transition:all .2s}.lip-card-btn--unlock{color:#fff;background:#16a34a}.lip-card-btn--unlock:hover{background:#15803d}.lip-card-btn--time{background:var(--color-surface-raised,#f8fafc);border-color:var(--color-border,#cbd5e1);color:var(--color-text-primary,#0f172a)}.lip-card-btn--time:hover{background:var(--color-surface-sunken,#e2e8f0)}.lip-card-btn--force{color:#dc2626;background:#dc26261a;border-color:#dc26264d}.lip-card-btn--force:hover{color:#fff;background:#dc2626}.lip-log-drawer{border-left:1px solid var(--color-border,#e2e8f0);background:var(--color-surface-raised,#f8fafc);flex-direction:column;flex-shrink:0;width:340px;display:flex}.lip-log-drawer-header{border-bottom:1px solid var(--color-border,#e2e8f0);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.lip-log-drawer-header h3{margin:0;font-size:.875rem;font-weight:700}.lip-log-close{cursor:pointer;color:var(--color-text-secondary,#64748b);background:0 0;border:none;font-size:1rem}.lip-log-events-list{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.lip-log-item{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:6px;padding:8px 10px;font-size:.75rem}.lip-log-item--critical{border-left:3px solid #dc2626}.lip-log-item--warning{border-left:3px solid #f59e0b}.lip-log-item--info{border-left:3px solid #2563eb}.lip-log-top{justify-content:space-between;margin-bottom:3px;font-weight:700;display:flex}.lip-log-name{color:var(--color-text-primary,#0f172a)}.lip-log-time{color:var(--color-text-secondary,#94a3b8);font-size:.6875rem}.lip-log-detail{color:var(--color-text-secondary,#475569);line-height:1.35}.lip-empty-state{text-align:center;height:100%;color:var(--color-text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;padding:48px;display:flex}.lip-empty-icon{margin-bottom:12px;font-size:3rem}.lip-empty-state h3{color:var(--color-text-primary,#0f172a);margin:0 0 8px;font-size:1.125rem}.lip-empty-state p{max-width:440px;margin:0 auto;font-size:.875rem;line-height:1.5}.lip-btn-clear-filter{border-radius:var(--radius-md,8px);background:var(--color-primary,#2563eb);color:#fff;cursor:pointer;border:none;margin-top:16px;padding:8px 16px;font-weight:600}.lip-announcement-dialog{z-index:10000;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.lip-announcement-card{background:var(--color-surface,#fff);border-radius:var(--radius-xl,16px);border:1px solid var(--color-border,#e2e8f0);width:100%;max-width:520px;padding:24px;box-shadow:0 20px 25px -5px #0003}.lip-announcement-card h3{color:var(--color-text-primary,#0f172a);margin:0 0 8px;font-size:1.125rem}.lip-announcement-card p{color:var(--color-text-secondary,#64748b);margin:0 0 16px;font-size:.8125rem;line-height:1.45}.lip-announcement-textarea{border-radius:var(--radius-md,8px);border:1px solid var(--color-border,#cbd5e1);background:var(--color-surface-raised,#f8fafc);width:100%;color:var(--color-text-primary,#0f172a);resize:vertical;margin-bottom:16px;padding:12px;font-family:inherit;font-size:.875rem}.lip-announcement-actions{justify-content:flex-end;gap:12px;display:flex}.lip-btn-cancel{border-radius:var(--radius-md,8px);background:var(--color-surface-sunken,#e2e8f0);cursor:pointer;color:var(--color-text-secondary,#475569);border:none;padding:8px 16px;font-weight:600}.lip-btn-send-announce{border-radius:var(--radius-md,8px);color:#fff;cursor:pointer;background:#f59e0b;border:none;padding:8px 18px;font-weight:700;transition:background .2s}.lip-btn-send-announce:hover:not(:disabled){background:#d97706}.lip-btn-send-announce:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .lip-modal-container{background:#0f172a;border-color:#334155}[data-theme=dark] .lip-header,[data-theme=dark] .lip-stats-bar{background:#1e293b;border-color:#334155}[data-theme=dark] .lip-toolbar{background:#111827;border-color:#334155}[data-theme=dark] .lip-student-card{background:#1e293b;border-color:#334155}[data-theme=dark] .lip-student-card--locked{background:#7f1d1d4d!important}[data-theme=dark] .lip-student-card--warning{background:#78350f4d}[data-theme=dark] .lip-log-drawer{background:#111827;border-color:#334155}[data-theme=dark] .lip-log-item,[data-theme=dark] .lip-announcement-card{background:#1e293b;border-color:#334155}[data-theme=dark] .lip-announcement-textarea{color:#f8fafc;background:#0f172a;border-color:#334155}.qm-root{background:var(--color-bg);min-height:100vh;padding:32px 24px 60px}.qm-container{max-width:1240px;margin:0 auto}.qm-top-bar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}@media (width<=768px){.qm-top-bar{flex-direction:column}}.qm-title-badge{letter-spacing:.06em;color:var(--color-primary-500);background:#6366f11a;border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:.6875rem;font-weight:800;display:inline-block}.qm-page-title{color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 6px;font-size:1.75rem;font-weight:900}.qm-page-subtitle{color:var(--color-text-secondary);max-width:680px;margin:0;font-size:.875rem;line-height:1.5}.qm-top-actions{flex-shrink:0;gap:12px;display:flex}.qm-btn-header{padding:10px 20px;font-size:.875rem;box-shadow:0 4px 12px #6366f140}.qm-success-banner{color:#10b981;border-radius:var(--radius-lg);background:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:8px;margin-bottom:24px;padding:12px 18px;font-size:.875rem;font-weight:700;display:flex}.qm-stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}@media (width<=860px){.qm-stats-grid{grid-template-columns:repeat(2,1fr)}}.qm-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-direction:column;padding:18px 20px;display:flex}.stat-num{color:var(--color-primary-500);margin-bottom:4px;font-size:1.75rem;font-weight:900;line-height:1}.stat-lbl{color:var(--color-text-tertiary);font-size:.75rem;font-weight:700}.qm-filter-toolbar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;padding:10px 16px;display:flex}.qm-subject-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qm-subj-tab{border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.75rem;font-weight:700;display:inline-flex}.qm-subj-tab:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.qm-subj-tab--active{box-shadow:0 2px 8px #6366f14d;background:var(--color-primary-500)!important;color:#fff!important;border-color:var(--color-primary-500)!important}.qm-subj-count{background:#00000026;border-radius:999px;padding:2px 6px;font-size:.6875rem}.qm-filter-right{align-items:center;gap:10px;display:flex}.qm-search-wrap{align-items:center;display:flex;position:relative}.qm-search-icon{opacity:.5;font-size:.8125rem;position:absolute;left:10px}.qm-search-input{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:999px;outline:none;width:180px;padding:6px 28px 6px 30px;font-size:.75rem;transition:width .2s}.qm-search-input:focus{border-color:var(--color-primary-500);width:220px}.qm-search-clear{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;font-size:.75rem;position:absolute;right:8px}.qm-group-toggle-btn{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:700}.qm-group-toggle-btn--active{color:var(--color-primary-500);border-color:var(--color-primary-500);background:#6366f11f}.qm-subject-sections-list{flex-direction:column;gap:36px;display:flex}.qm-subject-section{flex-direction:column;gap:16px;display:flex}.qm-section-header{border-bottom:1.5px solid var(--color-border);align-items:center;padding-bottom:8px;display:flex}.qm-section-title-wrap{align-items:center;gap:8px;display:flex}.qm-section-icon{font-size:1.25rem}.qm-section-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:900}.qm-section-count-badge{color:var(--color-primary-500);background:#6366f11a;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:800}.qm-quizzes-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;display:grid}.qm-quiz-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);transition:all var(--transition-base);box-sizing:border-box;flex-direction:column;padding:22px;display:flex;overflow:hidden}.qm-quiz-card:hover{border-color:var(--color-primary-400);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.qm-card-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.qm-card-title-group{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.qm-subject-pill{color:var(--color-primary-500);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:800}.qm-quiz-title{color:var(--color-text-primary);word-break:break-word;margin:0;font-size:1.0625rem;font-weight:800;line-height:1.3}.qm-status-toggle{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:4px 10px;font-size:.6875rem;font-weight:800}.qm-status--active{color:#10b981;background:#10b9811f;border-color:#10b9814d}.qm-status--paused{color:var(--color-text-tertiary);border-color:var(--color-border);background:#94a3b826}.qm-code-banner{background:var(--color-surface-sunken);border:1.5px dashed var(--color-primary-400);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.qm-code-info{flex-direction:column;min-width:0;display:flex}.qm-code-lbl{color:var(--color-text-tertiary);font-size:.5625rem;font-weight:800}.qm-code-value{font-family:var(--font-mono,monospace);color:var(--color-primary-500);letter-spacing:.05em;white-space:nowrap;font-size:1.0625rem;font-weight:900}.qm-code-actions{flex-shrink:0;gap:4px;display:flex}.qm-btn-icon{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:4px 8px;font-size:.6875rem;font-weight:700}.qm-btn-icon:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.qm-config-pills{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.qm-pill{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:var(--radius-md);white-space:nowrap;padding:3px 8px;font-size:.6875rem;font-weight:600}.qm-pill--security{color:#ef4444;background:#ef444414;border-color:#ef444440;font-weight:700}.qm-link-preview-box{margin-bottom:16px}.qm-link-preview-input{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-size:.6875rem;font-family:var(--font-mono,monospace);color:var(--color-text-tertiary);box-sizing:border-box;outline:none;padding:5px 8px}.qm-card-actions-wrap{border-top:1px solid var(--color-border);box-sizing:border-box;flex-direction:column;gap:8px;width:100%;margin-top:auto;padding-top:14px;display:flex}.qm-card-sub-actions{box-sizing:border-box;flex-wrap:wrap;gap:6px;width:100%;display:flex}.qm-btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);box-sizing:border-box;border:1px solid #0000;font-weight:700}.qm-btn-primary{background:linear-gradient(135deg, var(--color-primary-600), var(--color-primary-700));color:#fff}.qm-btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600));transform:translateY(-1px)}.qm-btn-results{color:var(--color-primary-500);text-align:center;white-space:nowrap;background:#6366f11f;border:1.5px solid #6366f159;flex:2;padding:8px 12px;font-size:.75rem;font-weight:800}.qm-btn-results:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500);transform:translateY(-1px);box-shadow:0 2px 8px #6366f140}.qm-btn-secondary{background:var(--color-surface-elevated);border-color:var(--color-border);color:var(--color-text-primary);text-align:center;white-space:nowrap;flex:1;min-width:60px;padding:8px 12px;font-size:.75rem}.qm-btn-secondary:hover{background:var(--color-surface-sunken);border-color:var(--color-primary-400)}.qm-btn-testrun{color:#fff;text-align:center;background:linear-gradient(135deg,#10b981,#059669);width:100%;padding:10px 14px;font-size:.8125rem;box-shadow:0 2px 8px #10b98140}.qm-btn-testrun:hover{background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.qm-btn-invigilate{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 2px 8px #2563eb40}.qm-btn-invigilate:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #2563eb59}.qm-btn-danger-text{border:1px solid var(--color-border);color:var(--color-text-tertiary);border-radius:var(--radius-md);background:0 0;padding:6px 10px;font-size:.6875rem}.qm-btn-danger-text:hover{color:#ef4444;background:#ef44441a;border-color:#ef4444}.qm-empty-card,.qm-no-results-card{text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-2xl);max-width:600px;margin:40px auto;padding:50px 20px}.qm-empty-icon{margin-bottom:12px;font-size:3rem}.qm-empty-title{color:var(--color-text-primary);margin:0 0 8px;font-size:1.25rem;font-weight:800}.qm-empty-desc{color:var(--color-text-secondary);margin:0 0 24px;font-size:.875rem;line-height:1.5}.qm-empty-actions{justify-content:center;gap:12px;display:flex}.qm-loading{text-align:center;color:var(--color-text-tertiary);padding:60px 20px}.qm-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary-500);border-radius:50%;width:36px;height:36px;margin:0 auto 14px;animation:.7s linear infinite spin}.qm-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172abf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qm-modal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:620px;max-height:90vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow-y:auto}.qm-modal-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);justify-content:space-between;align-items:flex-start;padding:20px 24px;display:flex}.qm-modal-title{color:var(--color-text-primary);margin:0 0 2px;font-size:1.125rem;font-weight:800}.qm-modal-sub{color:var(--color-text-tertiary);margin:0;font-size:.75rem}.qm-modal-close{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-tertiary);cursor:pointer;border-radius:50%;width:30px;height:30px}.qm-modal-body{flex-direction:column;gap:18px;padding:24px;display:flex}.qm-form-group{flex-direction:column;gap:6px;display:flex}.qm-form-row{gap:14px;display:flex}.qm-form-label{color:var(--color-text-primary);font-size:.8125rem;font-weight:700}.qm-form-select,.qm-form-input{background:var(--color-surface-sunken);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);width:100%;color:var(--color-text-primary);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:.875rem}.qm-form-select:focus,.qm-form-input:focus{border-color:var(--color-primary-500)}.qm-code-input-wrap{align-items:center;display:flex;position:relative}.qm-code-prefix-icon{font-size:1rem;position:absolute;left:12px}.qm-form-input--code{font-family:var(--font-mono,monospace);letter-spacing:.05em;padding-left:38px;font-size:1.0625rem;font-weight:800}.qm-form-hint{color:var(--color-text-tertiary);font-size:.6875rem}.qm-security-toggle-card{background:var(--color-surface-sunken);border-radius:var(--radius-xl);border:1.5px solid #ef444433;padding:16px 18px}.qm-sec-header{align-items:center;gap:12px;display:flex}.qm-sec-header .sec-icon{font-size:1.5rem}.qm-sec-header strong{color:var(--color-text-primary);font-size:.875rem;display:block}.qm-sec-header p{color:var(--color-text-secondary);margin:2px 0 0;font-size:.75rem}.qm-switch{flex-shrink:0;width:44px;height:24px;margin-left:auto;display:inline-block;position:relative}.qm-switch input{opacity:0;width:0;height:0}.qm-slider{cursor:pointer;background-color:var(--color-border);border-radius:24px;transition:all .3s;position:absolute;inset:0}.qm-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.qm-switch input:checked+.qm-slider{background-color:#ef4444}.qm-switch input:checked+.qm-slider:before{transform:translate(20px)}.qm-sec-subrules{border-top:1px solid var(--color-border);color:var(--color-text-secondary);flex-direction:column;gap:4px;margin-top:12px;padding-top:12px;font-size:.75rem;display:flex}.qm-checkbox-label{color:var(--color-text-primary);cursor:pointer;align-items:center;gap:10px;font-size:.8125rem;display:flex}.qm-modal-footer{border-top:1px solid var(--color-border);background:var(--color-surface-elevated);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.qm-pill-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.qm-mode-badge{letter-spacing:.04em;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:800}.qm-mode-badge--game{color:#a78bfa;background:linear-gradient(135deg,#8b5cf633,#ec489933);border:1px solid #8b5cf680}.qm-mode-badge--exam{color:var(--color-primary-500);background:#6366f11a;border:1px solid #6366f14d}.qm-quiz-card--game{border-color:#8b5cf64d}.qm-quiz-card--game:hover{border-color:#8b5cf699;box-shadow:0 10px 30px #8b5cf626}.qm-btn-game-host{background:linear-gradient(135deg,#8b5cf6,#ec4899)!important;box-shadow:0 4px 16px #8b5cf659!important}.qm-btn-game-host:hover{transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf680!important}.qm-mode-selector-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;display:grid}@media (width<=600px){.qm-mode-selector-grid{grid-template-columns:1fr}}.qm-mode-card{background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.qm-mode-card:hover{border-color:var(--color-primary-500);background:#6366f10d}.qm-mode-card--selected{border-color:var(--color-primary-500);background:#6366f114}.qm-mode-card--game-sel{background:#8b5cf61a;border-color:#8b5cf6}.qm-mode-icon{flex-shrink:0;margin-top:2px;font-size:1.6rem}.qm-mode-info strong{color:var(--color-text-primary);margin-bottom:2px;font-size:.9375rem;display:block}.qm-mode-info p{color:var(--color-text-secondary);margin:0;font-size:.75rem;line-height:1.4}.qm-game-settings-panel{border-radius:var(--radius-lg);background:#8b5cf60d;border:1px solid #8b5cf640;flex-direction:column;gap:14px;padding:16px 18px;display:flex}.qm-btn-quizizz-top{color:#fff!important;background:linear-gradient(135deg,#8b5cf6,#ec4899)!important;font-weight:800!important;box-shadow:0 4px 16px #8b5cf659!important}.qm-btn-quizizz-top:hover{transform:translateY(-2px);box-shadow:0 8px 24px #8b5cf680!important}.qm-card-format-toggle-bar{background:var(--color-surface-sunken);border-radius:var(--radius-md);border:1px solid var(--color-border);align-items:center;gap:6px;margin:8px 0 12px;padding:4px 8px;display:flex}.qm-format-lbl{color:var(--color-text-secondary);letter-spacing:.05em;margin-right:2px;font-size:.6875rem;font-weight:800}.qm-format-chip{color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 10px;font-size:.75rem;font-weight:700;transition:all .15s}.qm-format-chip:hover{color:var(--color-text-primary);background:var(--color-surface)}.qm-format-chip--active-exam{box-shadow:0 1px 3px #0000001a;background:var(--color-surface-elevated)!important;border-color:var(--color-border)!important;color:var(--color-primary-500)!important}.qm-format-chip--active-game{box-shadow:0 1px 4px #8b5cf64d;color:#a78bfa!important;background:linear-gradient(135deg,#8b5cf633,#ec489933)!important;border-color:#8b5cf680!important}.qm-dual-launch-row{gap:8px;width:100%;display:flex}.qm-dual-launch-row .qm-btn-testrun{flex:1}.qm-btn-solo-game{color:#a78bfa;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:#8b5cf626;border:1px solid #8b5cf659;padding:10px 14px;font-size:.8125rem;font-weight:700;transition:all .2s}.qm-btn-solo-game:hover{color:#fff;background:#8b5cf64d;border-color:#8b5cf6}.qm-pin-config-box{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:10px;margin-top:12px;padding:12px 14px;display:flex}.qm-pin-input-group{flex-direction:column;gap:8px;padding-left:24px;display:flex}.qm-pin-inputs-row{align-items:center;gap:8px;display:flex}.qm-pin-input{max-width:180px;font-family:var(--font-mono,monospace);letter-spacing:.1em;background:var(--color-surface);font-size:.9375rem;font-weight:700}.qm-btn-pin-action{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:.75rem}.qm-pin-hint{color:var(--color-text-secondary);margin:0;font-size:.75rem;line-height:1.4}.qm-pill--pin{color:#d97706;background:#f59e0b1a;border-color:#f59e0b4d;align-items:center;gap:6px;font-weight:700;display:inline-flex}.qm-btn-copy-pin{cursor:pointer;color:inherit;background:#0000001a;border:none;border-radius:4px;padding:1px 4px;font-size:.6875rem}.srm-backdrop{-webkit-backdrop-filter:blur(8px);z-index:10000;background:#0a0f1dd9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.srm-modal{color:#f8fafc;background:#0f172a;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;width:100%;max-width:840px;max-height:90vh;font-family:inherit;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3,0 0 40px #8b5cf626}.srm-header{background:#1e293b;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.srm-header-info{flex:1;min-width:0}.srm-badge{text-transform:uppercase;letter-spacing:.05em;color:#fff;background:#8b5cf6;border-radius:6px;margin-bottom:6px;padding:3px 10px;font-size:.75rem;font-weight:800;display:inline-block}.srm-title{color:#fff;letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:800}.srm-subtitle{color:#94a3b8;margin:4px 0 0;font-size:.875rem}.srm-close-btn{color:#94a3b8;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .2s;display:flex}.srm-close-btn:hover{color:#f87171;background:#ef444433;border-color:#ef44444d}.srm-body{flex:1;padding:24px;overflow-y:auto}.srm-loading-state,.srm-empty-state{text-align:center;padding:48px 24px}.srm-spinner{border:3px solid #ffffff1a;border-top-color:#8b5cf6;border-radius:50%;width:44px;height:44px;margin:0 auto 16px;animation:1s linear infinite srm-spin}@keyframes srm-spin{to{transform:rotate(360deg)}}.srm-empty-icon{margin-bottom:12px;font-size:3rem}.srm-empty-title{color:#f1f5f9;margin-bottom:8px;font-size:1.2rem;font-weight:700}.srm-empty-desc{color:#94a3b8;max-width:480px;margin:0 auto;font-size:.9375rem;line-height:1.5}.srm-history-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.srm-history-title{color:#e2e8f0;font-size:1.1rem;font-weight:700}.srm-attempt-count-pill{color:#c4b5fd;background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:700}.srm-cards-list{flex-direction:column;gap:14px;display:flex}.srm-attempt-card{background:#1e293b;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;transition:all .2s;display:flex;position:relative;overflow:hidden}.srm-attempt-card:hover{background:#243247;border-color:#8b5cf666;transform:translateY(-2px);box-shadow:0 8px 20px -6px #0006}.srm-attempt-card--latest{background:linear-gradient(135deg,#1e293b 0%,#22c55e0d 100%);border-color:#22c55e66}.srm-card-main{flex:1;min-width:0}.srm-attempt-tags{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.srm-attempt-number-badge{text-transform:uppercase;color:#f8fafc;background:#334155;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:800}.srm-latest-badge{text-transform:uppercase;color:#fff;background:#16a34a;border-radius:6px;padding:2px 8px;font-size:.7rem;font-weight:800}.srm-attempt-datetime{color:#94a3b8;align-items:center;gap:6px;margin-bottom:8px;font-size:.875rem;display:flex}.srm-attempt-metrics{flex-wrap:wrap;align-items:center;gap:16px;font-size:.875rem;display:flex}.srm-metric-item{color:#cbd5e1;align-items:center;gap:6px;display:flex}.srm-grade-pill{border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:800}.srm-grade-pill--a{color:#4ade80;background:#22c55e33;border:1px solid #22c55e4d}.srm-grade-pill--b{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f64d}.srm-grade-pill--c{color:#facc15;background:#eab30833;border:1px solid #eab3084d}.srm-grade-pill--u{color:#f87171;background:#ef444433;border:1px solid #ef44444d}.srm-view-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#8b5cf6;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 18px;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.srm-view-btn:hover{background:#7c3aed;transform:scale(1.02)}.srm-detail-back-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.srm-back-btn{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;padding:8px 16px;font-size:.875rem;font-weight:700;transition:all .2s}.srm-back-btn:hover{color:#fff;background:#ffffff26}.srm-download-pdf-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 18px;font-size:.875rem;font-weight:800;transition:all .2s;display:flex;box-shadow:0 4px 12px #dc26264d}.srm-download-pdf-btn:hover{background:#b91c1c;transform:scale(1.02)}.srm-detail-score-circle{text-align:center;background:linear-gradient(135deg,#8b5cf633 0%,#3b82f633 100%);border:3px solid #8b5cf6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:96px;height:96px;display:flex}.srm-detail-score-num{color:#fff;font-size:1.75rem;font-weight:900;line-height:1}.srm-detail-score-sub{color:#cbd5e1;margin-top:4px;font-size:.7rem;font-weight:700}.srm-questions-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.srm-q-card{background:#1e293b;border:1px solid #ffffff14;border-radius:10px;padding:14px 18px}.srm-q-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.srm-q-num{color:#f1f5f9;font-size:.9375rem;font-weight:800}.srm-q-marks-pill{border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:800}.srm-q-ans-box{background:#0f172a;border:1px solid #ffffff0f;border-radius:8px;margin-top:8px;padding:10px 14px;font-size:.875rem}.srm-feedback-box{color:#c4b5fd;background:#8b5cf614;border-left:3px solid #8b5cf6;border-radius:0 6px 6px 0;margin-top:8px;padding:8px 12px;font-size:.85rem}.portal-root{background:var(--color-bg);flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:100vh;padding:24px 20px 60px;display:flex;position:relative}.portal-glow{pointer-events:none;z-index:0;border-radius:50%;position:fixed;transform:translateZ(0)}.portal-glow--1{background:radial-gradient(circle,#6366f126 0%,#6366f100 70%);width:600px;height:600px;top:-160px;left:-80px}.portal-glow--2{background:radial-gradient(circle,#8b5cf624 0%,#8b5cf600 70%);width:600px;height:600px;top:35%;right:-100px}.portal-glow--3{background:radial-gradient(circle,#06b6d41f 0%,#06b6d400 70%);width:600px;height:600px;bottom:-150px;left:15%}.portal-content{z-index:10;flex-direction:column;align-items:center;width:100%;max-width:1100px;display:flex;position:relative}.portal-brand-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:20px;display:flex}.portal-avatar-wrap{margin-bottom:8px;display:inline-block;position:relative}.portal-cat-avatar{border:2.5px solid var(--color-surface-elevated);object-fit:cover;border-radius:50%;width:56px;height:56px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 6px 20px #6366f138}.portal-avatar-wrap:hover .portal-cat-avatar{transform:scale(1.08)rotate(3deg)}.portal-online-dot{border:2px solid var(--color-bg);background:#10b981;border-radius:50%;width:13px;height:13px;position:absolute;bottom:2px;right:2px;box-shadow:0 0 6px #10b98199}.portal-title{color:var(--color-text-primary);letter-spacing:-.025em;margin:0 0 4px;font-size:1.85rem;font-weight:900;line-height:1.2}.portal-subtitle{color:var(--color-text-secondary);max-width:520px;margin:0 auto;font-size:.875rem;line-height:1.45}.portal-cards-grid{grid-template-columns:1fr 1fr;gap:24px;width:100%;margin-top:4px;display:grid}@media (width<=840px){.portal-cards-grid{grid-template-columns:1fr}}.portal-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);transition:all var(--transition-base);flex-direction:column;padding:28px 24px;display:flex;position:relative}.portal-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -15px #0000004d}.portal-card--student:hover{border-color:var(--color-primary-500)}.portal-card--teacher{cursor:pointer}.portal-card--teacher:hover{border-color:#8b5cf6}.portal-card-badge{letter-spacing:.06em;border-radius:999px;padding:4px 10px;font-size:.625rem;font-weight:800;position:absolute;top:20px;right:22px}.portal-card-badge--student{color:var(--color-primary-500);background:#6366f11f;border:1px solid #6366f140}.portal-card-badge--teacher{color:#8b5cf6;background:#8b5cf61f;border:1px solid #8b5cf640}.portal-card-icon-wrap{border-radius:var(--radius-xl);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:14px;font-size:1.6rem;display:flex}.portal-card-icon--student{background:#6366f11a}.portal-card-icon--teacher{background:#8b5cf61a}.portal-card-heading{color:var(--color-text-primary);letter-spacing:-.01em;margin:0 0 6px;font-size:1.25rem;font-weight:800}.portal-card-desc{color:var(--color-text-secondary);margin:0 0 16px;font-size:.8125rem;line-height:1.5}.portal-quiz-form{flex-direction:column;gap:12px;margin-top:auto;display:flex}.portal-input-group{flex-direction:column;gap:5px;display:flex}.portal-input-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:700}.portal-input-inner{align-items:center;display:flex;position:relative}.portal-input-icon{font-size:1rem;position:absolute;left:12px}.portal-code-input{border-radius:var(--radius-lg);border:1.5px solid var(--color-border);background:var(--color-surface-sunken);width:100%;color:var(--color-text-primary);font-family:var(--font-mono,monospace);letter-spacing:.05em;transition:all var(--transition-fast);outline:none;padding:11px 14px 11px 38px;font-size:.9375rem;font-weight:700}.portal-code-input:focus{border-color:var(--color-primary-500);background:var(--color-surface);box-shadow:0 0 0 3px #6366f133}.portal-error-text{color:#ef4444;font-size:.75rem;font-weight:600}.portal-teacher-action-wrap{width:100%;margin-top:auto;padding-top:14px}.portal-btn{border-radius:var(--radius-lg);width:100%;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);text-align:center;letter-spacing:.01em;border:none;padding:12px 20px;font-size:.875rem;font-weight:800}.portal-btn--student{background:linear-gradient(135deg, var(--color-primary-600), var(--color-primary-700));color:#fff;box-shadow:0 4px 14px #6366f14d}.portal-btn--student:hover{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600));transform:translateY(-1px);box-shadow:0 6px 20px #6366f166}.portal-btn--teacher{color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 14px #7c3aed4d}.portal-btn--teacher:hover{background:linear-gradient(135deg,#8b5cf6,#7c3aed);transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf666}.portal-card-footer-note{color:var(--color-text-tertiary);align-items:center;gap:6px;margin-top:12px;font-size:.6875rem;line-height:1.4;display:flex}.portal-tabs-nav{background:var(--color-surface-sunken);border-radius:var(--radius-md);border:1px solid var(--color-border);gap:6px;margin-bottom:14px;padding:4px;display:flex}.portal-tab-btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.8125rem;font-weight:700;transition:all .2s;display:flex}.portal-tab-btn:hover{color:var(--color-text-primary)}.portal-tab-btn--active{background:var(--color-primary-600);color:#fff;box-shadow:0 2px 8px #6366f166}.portal-receipt-banner{border-radius:var(--radius-md);cursor:pointer;text-align:left;background:#8b5cf61f;border:1px solid #8b5cf64d;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;transition:all .2s;display:flex}.portal-receipt-banner:hover{background:#8b5cf638;border-color:#8b5cf680;transform:translateY(-1px)}.portal-receipt-info{flex:1;min-width:0}.portal-receipt-tag{text-transform:uppercase;color:#c4b5fd;font-size:.6875rem;font-weight:800;display:block}.portal-receipt-title{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;overflow:hidden}.portal-receipt-action{color:#a78bfa;white-space:nowrap;font-size:.75rem;font-weight:800}.portal-features-section{border-top:1px solid var(--color-border);width:100%;margin-top:48px;padding-top:40px}.portal-section-header{text-align:center;margin-bottom:30px}.portal-section-badge{letter-spacing:.08em;color:var(--color-primary-400,#818cf8);background:#6366f11a;border:1px solid #6366f140;border-radius:999px;margin-bottom:10px;padding:4px 12px;font-size:.6875rem;font-weight:800;display:inline-block}.portal-section-title{color:var(--color-text-primary);letter-spacing:-.02em;margin:0 0 8px;font-size:1.6rem;font-weight:900}.portal-section-desc{color:var(--color-text-secondary);max-width:620px;margin:0 auto;font-size:.875rem;line-height:1.5}.portal-features-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}@media (width<=1024px){.portal-features-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.portal-features-grid{grid-template-columns:1fr}}.portal-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);flex-direction:column;padding:22px 18px;display:flex;position:relative;overflow:hidden}.portal-feature-card:hover{border-color:var(--color-border-hover);transform:translateY(-3px);box-shadow:0 16px 32px -10px #0003}.feature-card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.feature-card-icon-wrap{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.feature-card-icon{font-size:1.3rem}.feature-card-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:.625rem;font-weight:800}.badge--indigo{color:#6366f1;background:#6366f11f}.badge--amber{color:#f59e0b;background:#f59e0b1f}.badge--purple{color:#a855f7;background:#a855f71f}.badge--rose{color:#f43f5e;background:#f43f5e1f}.badge--emerald{color:#10b981;background:#10b9811f}.badge--blue{color:#3b82f6;background:#3b82f61f}.badge--cyan{color:#06b6d4;background:#06b6d41f}.badge--teal{color:#14b8a6;background:#14b8a61f}.feature-card-title{color:var(--color-text-primary);margin:0 0 6px;font-size:.95rem;font-weight:800;line-height:1.35}.feature-card-desc{color:var(--color-text-secondary);flex:1;margin:0 0 14px;font-size:.7813rem;line-height:1.5}.feature-card-highlights{border-top:1px solid var(--color-border);flex-direction:column;gap:5px;padding-top:10px;display:flex}.feature-highlight-tag{color:var(--color-text-tertiary);align-items:center;gap:5px;font-size:.6875rem;font-weight:500;display:flex}.highlight-bullet{color:var(--color-primary-400);font-size:.875rem;line-height:1}.portal-footer{border-top:1px solid var(--color-border);text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:40px;padding-top:20px;display:flex}.portal-footer-line{color:var(--color-text-secondary);font-size:.7813rem;font-weight:600}.portal-footer-sub{color:var(--color-text-tertiary);font-size:.6875rem}.pt-drawer-backdrop{z-index:999999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pt-drawer-card{background:var(--color-surface,#1e293b);border:1.5px solid var(--color-border,#ffffff26);border-radius:var(--radius-xl,20px);flex-direction:column;width:95vw;max-width:1100px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #0009}.pt-drawer-header{border-bottom:1px solid var(--color-border,#ffffff1a);background:var(--color-surface-sunken,#0003);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.pt-drawer-title-wrap{align-items:center;gap:12px;display:flex}.pt-icon{font-size:1.8rem}.pt-title{color:var(--color-text-primary,#fff);margin:0;font-size:1.15rem;font-weight:800}.pt-sub{color:var(--color-text-secondary,#94a3b8);margin:2px 0 0;font-size:.75rem}.pt-close-btn{color:var(--color-text-secondary,#94a3b8);cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;transition:all .15s;display:flex}.pt-close-btn:hover{color:#ef4444;background:#ef444433}.pt-drawer-body{flex-direction:column;flex:1;gap:14px;padding:16px 20px;display:flex;overflow-y:auto}.pt-constants-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.pt-const-card{background:var(--color-surface-sunken,#00000026);border:1px solid var(--color-border,#ffffff1a);border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.const-name{color:var(--color-text-secondary,#94a3b8);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:700}.const-val{color:#38bdf8;font-family:monospace;font-size:.85rem;font-weight:700}.pt-drawer-card--fullscreen{border-radius:16px;width:98vw;max-width:98vw;height:96vh;max-height:96vh}.pt-header-actions{align-items:center;gap:10px;display:flex}.pt-fullscreen-btn{border:1px solid var(--color-border,#ffffff26);color:#cbd5e1;cursor:pointer;background:#ffffff14;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .15s;display:flex}.pt-fullscreen-btn:hover,.pt-fullscreen-btn.pt-btn-active{color:#38bdf8;background:#38bdf833;border-color:#38bdf866}.pt-toolbar{background:var(--color-surface-sunken,#00000040);border:1px solid var(--color-border,#ffffff1a);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.pt-zoom-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pt-toolbar-label{color:#94a3b8;text-transform:uppercase;align-items:center;gap:4px;margin-right:4px;font-size:.8rem;font-weight:800;display:flex}.pt-tool-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.15rem;font-weight:800;line-height:1;transition:all .15s;display:flex}.pt-tool-btn:hover:not(:disabled){color:#38bdf8;background:#38bdf840;border-color:#38bdf8;transform:translateY(-1px)}.pt-tool-btn:disabled{opacity:.35;cursor:not-allowed}.pt-zoom-display{color:#38bdf8;text-align:center;cursor:pointer;background:#0f172ab3;border:1px solid #ffffff26;border-radius:8px;min-width:54px;padding:4px 10px;font-family:monospace;font-size:.85rem;font-weight:800;transition:all .15s}.pt-zoom-display:hover{background:#38bdf826;border-color:#38bdf8}.pt-zoom-presets{align-items:center;gap:4px;margin-left:4px;display:flex}.pt-preset-pill{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;padding:4px 8px;font-size:.725rem;font-weight:700;transition:all .15s}.pt-preset-pill:hover{color:#f1f5f9;background:#ffffff1f}.pt-preset-pill--active{color:#38bdf8;background:#38bdf833;border-color:#38bdf880}.pt-reset-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;margin-left:2px;padding:4px 8px;font-size:.75rem;font-weight:700;transition:all .15s}.pt-reset-btn:hover{color:#fff;background:#ffffff1a}.pt-search-wrap{background:#0f172ab3;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:6px;min-width:260px;padding:4px 10px;transition:border-color .15s;display:flex}.pt-search-wrap:focus-within{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf833}.pt-search-icon{color:#94a3b8;font-size:.85rem}.pt-search-input{color:#fff;background:0 0;border:none;outline:none;width:100%;font-size:.8rem}.pt-search-input::placeholder{color:#64748b}.pt-search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.75rem}.pt-search-clear:hover{color:#ef4444}.pt-element-badge{background:linear-gradient(135deg,#1e3a8a66,#0f172ab3);border:1.5px solid #38bdf880;border-radius:12px;align-items:center;gap:14px;padding:10px 16px;display:flex;box-shadow:0 8px 20px #0000004d}.pt-elem-symbol-box{color:#000;background:#fff;border:1.5px solid #111;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:52px;height:52px;padding:2px 4px;font-family:Arial,Helvetica,sans-serif;line-height:1;display:flex}.pt-elem-num{align-self:flex-start;font-size:.65rem;font-weight:700}.pt-elem-sym{font-size:1.2rem;font-weight:900}.pt-elem-mass{font-size:.65rem;font-weight:700}.pt-elem-info{flex-direction:column;flex:1;gap:3px;display:flex}.pt-elem-name{color:#38bdf8;letter-spacing:.5px;font-size:.95rem}.pt-elem-details{color:#cbd5e1;font-size:.8rem}.pt-elem-dismiss{color:#94a3b8;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-size:.9rem;display:flex}.pt-elem-dismiss:hover{color:#ef4444;background:#ef444433}.pt-table-scroll-container{color:#000;background:#fff;border-radius:10px;flex:1;min-height:400px;padding:14px;overflow:auto;box-shadow:inset 0 2px 6px #0000001a}.pt-zoom-viewport{transform-origin:0 0;transition:min-width .15s}.pt-table-embed{min-width:800px}.pt-drawer-footer{border-top:1px solid var(--color-border,#ffffff1a);background:var(--color-surface-sunken,#0003);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.pt-footer-tip{color:var(--color-text-secondary,#94a3b8);font-size:.75rem}@media (width<=768px){.pt-toolbar{flex-direction:column;align-items:stretch}.pt-search-wrap{min-width:100%}.pt-zoom-presets{display:none}}.sc-modal-backdrop{z-index:999999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sc-modal-card{background:var(--color-surface,#1e293b);border:1.5px solid var(--color-border,#ffffff26);border-radius:var(--radius-xl,20px);flex-direction:column;width:100%;max-width:400px;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #0009}.sc-header{border-bottom:1px solid var(--color-border,#ffffff1a);background:var(--color-surface-sunken,#0003);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sc-title-wrap{color:var(--color-text-primary,#fff);align-items:center;gap:8px;font-size:.95rem;display:flex}.sc-close-btn{color:var(--color-text-secondary,#94a3b8);cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;transition:all .15s;display:flex}.sc-close-btn:hover{color:#ef4444;background:#ef444433}.sc-screen{border-bottom:1px solid var(--color-border,#ffffff1a);text-align:right;background:#0f172a;flex-direction:column;justify-content:flex-end;min-height:90px;padding:16px 20px;display:flex}.sc-expr-row{color:#94a3b8;white-space:nowrap;margin-bottom:4px;font-family:monospace;font-size:.9rem;overflow-x:auto}.sc-res-row{color:#38bdf8;white-space:nowrap;font-family:monospace;font-size:1.8rem;font-weight:800;overflow-x:auto}.sc-keypad{background:var(--color-surface-sunken,#0000001a);grid-template-columns:repeat(5,1fr);gap:8px;padding:14px;display:grid}.sc-btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;padding:12px 0;font-size:.95rem;font-weight:700;transition:all .12s;display:flex}.sc-btn:active{transform:scale(.94)}.sc-btn--fn{font-size:.85rem;font-weight:700;color:#38bdf8!important;background:#0f172a!important;border:1px solid #334155!important}.sc-btn--fn:hover{color:#fff!important;background:#1e293b!important;border-color:#38bdf8!important}.sc-btn--num{font-size:1.15rem;font-weight:800;color:#fff!important;background:#334155!important;border:1px solid #475569!important}.sc-btn--num:hover{color:#38bdf8!important;background:#475569!important;border-color:#64748b!important}.sc-btn--op{font-size:1.25rem;font-weight:800;color:#38bdf8!important;background:#0c4a6e!important;border:1px solid #0284c7!important}.sc-btn--op:hover{color:#fff!important;background:#0284c7!important}.sc-btn--del{font-size:.85rem;font-weight:800;color:#fff!important;background:#c2410c!important;border:1px solid #ea580c!important}.sc-btn--del:hover{background:#ea580c!important}.sc-btn--ac{font-size:.85rem;font-weight:800;color:#fff!important;background:#b91c1c!important;border:1px solid #dc2626!important}.sc-btn--ac:hover{background:#dc2626!important}.sc-btn--eq{font-size:1.3rem;font-weight:800;box-shadow:0 4px 12px #10b98159;color:#fff!important;background:#059669!important;border:1px solid #10b981!important}.sc-btn--eq:hover{filter:brightness(1.1);background:#10b981!important}.candidate-watermark-overlay{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:5;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0;overflow:hidden}.candidate-watermark-svg{width:100%;height:100%;display:block}.candidate-watermark-text{letter-spacing:.12em;text-anchor:start;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.candidate-watermark-text--primary{fill:currentColor;color:var(--color-text-primary,#0f172a);font-size:13px;font-weight:800}.candidate-watermark-text--secondary{fill:currentColor;color:var(--color-text-secondary,#475569);font-size:10.5px;font-weight:600}.candidate-watermark-overlay--page{z-index:4;position:fixed}.candidate-watermark-overlay--diagram{z-index:6;border-radius:inherit;position:absolute}.candidate-watermark-overlay--modal{z-index:20;position:absolute}[data-theme=dark] .candidate-watermark-text--primary{color:#f8fafc}[data-theme=dark] .candidate-watermark-text--secondary{color:#94a3b8}.student-runner-root{background:var(--color-surface,#0f172a);min-height:100vh;color:var(--color-text-primary);flex-direction:column;display:flex}.sq-security-active{-webkit-user-select:none;user-select:none}.sq-runner-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.sq-runner-title-group{align-items:baseline;gap:12px;display:flex}.sq-runner-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:800}.sq-runner-subject{color:var(--color-primary-500);border-radius:var(--radius-sm);background:#6366f11a;padding:2px 8px;font-size:.8125rem;font-weight:700}.sq-runner-header-right{align-items:center;gap:14px;display:flex}.sq-violation-badge{color:#ef4444;background:#ef444426;border:1px solid #ef44444d;border-radius:999px;padding:4px 10px;font-size:.75rem;font-weight:800;animation:2s infinite pulse}.sq-timer-pill{background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.9375rem;font-weight:800;display:flex}.sq-timer-pill--urgent{color:#ef4444;background:#ef444426;border-color:#ef4444;animation:1s infinite pulse}.sq-timer-clock{font-family:var(--font-mono,monospace);font-size:1.0625rem}.sq-security-alert-bar{color:#fff;z-index:90;background:linear-gradient(90deg,#b91c1c,#dc2626);justify-content:space-between;align-items:center;padding:10px 24px;font-size:.8125rem;font-weight:700;display:flex;box-shadow:0 4px 12px #dc26264d}.sq-alert-dismiss{color:#fff;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:1rem}.sq-ielts-audio-bar{z-index:80;-webkit-backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1.5px solid #e2e8f0;padding:10px 20px;position:sticky;top:56px;box-shadow:0 4px 16px -4px #0f172a14}.sq-ielts-audio-inner{max-width:1240px;margin:0 auto}.sq-q-audio-chip{color:#334155;background:#f0f9ff;border:1px solid #bae6fd;border-left:3.5px solid #0284c7;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.8125rem;font-weight:500;display:flex}.sq-q-audio-chip strong{color:#0284c7}.sq-runner-body{flex:1;grid-template-columns:1fr 280px;gap:24px;width:100%;max-width:1240px;margin:20px auto;padding:0 20px 40px;display:grid}@media (width<=860px){.sq-runner-body{grid-template-columns:1fr}}.sq-question-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);flex-direction:column;padding:28px;display:flex}.sq-q-top-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.sq-q-badge-wrap{align-items:center;gap:10px;display:flex}.sq-q-number-badge{color:var(--color-primary-500);border-radius:var(--radius-md);background:#6366f11a;padding:4px 12px;font-size:.875rem;font-weight:800}.sq-q-topic-badge{color:var(--color-text-secondary);background:var(--color-surface-sunken);border-radius:var(--radius-sm);padding:4px 10px;font-size:.75rem;font-weight:700}.sq-q-marks-pill{color:var(--color-text-secondary);font-size:.875rem;font-weight:800}.sq-q-stem{color:var(--color-text-primary);text-align:justify;text-justify:inter-word;margin-bottom:24px;font-size:1.0625rem;line-height:1.65}.sq-stimulus-card{text-align:justify;text-justify:inter-word}.sq-q-diagram-wrap{text-align:center;background:var(--color-surface-sunken);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin:16px 0 24px;padding:16px}.sq-q-diagram-img{border-radius:var(--radius-md);cursor:zoom-in;max-width:100%;max-height:340px;transition:transform .2s}.sq-q-diagram-img:hover{transform:scale(1.02)}.sq-sub-questions-list{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.sq-sub-item{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:14px 18px}.sq-sub-header{align-items:baseline;gap:10px;display:flex}.sq-sub-id{color:var(--color-primary-500);font-weight:800}.sq-sub-text{flex:1;font-size:.9375rem}.sq-sub-marks{color:var(--color-text-tertiary);font-size:.8125rem;font-weight:700}.sq-choices-list{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.sq-choice-btn{background:var(--color-surface);border:1.5px solid var(--color-border);color:var(--color-text-primary);border-radius:var(--radius-xl);text-align:left;cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:14px;padding:14px 18px;font-family:inherit;font-size:.9375rem;display:flex}.sq-choice-btn:hover{border-color:var(--color-primary-400);background:var(--color-surface-elevated);transform:translate(2px)}.sq-choice-btn--selected{font-weight:700;box-shadow:0 0 0 2px #6366f140;border-color:var(--color-primary-500)!important;background:#6366f11f!important}.sq-choice-letter{background:var(--color-surface-sunken);border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:.8125rem;font-weight:800;display:flex}.sq-choice-btn--selected .sq-choice-letter{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.sq-structured-input-box{margin-bottom:28px}.sq-input-label{color:var(--color-text-secondary);margin-bottom:8px;font-size:.8125rem;font-weight:700;display:block}.sq-text-answer-area{background:var(--color-surface-elevated);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);width:100%;color:var(--color-text-primary);resize:vertical;transition:all var(--transition-fast);outline:none;padding:14px;font-family:inherit;font-size:.9375rem}.sq-text-answer-area:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px #6366f133}.sq-q-nav-actions{border-top:1px solid var(--color-border);background:var(--color-surface);z-index:25;justify-content:space-between;align-items:center;margin-top:auto;padding:16px 0 8px;display:flex;position:sticky;bottom:0}.sq-btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;padding:10px 18px;font-size:.875rem;font-weight:700}.sq-btn-primary{background:linear-gradient(135deg, var(--color-primary-600), var(--color-primary-700));color:#fff}.sq-btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-600));transform:translateY(-1px)}.sq-btn-secondary{background:var(--color-surface-elevated);border-color:var(--color-border);color:var(--color-text-primary)}.sq-btn-secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.sq-btn-secondary:disabled{opacity:.4;cursor:not-allowed}.sq-btn-flag{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b4d}.sq-btn-flag--active{color:#fff!important;background:#f59e0b!important}.sq-btn-finish{color:#fff;background:linear-gradient(135deg,#10b981,#059669);padding:8px 16px}.sq-btn-large{padding:14px 28px;font-size:1rem}.sq-sidebar-panel{z-index:30;align-self:start;position:sticky;top:76px}.sq-navigator-card{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);flex-direction:column;max-height:calc(100vh - 96px);padding:20px;display:flex}.sq-nav-card-title{color:var(--color-text-primary);margin:0 0 2px;font-size:.9375rem;font-weight:800}.sq-nav-card-subtitle{color:var(--color-text-tertiary);margin:0 0 16px;font-size:.75rem}.sq-nav-matrix-grid{grid-template-columns:repeat(5,1fr);gap:8px;max-height:190px;margin-bottom:14px;padding-right:4px;display:grid;overflow-y:auto}.sq-matrix-cell{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-surface-elevated);border:1.5px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:flex;position:relative}.sq-matrix-cell:hover{border-color:var(--color-primary-400)}.sq-matrix-cell--current{box-shadow:0 0 0 2px var(--color-primary-500);border-color:var(--color-primary-500)!important}.sq-matrix-cell--answered{background:var(--color-primary-600);border-color:var(--color-primary-600);color:#fff}.sq-matrix-cell--flagged{font-weight:800;color:#fff!important;background:#f59e0b!important;border-color:#d97706!important}.sq-matrix-cell--flagged .matrix-flag-dot{text-shadow:0 1px 2px #00000040;color:#fff!important}.sq-matrix-cell--flagged.sq-matrix-cell--current{border-color:#fff!important;box-shadow:0 0 0 2px #d97706,0 0 0 4px #f59e0b59!important}.sq-matrix-legend{color:var(--color-text-tertiary);border-top:1px solid var(--color-border);justify-content:space-between;padding-top:12px;font-size:.6875rem;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.legend-box{border-radius:2px;width:10px;height:10px}.legend-box.answered{background:var(--color-primary-600)}.legend-box.flagged{background:#f59e0b;border:1px solid #d97706}.legend-box.unanswered{background:var(--color-surface-elevated);border:1px solid var(--color-border)}.sq-sidebar-context-card{background:var(--color-surface,#1e293b);border-radius:var(--radius-2xl,16px);border:1.5px solid #3b82f6;flex-direction:column;margin-top:16px;animation:.25s fadeIn;display:flex;overflow:hidden;box-shadow:0 6px 24px #3b82f626}.sq-sidebar-context-header{background:linear-gradient(135deg,#3b82f624,#2563eb14);border-bottom:1px solid #3b82f640;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.sq-sidebar-context-title-group{align-items:center;gap:6px;min-width:0;display:flex}.sq-sidebar-context-pin{font-size:.875rem}.sq-sidebar-context-title{color:#38bdf8;white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:800;overflow:hidden}.sq-sidebar-context-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.sq-sidebar-context-btn{border:1px solid var(--color-border,#ffffff26);color:var(--color-text-primary,#fff);cursor:pointer;background:#ffffff14;border-radius:6px;align-items:center;gap:3px;padding:3px 8px;font-size:.6875rem;font-weight:700;transition:all .15s;display:inline-flex}.sq-sidebar-context-btn:hover{color:#38bdf8;background:#3b82f640;border-color:#3b82f6}.sq-sidebar-context-body{max-height:48vh;color:var(--color-text-primary,#fff);flex-direction:column;gap:12px;padding:14px;font-size:.8125rem;line-height:1.55;display:flex;overflow-y:auto}.sq-sidebar-passage-snippet{background:#3b82f614;border:1px solid #3b82f640;border-left:3px solid #3b82f6;border-radius:8px;padding:10px 12px}.sq-sidebar-snippet-tag{text-transform:uppercase;letter-spacing:.5px;color:#60a5fa;align-items:center;gap:4px;margin-bottom:6px;font-size:.6875rem;font-weight:800;display:flex}.sq-sidebar-snippet-content{color:var(--color-text-primary,#f8fafc);font-size:.8125rem;line-height:1.5}.sq-sidebar-stem-snippet{background:var(--color-surface-sunken,#0003);border:1px solid var(--color-border,#ffffff1a);border-radius:8px;padding:10px 12px}.sq-sidebar-diagram-preview{border:1px solid var(--color-border,#ffffff26);text-align:center;cursor:pointer;background:#0000004d;border-radius:8px;padding:6px;transition:transform .15s,border-color .15s;position:relative}.sq-sidebar-diagram-preview:hover{border-color:#38bdf8;transform:scale(1.02)}.sq-sidebar-diagram-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:140px;margin:0 auto;display:block}.sq-sidebar-diagram-badge{color:#94a3b8;margin-top:4px;font-size:.6875rem;font-weight:700;display:block}.sq-mobile-sticky-prompt-bar{z-index:70;-webkit-backdrop-filter:blur(8px);background:#0f172af0;border-bottom:1px solid #3b82f64d;padding:6px 14px;display:none;position:sticky;top:56px}.sq-mobile-prompt-pill{color:#f8fafc;cursor:pointer;background:#3b82f626;border:1px solid #3b82f659;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 14px;font-size:.75rem;display:flex}.sq-mobile-prompt-text{text-overflow:ellipsis;white-space:nowrap;text-align:left;color:#cbd5e1;flex:1;overflow:hidden}.sq-mobile-prompt-pin{font-size:.875rem}.sq-mobile-prompt-label{color:#38bdf8;font-weight:800}.sq-mobile-prompt-jump{color:#60a5fa;flex-shrink:0;font-weight:700}@media (width<=860px){.sq-mobile-sticky-prompt-bar{display:block}}.student-lobby-wrap{background:radial-gradient(circle at 50% 20%, #6366f126 0%, transparent 60%), var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.student-lobby-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:640px;box-shadow:var(--shadow-xl);padding:36px}.student-lobby-badge{letter-spacing:.05em;color:var(--color-primary-500);background:#6366f11a;border-radius:999px;margin-bottom:12px;padding:4px 10px;font-size:.6875rem;font-weight:800;display:inline-block}.student-lobby-title{color:var(--color-text-primary);margin:0 0 6px;font-size:1.5rem;font-weight:900}.student-lobby-subtitle{color:var(--color-text-secondary);margin:0 0 24px;font-size:.875rem}.student-lobby-rules-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.lobby-rule-item{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);align-items:center;gap:10px;padding:12px;display:flex}.rule-icon{font-size:1.25rem}.lobby-rule-item strong{color:var(--color-text-primary);font-size:.8125rem;display:block}.lobby-rule-item p{color:var(--color-text-tertiary);margin:0;font-size:.6875rem}.student-lobby-instructions{border-radius:var(--radius-lg);background:#6366f10f;border:1px solid #6366f12e;margin-bottom:24px;padding:14px 16px;font-size:.8125rem}.student-lobby-instructions strong{color:var(--color-primary-500);margin-bottom:4px;display:block}.student-mode-toggle-box{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:28px;padding:14px 16px}.student-mode-toggle{color:var(--color-text-primary);cursor:pointer;align-items:center;gap:10px;font-size:.8125rem;display:flex}.student-lobby-actions{justify-content:flex-end;gap:12px;display:flex}.student-results-wrap{background:var(--color-bg);justify-content:center;min-height:100vh;padding:40px 20px;display:flex}.student-results-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:820px;box-shadow:var(--shadow-xl);padding:36px}.results-badge{color:#10b981;background:#10b9811a;border-radius:999px;margin-bottom:12px;padding:4px 10px;font-size:.6875rem;font-weight:800;display:inline-block}.results-title{color:var(--color-text-primary);margin:0 0 4px;font-size:1.5rem;font-weight:900}.results-sub{color:var(--color-text-secondary);margin:0 0 28px;font-size:.875rem}.results-score-row{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-xl);align-items:center;gap:28px;margin-bottom:28px;padding:24px;display:flex}.results-score-circle{border:6px solid var(--color-primary-500);background:var(--color-surface);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:130px;height:130px;display:flex}.results-score-num{color:var(--color-text-primary);font-size:2rem;font-weight:900}.results-score-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:700}.results-stats-panel{flex-direction:column;flex:1;gap:8px;display:flex}.stat-row{color:var(--color-text-secondary);justify-content:space-between;font-size:.875rem;display:flex}.text-danger{color:#ef4444}.text-success{color:#10b981}.results-section-heading{color:var(--color-text-primary);margin:24px 0 14px;font-size:1rem;font-weight:800}.topics-bars-list{flex-direction:column;gap:12px;display:flex}.topic-bar-header{justify-content:space-between;margin-bottom:4px;font-size:.8125rem;font-weight:700;display:flex}.topic-progress-track{background:var(--color-surface-sunken);border-radius:999px;height:8px;overflow:hidden}.topic-progress-fill{background:linear-gradient(90deg, var(--color-primary-500), #a855f7);border-radius:999px;height:100%;transition:width .6s}.proctoring-log-box{border-radius:var(--radius-lg);background:#ef444414;border:1px solid #ef444440;margin-top:24px;padding:16px}.proctoring-log-title{color:#ef4444;margin:0 0 10px;font-size:.875rem;font-weight:800}.proctoring-list{flex-direction:column;gap:6px;display:flex}.proctoring-item{gap:10px;font-size:.75rem;display:flex}.proctoring-time{font-family:var(--font-mono,monospace);color:#ef4444;font-weight:700}.proctoring-detail{color:var(--color-text-primary)}.solutions-list{flex-direction:column;gap:16px;display:flex}.solution-item-card{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px}.sol-card-header{color:var(--color-primary-500);justify-content:space-between;margin-bottom:8px;font-size:.8125rem;font-weight:800;display:flex}.sol-stem{color:var(--color-text-primary);margin-bottom:12px;font-size:.875rem}.sol-points{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:8px;padding:8px 12px;font-size:.8125rem}.sol-guidance{color:#2563eb;border-radius:var(--radius-md);background:#2563eb14;margin-bottom:6px;padding:6px 10px;font-size:.75rem}.sol-traps{color:#d97706;border-radius:var(--radius-md);background:#d9770614;padding:6px 10px;font-size:.75rem}.results-footer-actions{text-align:center;margin-top:32px}.sq-zoom-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.sq-zoom-modal-content{flex-direction:column;align-items:center;gap:12px;max-width:90vw;max-height:90vh;display:flex}.sq-zoomed-img{object-fit:contain;border-radius:var(--radius-lg);border:2px solid #fff;max-width:100%;max-height:80vh}.sq-zoom-close-btn{color:#000;cursor:pointer;background:#fff;border:none;border-radius:999px;padding:8px 18px;font-weight:800}.student-quiz-loading-screen,.student-quiz-error-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.student-quiz-spinner{border:4px solid var(--color-border);border-top-color:var(--color-primary-500);border-radius:50%;width:44px;height:44px;margin-bottom:20px;animation:.7s linear infinite spin}.error-icon{margin-bottom:12px;font-size:3rem}.sq-lockdown-overlay{z-index:999999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-user-select:none;user-select:none;background:#0f172af0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sq-lockdown-card{text-align:center;color:#fff;background:#0f172a;border:2px solid #ef444499;border-radius:24px;width:100%;max-width:520px;padding:32px 28px;position:relative;overflow:hidden;box-shadow:0 0 50px #ef444459,0 25px 50px -12px #000c}.sq-lockdown-icon-wrap{justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;display:flex;position:relative}.sq-lockdown-pulse-ring{background:#ef444440;border-radius:50%;animation:1.5s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:-6px}.sq-lockdown-icon{font-size:2.75rem;position:relative}.sq-lockdown-title{letter-spacing:.04em;color:#ef4444;text-transform:uppercase;margin:0 0 8px;font-size:1.5rem;font-weight:900}.sq-lockdown-subtitle{color:#94a3b8;margin:0 0 20px;font-size:.875rem;line-height:1.5}.sq-lockdown-details-box{text-align:left;background:#ef444414;border:1px solid #ef444440;border-radius:14px;flex-direction:column;gap:8px;margin-bottom:22px;padding:14px 18px;display:flex}.sq-lockdown-row{justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.sq-ld-lbl{color:#94a3b8;font-weight:600}.sq-ld-val{color:#f1f5f9;font-weight:700}.sq-lockdown-form{background:#1e293bb3;border:1px solid #ffffff1a;border-radius:16px;padding:18px 20px}.sq-ld-form-header{color:#38bdf8;justify-content:center;align-items:center;gap:8px;margin-bottom:4px;font-size:.9375rem;font-weight:800;display:flex}.sq-ld-form-desc{color:#94a3b8;margin:0 0 14px;font-size:.75rem}.sq-ld-input-row{gap:10px;display:flex}.sq-ld-pin-input{color:#fff;font-size:1rem;font-family:var(--font-mono,monospace);letter-spacing:.15em;text-align:center;background:#090d16;border:1.5px solid #fff3;border-radius:10px;outline:none;flex:1;padding:10px 14px;font-weight:800;transition:all .2s}.sq-ld-pin-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf840}.sq-ld-input--error{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444440!important}.sq-ld-unlock-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:10px;padding:10px 18px;font-size:.875rem;font-weight:800;transition:all .2s}.sq-ld-unlock-btn:hover:not(:disabled){background:linear-gradient(135deg,#38bdf8,#0284c7);transform:translateY(-1px)}.sq-ld-unlock-btn:disabled{opacity:.5;cursor:not-allowed}.sq-ld-error-msg{color:#f87171;margin-top:10px;font-size:.8125rem;font-weight:700}.sq-interactive-table-card{background:var(--color-surface-sunken);border:1.5px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-top:16px;padding:18px 20px}.sq-table-hint-bar{color:var(--color-text-secondary);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:.8125rem;display:flex}.sq-table-hint-tag{color:#2563eb;background:#2563eb14;border:1px solid #2563eb33;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex}.sq-interactive-table-wrap{border-radius:var(--radius-lg);border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;overflow-x:auto}.sq-interactive-table{border-collapse:collapse;width:100%;font-size:.9375rem}.sq-interactive-table th{background:var(--color-surface-sunken);text-align:center;color:var(--color-text-primary);border-bottom:1.5px solid var(--color-border);border-right:1px solid var(--color-border);padding:12px 16px;font-weight:800}.sq-interactive-table th:first-child{text-align:left}.sq-interactive-table th:last-child{border-right:none}.sq-interactive-table td{border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);vertical-align:middle;padding:10px 14px}.sq-interactive-table td:last-child{border-right:none}.sq-interactive-table tr:last-child td{border-bottom:none}.sq-interactive-table tr:hover td{background:#2563eb05}.sq-table-row-label{color:var(--color-text-primary);font-weight:600;line-height:1.45}.sq-table-cell-btn{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;min-height:38px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.875rem;font-weight:600;display:inline-flex}.sq-table-cell-btn:hover:not(:disabled){color:#1d4ed8;background:#3b82f60f;border-color:#3b82f6;transform:translateY(-1px)}.sq-table-cell-btn--active{font-weight:700;box-shadow:0 2px 6px #2563eb59;color:#fff!important;background:#2563eb!important;border-color:#1d4ed8!important}.sq-table-cell-input{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-primary);box-sizing:border-box;outline:none;padding:8px 12px;font-size:.875rem}.sq-table-cell-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.sq-pinned-question-bar{z-index:85;background:var(--color-surface-elevated,#1e293b);border-bottom:2px solid #3b82f6;padding:10px 24px;transition:all .2s;animation:.22s cubic-bezier(.16,1,.3,1) slideDown;position:sticky;top:57px;box-shadow:0 8px 24px #00000040,0 2px 10px #3b82f626}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sq-pinned-question-container{justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.sq-pinned-question-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.sq-pinned-question-badge{color:#fff;white-space:nowrap;letter-spacing:.3px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #2563eb4d}.sq-pinned-question-text{color:var(--color-text-primary,#fff);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9375rem;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.sq-pinned-scroll-down-btn{color:#38bdf8;cursor:pointer;white-space:nowrap;background:#3b82f626;border:1.5px solid #3b82f673;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:7px 16px;font-size:.8125rem;font-weight:700;transition:all .15s;display:inline-flex}.sq-pinned-scroll-down-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb;transform:translateY(1px);box-shadow:0 2px 8px #2563eb66}.gq-root{color:#f8fafc;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at top,#1e1b4b 0%,#0f172a 50%,#020617 100%);flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow-x:hidden}.gq-centered{justify-content:center;align-items:center}.gq-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172abf;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.gq-topbar-profile{align-items:center;gap:.75rem;display:flex}.gq-player-avatar{filter:drop-shadow(0 2px 8px #0006);font-size:2rem}.gq-player-info{flex-direction:column;display:flex}.gq-player-name{color:#fff;font-size:1.1rem;font-weight:800}.gq-quiz-title-tag{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.75rem;overflow:hidden}.gq-topbar-score-hud{align-items:center;gap:1rem;display:flex}.gq-streak-badge{color:#fff;background:linear-gradient(135deg,#ef4444,#f59e0b);border-radius:999px;padding:.3rem .75rem;font-size:.85rem;font-weight:900;animation:1s infinite alternate gq-pulse;box-shadow:0 0 15px #ef444480}.gq-score-counter{background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:.4rem;padding:.4rem 1rem;display:flex}.gq-score-lbl{color:#94a3b8;letter-spacing:.05em;font-size:.75rem;font-weight:700}.gq-score-val{color:#38bdf8;font-size:1.2rem;font-weight:900}.gq-topbar-actions{align-items:center;gap:.6rem;display:flex}.gq-btn-icon{cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:.45rem;font-size:1.1rem;transition:all .2s}.gq-btn-icon:hover{background:#fff3}.gq-btn-leave{color:#f87171;cursor:pointer;background:#ef444433;border:1px solid #ef444466;border-radius:8px;padding:.45rem .9rem;font-size:.85rem;font-weight:700;transition:all .2s}.gq-btn-leave:hover{color:#fff;background:#ef444466}.gq-join-screen{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.gq-join-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172abf;border:1px solid #ffffff1f;border-radius:24px;width:100%;max-width:520px;padding:2.5rem;box-shadow:0 20px 50px #00000080}.gq-join-brand{text-align:center;margin-bottom:2rem}.gq-brand-icon{margin-bottom:.5rem;font-size:3rem;display:block}.gq-game-title{background:linear-gradient(135deg,#fff,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.8rem;font-weight:900}.gq-game-sub{color:#94a3b8;margin-top:.25rem;font-size:.95rem}.gq-avatar-section{margin-bottom:1.5rem}.gq-section-label{color:#94a3b8;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.6rem;font-size:.85rem;font-weight:700;display:block}.gq-avatar-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.gq-avatar-btn{cursor:pointer;background:#ffffff0f;border:2px solid #0000;border-radius:12px;padding:.4rem;font-size:1.6rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.gq-avatar-btn:hover{background:#ffffff26;transform:scale(1.15)}.gq-avatar--selected{background:#8b5cf64d;border-color:#a78bfa;transform:scale(1.15);box-shadow:0 0 15px #a78bfa80}.gq-name-section{margin-bottom:2rem}.gq-name-input-wrap{gap:.5rem;display:flex}.gq-name-input{color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:12px;outline:none;flex:1;padding:.8rem 1rem;font-size:1.1rem;font-weight:700;transition:border-color .2s}.gq-name-input:focus{border-color:#8b5cf6;box-shadow:0 0 15px #8b5cf64d}.gq-btn-randomize{color:#f8fafc;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:.8rem 1rem;font-weight:700;transition:all .2s}.gq-btn-randomize:hover{background:#fff3}.gq-join-actions{flex-direction:column;gap:.75rem;display:flex}.gq-btn-join{cursor:pointer;border:none;border-radius:14px;width:100%;padding:1rem;font-size:1.15rem;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1)}.gq-btn-join--multi{color:#fff;background:linear-gradient(135deg,#8b5cf6,#ec4899);box-shadow:0 8px 24px #8b5cf666}.gq-btn-join--multi:hover{transform:translateY(-2px);box-shadow:0 12px 30px #8b5cf699}.gq-btn-join--solo{color:#fff;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 24px #10b98166}.gq-btn-join--solo:hover{transform:translateY(-2px);box-shadow:0 12px 30px #10b98199}.gq-waiting-screen{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.gq-waiting-card{text-align:center;background:#0f172ab3;border:1px solid #ffffff1a;border-radius:24px;max-width:480px;padding:3rem}.gq-waiting-avatar{margin-bottom:1rem;font-size:5rem}.gq-pulse-waves{justify-content:center;gap:.5rem;margin-top:2rem;display:flex}.wave{background:#38bdf8;border-radius:50%;width:14px;height:14px;animation:1.2s ease-in-out infinite wave-pulse}.wave-1{animation-delay:0s}.wave-2{animation-delay:.2s}.wave-3{animation-delay:.4s}@keyframes wave-pulse{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1.4)}}.gq-gameplay-screen{flex-direction:column;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1rem 1.5rem;display:flex}.gq-hud-bar{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.gq-q-tracker{background:#ffffff1a;border-radius:999px;padding:.35rem .85rem;font-size:.9rem;font-weight:700}.gq-timer-badge{color:#34d399;background:#10b98133;border:1px solid #10b98180;border-radius:999px;padding:.35rem 1rem;font-size:1.1rem;font-weight:800}.gq-timer--urgent{color:#f87171;background:#ef44444d;border-color:#ef4444;animation:.5s infinite gq-pulse}.gq-timer--frozen{color:#7dd3fc;background:#38bdf84d;border-color:#38bdf8}.gq-progress-track{background:#ffffff1a;border-radius:4px;width:100%;height:8px;margin-bottom:1rem;overflow:hidden}.gq-progress-fill{background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444);height:100%;transition:width 1s linear}.gq-q-card{text-align:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:130px;margin-bottom:1.25rem;padding:1.5rem 2rem;display:flex;box-shadow:0 10px 30px #0000004d}.gq-q-text{color:#fff;font-size:1.4rem;font-weight:600;line-height:1.6}.gq-q-diagram img{border-radius:12px;max-height:180px;margin-top:.75rem;box-shadow:0 4px 16px #0006}.gq-answers-grid{flex:1;grid-template-columns:1fr 1fr;gap:1rem;min-height:240px;margin-bottom:1rem;display:grid}.gq-answer-card{cursor:pointer;text-align:left;border:none;border-radius:18px;align-items:center;gap:1rem;padding:1.25rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 8px 24px #0000004d}.gq-answer-card:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-4px)scale(1.02)}.gq-answer-card:active:not(:disabled){transform:scale(.98)}.gq-answer--red{background:linear-gradient(135deg,#e11d48,#be123c)}.gq-answer--blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.gq-answer--green{background:linear-gradient(135deg,#059669,#047857)}.gq-answer--yellow{background:linear-gradient(135deg,#d97706,#b45309)}.gq-answer--selected{outline:4px solid #fff;box-shadow:0 0 30px #fffc}.gq-answer--hidden{box-shadow:none;cursor:not-allowed;color:#64748b;background:#ffffff0a;border:1px dashed #ffffff26;justify-content:center;align-items:center;font-weight:700;display:flex}.gq-answer-shape{opacity:.85;font-size:2rem}.gq-answer-text{color:#fff;flex:1;font-size:1.2rem;font-weight:700}.gq-locked-badge{color:#f8fafc;background:#0009;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:800;position:absolute;top:10px;right:12px}.gq-powerups-bar{justify-content:center;gap:1rem;padding:.5rem 0;display:flex}.gq-powerup-btn{color:#f8fafc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:700;transition:all .2s;display:flex}.gq-powerup-btn:hover:not(:disabled){background:#fff3;transform:translateY(-2px);box-shadow:0 4px 15px #fff3}.gq-powerup--used{opacity:.35;cursor:not-allowed}.gq-powerup--active{background:#f59e0b4d;border-color:#f59e0b;box-shadow:0 0 15px #f59e0b80}.gq-pu-icon{font-size:1.2rem}.gq-feedback-screen{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.gq-feedback-card{text-align:center;background:#0f172ad9;border-radius:28px;width:100%;max-width:500px;padding:3rem 2.5rem;box-shadow:0 25px 60px #0009}.gq-feedback--correct .gq-feedback-card{border:2px solid #10b981;box-shadow:0 0 50px #10b98166}.gq-feedback--incorrect .gq-feedback-card{border:2px solid #ef4444;box-shadow:0 0 50px #ef444466}.gq-feedback-emoji{margin-bottom:.5rem;font-size:4.5rem}.gq-feedback-heading{color:#fff;margin:0 0 1rem;font-size:2rem;font-weight:900}.gq-points-splash{color:#10b981;text-shadow:0 0 20px #10b98199;margin-bottom:1.5rem;font-size:2.2rem;font-weight:900}.gq-feedback-correct-answer{background:#ffffff14;border-radius:12px;flex-direction:column;gap:.25rem;margin-bottom:1.5rem;padding:1rem;display:flex}.gq-feedback-correct-answer span{color:#94a3b8;font-size:.85rem}.gq-feedback-correct-answer strong{color:#34d399;font-size:1.1rem}.gq-btn-feedback-next{width:100%;padding:1rem;font-size:1.2rem}.gq-waiting-next-txt{color:#94a3b8;margin-top:1rem;font-size:.95rem}.gq-leaderboard-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.gq-my-rank-banner{background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:20px;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem 2rem;font-size:1.2rem;display:flex;box-shadow:0 10px 30px #8b5cf666}.gq-my-rank-num{color:#fff;font-size:2.2rem;font-weight:900}.gq-lb-card{background:#0f172ab3;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:500px;padding:1.5rem}.gq-lb-heading{color:#94a3b8;text-align:center;margin:0 0 1rem;font-size:1.2rem;font-weight:800}.gq-lb-rows{flex-direction:column;gap:.5rem;display:flex}.gq-lb-row{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.gq-lb-row--me{background:#8b5cf633;border-color:#8b5cf6}.gq-lb-rank{color:#94a3b8;width:30px;font-weight:900}.gq-lb-avatar{font-size:1.4rem}.gq-lb-name{color:#fff;flex:1;font-size:1rem}.gq-lb-pts{color:#38bdf8;font-weight:800}.gq-results-screen{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.gq-results-card{text-align:center;background:#0f172ad9;border:1px solid #ffffff1f;border-radius:28px;width:100%;max-width:550px;padding:3rem 2.5rem;box-shadow:0 25px 60px #0009}.gq-stars-row{justify-content:center;gap:.5rem;margin-bottom:1rem;display:flex}.gq-star{color:#ffffff26;font-size:2.5rem}.gq-star--lit{color:#f59e0b;filter:drop-shadow(0 0 10px #f59e0bcc);animation:.4s backwards gq-star-pop}@keyframes gq-star-pop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}.gq-results-title{background:linear-gradient(135deg,#f59e0b,#ec4899);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.4rem;font-weight:900}.gq-results-player{color:#94a3b8;margin:.5rem 0 2rem;font-size:1.2rem;font-weight:700}.gq-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;margin-bottom:2rem;display:grid}.gq-kpi-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:center;padding:1rem .5rem;display:flex}.gq-kpi-val{color:#fff;margin-bottom:.25rem;font-size:1.5rem;font-weight:900}.gq-kpi-lbl{color:#94a3b8;text-transform:uppercase;font-size:.75rem;font-weight:700}.gq-results-actions{gap:1rem;display:flex}.gq-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;border-radius:14px;flex:1;padding:1rem;font-size:1.1rem;font-weight:800;transition:all .2s;box-shadow:0 8px 24px #8b5cf666}.gq-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #8b5cf699}.gq-btn-secondary{color:#f8fafc;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:14px;flex:1;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .2s}.gq-btn-secondary:hover{background:#fff3}@keyframes gq-pulse{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes gq-fly-up{0%{opacity:0;transform:translateY(20px)scale(.8)}to{opacity:1;transform:translateY(0)scale(1)}}.animate-fly-up{animation:.5s cubic-bezier(.4,0,.2,1) gq-fly-up}.gq-structured-box{flex-direction:column;gap:1rem;width:100%;margin-top:.5rem;display:flex}.gq-context-stem-banner{color:#e2e8f0;background:#8b5cf626;border:1px solid #8b5cf666;border-radius:14px;padding:.85rem 1.25rem;font-size:.95rem}.gq-sym-bar{background:#0f172a99;border:1px solid #ffffff1a;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem .85rem;display:flex}.gq-sym-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem;font-size:.75rem;font-weight:800}.gq-sym-btn{color:#f8fafc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;padding:.35rem .65rem;font-size:.85rem;font-weight:700;transition:all .15s}.gq-sym-btn:hover{background:#8b5cf659;border-color:#a78bfa;transform:translateY(-1px)}.gq-structured-input-row{align-items:stretch;gap:.75rem;display:flex}.gq-type-input{color:#fff;background:#0f172ae6;border:2px solid #8b5cf680;border-radius:16px;outline:none;flex:1;padding:1.1rem 1.5rem;font-size:1.25rem;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #0000004d,inset 0 2px 4px #0000004d}.gq-type-input:focus{border-color:#8b5cf6;box-shadow:0 0 25px #8b5cf680,inset 0 2px 4px #0000004d}.gq-type-input:disabled{opacity:.7;cursor:not-allowed}.gq-btn-submit-type{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:16px;align-items:center;gap:.5rem;padding:0 1.75rem;font-size:1.15rem;font-weight:800;transition:all .2s;display:flex;box-shadow:0 4px 20px #10b98166}.gq-btn-submit-type:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #10b98199}.gq-btn-submit-type:disabled{opacity:.6;cursor:not-allowed}.gq-math-preview{color:#cbd5e1;background:#1e293b99;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.9rem;display:flex}.gq-math-preview-label{color:#94a3b8;text-transform:uppercase;font-size:.75rem;font-weight:700}.gq-review-section{text-align:left;margin-bottom:2rem}.gq-btn-review-toggle{color:#f1f5f9;cursor:pointer;background:#ffffff14;border:1.5px solid #ffffff26;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem 1.25rem;font-size:.95rem;font-weight:700;transition:all .2s;display:flex}.gq-btn-review-toggle:hover{background:#ffffff24;border-color:#8b5cf680;transform:translateY(-1px)}.gq-review-list{flex-direction:column;gap:.85rem;max-height:380px;margin-top:1rem;padding-right:.5rem;display:flex;overflow-y:auto}.gq-review-item{background:#0f172ab3;border:1px solid #ffffff1a;border-radius:14px;padding:1rem 1.15rem;transition:border-color .2s}.gq-review-item--correct{border-left:4px solid #10b981}.gq-review-item--incorrect{border-left:4px solid #ef4444}.gq-review-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.gq-review-qnum{color:#94a3b8;text-transform:uppercase;font-size:.85rem;font-weight:800}.gq-review-status{border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:800}.status-correct{color:#34d399;background:#10b98133}.status-incorrect{color:#f87171;background:#ef444433}.gq-review-prompt{color:#e2e8f0;margin-bottom:.75rem;font-size:.925rem;line-height:1.45}.gq-review-details{background:#00000040;border-radius:10px;flex-direction:column;gap:.35rem;padding:.65rem .85rem;display:flex}.gq-review-row{align-items:baseline;gap:.5rem;font-size:.825rem;display:flex}.gq-review-row--scheme{color:#a78bfa}.gq-review-lbl{color:#94a3b8;min-width:140px;font-weight:600}.gq-review-val{color:#cbd5e1;font-weight:600}.gq-review-val--scheme{color:#c4b5fd;font-weight:700}@media (width<=640px){.gq-answers-grid{grid-template-columns:1fr}.gq-avatar-grid{grid-template-columns:repeat(5,1fr)}.gq-q-text{font-size:1.15rem}.gq-answer-text{font-size:1rem}.gq-structured-input-row{flex-direction:column}.gq-btn-submit-type{justify-content:center;padding:.85rem}.gq-review-row{flex-direction:column;gap:.15rem}.gq-review-lbl{min-width:unset}}.gh-root{color:#f8fafc;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at top,#1e1b4b 0%,#0f172a 50%,#020617 100%);flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;overflow-x:hidden}.gh-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ab3;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.gh-topbar-left{align-items:center;gap:.75rem;display:flex}.gh-game-badge{color:#fff;letter-spacing:.05em;text-shadow:0 1px 2px #0006;background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:999px;padding:.35rem .75rem;font-size:.75rem;font-weight:800}.gh-topbar-title{color:#fff;margin:0;font-size:1.25rem;font-weight:700}.gh-subject-pill{color:#94a3b8;background:#ffffff1a;border-radius:6px;padding:.25rem .6rem;font-size:.8rem}.gh-topbar-right{align-items:center;gap:.75rem;display:flex}.gh-btn-icon{cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:.5rem;font-size:1.2rem;transition:all .2s}.gh-btn-icon:hover{background:#fff3;transform:scale(1.05)}.gh-btn-exit{color:#f87171;cursor:pointer;background:#ef444433;border:1px solid #ef444466;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.gh-btn-exit:hover{color:#fff;background:#ef444466}.gh-lobby{flex-direction:column;flex:1;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:2rem;display:flex}.gh-join-hero{text-align:center;flex-direction:column;align-items:center;margin-bottom:2.5rem;display:flex}.gh-join-instruction{color:#94a3b8;gap:.5rem;margin-bottom:1rem;font-size:1.2rem;display:flex}.gh-join-instruction strong{color:#38bdf8}.gh-code-card{background:#ffffff0d;border:2px solid #8b5cf680;border-radius:20px;flex-direction:column;align-items:center;margin-bottom:1.5rem;padding:1.5rem 3rem;display:flex;box-shadow:0 0 40px #8b5cf64d}.gh-code-label{color:#a78bfa;letter-spacing:.1em;margin-bottom:.25rem;font-size:.9rem;font-weight:700}.gh-code-huge{letter-spacing:.1em;background:linear-gradient(135deg,#fff,#a78bfa);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #a78bfa80;-webkit-background-clip:text;background-clip:text;font-size:4.5rem;font-weight:900}.gh-lobby-stats{gap:1rem;margin-bottom:2rem;display:flex}.gh-stat-chip{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.95rem;display:flex}.gh-chip-icon{font-size:1.2rem}.gh-btn-start-game{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:16px;padding:1rem 3rem;font-size:1.4rem;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 30px #10b98166}.gh-btn-start-game:hover:not(:disabled){transform:translateY(-3px)scale(1.02);box-shadow:0 15px 40px #10b98199}.gh-btn-start-game:disabled{opacity:.5;cursor:not-allowed}.gh-players-wall{background:#0f172a99;border:1px solid #ffffff14;border-radius:20px;width:100%;min-height:250px;padding:1.5rem}.gh-wall-heading{color:#94a3b8;margin:0 0 1rem;font-size:1.1rem;font-weight:700}.gh-wall-empty{color:#64748b;justify-content:center;align-items:center;gap:.75rem;height:180px;font-size:1.1rem;display:flex}.gh-pulse-dot{background:#38bdf8;border-radius:50%;width:12px;height:12px;animation:1.5s infinite gh-pulse;box-shadow:0 0 12px #38bdf8}@keyframes gh-pulse{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.3)}to{opacity:.6;transform:scale(.9)}}.gh-player-chips-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.gh-player-chip{background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex;box-shadow:0 4px 12px #0003}.gh-chip-avatar{font-size:1.5rem}.gh-chip-name{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.gh-countdown-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.gh-countdown-number{background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 40px #f59e0b99);-webkit-background-clip:text;background-clip:text;font-size:10rem;font-weight:900}.gh-countdown-sub{color:#94a3b8;margin-top:1rem;font-size:1.5rem}.gh-question-screen{flex-direction:column;flex:1;width:100%;max-width:1300px;margin:0 auto;padding:1.5rem 2.5rem;display:flex}.gh-q-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.gh-q-number-pill{background:#ffffff1a;border-radius:999px;padding:.4rem 1rem;font-size:.95rem;font-weight:700}.gh-answers-counter{align-items:center;gap:.5rem;font-size:1.1rem;display:flex}.gh-counter-label{color:#94a3b8}.gh-counter-num{color:#38bdf8;font-size:1.3rem;font-weight:800}.gh-timer-bubble{color:#34d399;background:#10b98133;border:1px solid #10b98180;border-radius:999px;padding:.4rem 1.2rem;font-size:1.2rem;font-weight:800}.gh-timer-urgent{color:#f87171;background:#ef44444d;border-color:#ef4444;animation:.5s infinite gh-pulse}.gh-timer-track{background:#ffffff1a;border-radius:4px;width:100%;height:8px;margin-bottom:1.5rem;overflow:hidden}.gh-timer-fill{background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444);height:100%;transition:width 1s linear}.gh-question-card{text-align:center;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;margin-bottom:1.5rem;padding:2rem;display:flex;box-shadow:0 10px 30px #0000004d}.gh-question-text{color:#fff;font-size:1.5rem;font-weight:600;line-height:1.6}.gh-question-diagram img{border-radius:12px;max-height:220px;margin-top:1rem;box-shadow:0 4px 16px #0006}.gh-options-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.gh-option-card{border-radius:16px;align-items:center;gap:1rem;padding:1.5rem;transition:all .3s;display:flex;position:relative;box-shadow:0 8px 24px #0000004d}.gh-option--red{background:linear-gradient(135deg,#e11d48,#be123c)}.gh-option--blue{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.gh-option--green{background:linear-gradient(135deg,#059669,#047857)}.gh-option--yellow{background:linear-gradient(135deg,#d97706,#b45309)}.gh-option--dimmed{opacity:.3;filter:grayscale(.5)}.gh-option--correct{border:3px solid #fff;transform:scale(1.03);box-shadow:0 0 30px #10b981}.gh-option-shape{opacity:.8;font-size:2rem}.gh-option-text{color:#fff;flex:1;font-size:1.25rem;font-weight:700}.gh-correct-badge{color:#059669;background:#fff;border-radius:8px;padding:.35rem .75rem;font-size:.85rem;font-weight:900}.gh-host-action-bar{justify-content:center;gap:1rem;display:flex}.gh-btn-action{color:#f8fafc;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:.8rem 2rem;font-size:1.1rem;font-weight:700;transition:all .2s}.gh-btn-action:hover{background:#fff3;transform:translateY(-2px)}.gh-btn-action--primary{background:linear-gradient(135deg,#8b5cf6,#6366f1);border:none;box-shadow:0 8px 24px #8b5cf666}.gh-leaderboard-screen{flex-direction:column;flex:1;align-items:center;width:100%;max-width:900px;margin:0 auto;padding:2rem;display:flex}.gh-lb-header{text-align:center;margin-bottom:2rem}.gh-lb-title{background:linear-gradient(135deg,#f59e0b,#fbbf24);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5rem;font-weight:900}.gh-lb-subtitle{color:#94a3b8;font-size:1.1rem}.gh-lb-list{flex-direction:column;gap:.75rem;width:100%;margin-bottom:2rem;display:flex}.gh-lb-row{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;box-shadow:0 6px 18px #0003}.gh-lb-rank-1{background:linear-gradient(135deg,#f59e0b33,#f59e0b0d);border-color:#f59e0b80}.gh-lb-rank{text-align:center;width:45px;font-size:1.5rem;font-weight:900}.gh-lb-player{flex:1;align-items:center;gap:.75rem;display:flex}.gh-lb-avatar{font-size:1.8rem}.gh-lb-name{color:#fff;font-size:1.25rem}.gh-lb-streak{color:#f87171;background:#ef444433;border-radius:999px;padding:.2rem .5rem;font-size:.85rem;font-weight:800}.gh-lb-score{color:#38bdf8;font-size:1.4rem;font-weight:900}.gh-lb-actions{justify-content:center;display:flex}.gh-results-screen{flex-direction:column;flex:1;align-items:center;width:100%;max-width:1000px;margin:0 auto;padding:2rem;display:flex}.gh-podium-header{text-align:center;margin-bottom:3rem}.gh-results-badge{color:#94a3b8;letter-spacing:.1em;background:#ffffff1a;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;font-weight:800}.gh-podium-title{background:linear-gradient(135deg,#ec4899,#8b5cf6,#3b82f6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:.5rem 0 0;font-size:3rem;font-weight:900}.gh-podium-wrap{justify-content:center;align-items:flex-end;gap:1.5rem;width:100%;min-height:380px;margin-bottom:3rem;display:flex}.gh-podium-col{flex-direction:column;align-items:center;width:220px;display:flex}.gh-podium-crown{font-size:2.5rem;animation:1s infinite alternate gh-bounce}@keyframes gh-bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.gh-podium-avatar{margin-bottom:.5rem;font-size:3.5rem}.gh-podium-name{color:#fff;text-align:center;margin-bottom:.25rem;font-size:1.2rem;font-weight:800}.gh-podium-score{color:#38bdf8;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.gh-podium-block{color:#fff;border-radius:20px 20px 0 0;justify-content:center;align-items:center;width:100%;font-size:1.5rem;font-weight:900;display:flex;box-shadow:0 10px 30px #0006}.gh-podium-block--1{background:linear-gradient(#f59e0b,#d97706);height:220px}.gh-podium-block--2{background:linear-gradient(#94a3b8,#64748b);height:160px}.gh-podium-block--3{background:linear-gradient(#b45309,#78350f);height:120px}.gh-results-actions{gap:1rem;display:flex}.gh-btn-excel{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;padding:.9rem 2rem;font-size:1.1rem;font-weight:800;transition:all .2s;box-shadow:0 6px 20px #10b98166}.gh-btn-excel:hover{transform:translateY(-2px);box-shadow:0 10px 28px #10b98199}.gh-btn-exit-final{color:#f8fafc;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:.9rem 2rem;font-size:1.1rem;font-weight:700;transition:all .2s}.gh-btn-exit-final:hover{background:#fff3}.app-root{background:var(--color-surface);min-height:100vh;position:relative;overflow-x:hidden}.navbar{z-index:50;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);background:#ffffffd9;position:sticky;top:0}:root.dark .navbar{background:#0f172ad9}.navbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1280px;height:64px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.nav-cat-avatar{object-fit:cover;border:2px solid var(--color-primary-400);width:32px;height:32px;box-shadow:0 2px 6px var(--shadow-glow);transition:transform var(--transition-fast);border-radius:50%}.nav-logo:hover .nav-cat-avatar{transform:rotate(-8deg)scale(1.1)}.nav-title{color:var(--color-text-primary);letter-spacing:-.025em;white-space:nowrap;font-size:1.0625rem;font-weight:800}.nav-center{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:4px;padding:4px 6px;display:flex}.nav-tab{color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.nav-tab:hover{color:var(--color-text-primary)}:root.dark .nav-tab--active{color:var(--color-primary-400)}.nav-tab-badge{background:var(--color-primary-500);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:2px 6px;font-size:.6875rem;font-weight:800;line-height:1;display:inline-flex}.nav-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.nav-portal-switch-btn{height:32px;color:var(--color-primary-500);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);background:#6366f11a;border:1.5px solid #6366f159;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.75rem;font-weight:700;display:inline-flex}.nav-portal-switch-btn:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500);transform:translateY(-1px);box-shadow:0 2px 8px #6366f14d}.nav-creator-pill{background:var(--color-surface-sunken);border:1px solid var(--color-border);height:32px;color:var(--color-text-secondary);white-space:nowrap;transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 4px;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-creator-pill:hover{background:var(--color-surface);border-color:var(--color-primary-300);color:var(--color-primary-600);box-shadow:0 2px 8px var(--shadow-glow);transform:translateY(-1px)}.nav-creator-avatar{object-fit:cover;border:1px solid var(--color-primary-300);border-radius:50%;width:22px;height:22px}.nav-creator-name{letter-spacing:-.01em}.nav-settings-btn{border:1px solid var(--color-border);background:var(--color-surface-sunken);width:34px;height:34px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.nav-settings-btn:hover{background:var(--color-surface);border-color:var(--color-primary-300);color:var(--color-primary-600);box-shadow:0 2px 8px var(--shadow-glow);transform:rotate(45deg)}.hero-section{max-width:1200px;margin:0 auto;position:relative}.hero-cat-wrapper{margin-bottom:20px;display:inline-block}.hero-cat-avatar{border-radius:var(--radius-2xl);object-fit:cover;width:96px;height:96px;box-shadow:0 12px 32px #6366f140, var(--shadow-lg);transition:transform var(--transition-base);border:3px solid #fff}.hero-cat-avatar:hover{transform:rotate(4deg)scale(1.06)}.hero-section{padding:80px 24px 60px}.hero-content{z-index:1;position:relative}.hero-badge{background:var(--color-primary-50);border:1px solid var(--color-primary-200);color:var(--color-primary-600);transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 16px 6px 8px;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.hero-badge--link:hover{background:var(--color-primary-100);border-color:var(--color-primary-300);transform:translateY(-1px);box-shadow:0 4px 12px #6366f126}.hero-badge-avatar{object-fit:cover;border:1.5px solid var(--color-primary-300);border-radius:50%;width:22px;height:22px}:root.dark .hero-badge{color:var(--color-primary-300);background:#6366f11a;border-color:#6366f14d}.badge-dot{background:var(--color-accent-500);width:6px;height:6px;box-shadow:0 0 6px var(--color-accent-500);border-radius:50%}.hero-badge-pill{color:var(--color-primary-600);background:#6366f11a;border:1px solid #6366f140;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:.8125rem;font-weight:700;display:inline-flex}.badge-sparkle{font-size:1rem}.hero-title{letter-spacing:-.04em;color:var(--color-text-primary);margin:0 0 20px;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1}.hero-description{color:var(--color-text-secondary);max-width:680px;margin:0 0 28px;font-size:1.125rem;line-height:1.7}.hero-stats-ribbon{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-width:900px;margin-bottom:32px;display:grid}.hero-stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:12px;padding:14px 18px;display:flex}.hero-stat-card:hover{border-color:var(--color-primary-400);box-shadow:var(--shadow-md);background:var(--color-surface-sunken);transform:translateY(-2px)}.stat-icon{flex-shrink:0;font-size:1.75rem}.stat-info{flex-direction:column;display:flex}.stat-info strong{color:var(--color-text-primary);font-size:1.25rem;font-weight:900;line-height:1.1}.stat-info span{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:.6875rem;font-weight:600}.hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:36px;display:flex}.hero-btn{border-radius:var(--radius-xl);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:10px;padding:12px 24px;font-size:.875rem;font-weight:700;display:inline-flex}.hero-btn--primary{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;box-shadow:0 4px 14px #6366f14d}.hero-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6366f166}.hero-btn--quizzes{color:#fff;background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 4px 14px #06b6d44d}.hero-btn--quizzes:hover{transform:translateY(-2px);box-shadow:0 8px 24px #06b6d466}.hero-btn--secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.hero-btn--secondary:hover{background:var(--color-surface-sunken);border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.workflow-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);align-items:center;gap:8px;margin-bottom:40px;padding:16px 20px;display:flex;overflow-x:auto}.workflow-step{border-radius:var(--radius-lg);cursor:pointer;min-width:170px;transition:all var(--transition-fast);flex:1;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.workflow-step:hover{background:var(--color-surface-sunken);transform:translateY(-1px)}.step-num{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:800;display:flex}.step-content strong{color:var(--color-text-primary);margin-bottom:2px;font-size:.8125rem;font-weight:800;display:block}.step-content p{color:var(--color-text-secondary);margin:0;font-size:.6875rem;line-height:1.35}.workflow-arrow{color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;font-size:1.125rem;font-weight:800}.nav-center{background:var(--color-surface-sunken);border-radius:var(--radius-lg);gap:4px;padding:4px;display:flex}.nav-tab{border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 16px;font-size:.8125rem;font-weight:500;display:inline-flex}.nav-tab:hover{color:var(--color-text-primary);background:#ffffff80}.nav-tab--active{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-sm);font-weight:600}.nav-tab-badge{background:var(--color-primary-500);color:#fff;border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:700}.feature-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.feature-card{border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface);transition:all var(--transition-base);padding:24px;position:relative;overflow:hidden}.feature-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-3px)}.feature-card--indigo{background:linear-gradient(135deg,#6366f108,#6366f114);border-color:#6366f133}.feature-card--indigo:hover{border-color:#6366f166;box-shadow:0 4px 16px #6366f11f}.feature-card--violet{background:linear-gradient(135deg,#8b5cf608,#8b5cf614);border-color:#8b5cf633}.feature-card--violet:hover{border-color:#8b5cf666;box-shadow:0 4px 16px #8b5cf61f}.feature-card--emerald{background:linear-gradient(135deg,#10b98108,#10b98114);border-color:#10b98133}.feature-card--emerald:hover{border-color:#10b98166;box-shadow:0 4px 16px #10b9811f}.feature-card--amber{background:linear-gradient(135deg,#f59e0b08,#f59e0b14);border-color:#f59e0b33}.feature-card--amber:hover{border-color:#f59e0b66;box-shadow:0 4px 16px #f59e0b1f}.feature-card--cyan{background:linear-gradient(135deg,#06b6d408,#06b6d414);border-color:#06b6d433}.feature-card--cyan:hover{border-color:#06b6d466;box-shadow:0 4px 16px #06b6d41f}.feature-card--rose{background:linear-gradient(135deg,#f43f5e08,#f43f5e14);border-color:#f43f5e33}.feature-card--rose:hover{border-color:#f43f5e66;box-shadow:0 4px 16px #f43f5e1f}.feature-card-icon{border-radius:var(--radius-lg);width:44px;height:44px;transition:transform var(--transition-fast);justify-content:center;align-items:center;margin-bottom:14px;display:flex}.feature-card:hover .feature-card-icon{transform:scale(1.08)}.feature-card-icon--indigo{color:#fff;background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 4px 12px #6366f140}.feature-card-icon--violet{color:#fff;background:linear-gradient(135deg,#a78bfa,#8b5cf6);box-shadow:0 4px 12px #8b5cf640}.feature-card-icon--emerald{color:#fff;background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 12px #10b98140}.feature-card-icon--amber{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 12px #f59e0b40}.feature-card-icon--cyan{color:#fff;background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 4px 12px #06b6d440}.feature-card-icon--rose{color:#fff;background:linear-gradient(135deg,#fb7185,#f43f5e);box-shadow:0 4px 12px #f43f5e40}.hero-footer-actions{justify-content:center;margin-top:40px;display:flex}.feature-card-title{color:var(--color-text-primary);margin:0 0 6px;font-size:.9375rem;font-weight:700}.feature-card-desc{color:var(--color-text-secondary);margin:0;font-size:.8125rem;line-height:1.6}.hero-bg-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#6366f114 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-100px}.app-footer{border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:48px;padding:24px 0}.app-footer-inner{justify-content:center;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.footer-creator{color:var(--color-text-secondary);background:var(--color-surface-sunken);border:1px solid var(--color-border);transition:all var(--transition-fast);border-radius:999px;align-items:center;gap:10px;padding:6px 14px;font-size:.8125rem;text-decoration:none;display:inline-flex}.footer-creator:hover{background:var(--color-surface);border-color:var(--color-primary-300);color:var(--color-primary-600);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.footer-creator-avatar{object-fit:cover;border:1.5px solid var(--color-primary-300);border-radius:50%;width:24px;height:24px}.footer-github-tag{color:var(--color-primary-600);background:#6366f11a;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:600}@media (width<=960px){.navbar-inner{flex-wrap:wrap;gap:10px;height:auto;padding:10px 16px}.nav-center{order:3;justify-content:flex-start;width:100%;overflow-x:auto}}@media (width<=640px){.hero-section{padding:48px 16px 40px}.feature-grid{grid-template-columns:1fr}}
