/* Generated from original UI; do not edit. */
@scope (.central-original) {
/* user_app/vendor/tailwind/tailwind.min.css */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where(:not([type])),input:where([type=date]),input:where([type=datetime-local]),input:where([type=email]),input:where([type=month]),input:where([type=number]),input:where([type=password]),input:where([type=search]),input:where([type=tel]),input:where([type=text]),input:where([type=time]),input:where([type=url]),input:where([type=week]),select,select:where([multiple]),textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}input:where(:not([type])):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=email]):focus,input:where([type=month]):focus,input:where([type=number]):focus,input:where([type=password]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=text]):focus,input:where([type=time]):focus,input:where([type=url]):focus,input:where([type=week]):focus,select:focus,select:where([multiple]):focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}select:where([multiple]),select:where([size]:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}input:where([type=checkbox]),input:where([type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}input:where([type=checkbox]):checked,input:where([type=radio]):checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}@media (forced-colors:active) {input:where([type=checkbox]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {input:where([type=radio]):checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):checked:focus,input:where([type=checkbox]):checked:hover,input:where([type=radio]):checked:focus,input:where([type=radio]):checked:hover{border-color:transparent;background-color:currentColor}input:where([type=checkbox]):indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}@media (forced-colors:active) {input:where([type=checkbox]):indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}input:where([type=checkbox]):indeterminate:focus,input:where([type=checkbox]):indeterminate:hover{border-color:transparent;background-color:currentColor}input:where([type=file]){background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}input:where([type=file]):focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:rgba(17,24,39,.1);--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:hsla(0,0%,100%,.1);--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.top-full{top:100%}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[24rem\]{min-height:24rem}.min-h-\[46px\]{min-height:46px}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-9{width:2.25rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[200px\]{min-width:200px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[17rem\]{max-width:17rem}.max-w-\[86vw\]{max-width:86vw}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-wrap{text-wrap:wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[28px\]{border-radius:28px}.rounded-\[32px\]{border-radius:32px}.rounded-\[7px\]{border-radius:7px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-\[\#D2D2D7\]{--tw-border-opacity:1;border-color:rgb(210 210 215/var(--tw-border-opacity,1))}.border-\[\#D2D2D7\]\/50{border-color:hsla(240,6%,83%,.5)}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity,1))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/80{border-color:rgba(229,231,235,.8)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity,1))}.border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.bg-\[\#0066CC\]{--tw-bg-opacity:1;background-color:rgb(0 102 204/var(--tw-bg-opacity,1))}.bg-\[\#1D1D1F\]{--tw-bg-opacity:1;background-color:rgb(29 29 31/var(--tw-bg-opacity,1))}.bg-\[\#E8E8ED\]{--tw-bg-opacity:1;background-color:rgb(232 232 237/var(--tw-bg-opacity,1))}.bg-\[\#F5F5F7\]{--tw-bg-opacity:1;background-color:rgb(245 245 247/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-50\/50{background-color:rgba(255,251,235,.5)}.bg-amber-50\/80{background-color:rgba(255,251,235,.8)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-50\/50{background-color:rgba(236,253,245,.5)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:rgba(249,250,251,.5)}.bg-gray-50\/70{background-color:rgba(249,250,251,.7)}.bg-gray-50\/90{background-color:rgba(249,250,251,.9)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-50\/80{background-color:rgba(255,241,242,.8)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity,1))}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-zinc-900\/70{background-color:rgba(24,24,27,.7)}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-zinc-950\/20{background-color:rgba(9,9,11,.2)}.fill-current{fill:currentColor}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-5{padding-left:1.25rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal}.ordinal,.tabular-nums{font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-\[\#1D1D1F\]{--tw-text-opacity:1;color:rgb(29 29 31/var(--tw-text-opacity,1))}.text-\[\#34445c\]{--tw-text-opacity:1;color:rgb(52 68 92/var(--tw-text-opacity,1))}.text-\[\#86868B\]{--tw-text-opacity:1;color:rgb(134 134 139/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity,1))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-blue-500{accent-color:#3b82f6}.accent-green-500{accent-color:#22c55e}.accent-red-500{accent-color:#ef4444}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-70{opacity:.7}.shadow-\[0_2px_10px_rgba\(0\2c 0\2c 0\2c 0\.04\)\]{--tw-shadow:0 2px 10px rgba(0,0,0,.04);--tw-shadow-colored:0 2px 10px var(--tw-shadow-color)}.shadow-\[0_2px_10px_rgba\(0\2c 0\2c 0\2c 0\.04\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-gray-200\/50{--tw-shadow-color:rgba(229,231,235,.5);--tw-shadow:var(--tw-shadow-colored)}.shadow-zinc-900\/10{--tw-shadow-color:rgba(24,24,27,.1);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-\[0\.5px\]{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0.5px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-\[\#D2D2D7\]{--tw-ring-opacity:1;--tw-ring-color:rgb(210 210 215/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.backdrop-blur-xl,.backdrop-saturate-150{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.placeholder\:text-zinc-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.placeholder\:text-zinc-400::placeholder{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:bg-\[\#0071E3\]:hover{--tw-bg-opacity:1;background-color:rgb(0 113 227/var(--tw-bg-opacity,1))}.hover\:bg-\[\#363638\]:hover{--tw-bg-opacity:1;background-color:rgb(54 54 56/var(--tw-bg-opacity,1))}.hover\:bg-\[\#D2D2D7\]:hover{--tw-bg-opacity:1;background-color:rgb(210 210 215/var(--tw-bg-opacity,1))}.hover\:bg-\[\#F5F5F7\]:hover{--tw-bg-opacity:1;background-color:rgb(245 245 247/var(--tw-bg-opacity,1))}.hover\:bg-gray-100\/90:hover{background-color:rgba(243,244,246,.9)}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity,1))}.focus\:border-zinc-900:focus{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity,1))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-zinc-900\/10:focus{--tw-ring-color:rgba(24,24,27,.1)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:768px){.md\:static{position:static}.md\:z-40{z-index:40}.md\:col-span-2{grid-column:span 2/span 2}.md\:hidden{display:none}.md\:w-64{width:16rem}.md\:max-w-none{max-width:none}.md\:flex-shrink-0{flex-shrink:0}.md\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}}@media (min-width:1024px){.lg\:p-6{padding:1.5rem}}@media (min-width:1280px){.xl\:sticky{position:sticky}.xl\:top-6{top:1.5rem}.xl\:flex-row{flex-direction:row}.xl\:self-start{align-self:flex-start}}@media (min-width:1700px){.min-\[1700px\]\:grid-cols-\[minmax\(200px\2c 1fr\)_96px_104px_104px_108px_180px_auto\]{grid-template-columns:minmax(200px,1fr) 96px 104px 104px 108px 180px auto}.min-\[1700px\]\:flex-nowrap{flex-wrap:nowrap}.min-\[1700px\]\:items-end{align-items:flex-end}.min-\[1700px\]\:gap-2\.5{gap:.625rem}}
/* user_app/styles.css */
/* user_app/styles/foundation_tokens.css */
:scope {
  --shell-width: 18rem;
  --apple-bg: #f5f5f7;
  --apple-surface: #fbfbfd;
  --apple-card: #ffffff;
  --apple-text: #1d1d1f;
  --apple-secondary: #6e6e73;
  --apple-tertiary: #86868b;
  --apple-border: #d2d2d7;
  --apple-control: #e8e8ed;
  --apple-blue: #0066cc;
  --apple-blue-hover: #0071e3;
  --apple-blue-pressed: #005bb5;
  --apple-danger: #ff3b30;
  --apple-danger-bg: rgba(255, 59, 48, 0.1);
  --apple-danger-bg-hover: rgba(255, 59, 48, 0.16);
  --apple-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  --apple-control-shadow: inset 0 0 0 0.5px color-mix(in srgb, var(--apple-border) 72%, transparent);
  --apple-focus-ring: 0 0 0 4px rgba(0, 102, 204, 0.18);
  --question-option-a-bg: #EAF3FF;
  --question-option-a-text: #2563EB;
  --question-option-a-shadow: rgba(37, 99, 235, 0.12);
  --question-option-b-bg: #E6FAF7;
  --question-option-b-text: #0F766E;
  --question-option-b-shadow: rgba(15, 118, 110, 0.12);
  --question-option-c-bg: #F3E8FF;
  --question-option-c-text: #7E22CE;
  --question-option-c-shadow: rgba(126, 34, 206, 0.12);
  --question-option-d-bg: #FFF3E0;
  --question-option-d-text: #C2410C;
  --question-option-d-shadow: rgba(194, 65, 12, 0.12);
  --question-cue-geometry: #4F46E5;
  --question-cue-variable: #0891B2;
  --question-cue-conclusion: #B45309;
  --question-tag-origin-bg: #EAF3FF;
  --question-tag-origin-text: #1D4ED8;
  --question-tag-source-bg: #F3F4F6;
  --question-tag-source-text: #374151;
  --question-tag-knowledge-bg: #F7F0FF;
  --question-tag-knowledge-text: #6D28D9;
  --question-status-pass-bg: #EAF8EF;
  --question-status-pass-text: #248A3D;
  --question-status-warn-bg: #FFF4E5;
  --question-status-warn-text: #B45309;
  --question-status-error-bg: #FFECEB;
  --question-status-error-text: #D92D20;
  --question-ai-action-bg: #EAF3FF;
  --question-ai-action-text: #2563EB;
  --question-ai-action-shadow: rgba(37, 99, 235, 0.16);
  --math-widget-text-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --math-widget-math-font: KaTeX_Math, KaTeX_Main, "Cambria Math", "Times New Roman", serif;
  --math-widget-coordinate-font: KaTeX_Main, "Cambria Math", "Times New Roman", serif;
  --math-widget-axis-number-font: var(--math-widget-coordinate-font);
  --math-widget-number-font: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
  --motion-pop: cubic-bezier(0.18, 1.16, 0.22, 1);
  --motion-pop-soft: cubic-bezier(0.2, 1.04, 0.26, 1);
  --motion-slide-slow: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-apple: cubic-bezier(0.19, 1, 0.22, 1);
  --motion-apple-close: cubic-bezier(0.32, 0, 0.67, 0);
  --motion-modal-open: 760ms;
  --motion-modal-close: 520ms;
  --motion-drawer-open: 700ms;
  --motion-drawer-close: 500ms;
  --motion-pop-slow: 520ms;
  --motion-backdrop-slow: 520ms;
  --modal-origin-x: 50%;
  --modal-origin-y: 86%;
}

* {
  box-sizing: border-box;
}


body {
  background: var(--apple-bg);
  color: var(--apple-text);
  text-wrap: pretty;
}

.app-shell,
.app-main,
body.bg-gray-50,
main.bg-gray-50 {
  background: var(--apple-bg) !important;
}

.app-main--contained-workbench {
  overflow: hidden !important;
}

.app-main--single-question-workbench {
  overflow: hidden !important;
  scrollbar-width: none;
}

.app-main--single-question-workbench::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.bg-gray-50,
.bg-slate-50 {
  background-color: var(--apple-bg) !important;
}

.bg-gray-100,
.bg-zinc-100,
.bg-slate-100 {
  background-color: var(--apple-control) !important;
}

.bg-zinc-900,
.bg-zinc-950 {
  background-color: var(--apple-blue) !important;
}

.hover\:bg-gray-50:hover {
  background-color: var(--apple-bg) !important;
}

.hover\:bg-gray-100:hover,
.hover\:bg-zinc-100:hover {
  background-color: #d2d2d7 !important;
}

.text-zinc-900,
.text-zinc-950,
.text-gray-900,
.text-slate-900 {
  color: var(--apple-text) !important;
}

.text-zinc-700,
.text-gray-700,
.text-slate-700,
.text-zinc-600,
.text-gray-600,
.text-slate-600,
.text-zinc-500,
.text-gray-500,
.text-slate-500,
.text-zinc-400,
.text-gray-400,
.text-slate-400 {
  color: var(--apple-secondary) !important;
}

.text-white {
  color: #fff !important;
}

.border-gray-100,
.border-gray-200,
.border-zinc-100,
.border-zinc-200,
.border-slate-100,
.border-slate-200 {
  border-color: color-mix(in srgb, var(--apple-border) 72%, transparent) !important;
}

.shadow-sm,
.shadow-md,
.shadow-lg,
.shadow-xl,
.shadow-2xl,
.shadow-soft,
.shadow-float {
  box-shadow: var(--apple-shadow) !important;
}

.shadow-inner {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

.tracking-\[-0\.03em\],
.tracking-\[-0\.04em\],
.tracking-\[-0\.05em\] {
  letter-spacing: 0 !important;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 78%, transparent) !important;
  background: var(--apple-bg) !important;
  color: var(--apple-text) !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--apple-blue) !important;
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.2) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--apple-tertiary) !important;
}

#root {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

.hidden {
  display: none !important;
}

.screen-reader-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* user_app/styles/module_stage_visibility.css */

.module-stage {
  display: none;
}

.module-stage--active {
  display: block;
  animation: module-fade 220ms ease;
}

@keyframes module-fade {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* user_app/styles/shared_control_baseline.css */

.module-pill,
.nav-action,
.soft-btn,
.admin-trigger-btn,
.chip-btn,
.page-btn,
.resource-action,
.question-toggle,
.basket-item__btn,
.auth-tab,
.paper-assembly-action-btn,
.paper-assembly-preview-btn,
.paper-import-filter-tab,
.paper-import-question-dot,
.paper-import-submit-btn,
.paper-import-job,
.question-action-pill,
.tree-admin-action,
.basket-close-btn,
.resource-floating-toolbar__btn,
.system-management-tab,
.system-management-nav-item,
.system-model-tab,
.system-settings-action-btn,
.system-settings-ghost-btn,
.app-toast__action {
  border: 0;
  outline: none;
  transition:
    background-color 180ms var(--motion-apple),
    border-color 180ms var(--motion-apple),
    color 180ms ease,
    box-shadow 180ms var(--motion-apple),
    transform 180ms var(--motion-apple),
    opacity 180ms ease;
}

.module-pill:not(.is-active),
.nav-action:not(.nav-action--primary):not(.hidden),
.soft-btn:not(.soft-btn--dark),
.chip-btn:not(.is-active),
.page-btn:not(.is-current),
.resource-action:not(.resource-action--primary):not(.resource-action--danger),
.question-toggle:not(.is-active):not(.is-basketed),
.basket-item__btn,
.auth-tab:not(.is-active) {
  background: var(--apple-control) !important;
  color: var(--apple-text) !important;
  box-shadow: var(--apple-control-shadow);
}

.module-pill:hover,
.nav-action:hover,
.soft-btn:hover,
.admin-trigger-btn:hover,
.chip-btn:hover,
.page-btn:hover,
.resource-action:hover,
.question-toggle:hover,
.basket-item__btn:hover,
.auth-tab:hover,
.tree-toggle:hover {
  transform: translateY(-1px);
}

.nav-action:not(.nav-action--primary):not(.hidden):hover,
.soft-btn:not(.soft-btn--dark):hover,
.chip-btn:not(.is-active):hover,
.page-btn:not(.is-current):hover,
.resource-action:not(.resource-action--primary):not(.resource-action--danger):hover,
.question-toggle:not(.is-active):not(.is-basketed):hover,
.basket-item__btn:hover,
.auth-tab:not(.is-active):hover {
  background: color-mix(in srgb, var(--apple-control) 78%, var(--apple-border)) !important;
  color: var(--apple-text) !important;
  box-shadow: var(--apple-control-shadow);
}

/* user_app/styles/shared_control_interactions.css */

.module-pill:active,
.nav-action:active,
.soft-btn:active,
.admin-trigger-btn:active,
.chip-btn:active,
.page-btn:active,
.resource-action:active,
.question-toggle:active,
.basket-item__btn:active,
.auth-tab:active,
.paper-assembly-action-btn:active,
.paper-assembly-preview-btn:active,
.paper-import-filter-tab:active,
.paper-import-question-dot:active,
.paper-import-submit-btn:active,
.question-action-pill:active,
.basket-close-btn:active,
.resource-floating-toolbar__btn:active,
.system-management-tab:active,
.system-management-nav-item:active,
.system-model-tab:active,
.system-settings-action-btn:active,
.system-settings-ghost-btn:active,
.app-toast__action:active {
  transform: translateY(0) scale(0.985);
}

.module-pill:focus-visible,
.nav-action:focus-visible,
.soft-btn:focus-visible,
.admin-trigger-btn:focus-visible,
.chip-btn:focus-visible,
.page-btn:focus-visible,
.resource-action:focus-visible,
.question-toggle:focus-visible,
.basket-item__btn:focus-visible,
.auth-tab:focus-visible,
.sort-menu__trigger:focus-visible,
.sort-menu__option:focus-visible,
.tree-toggle:focus-visible,
.tree-admin-action:focus-visible,
.paper-assembly-close:focus-visible,
.paper-assembly-action-btn:focus-visible,
.paper-assembly-preview-btn:focus-visible,
.paper-assembly-dropdown__trigger:focus-visible,
.paper-assembly-dropdown__tag button:focus-visible,
.paper-assembly-selected-tag:focus-visible,
.paper-import-filter-tab:focus-visible,
.paper-import-question-dot:focus-visible,
.paper-import-submit-btn:focus-visible,
.paper-import-job:focus-visible,
.question-action-pill:focus-visible,
.admin-drawer__close:focus-visible,
.auth-modal__close:focus-visible,
.basket-close-btn:focus-visible,
.resource-preview-modal__close:focus-visible,
.resource-floating-toolbar__btn:focus-visible,
.system-management-tab:focus-visible,
.system-management-nav-item:focus-visible,
.system-model-tab:focus-visible,
.system-settings-action-btn:focus-visible,
.system-settings-ghost-btn:focus-visible,
.app-toast__action:focus-visible {
  outline: 0;
  box-shadow: var(--apple-focus-ring), var(--apple-control-shadow);
}

/* user_app/styles/module_navigation_identity.css */

.module-pill.is-active,
.soft-btn--dark,
.page-btn.is-current,
.resource-action--primary,
.question-toggle.is-basketed,
.auth-tab.is-active {
  background: var(--apple-blue);
  color: white;
  box-shadow: var(--apple-shadow);
}

.module-pill.is-active:hover,
.soft-btn--dark:hover,
.page-btn.is-current:hover,
.resource-action--primary:hover,
.question-toggle.is-basketed:hover,
.auth-tab.is-active:hover {
  background: var(--apple-blue-hover);
}

#moduleSwitch .module-pill {
  background: transparent !important;
  color: var(--apple-text) !important;
  font-weight: 500;
  box-shadow: none !important;
}

#moduleSwitch .module-pill:hover {
  background: rgba(0, 102, 204, 0.06) !important;
  color: var(--apple-blue) !important;
}

#moduleSwitch .module-pill.is-active {
  background: rgba(0, 102, 204, 0.1) !important;
  color: var(--apple-blue) !important;
  font-weight: 650;
  box-shadow: none !important;
}

#moduleSwitch .module-pill span,
#moduleSwitch .module-pill i {
  color: inherit !important;
}

aside .top-auth-entry .nav-action--primary {
  background: var(--apple-blue) !important;
  color: white !important;
}

aside .top-auth-entry .nav-action:not(.nav-action--primary),
aside #legacyAdminLink,
aside #logoutBtn {
  background: var(--apple-control) !important;
  color: var(--apple-text) !important;
  box-shadow: var(--apple-control-shadow);
}

.brand-logo-mark svg {
  width: 2.25rem;
  height: 2.25rem;
  stroke-width: 1.8;
}

.brand-logo-mark--mobile svg {
  width: 1.5rem;
  height: 1.5rem;
}


/* user_app/styles/subject_context.css */
.subject-context-card {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 72%, transparent);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.62);
  box-shadow: 0 7px 24px rgba(35, 48, 65, 0.045);
}

.subject-context-card__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.subject-context-card__head span,
.module-nav-group-label {
  color: var(--apple-secondary);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.subject-context-card__head strong {
  color: var(--apple-text);
  font-size: 0.76rem;
  font-weight: 680;
}

.subject-context-card__controls {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 0.45rem;
}

.subject-context-card__controls label {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.subject-context-card__controls label > span {
  padding-left: 0.16rem;
  color: var(--apple-secondary);
  font-size: 0.65rem;
  font-weight: 650;
}

.subject-context-card__controls select {
  width: 100%;
  min-height: 2.25rem;
  border: 0;
  border-radius: 0.78rem;
  padding: 0 1.75rem 0 0.65rem;
  background-color: color-mix(in srgb, var(--apple-bg) 78%, white 22%);
  color: var(--apple-text);
  font-size: 0.78rem;
  font-weight: 650;
  box-shadow: inset 0 0 0 0.5px color-mix(in srgb, var(--apple-border) 82%, transparent);
}

.subject-context-card__controls select:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--apple-blue) 32%, transparent);
  outline-offset: 1px;
}

.module-nav-group-label { padding: 0.55rem 1rem 0.05rem; }

/* user_app/styles/contextual_action_controls.css */
.question-toggle.is-active:not(.is-basketed),
.chip-btn.is-active {
  background: var(--apple-blue);
  color: white;
}

.resource-action--danger,
.basket-item__btn--danger {
  background: var(--apple-danger-bg) !important;
  color: var(--apple-danger) !important;
  box-shadow: inset 0 0 0 0.5px color-mix(in srgb, var(--apple-danger) 26%, transparent);
}

.resource-action--danger:hover,
.basket-item__btn--danger:hover {
  background: var(--apple-danger-bg-hover) !important;
  color: var(--apple-danger) !important;
}

.admin-trigger-btn {
  background: var(--apple-blue) !important;
  color: white !important;
  box-shadow: var(--apple-shadow);
}

.admin-trigger-btn:hover {
  background: var(--apple-blue-hover) !important;
  box-shadow: var(--apple-shadow);
}

.nav-action:disabled,
.soft-btn:disabled,
.page-btn:disabled,
.resource-action:disabled,
.question-toggle:disabled,
.basket-item__btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
  box-shadow: none;
}


/* user_app/styles/question_import_menu.css */
#questionAdminMenu {
  z-index: 30; /* Above sticky search (20), below modal layers (50+). */
  transform-origin: top right;
  animation: dropdown-enter 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

#questionAdminMenu button {
  border: 0;
  background: transparent;
}

#questionAdminMenu button:hover {
  transform: none;
}

@media (max-width: 767px) {
  #questionAdminTriggerWrap { position: relative; }
  #questionAdminDropdown { position: static; }
  #questionAdminMenu {
    left: 0;
    right: auto;
    width: min(16rem, calc(100vw - 4rem));
    transform-origin: top left;
  }
}

/* user_app/styles/module_surface_cards.css */
.module-stage > section,
.knowledge-filter-panel,
.knowledge-reader,
.resource-card-shell,
.question-card,
.basket-export-card,
.system-settings-shell {
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 78%, transparent) !important;
  border-radius: 1.5rem !important;
  background: var(--apple-card) !important;
  box-shadow: var(--apple-shadow) !important;
}

.module-stage > section:first-child {
  border-radius: 1.75rem !important;
}


/* user_app/styles/workspace_frame_layout.css */
.workspace-frame {
  container-type: inline-size;
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 1.5rem;
}

.workspace-frame:has(#tikzWorkshopModule.module-stage--active) {
  padding: 0;
}

.workspace-frame #appContent,
.module-stage--active {
  min-height: 0;
}

.workspace-frame #appContent > .module-stage {
  margin-top: 0 !important;
}

.module-stage--active > :first-child {
  margin-top: 0;
}

.workspace-frame #appContent:has(#paperImportModule.module-stage--active) {
  height: calc(100dvh - 3rem);
  min-height: 0;
}

.workspace-frame #appContent:has(#multiQuestionImportModule.module-stage--active) {
  height: calc(100dvh - 3rem);
  min-height: 0;
}

.workspace-frame #appContent:has(#singleQuestionImportModule.module-stage--active) {
  height: calc(100dvh - 3rem);
  min-height: 0;
}


/* user_app/styles/import_module_viewports.css */
#singleQuestionImportModule.module-stage--active,
#singleQuestionImportModule.module-stage--active > #singleQuestionImportRoot {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

#multiQuestionImportModule.module-stage--active {
  height: 100%;
  overflow: hidden;
}

#multiQuestionImportModule.module-stage--active > #multiQuestionImportRoot {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

#paperImportModule.module-stage--active,
#paperImportModule.module-stage--active > #paperImportWorkbenchRoot {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

/* user_app/styles/workspace_split_layout.css */

.workspace-split-layout {
  --workspace-rail-width: 400px;
  display: grid;
  grid-template-columns: minmax(320px, var(--workspace-rail-width)) 1.5rem minmax(0, 1fr);
  gap: 0;
  align-items: start;
  width: 100%;
  min-width: 0;
}

.workspace-split-layout.workspace-split-layout {
  gap: 0;
}

.workspace-split-layout__rail,
.workspace-split-layout__main {
  min-width: 0;
}

.workspace-split-layout__rail {
  width: 100%;
  max-width: 400px;
}

.workspace-split-layout__main {
  width: 100%;
}

.resource-list-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1rem;
}

.workspace-resizer {
  position: relative;
  align-self: stretch;
  min-height: 4rem;
  border: 0;
  background: transparent;
  cursor: col-resize;
  touch-action: none;
}

.workspace-resizer::before {
  content: "";
  position: sticky;
  top: 7rem;
  display: block;
  width: 0.5rem;
  height: 3.25rem;
  margin: 6rem auto 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-border) 58%, transparent);
  opacity: 0;
  transform: scaleY(0.72);
  transition:
    opacity 160ms ease,
    transform 160ms ease,
    background 160ms ease;
}

.workspace-resizer:hover::before,
.workspace-resizer:focus-visible::before,
.workspace-split-layout.is-resizing .workspace-resizer::before {
  opacity: 1;
  transform: scaleY(1);
  background: color-mix(in srgb, var(--apple-blue) 42%, var(--apple-border));
}

body.workspace-resizing {
  cursor: col-resize;
  user-select: none;
}

/* user_app/styles/module_command_bar.css */

.workspace-panel-actions,
.dashboard-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}

.workspace-panel-actions.hidden {
  display: none !important;
}

.module-hero-card {
  min-height: 0;
  display: flex;
  align-items: stretch;
  padding: 1.5rem !important;
}

.module-hero-card > .module-hero-inner,
.module-hero-card > .knowledge-command-strip__copy,
.module-hero-card > .paper-assembly-hero__copy {
  width: 100%;
}

.module-command-bar {
  padding-block: 1.2rem !important;
}

.module-command-bar__body {
  display: grid;
  gap: 1rem 1.5rem;
  align-items: start;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}

.module-command-bar__copy {
  min-width: 0;
}

.module-command-bar__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem 1rem;
}

.module-command-bar__title {
  margin: 0;
  color: var(--apple-text);
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  font-weight: 650;
  letter-spacing: -0.03em;
}

.module-command-bar__context {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.module-command-bar__badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-control) 78%, white);
  padding: 0 0.85rem;
  color: var(--apple-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}

.module-command-bar__summary {
  max-width: 62rem;
  margin: 0.7rem 0 0;
  color: var(--apple-secondary);
  font-size: 0.95rem;
  line-height: 1.7;
}

.module-command-bar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
}


/* user_app/styles/workspace_panel_surfaces.css */
.workspace-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.workspace-panel-title {
  margin: 0;
  color: var(--apple-text);
  font-size: 1.25rem;
  font-weight: 650;
  letter-spacing: -0.02em;
}

.workspace-panel-hint {
  max-width: 56rem;
  margin: 0.45rem 0 0;
  color: var(--apple-secondary);
  font-size: 0.92rem;
  line-height: 1.65;
}

.workspace-panel--quiet,
.workspace-strip {
  background: color-mix(in srgb, var(--apple-card) 64%, rgba(255, 255, 255, 0.35)) !important;
  box-shadow: none !important;
}

.workspace-panel--quiet {
  border-color: color-mix(in srgb, var(--apple-border) 62%, transparent) !important;
}

.workspace-strip {
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 64%, transparent) !important;
  backdrop-filter: blur(10px);
}


/* user_app/styles/dashboard_toolbar.css */
.dashboard-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; padding: 1.65rem 1.8rem 1.35rem; border-bottom: 1px solid #e5eaf0; }
.dashboard-toolbar__copy { min-width: 0; }
.dashboard-toolbar__title { margin: 0; color: #243247; font-size: 1.38rem; font-weight: 650; line-height: 1.4; letter-spacing: -.035em; }
.dashboard-toolbar__hint { margin: .4rem 0 0; color: #758093; font-size: .8rem; line-height: 1.7; }
.dashboard-toolbar__actions { display: flex; flex: 0 1 21rem; flex-direction: column; align-items: flex-end; gap: .5rem; min-width: 11rem; }
.dashboard-toolbar [data-dashboard-status] { margin: 0; color: #758093; font-size: .7rem; line-height: 1.6; text-align: right; overflow-wrap: anywhere; }
.dashboard-toolbar [data-tone="error"] { color: #a35b4d; }
.dashboard-refresh-btn { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: .5rem; min-height: 2.35rem; padding: .5rem .85rem; border: 1px solid #d9e2ed; border-radius: 8px; background: #fff; color: #365b87; font-size: .78rem; font-weight: 600; cursor: pointer; transition: background-color 120ms ease, border-color 120ms ease; }
.dashboard-refresh-btn:hover:enabled { background: #f2f6fb; border-color: #becfe4; }
.dashboard-refresh-btn:disabled { color: #8898ac; cursor: default; }
.dashboard-refresh-btn svg { width: .95rem; height: .95rem; stroke-width: 1.8; }
.dashboard-refresh-btn.is-loading svg { animation: dashboard-spin 1.2s linear infinite; }
.dashboard-shell button:focus-visible { outline: 2px solid #285c99; outline-offset: 3px; }
@keyframes dashboard-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dashboard-refresh-btn.is-loading svg { animation: none; } }
@media (max-width: 700px) {
  .dashboard-toolbar { flex-direction: column; gap: 1rem; padding: 1.25rem; }
  .dashboard-toolbar__actions { flex: none; flex-direction: row-reverse; align-items: center; justify-content: space-between; width: 100%; gap: 1rem; }
  .dashboard-toolbar [data-dashboard-status] { text-align: left; }
}

/* user_app/styles/workspace_rail_shell.css */
.workspace-rail {
  display: flex;
  flex-direction: column;
  background: color-mix(in srgb, var(--apple-card) 68%, rgba(245, 245, 247, 0.72)) !important;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 60%, transparent) !important;
  box-shadow: none !important;
}

.workspace-rail__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.workspace-rail__header > div:first-child {
  min-width: 0;
}

.workspace-rail__actions {
  flex: 0 0 auto;
  margin-top: 0.1rem;
}

.workspace-rail__actions .admin-trigger-btn {
  min-height: 2.3rem;
  padding-inline: 0.85rem;
  white-space: nowrap;
}

.workspace-rail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.75rem;
  margin-top: 1rem;
  color: var(--apple-secondary);
  font-size: 0.84rem;
  line-height: 1.6;
}

.workspace-rail__meta-secondary {
  color: var(--apple-tertiary);
}


/* user_app/styles/workspace_rail_search.css */
.workspace-rail-search {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin-top: 1.15rem;
  padding-top: 1.05rem;
  border-top: 0.5px solid color-mix(in srgb, var(--apple-border) 64%, transparent);
}

.workspace-rail-search .question-fulltext-search,
.workspace-rail-search .knowledge-search-field {
  gap: 0.45rem;
}

.workspace-rail-search .question-fulltext-search__label,
.workspace-rail-search .knowledge-search-field > span:first-child {
  letter-spacing: 0.08em;
}

.workspace-rail-search input {
  min-height: 2.75rem !important;
  border-radius: 0.9rem !important;
  background: rgba(255, 255, 255, 0.78) !important;
}

.workspace-rail-search__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.55rem;
}

.workspace-rail-search__actions .soft-btn {
  width: 100%;
  min-height: 2.55rem;
  padding-inline: 0.85rem;
}

.workspace-rail-search__hint {
  margin: -0.15rem 0 0;
  color: var(--apple-tertiary);
  font-size: 0.76rem;
  line-height: 1.55;
}


/* user_app/styles/workspace_rail_filters.css */
.workspace-rail__section {
  margin-top: 1.3rem;
}

.workspace-rail__label {
  display: block;
  margin-bottom: 0.7rem;
  color: var(--apple-tertiary);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.workspace-rail__chip-grid {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.workspace-rail__chip-grid .chip-btn {
  justify-content: flex-start;
  width: 100%;
  min-height: 2.8rem;
  padding-inline: 1rem;
  text-align: left;
}

.workspace-panel-hint--compact {
  margin-top: 0.35rem;
  max-width: 24rem;
}

.workspace-rail--resource,
.workspace-rail--knowledge {
  min-height: 0;
}


/* user_app/styles/workspace_result_strips.css */
.resource-results-strip,
.knowledge-results-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.resource-results-strip__summary,
.resource-results-strip__categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}

.resource-results-strip__chips {
  align-items: center;
}

.resource-results-strip__hint,
.knowledge-results-strip__hint {
  color: var(--apple-secondary);
  font-size: 0.84rem;
}

/* user_app/styles/workspace_desktop_layout.css */

@media (min-width: 1024px) {
  .module-hero-card {
    padding: 2rem !important;
  }

  .module-command-bar__body {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .module-command-bar__actions {
    justify-content: flex-end;
  }

  .questions-workspace > aside .workspace-rail {
    height: calc(100vh - 8.25rem);
    max-height: calc(100vh - 8.25rem);
  }

  .resources-workspace > aside .workspace-rail {
    height: calc(100vh - 8.25rem);
    max-height: calc(100vh - 8.25rem);
  }

  .knowledge-workspace > aside .workspace-rail {
    height: auto;
    max-height: none;
  }
}

/* user_app/styles/shared_semantic_typography.css */

.question-card h3,
.question-card h4,
.resource-card__title,
.knowledge-card__title,
.knowledge-reader h3,
.basket-drawer__title,
.paper-import-shell__title,
.admin-drawer__title {
  color: var(--apple-text) !important;
  letter-spacing: 0 !important;
}

.question-card > p,
.resource-card__meta,
.knowledge-card__meta,
.basket-drawer__meta,
.basket-inline-meta,
.paper-import-shell__hint,
.admin-drawer__hint {
  color: var(--apple-secondary) !important;
}


/* user_app/styles/chapter_tree_shell.css */
.chapter-tree {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  max-height: none;
  flex-direction: column;
  gap: 0.625rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.35rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(160, 172, 195, 0.88) transparent;
  overscroll-behavior: contain;
}

.chapter-tree::-webkit-scrollbar {
  width: 8px;
}

.chapter-tree::-webkit-scrollbar-track {
  background: transparent;
}

.chapter-tree::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(160, 172, 195, 0.82);
  background-clip: padding-box;
}

.chapter-tree::-webkit-scrollbar-thumb:hover {
  background: rgba(124, 140, 168, 0.92);
  background-clip: padding-box;
}

.tree-node {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.25rem;
}


/* user_app/styles/chapter_tree_toolbar.css */
.knowledge-tree-actions-slot,
.knowledge-tree-actions {
  position: relative;
}

.knowledge-tree-actions-slot {
  min-height: 1.8rem;
}

.knowledge-tree-actions__trigger {
  display: inline-flex;
  min-height: 1.8rem;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  border: 0;
  border-radius: 999px;
  background: var(--apple-control);
  color: var(--apple-secondary);
  padding: 0 0.65rem;
  font-size: 0.7rem;
  font-weight: 650;
  cursor: pointer;
  list-style: none;
  transition:
    background-color 180ms var(--motion-apple),
    color 180ms ease,
    transform 180ms var(--motion-apple);
}

.knowledge-tree-actions__trigger::-webkit-details-marker { display: none; }
.knowledge-tree-actions__trigger svg { width: 0.9rem; height: 0.9rem; fill: currentColor; }
.knowledge-tree-actions__trigger:hover,
.knowledge-tree-actions[open] .knowledge-tree-actions__trigger {
  background: color-mix(in srgb, var(--apple-control) 78%, var(--apple-border));
  color: var(--apple-text);
}
.knowledge-tree-actions__trigger:active { transform: scale(0.985); }
.knowledge-tree-actions__trigger:focus-visible { outline: 0; box-shadow: var(--apple-focus-ring); }


/* user_app/styles/chapter_tree_import_controls.css */
.knowledge-tree-actions__menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 0.45rem);
  right: 0;
  display: grid;
  width: max-content;
  min-width: 9.25rem;
  gap: 0.2rem;
  padding: 0.4rem;
  border: 1px solid color-mix(in srgb, var(--apple-border) 82%, transparent);
  border-radius: 0.9rem;
  background: color-mix(in srgb, white 96%, var(--apple-control));
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
}

.knowledge-tree-actions__menu button {
  min-height: 2.15rem;
  border: 0;
  border-radius: 0.65rem;
  background: transparent;
  color: var(--apple-text);
  padding: 0 0.75rem;
  text-align: left;
  font-size: 0.78rem;
  font-weight: 620;
  cursor: pointer;
  transition: background-color 160ms var(--motion-apple), color 160ms ease;
}

.knowledge-tree-actions__menu button:hover {
  background: var(--apple-control);
}

.knowledge-tree-actions__menu button:focus-visible {
  outline: 0;
  box-shadow: var(--apple-focus-ring);
}

/* user_app/styles/chapter_tree_nodes.css */
.tree-row {
  display: flex;
  position: relative;
  width: 100%;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
  border-radius: 0.375rem;
  padding: 0.375rem 0.5rem;
  transition: background-color 180ms ease;
}

.tree-row:hover {
  background: #f5f5f7;
}

.tree-toggle,
.tree-leaf {
  width: 2rem;
  min-width: 2rem;
  flex-shrink: 0;
}

.tree-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #86868b;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, transform 260ms ease-out;
}

.tree-toggle:hover {
  background: var(--apple-control);
  color: var(--apple-blue);
}

.tree-toggle__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  font-size: 1.1rem;
  line-height: 1;
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform 300ms ease-out;
}

.tree-toggle.is-open .tree-toggle__chevron {
  transform: rotate(90deg);
}

.tree-checkbox {
  display: flex;
  min-width: 0;
  flex: 1 1 0;
  align-items: center;
  gap: 0.625rem;
  color: var(--apple-text);
  font-size: 0.875rem;
  cursor: pointer;
  padding-right: 2.4rem;
}

.tree-checkbox span,
.tree-label-text {
  display: block;
  min-width: 0;
  flex: 1 1 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tree-checkbox input,
.basket-switch input {
  flex-shrink: 0;
  accent-color: var(--apple-blue);
}


/* user_app/styles/chapter_tree_admin_actions.css */
.tree-admin-actions {
  position: absolute;
  top: 50%;
  right: -0.45rem;
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-left: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(-50%) scale(0.96);
  transition:
    right 180ms var(--motion-apple),
    opacity 150ms ease,
    transform 180ms var(--motion-apple),
    box-shadow 180ms ease,
    background-color 180ms ease;
}

.tree-row:hover .tree-admin-actions,
.tree-row:focus-within .tree-admin-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%) scale(1);
}

.tree-admin-actions:hover,
.tree-admin-actions:focus-within {
  right: 0;
  background: color-mix(in srgb, var(--apple-bg) 70%, white);
  box-shadow: var(--apple-shadow), var(--apple-control-shadow);
}

.tree-admin-actions:hover .tree-admin-more,
.tree-admin-actions:focus-within .tree-admin-more {
  width: 0;
  flex-basis: 0;
  opacity: 0;
  transform: scale(0.82);
}

.tree-admin-more {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 2rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--apple-card);
  color: var(--apple-tertiary);
  cursor: pointer;
  opacity: 1;
  padding: 0;
  box-shadow: var(--apple-control-shadow);
  transform: scale(1);
  transition:
    width 180ms var(--motion-apple),
    flex-basis 180ms var(--motion-apple),
    opacity 140ms ease,
    background-color 180ms ease,
    color 180ms ease,
    transform 180ms var(--motion-apple);
}

.tree-admin-more:hover,
.tree-admin-more:focus-visible {
  background: var(--apple-control);
  color: var(--apple-blue);
  box-shadow: var(--apple-control-shadow);
  outline: 0;
}

.tree-admin-more svg {
  width: 1rem;
  height: 1rem;
  fill: currentColor;
}

.tree-admin-action {
  display: inline-flex;
  width: 0;
  height: 2rem;
  flex: 0 0 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #86868b;
  cursor: pointer;
  opacity: 0;
  padding: 0.25rem;
  transform: translateX(0.35rem) scale(0.92);
  transition:
    width 220ms var(--motion-apple),
    flex-basis 220ms var(--motion-apple),
    opacity 160ms ease,
    background-color 180ms ease,
    color 180ms ease,
    transform 220ms var(--motion-apple);
}

.tree-admin-actions:hover .tree-admin-action,
.tree-admin-actions:focus-within .tree-admin-action {
  width: 2rem;
  flex-basis: 2rem;
  opacity: 1;
  transform: translateX(0) scale(1);
}

.tree-admin-actions .tree-admin-action:hover,
.tree-admin-actions .tree-admin-action:focus-visible {
  background: var(--apple-control);
  color: var(--apple-blue);
  transform: translateY(-1px);
  outline: 0;
}

.tree-admin-action svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.tree-admin-actions .tree-admin-action--delete:hover,
.tree-admin-actions .tree-admin-action--delete:focus-visible {
  background: var(--apple-danger-bg);
  color: var(--apple-danger);
}


/* user_app/styles/chapter_tree_touch.css */
@media (hover: none) {
  .tree-checkbox {
    padding-right: 0;
  }

  .tree-admin-actions {
    position: static;
    gap: 0.2rem;
    background: transparent;
    box-shadow: none;
    transform: none;
  }

  .tree-admin-more {
    display: none;
  }

  .tree-admin-action {
    width: 2rem;
    flex-basis: 2rem;
    opacity: 1;
    transform: none;
  }
}

/* user_app/styles/chapter_tree_children.css */

.tree-children-shell {
  display: grid;
  opacity: 0;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms ease-out, opacity 250ms ease-out;
}

.tree-children-shell.is-open {
  opacity: 1;
  grid-template-rows: 1fr;
}

.tree-children {
  width: calc(100% - 0.875rem);
  overflow: hidden;
  margin-left: 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  border-left: 1px solid rgba(210, 210, 215, 0.5);
  padding-left: 1rem;
}

/* user_app/styles/sort_menu.css */

.sort-menu {
  position: relative;
  z-index: 30;
  display: inline-flex;
}

.sort-menu--right .sort-menu__dropdown {
  right: 0;
}

.sort-menu__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 0;
  border-radius: 999px;
  background: var(--apple-control);
  color: var(--apple-text);
  padding: 0.375rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 650;
  line-height: 1.25rem;
  box-shadow: var(--apple-control-shadow);
  transition: background-color 180ms ease, border-color 180ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 220ms ease;
}

.sort-menu__trigger:hover {
  background: color-mix(in srgb, var(--apple-control) 78%, var(--apple-border));
  transform: translateY(-1px);
}

.sort-menu__trigger[aria-expanded="true"] {
  color: var(--apple-blue);
  box-shadow: var(--apple-focus-ring), var(--apple-control-shadow);
}

.sort-menu-icon {
  width: 0.875rem;
  height: 0.875rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.68;
}

.sort-menu__dropdown {
  position: absolute;
  top: calc(100% + 0.5rem);
  min-width: 13rem;
  border: 1px solid rgba(210, 210, 215, 0.72);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.82);
  padding: 0.375rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
  animation: sort-menu-enter 260ms cubic-bezier(0.2, 0.85, 0.2, 1) both;
}

.sort-menu__option {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border: 0;
  border-radius: 0.8rem;
  background: transparent;
  color: #1d1d1f;
  padding: 0.625rem 0.75rem;
  text-align: left;
  font-size: 0.875rem;
  font-weight: 500;
  transition: background-color 170ms ease, color 170ms ease, transform 170ms ease;
}

.sort-menu__option:hover,
.sort-menu__option.is-active {
  background: rgba(0, 102, 204, 0.1);
  color: var(--apple-blue);
}

.sort-menu__option:hover {
  transform: translateX(1px);
}

.sort-menu__badge {
  border-radius: 999px;
  background: rgba(0, 102, 204, 0.1);
  color: #0066cc;
  padding: 0.125rem 0.45rem;
  font-size: 0.6875rem;
  font-weight: 700;
}

.view-mode-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-control) 82%, white);
  padding: 0.2rem;
  box-shadow: var(--apple-control-shadow);
}

.view-mode-toggle__btn {
  display: inline-flex;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--apple-secondary);
  transition: background-color 180ms ease, color 180ms ease, transform 180ms var(--motion-apple), box-shadow 180ms ease;
}

.view-mode-toggle__btn:hover {
  color: var(--apple-text);
  transform: translateY(-1px);
}

.view-mode-toggle__btn.is-active {
  background: white;
  color: var(--apple-blue);
  box-shadow: var(--apple-shadow);
}

.view-mode-toggle__btn:focus-visible {
  outline: 0;
  box-shadow: var(--apple-focus-ring), var(--apple-shadow);
}

.view-mode-toggle__icon {
  width: 0.95rem;
  height: 0.95rem;
  fill: currentColor;
}

@keyframes sort-menu-enter {
  from {
    opacity: 0;
    transform: translateY(-0.35rem) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* user_app/styles/catalog_card_layout.css */

.question-list,
.resource-list,
.knowledge-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.question-card,
.resource-card-shell,
.knowledge-item,
.editor-card,
.resource-detail-card {
  border-radius: 1.75rem;
  background: white;
  box-shadow: 0 24px 60px rgba(228, 228, 231, 0.85);
}

.question-list,
.resource-list {
  gap: 0.9rem;
}

.question-card {
  padding: 1.1rem 1.15rem 1.2rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 56%, transparent);
  box-shadow: none;
}

.question-list[data-view-mode="grid"] {
  display: grid;
  grid-auto-rows: var(--question-masonry-row, 8px);
  grid-template-columns: 1fr;
  align-items: start;
  gap: 1rem;
}

.question-list[data-view-mode="grid"] > .question-batch-toolbar,
.question-list[data-view-mode="grid"] > .empty-state {
  grid-column: 1 / -1;
}

.question-list[data-view-mode="grid"] > * {
  margin-top: 0 !important;
}

.question-list[data-view-mode="grid"] > .question-card,
.question-list[data-view-mode="grid"] > .question-batch-toolbar {
  align-self: start;
  display: block;
  width: 100%;
}

.question-list[data-view-mode="list"] {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

@media (min-width: 1440px) {
  .question-list[data-view-mode="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.question-meta-row,
.question-meta-row__left,
.question-tag-row,
.question-actions,
.question-toggles,
.resource-toolbar,
.resource-card,
.resource-card__meta,
.resource-card__actions,
.pagination-bar,
.basket-drawer__header,
.basket-item,
.basket-item__meta,
.basket-item__actions,
.basket-export-card__actions,
.question-admin-actions {
  display: flex;
}


/* user_app/styles/question_metadata_row.css */
.question-meta-row {
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.72rem;
}

.question-meta-row__left {
  flex-wrap: wrap;
  gap: 0.36rem;
}

.question-meta-row__right {
  color: rgb(113 113 122);
  font-size: 0.75rem;
  white-space: nowrap;
}


/* user_app/styles/question_id_copy_control.css */
.question-id-copy-btn {
  display: inline-flex;
  align-items: center;
  min-height: 1.72rem;
  border-radius: 999px;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 0.54rem;
  gap: 0.28rem;
  color: color-mix(in srgb, var(--apple-tertiary) 88%, white 12%) !important;
  font-size: 0.72rem;
  font-weight: 600;
}

.question-id-copy-btn svg {
  width: 0.72rem;
  height: 0.72rem;
}

.question-id-copy-btn:hover {
  background: color-mix(in srgb, var(--apple-control) 48%, white 52%) !important;
  color: var(--apple-secondary) !important;
  box-shadow: inset 0 0 0 1px rgba(210, 210, 215, 0.42) !important;
}

/* user_app/styles/shared_catalog_metadata_pill_base.css */
.question-index-badge,
.question-meta-chip,
.question-quality-badge,
.brand-tag,
.resource-meta-pill,
.resource-category-pill,
.knowledge-meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.85rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-control) 74%, white 26%);
  color: rgb(63 63 70);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0;
}


/* user_app/styles/question_index_badge.css */
.question-index-badge {
  width: 1.76rem;
  min-height: 1.76rem;
  justify-content: center;
  background: transparent;
  color: var(--apple-tertiary);
  font-size: 0.74rem;
  font-weight: 600;
  box-shadow: inset 0 0 0 1px rgba(210, 210, 215, 0.58);
}

.question-index-badge--compact {
  width: 1.6rem;
  min-height: 1.6rem;
}


/* user_app/styles/shared_catalog_metadata_pill_padding.css */
.question-meta-chip,
.question-quality-badge,
.brand-tag,
.resource-meta-pill,
.resource-category-pill,
.knowledge-meta-pill {
  padding: 0 0.78rem;
}


/* user_app/styles/question_metadata_chips.css */
.question-meta-chip {
  min-height: 1.78rem;
  padding: 0 0.72rem;
  font-size: 0.74rem;
  font-weight: 650;
}

.question-meta-chip--compact {
  min-height: 1.58rem;
  padding: 0 0.58rem;
  font-size: 0.66rem;
}

.question-meta-chip--source {
  padding-inline: 0.74rem;
  background: color-mix(in srgb, var(--question-tag-origin-bg) 48%, white 52%);
  color: color-mix(in srgb, var(--question-tag-origin-text) 72%, var(--apple-secondary));
}

.question-meta-chip--year {
  padding-inline: 0.68rem;
  background: color-mix(in srgb, var(--question-tag-source-bg) 78%, white 22%);
  color: color-mix(in srgb, var(--question-tag-source-text) 82%, var(--apple-secondary));
}

.question-meta-chip--number {
  padding-inline: 0.68rem;
  background: color-mix(in srgb, var(--apple-control) 62%, white 38%);
  color: var(--apple-secondary);
}

.question-meta-chip--type {
  padding-inline: 0.74rem;
  background: color-mix(in srgb, var(--apple-control) 68%, white 32%);
  color: color-mix(in srgb, var(--apple-text) 70%, var(--apple-secondary));
}

.question-meta-chip--id {
  padding-inline: 0.68rem;
  background: transparent;
  color: color-mix(in srgb, var(--apple-tertiary) 78%, white 22%);
  font-size: 0.72rem;
  font-weight: 620;
  box-shadow: inset 0 0 0 1px rgba(210, 210, 215, 0.36);
}


/* user_app/styles/question_quality_badges.css */
.question-quality-badge {
  min-height: 1.86rem;
  padding: 0 0.76rem;
  gap: 0.375rem;
  border: 1px solid transparent;
  font-size: 0.74rem;
  letter-spacing: -0.01em;
  font-weight: 720;
}

.question-quality-badge span {
  color: inherit;
  opacity: 0.72;
  font-weight: 500;
}

.question-quality-badge--pending {
  border-color: rgba(134, 134, 139, 0.22);
  background: rgba(245, 245, 247, 0.78);
  color: #86868b;
}

.question-quality-badge--pass {
  border-color: rgba(52, 199, 89, 0.18);
  background: var(--question-status-pass-bg);
  color: var(--question-status-pass-text);
}

.question-quality-badge--warn {
  border-color: rgba(255, 149, 0, 0.22);
  background: var(--question-status-warn-bg);
  color: var(--question-status-warn-text);
}

.question-quality-badge--error {
  border-color: rgba(255, 59, 48, 0.2);
  background: var(--question-status-error-bg);
  color: var(--question-status-error-text);
}

/* user_app/styles/question_quality_issues.css */
.question-quality-issues {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.875rem 0 0;
}

.question-quality-issue {
  display: inline-flex;
  align-items: center;
  border-radius: 0.75rem;
  background: #f5f5f7;
  color: #86868b;
  font-size: 0.75rem;
  line-height: 1.4;
  padding: 0.35rem 0.625rem;
}

.question-quality-issue--warn {
  background: rgba(255, 149, 0, 0.1);
  color: #9a5a00;
}

.question-quality-issue--error {
  background: rgba(255, 59, 48, 0.1);
  color: #ff3b30;
}


/* user_app/styles/question_card_divider.css */
.question-divider {
  height: 1px;
  margin: 0.85rem 0 0.9rem;
  background: rgb(228 228 231);
}


/* user_app/styles/shared_rendered_content_typography.css */
.question-content,
.question-solution,
.knowledge-body {
  color: rgb(39 39 42);
  font-size: 0.915rem;
  line-height: 1.9;
}

.question-content p,
.question-content li,
.question-content .content-block,
.question-solution p,
.question-solution li,
.question-solution .content-block {
  color: inherit !important;
}

.question-content .text-zinc-700,
.question-content .text-gray-700,
.question-content .text-slate-700,
.question-content .text-zinc-600,
.question-content .text-gray-600,
.question-content .text-slate-600,
.question-content .text-zinc-500,
.question-content .text-gray-500,
.question-content .text-slate-500,
.question-content .text-zinc-400,
.question-content .text-gray-400,
.question-content .text-slate-400,
.question-solution .text-zinc-700,
.question-solution .text-gray-700,
.question-solution .text-slate-700,
.question-solution .text-zinc-600,
.question-solution .text-gray-600,
.question-solution .text-slate-600,
.question-solution .text-zinc-500,
.question-solution .text-gray-500,
.question-solution .text-slate-500,
.question-solution .text-zinc-400,
.question-solution .text-gray-400,
.question-solution .text-slate-400 {
  color: inherit !important;
}


/* user_app/styles/question_fulltext_search_control.css */
.question-fulltext-search {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.6rem;
}

.question-fulltext-search__label {
  color: var(--apple-tertiary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.question-fulltext-search__control {
  position: relative;
  display: block;
}

.question-fulltext-search__icon {
  position: absolute;
  left: 1rem;
  top: 50%;
  z-index: 1;
  color: var(--apple-tertiary);
  transform: translateY(-50%);
  pointer-events: none;
}

.question-fulltext-search input {
  min-height: 3.15rem;
  border-radius: 1rem !important;
  background: var(--apple-bg) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.question-fulltext-search input:focus {
  transform: translateY(-1px);
}

.question-fulltext-search--compact {
  gap: 0.5rem;
}

.question-fulltext-search--compact input {
  min-height: 2.65rem;
  border-radius: 999px !important;
}


/* user_app/styles/question_search_highlight.css */
.question-search-highlight {
  border-radius: 0.3rem;
  background: rgba(255, 214, 10, 0.38);
  color: inherit;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0.03rem 0.18rem;
}


/* user_app/styles/question_reading_cues.css */
.question-reading-cue {
  border-radius: 0.28rem;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-weight: 680;
  padding: 0.02rem 0.12rem;
}

.question-cue--geometry {
  color: var(--question-cue-geometry);
  background: color-mix(in srgb, var(--question-cue-geometry) 8%, transparent);
}

.question-cue--variable {
  color: var(--question-cue-variable);
  background: color-mix(in srgb, var(--question-cue-variable) 8%, transparent);
}

.question-cue--conclusion {
  color: var(--question-cue-conclusion);
  background: color-mix(in srgb, var(--question-cue-conclusion) 5%, transparent);
}


/* user_app/styles/question_search_hits.css */
.question-search-hits {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: 0.85rem;
  border-radius: 1.1rem;
  background: color-mix(in srgb, var(--apple-bg) 82%, white 18%);
  padding: 0.85rem;
}

.question-search-hit {
  display: grid;
  align-items: start;
  gap: 0.7rem;
  grid-template-columns: 4.5rem minmax(0, 1fr);
}

.question-search-hit__label {
  justify-self: start;
  border-radius: 999px;
  background: rgba(0, 102, 204, 0.1);
  color: var(--apple-blue);
  padding: 0.22rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 750;
  white-space: nowrap;
}

.question-search-hit__excerpt {
  min-width: 0;
  color: var(--apple-secondary);
  font-size: 0.84rem;
  line-height: 1.7;
}


/* user_app/styles/question_media.css */
.question-content img,
.question-solution img,
.knowledge-body img,
.content-block img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1rem auto;
  border-radius: 1.25rem;
}

.content-block--image {
  --image-width-ratio: 72;
}

.content-block--image img {
  width: min(calc(var(--image-width-ratio) * 1%), 26rem);
  max-width: 100%;
  object-fit: contain;
}

.document-layout-page .content-block--document-layout-question-image {
  text-align: center;
}

.document-layout-page .content-block--document-layout-question-image img {
  margin-left: auto;
  margin-right: auto;
}

.document-layout-page .content-block--document-layout-question-image.content-block--image-left {
  text-align: left;
}

.document-layout-page .content-block--document-layout-question-image.content-block--image-left img {
  margin-left: 0;
  margin-right: auto;
}

.document-layout-page .content-block--document-layout-question-image.content-block--image-right {
  text-align: right;
}

.document-layout-page .content-block--document-layout-question-image.content-block--image-right img {
  margin-left: auto;
  margin-right: 0;
}

.document-layout-page .content-block--document-layout-question-image .document-layout-question-image-toolbar {
  margin-bottom: 0.16rem;
}

.content-block--tikz {
  --tikz-width-ratio: 90;
}

.content-block--tikz img {
  width: min(calc(var(--tikz-width-ratio) * 1%), 52rem);
  max-width: 100%;
  object-fit: contain;
}

.content-block--image figcaption {
  margin-top: 0.35rem;
  color: rgb(82 82 91);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.content-block--image-group {
  display: grid;
  gap: 0.9rem;
  align-items: start;
}

.content-block--image-group-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.content-block--image-group .content-block--image {
  min-width: 0;
}

.content-block--image-group .content-block--image img {
  width: min(calc(var(--image-width-ratio, 100) * 1%), 100%);
  max-height: 18rem;
  object-fit: contain;
}

@media (max-width: 640px) {
  .content-block--image-group-two {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* user_app/styles/question_bank_media_resize.css */
:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer {
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 1rem auto;
  line-height: 0;
  transition: filter 160ms ease;
}

:is(.question-card, .paper-import-preview-pane) .content-block--image > .question-media-resizer {
  width: min(calc(var(--image-width-ratio, 72) * 1%), 26rem);
}

:is(.question-card, .paper-import-preview-pane) .content-block--tikz > .question-media-resizer {
  width: min(calc(var(--tikz-width-ratio, 90) * 1%), 52rem);
}

:is(.question-card, .paper-import-preview-pane) .content-block--image-group .question-media-resizer {
  width: min(calc(var(--image-width-ratio, 100) * 1%), 100%);
}
.question-edit-modal .question-preview-tikz-card > .question-media-resizer {
  width: min(calc(var(--tikz-width-ratio, 90) * 1%), 100%);
}
:is(.question-edit-modal, .paper-import-preview-pane) .paper-import-preview-figure > .question-media-resizer {
  width: min(calc(var(--preview-image-width-ratio, 1) * 100%), 100%);
}
:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer > img {
  width: 100%;
  max-width: none;
  margin: 0;
  object-fit: contain;
}

:is(.question-card, .paper-import-preview-pane) .question-media-resizer > img,
.question-edit-modal .question-preview-tikz-card > .question-media-resizer > img {
  height: auto;
}
.question-edit-modal .paper-import-preview-figure > .question-media-resizer > img {
  height: 10rem;
}

:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer:hover,
:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer:focus-within,
:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer.is-resizing {
  filter: drop-shadow(0 10px 18px rgb(15 23 42 / 10%));
}

:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle {
  position: absolute;
  z-index: 2;
  top: 0.35rem;
  right: 0.35rem;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 86%);
  border-radius: 0.62rem;
  background: rgb(24 24 27 / 86%);
  box-shadow: 0 6px 16px rgb(15 23 42 / 22%);
  color: white;
  cursor: nesw-resize;
  opacity: 0;
  transform: scale(0.88);
  transition: opacity 140ms ease, transform 140ms ease, background 140ms ease;
  touch-action: none;
}

:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle::before {
  position: absolute;
  top: 0.48rem;
  right: 0.48rem;
  width: 0.55rem;
  height: 0.55rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}

:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer:hover .question-media-resize-handle,
:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle:focus-visible,
:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer.is-resizing .question-media-resize-handle {
  opacity: 1;
  transform: scale(1);
}

:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle:hover,
:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle:focus-visible {
  background: rgb(3 105 161 / 94%);
  outline: 3px solid rgb(14 165 233 / 20%);
  outline-offset: 2px;
}

:is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer.is-resizing {
  user-select: none;
}

@media (hover: none) {
  :is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle {
    opacity: 0.78;
    transform: scale(0.92);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer,
  :is(.question-card, .question-edit-modal, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle {
    transition: none;
  }
}

:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer {
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 1rem auto;
  line-height: 0;
  transition: filter 160ms ease;
}

:is(.question-card, .paper-import-preview-pane) .content-block--image > .question-media-resizer {
  width: min(calc(var(--image-width-ratio, 72) * 1%), 26rem);
}

:is(.question-card, .paper-import-preview-pane) .content-block--tikz > .question-media-resizer {
  width: min(calc(var(--tikz-width-ratio, 90) * 1%), 52rem);
}

:is(.question-card, .paper-import-preview-pane) .content-block--image-group .question-media-resizer {
  width: min(calc(var(--image-width-ratio, 100) * 1%), 100%);
}
.question-import-workbench .question-preview-tikz-card > .question-media-resizer {
  width: min(calc(var(--tikz-width-ratio, 90) * 1%), 100%);
}
:is(.question-import-workbench, .paper-import-preview-pane) .paper-import-preview-figure > .question-media-resizer {
  width: min(calc(var(--preview-image-width-ratio, 1) * 100%), 100%);
}
:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer > img {
  width: 100%;
  max-width: none;
  margin: 0;
  object-fit: contain;
}

:is(.question-card, .paper-import-preview-pane) .question-media-resizer > img,
.question-import-workbench .question-preview-tikz-card > .question-media-resizer > img {
  height: auto;
}
.question-import-workbench .paper-import-preview-figure > .question-media-resizer > img {
  height: 10rem;
}

:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer:hover,
:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer:focus-within,
:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer.is-resizing {
  filter: drop-shadow(0 10px 18px rgb(15 23 42 / 10%));
}

:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle {
  position: absolute;
  z-index: 2;
  top: 0.35rem;
  right: 0.35rem;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  border: 1px solid rgb(255 255 255 / 86%);
  border-radius: 0.62rem;
  background: rgb(24 24 27 / 86%);
  box-shadow: 0 6px 16px rgb(15 23 42 / 22%);
  color: white;
  cursor: nesw-resize;
  opacity: 0;
  transform: scale(0.88);
  transition: opacity 140ms ease, transform 140ms ease, background 140ms ease;
  touch-action: none;
}

:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle::before {
  position: absolute;
  top: 0.48rem;
  right: 0.48rem;
  width: 0.55rem;
  height: 0.55rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  content: "";
}

:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer:hover .question-media-resize-handle,
:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle:focus-visible,
:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer.is-resizing .question-media-resize-handle {
  opacity: 1;
  transform: scale(1);
}

:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle:hover,
:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle:focus-visible {
  background: rgb(3 105 161 / 94%);
  outline: 3px solid rgb(14 165 233 / 20%);
  outline-offset: 2px;
}

:is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer.is-resizing {
  user-select: none;
}

@media (hover: none) {
  :is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle {
    opacity: 0.78;
    transform: scale(0.92);
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resizer,
  :is(.question-card, .question-import-workbench, .paper-import-preview-pane, [data-document-layout-preview]) .question-media-resize-handle {
    transition: none;
  }
}

/* user_app/styles/question_tags_actions.css */
.question-tag-row {
  flex-wrap: wrap;
  gap: 0.45rem;
}

.brand-tag {
  max-width: 100%;
  gap: 0.42rem;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 10%, transparent);
}

.brand-tag__icon {
  display: inline-flex;
  height: 1.35rem;
  width: 1.35rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: white;
  color: rgb(39 39 42);
}

.brand-tag--origin {
  background: var(--question-tag-origin-bg);
  color: var(--question-tag-origin-text);
}

.brand-tag--source {
  background: var(--question-tag-source-bg);
  color: var(--question-tag-source-text);
}

.brand-tag--knowledge {
  max-width: min(36rem, 100%);
  background: color-mix(in srgb, var(--question-tag-knowledge-bg) 72%, white 28%);
  color: color-mix(in srgb, var(--question-tag-knowledge-text) 86%, var(--apple-secondary));
}

.brand-tag--knowledge:not(:has(.question-search-highlight)) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-tag--origin .brand-tag__icon,
.brand-tag--source .brand-tag__icon,
.brand-tag--knowledge .brand-tag__icon {
  background: color-mix(in srgb, white 76%, currentColor 24%);
  color: currentColor;
}

.question-actions {
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.8rem 1rem;
  margin-top: 0.95rem;
}

.question-toggles {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.question-toggle {
  min-height: 2.2rem;
  padding: 0 0.9rem;
  font-size: 0.8rem;
}

.question-toggle__dot {
  width: 0.45rem;
  height: 0.45rem;
}

.workspace-panel--quiet .question-fulltext-search input,
.workspace-panel--quiet select {
  background: rgba(255, 255, 255, 0.74) !important;
}

.workspace-strip #questionCount {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.workspace-strip #basketInlineMeta,
.workspace-strip #resourceMeta {
  font-size: 0.84rem;
}

.brand-tag__icon svg {
  width: 0.875rem;
  height: 0.875rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.question-actions {
  margin-top: 1rem;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  border-top: 1px solid rgb(228 228 231);
  padding-top: 1rem;
}


/* user_app/styles/question_bank_scope_bundle.css */
/* user_app/styles/question_bank_scope.css */
.question-bank-collection-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.15rem;
  padding: 0.8rem 0.95rem;
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  background: #fff;
}

.question-bank-collection-toolbar.hidden { display: none; }
.question-bank-collection-toolbar__copy { display: grid; gap: 0.12rem; }
.question-bank-collection-toolbar__copy span { color: var(--apple-text); font-size: 0.8rem; font-weight: 700; }
.question-bank-collection-toolbar__copy small { color: var(--apple-secondary); font-size: 0.7rem; }

.question-bank-collection-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.question-bank-collection-controls select,
.question-bank-collection-controls button {
  min-height: 2.5rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-size: 0.78rem;
  font-weight: 500;
  box-shadow: none;
}

.question-bank-collection-controls select { max-width: 100%; padding: 0 2.1rem 0 0.9rem; }
.question-bank-collection-controls button { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0 0.8rem; }
.question-bank-collection-controls button svg { width: 0.9rem; height: 0.9rem; }

.question-toggle.is-my-bank {
  color: rgb(20 91 173) !important;
  background: rgb(232 242 255) !important;
  box-shadow: inset 0 0 0 1px rgba(74, 139, 219, 0.18) !important;
}

.question-toggle.is-my-bank .question-toggle__dot { opacity: 1; }
.question-toggle[data-action="toggle-my-bank"][aria-busy="true"] { opacity: 0.62; pointer-events: none; }

@media (max-width: 760px) {
  .question-bank-collection-toolbar { align-items: stretch; flex-direction: column; }
  .question-bank-collection-controls { width: 100%; }
}

/* user_app/styles/personal_bank_exchange.css */
.question-bank-collection-controls { flex-wrap: wrap; }
.personal-bank-exchange-dialog {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  color: #34445c;
  background: #fff;
  box-shadow: 0 16px 48px rgb(35 48 66 / 14%);
  font: inherit;
}
.personal-bank-exchange-dialog[open] { display: flex; flex-direction: column; }
.personal-bank-exchange-dialog::backdrop { background: rgb(35 48 66 / 30%); }
.personal-bank-exchange-dialog__head, .personal-bank-exchange-dialog__foot {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
}
.personal-bank-exchange-dialog__head { border-bottom: 1px solid #e5eaf0; }
.personal-bank-exchange-dialog__head h3 { margin: 0; font-size: 18px; font-weight: 650; }
.personal-bank-exchange-dialog__head p { margin: 5px 0 0; color: #758093; font-size: 13px; }
.personal-bank-exchange-dialog__body { min-height: 0; overflow-y: auto; padding: 20px 22px; }
.personal-bank-exchange-dialog__body h4 { margin: 20px 0 8px; font-size: 14px; font-weight: 600; }
.personal-bank-exchange-dialog__foot { justify-content: flex-end; border-top: 1px solid #e5eaf0; }
.personal-bank-exchange-dialog button {
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  box-shadow: none;
}
.personal-bank-exchange-dialog button:hover:not(:disabled) { border-color: #b8cde4; background: #f4f8fc; }
.personal-bank-exchange-dialog button.personal-bank-exchange-dialog__primary { border-color: #285c99; background: #285c99; color: #fff; }
.personal-bank-exchange-dialog button.personal-bank-exchange-dialog__primary:hover:not(:disabled) { background: #204d84; }
.personal-bank-exchange-dialog button.personal-bank-exchange-dialog__close { width: 32px; min-height: 32px; padding: 0; font-size: 22px; }
.personal-bank-exchange-dialog button:disabled, .personal-bank-exchange-dialog input:disabled { opacity: 0.5; cursor: default; }
.personal-bank-exchange-dialog :is(button, input, select):focus-visible { outline: 2px solid #9bbadf; outline-offset: 2px; }
.personal-bank-exchange-note { margin: 0 0 16px; color: #758093; font-size: 13px; line-height: 1.65; }
.personal-bank-exchange-choice, .personal-bank-exchange-file { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid #dfe6ef; border-radius: 10px; font-size: 14px; }
.personal-bank-exchange-choice { margin-bottom: 10px; }
.personal-bank-exchange-choice input { width: 16px; height: 16px; accent-color: #285c99; }
.personal-bank-exchange-choice:has(input:checked) { border-color: #b8cde4; background: #f7faff; }
.personal-bank-exchange-choice:has(input:disabled) { color: #98a2b1; }
.personal-bank-exchange-file { align-items: flex-start; flex-direction: column; }
.personal-bank-exchange-file input { width: 100%; max-width: 100%; border: 0; background: transparent; font: inherit; color: #526986; }
.personal-bank-exchange-file input::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 1px solid #dfe6ef; border-radius: 7px; background: #f7faff; color: #285c99; font: inherit; cursor: pointer; }
.personal-bank-exchange-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #dfe6ef; border-radius: 10px; }
.personal-bank-exchange-summary > div { display: grid; gap: 6px; padding: 16px; }
.personal-bank-exchange-summary > div + div { border-left: 1px solid #e5eaf0; }
.personal-bank-exchange-summary span { font-size: 12px; color: #758093; }
.personal-bank-exchange-summary strong { font-size: 18px; font-weight: 600; color: #285c99; }
.personal-bank-exchange-mapping { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 1.1fr); align-items: center; gap: 16px; padding: 13px 0; border-top: 1px solid #e5eaf0; }
.personal-bank-exchange-mapping > span { min-width: 0; display: grid; gap: 5px; }
.personal-bank-exchange-mapping strong { font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.personal-bank-exchange-mapping small { color: #758093; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.personal-bank-exchange-mapping select { width: 100%; min-width: 0; height: 38px; padding: 0 28px 0 10px; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #526986; font: inherit; font-size: 12px; text-overflow: ellipsis; }
.personal-bank-exchange-dialog__status { margin: 0; padding: 0 22px 14px; color: #526986; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.personal-bank-exchange-dialog__status:empty { display: none; }
.personal-bank-exchange-dialog__status[data-tone="error"], .personal-bank-exchange-warning { color: #a34c35; }
.personal-bank-exchange-warning { margin: 12px 0 0; font-size: 12px; line-height: 1.6; }
@media (max-width: 560px) {
  .personal-bank-exchange-dialog__head, .personal-bank-exchange-dialog__foot, .personal-bank-exchange-dialog__body { padding: 16px; }
  .personal-bank-exchange-dialog__status { padding: 0 16px 12px; }
  .personal-bank-exchange-mapping { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .personal-bank-exchange-summary > div { padding: 12px 8px; }
  .personal-bank-exchange-summary strong { font-size: 16px; }
}


/* user_app/styles/question_knowledge_mapping_dialog.css */
.knowledge-mapping-dialog-open { overflow: hidden; }

.knowledge-mapping-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1180;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3.5rem);
  background: rgba(35, 48, 66, 0.3);
  backdrop-filter: none;
}

.knowledge-mapping-dialog {
  width: min(50rem, 100%);
  max-height: min(46rem, calc(100vh - 2rem));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(35, 48, 66, 0.14);
  animation: knowledge-mapping-enter 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.knowledge-mapping-dialog__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid #e5eaf0;
}

.knowledge-mapping-dialog__eyebrow {
  display: block;
  margin-bottom: 0.28rem;
  color: #285c99;
  font-size: 0.63rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.knowledge-mapping-dialog__head h3 {
  margin: 0;
  color: #34445c;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: 0;
}

.knowledge-mapping-dialog__intro {
  margin: 0.38rem 0 0;
  color: #758093;
  font-size: 0.76rem;
  line-height: 1.55;
}

.knowledge-mapping-dialog__close {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #f4f7fb;
  color: #758093;
  font-size: 1.15rem;
  line-height: 1;
}

.knowledge-mapping-dialog__body {
  display: grid;
  gap: 0.65rem;
  overflow: auto;
  padding: 1rem 1.25rem;
}

.knowledge-mapping-row {
  display: grid;
  grid-template-columns: minmax(11rem, 0.9fr) minmax(14rem, 1.25fr);
  gap: 1rem;
  align-items: center;
  padding: 0.8rem 0.9rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
}

.knowledge-mapping-row__source {
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  gap: 0.6rem;
  align-items: start;
  min-width: 0;
}

.knowledge-mapping-row__index {
  padding-top: 0.12rem;
  color: #758093;
  font-size: 0.64rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.knowledge-mapping-row__source strong,
.knowledge-mapping-row__source small { display: block; overflow: hidden; text-overflow: ellipsis; }
.knowledge-mapping-row__source strong { color: #34445c; font-size: 0.79rem; font-weight: 600; line-height: 1.4; }
.knowledge-mapping-row__source small { margin-top: 0.18rem; color: #758093; font-size: 0.67rem; white-space: nowrap; }

.knowledge-mapping-row__target { display: grid; gap: 0.28rem; }
.knowledge-mapping-row__target > span { color: #758093; font-size: 0.7rem; font-weight: 500; }
.knowledge-mapping-row__target select {
  width: 100%;
  min-height: 2.25rem;
  padding: 0 2rem 0 0.65rem;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  color: #34445c !important;
  font-size: 0.78rem;
}

.knowledge-mapping-dialog__empty {
  margin: 0;
  padding: 1.5rem;
  border-radius: 10px;
  background: #f7f9fc;
  color: #758093;
  font-size: 0.78rem;
  text-align: center;
}

.knowledge-mapping-dialog__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  border-top: 1px solid #e5eaf0;
}

.knowledge-mapping-dialog__note { color: #758093; font-size: 0.72rem; line-height: 1.55; }
.knowledge-mapping-dialog__actions { display: flex; gap: 0.5rem; flex: 0 0 auto; }

#questionsModule[data-bank-scope="mine"] .question-toggle.question-toggle--mapping-pending, #questionsModule[data-bank-scope="mine"] .question-toggle.question-toggle--mapping-pending:hover:not(:disabled) {
  color: rgb(151 92 16) !important;
  background: rgb(255 246 230) !important;
  border-color: #eed9b7;
}

#questionsModule[data-bank-scope="mine"] .question-toggle.question-toggle--mapping-pending .question-toggle__dot { background: rgb(217 139 36); opacity: 1; }
#questionsModule[data-bank-scope="mine"] .question-toggle.question-toggle--mapping-pending[aria-busy="true"] { opacity: 0.6; pointer-events: none; }

@keyframes knowledge-mapping-enter {
  from { opacity: 0; transform: translateY(0.65rem) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 680px) {
  .knowledge-mapping-backdrop { align-items: end; padding: 0; }
  .knowledge-mapping-dialog { max-height: 92vh; border-radius: 16px 16px 0 0; }
  .knowledge-mapping-row { grid-template-columns: 1fr; gap: 0.65rem; }
  .knowledge-mapping-dialog__foot { align-items: stretch; flex-direction: column; }
  .knowledge-mapping-dialog__actions { justify-content: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  .knowledge-mapping-dialog { animation: none; }
}

/* user_app/styles/question_ai_panel_shell.css */
.question-ai-panel {
  margin-top: 1rem;
  container-type: inline-size;
  border-radius: 10px;
  border: 1px solid #dfe6ef;
  background: #fff;
  padding: 0.875rem;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.question-ai-panel__header,
.question-ai-panel__toolbar,
.question-ai-panel__footer {
  display: flex;
}

.question-ai-panel__header {
  display: grid;
  grid-template-columns: minmax(20rem, 28rem) auto;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
}

.question-ai-panel__model-controls {
  display: grid;
  min-width: 0;
  max-width: 28rem;
  grid-template-columns: minmax(8rem, 0.8fr) minmax(11rem, 1.2fr);
  align-items: end;
  gap: 0.75rem;
}

.question-ai-panel__model-controls .question-ai-control {
  min-width: 0;
}

.question-ai-panel__header p,
.question-ai-panel__hint {
  margin: 0.3rem 0 0;
  color: #758093;
  font-size: 0.8125rem;
  line-height: 1.7;
}

.question-ai-panel__toolbar,
.question-ai-panel__footer {
  gap: 0.625rem;
  flex-wrap: wrap;
}

.question-ai-panel__toolbar {
  align-items: flex-end;
  align-self: end;
  padding-bottom: 0;
}

@container (max-width: 52rem) {
  .question-ai-panel__header {
    grid-template-columns: 1fr;
    justify-content: start;
  }

  .question-ai-panel__model-controls {
    max-width: none;
  }
}

/* user_app/styles/question_ai_panel_actions.css */
.question-ai-panel__tool,
.question-ai-panel__action {
  display: inline-flex;
  min-height: 2.2rem;
  align-items: center;
  justify-content: center;
  gap: 0.48rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  padding: 0 0.75rem;
  font-size: 0.82rem;
  font-weight: 550;
  line-height: 1;
  white-space: nowrap;
  transition:
    background-color 180ms var(--motion-apple),
    color 180ms ease,
    box-shadow 180ms var(--motion-apple),
    opacity 180ms ease;
}

.question-ai-panel__tool span,
.question-ai-panel__action span {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.question-ai-panel__tool svg,
.question-ai-panel__action svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.question-ai-panel__tool {
  background: #fff;
  color: #526986;
  box-shadow: none;
}

.question-ai-panel__tool--generate,
.question-ai-panel__action--primary {
  border-color: #285c99;
  background: #285c99;
  color: white;
  box-shadow: none;
}

.question-ai-panel__action--secondary {
  background: white;
  color: #285c99;
  box-shadow: none;
}

.question-ai-panel__tool:hover:not(:disabled) {
  background: #f4f7fb;
}

.question-ai-panel__tool--generate:hover:not(:disabled),
.question-ai-panel__action--primary:hover:not(:disabled) {
  border-color: #204d84;
  background: #204d84;
}

.question-ai-panel__action--secondary:hover:not(:disabled) {
  background: #f4f7fb;
}

.question-ai-panel__tool:active,
.question-ai-panel__action:active {
  transform: none;
}

.question-ai-panel__tool:focus-visible,
.question-ai-panel__action:focus-visible {
  outline: 2px solid #729bcb;
  outline-offset: 2px;
  box-shadow: none;
}

.question-ai-panel__tool:disabled,
.question-ai-panel__action:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
  box-shadow: none;
}

/* user_app/styles/question_ai_panel_editor.css */
.question-ai-panel .question-ai-panel__textarea {
  width: 100%;
  min-height: 11rem;
  resize: vertical;
  border-radius: 7px;
  border: 1px solid #dfe6ef !important;
  background: #fff !important;
  padding: 0.95rem 1rem;
  color: #34445c;
  font: inherit;
  line-height: 1.8;
}

.question-ai-panel .question-ai-panel__textarea:focus {
  outline: none;
  border-color: #729bcb !important;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, 0.12) !important;
  background: white;
}

.question-ai-panel.is-streaming .question-ai-panel__textarea {
  border-color: #729bcb !important;
  background: #f4f8fd !important;
}

/* user_app/styles/question_ai_panel_controls.css */
.question-ai-panel .question-ai-control > span {
  color: #526986;
  font-weight: 550;
}

.question-ai-panel .question-ai-control select {
  min-height: 2.2rem;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  padding-inline: 0.65rem;
  color: #34445c !important;
  box-shadow: none;
}

.question-ai-panel .question-ai-control select:focus {
  border-color: #729bcb !important;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, 0.12) !important;
}

.question-ai-panel .question-ai-control select:disabled {
  background: #f4f7fb !important;
  color: #758093 !important;
}

.question-ai-panel .latex-source-editor__highlight {
  border-radius: 7px;
  background: transparent;
}

@container (max-width: 24rem) {
  .question-ai-panel__model-controls {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* user_app/styles/question_ai_stream_status.css */
.question-ai-panel__stream-status {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: 0.45rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-blue) 9%, white);
  padding: 0.35rem 0.7rem;
  color: color-mix(in srgb, var(--apple-blue) 72%, rgb(63 63 70));
  font-size: 0.78rem;
  font-weight: 700;
}

.question-ai-panel__stream-status span {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--apple-blue);
  animation: questionAiPulse 1.1s ease-in-out infinite;
  flex: 0 0 auto;
}


/* user_app/styles/question_ai_panel_preview.css */
.question-ai-panel__preview {
  border: 1px solid #e5eaf0;
  border-radius: 7px;
  background: #fff;
  padding: 1rem 1.1rem;
}
.question-ai-panel__preview-title {
  margin-bottom: 0.65rem;
  color: #526986;
  font-size: 0.8125rem;
  font-weight: 550;
}

/* user_app/styles/question_ai_panel_animation.css */
@keyframes questionAiPulse {
  0%,
  100% {
    opacity: 0.42;
    transform: scale(0.84);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}


/* user_app/styles/question_admin_controls.css */
.question-toggles { width: 100%;
  flex-wrap: wrap;
  gap: 0.625rem;
  align-items: center;
}
.question-toggles > [data-action="toggle-basket"] { margin-left: auto; }
.question-toggle {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  gap: 0.5rem;
  border-radius: 999px;
  padding: 0 1rem;
  font-size: 0.84rem;
  font-weight: 680;
  line-height: 1;
}

.question-toggle__dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.35;
}

.question-toggle.is-basketed .question-toggle__dot {
  opacity: 1;
}

.question-admin-actions {
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: flex-end;
  padding: 0.35rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(250, 250, 250, 0.96), rgba(244, 244, 245, 0.92));
  box-shadow:
    inset 0 0 0 1px rgba(228, 228, 231, 0.95),
    0 10px 24px rgba(228, 228, 231, 0.52);
}

.question-toggles > .question-admin-actions {
  gap: 0.625rem;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.question-admin-chip {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  gap: 0.55rem;
  padding: 0 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.98);
  color: rgb(63 63 70);
  font-size: 0.84rem;
  font-weight: 680;
  line-height: 1;
  box-shadow:
    inset 0 0 0 1px rgba(228, 228, 231, 0.95),
    0 8px 18px rgba(228, 228, 231, 0.45);
  white-space: nowrap;
}

.question-admin-chip:hover {
  background: white;
}

.soft-btn.question-admin-chip--ai {
  background: var(--question-ai-action-bg) !important;
  color: var(--question-ai-action-text) !important;
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--question-ai-action-text) 12%, transparent),
    0 10px 22px var(--question-ai-action-shadow);
}

.soft-btn.question-admin-chip--ai:hover {
  background: color-mix(in srgb, var(--question-ai-action-bg) 78%, white 22%) !important;
}

.question-admin-chip--active {
  box-shadow: 0 16px 32px rgba(24, 24, 27, 0.12);
}

.question-admin-chip--danger {
  color: rgb(185 28 28);
}

.question-admin-chip__icon {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.question-admin-chip__icon svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* user_app/styles/question_solution_content.css */
.question-extra {
  margin-top: 1rem;
  border-top: 1px solid rgb(228 228 231);
  padding-top: 1rem;
}

.question-solution--loading {
  color: var(--apple-secondary);
}

.question-content .content-block {
  overflow-wrap: anywhere;
}

.question-content .content-block:has(.katex-display),
.question-solution .content-block:has(.katex-display) {
  overflow-x: auto;
  overflow-y: visible;
  padding-block: 0.15rem;
  scrollbar-width: none;
}

.question-content .content-block:has(.katex-display)::-webkit-scrollbar,
.question-solution .content-block:has(.katex-display)::-webkit-scrollbar {
  display: none;
}

.question-content .katex-display,
.question-solution .katex-display {
  margin: 0;
}

.question-content .katex-display > .katex,
.question-solution .katex-display > .katex {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  padding-block: 0.1rem;
  scrollbar-width: none;
  text-align: center;
  white-space: normal;
}

.question-content .katex-display > .katex::-webkit-scrollbar,
.question-solution .katex-display > .katex::-webkit-scrollbar {
  display: none;
}

.question-content .katex-display > .katex > .katex-html,
.question-solution .katex-display > .katex > .katex-html {
  display: inline-block;
  text-align: initial;
}

.editable-enumerate-block ol {
  display: grid;
  gap: 0.55rem;
  margin: 0.55rem 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  list-style: none;
}

.editable-enumerate-block li {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: baseline;
  gap: 0.45rem;
  font-size: inherit;
  line-height: inherit;
}

.editable-enumerate-block__label {
  color: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  white-space: nowrap;
}

.editable-enumerate-block__body {
  min-width: 0;
  font-size: inherit;
  line-height: inherit;
}

.editable-enumerate-block__body > div {
  min-width: 0;
  font-size: inherit;
  line-height: inherit;
}

.editable-enumerate-block__body .editable-enumerate-block {
  margin-top: 0.3rem;
}

.question-content--safe {
  color: var(--apple-secondary);
}

.question-extra h4,
.resource-detail-card h4 {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
}

/* user_app/styles/paper_assembly_workspace.css */

.paper-assembly-center {
  display: grid;
  gap: 1rem;
}

.paper-assembly-layout {
  --paper-assembly-tree-width: 360px;
  display: grid;
  grid-template-columns: clamp(320px, var(--paper-assembly-tree-width), 440px) 1rem minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
}

.paper-assembly-tree-card,
.paper-assembly-rules-card,
.paper-assembly-preview-card {
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  padding: 1rem;
}

.paper-assembly-tree-card { width: 100%; }
.paper-assembly-resizer { min-height: 0; }

.paper-assembly-card__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
}

.paper-assembly-card__header .paper-assembly-hint {
  margin-top: 0.35rem;
}

.paper-assembly-search,
.paper-assembly-year-grid input {
  width: 100%;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #34445c;
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
}

.assembly-tree-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: auto;
  margin-top: 0.8rem;
}

.paper-assembly-selected-block { margin-top: 1rem; }
.paper-assembly-selected-block > span,
.paper-assembly-filter-block > span,
.paper-assembly-year-grid span { display: block; margin-bottom: .55rem; color: #526986; font-size: .72rem; font-weight: 600; letter-spacing: normal; }
.paper-assembly-filter-block { margin-top: 1rem; }
.paper-assembly-selected-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.paper-assembly-selected-tag { display: inline-flex; max-width: 100%; align-items: center; gap: .45rem; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #34445c; font-size: .82rem; font-weight: 600; padding: .48rem .75rem; cursor: pointer; }
.paper-assembly-selected-tag:hover { background: #f4f7fb; }
.paper-assembly-selected-tag span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.paper-assembly-dropdown { position: relative; }
.paper-assembly-dropdown__trigger { display: flex; width: 100%; min-height: 2.75rem; align-items: center; justify-content: space-between; gap: .75rem; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #34445c; font-size: .875rem; padding: .45rem .75rem; cursor: pointer; }
.paper-assembly-dropdown__value { display: flex; min-width: 0; flex: 1 1 auto; flex-wrap: wrap; gap: .35rem; }
.paper-assembly-dropdown__placeholder { color: #526986; padding: .28rem .25rem; }
.paper-assembly-dropdown__tag { display: inline-flex; min-width: 0; max-width: 100%; align-items: center; gap: .35rem; border-radius: 7px; background: #fff; color: #34445c; font-size: .8rem; font-weight: 600; padding: .28rem .35rem .28rem .6rem; box-shadow: none; border: 1px solid #dfe6ef; }
.paper-assembly-dropdown__tag > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.paper-assembly-dropdown__tag button { display: inline-flex; width: 1.1rem; height: 1.1rem; align-items: center; justify-content: center; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #526986; font-size: .85rem; line-height: 1; cursor: pointer; }
.paper-assembly-dropdown__tag button:hover { background: #fff; color: #526986; }
.paper-assembly-dropdown__chevron { flex: 0 0 auto; color: #526986; }
.paper-assembly-dropdown__trigger:hover,
.paper-assembly-dropdown.is-open .paper-assembly-dropdown__trigger { background: #f4f7fb; }
.paper-assembly-dropdown__menu { position: relative; margin-top: .5rem; display: grid; max-height: 15rem; gap: .35rem; overflow: auto; border: 1px solid #dfe6ef; border-radius: 10px; background: #fff; box-shadow: none; padding: .55rem; }
.paper-assembly-dropdown__option { display: flex; align-items: center; gap: .55rem; border-radius: 5px; color: #34445c; font-size: .86rem; padding: .55rem .65rem; cursor: pointer; }
.paper-assembly-dropdown__option:hover { background: #fff; }
.paper-assembly-dropdown__option input { accent-color: #285c99; }
.paper-assembly-difficulty-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: .35rem; }
.paper-assembly-difficulty-grid label { display: grid; gap: .55rem; }
.paper-assembly-difficulty-grid span { display: block; margin-bottom: 0; color: #526986; font-size: .72rem; font-weight: 600; letter-spacing: normal; }
.paper-assembly-difficulty-grid input,
.paper-assembly-difficulty-grid select { width: 100%; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #34445c; font-size: .875rem; padding: .75rem 1rem; }
.paper-assembly-difficulty-grid input:focus,
.paper-assembly-difficulty-grid select:focus { outline: 0; box-shadow: 0 0 0 2px rgba(40, 92, 153, .12); background: #fff; }
.paper-assembly-difficulty-grid .is-disabled { opacity: .58; }
.paper-assembly-pill-grid { display: flex; flex-wrap: wrap; gap: .5rem; }
.paper-assembly-year-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1rem; }


/* user_app/styles/paper_assembly_preview.css */
.paper-assembly-preview-header {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #e5eaf0;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

.paper-assembly-preview-header p { margin: .25rem 0 0; color: #526986; font-size: .85rem; }
.paper-assembly-preview-list {
  flex: 1 1 auto;
  display: grid;
  min-height: 0;
  align-content: start;
  gap: .9rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: .35rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(160, 172, 195, 0.88) transparent;
  overscroll-behavior: contain;
}

.paper-assembly-preview-list::-webkit-scrollbar {
  width: 8px;
}

.paper-assembly-preview-list::-webkit-scrollbar-track {
  background: transparent;
}

.paper-assembly-preview-list::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 7px;
  background: rgba(160, 172, 195, 0.82);
  background-clip: padding-box;
}

.paper-assembly-preview-list::-webkit-scrollbar-thumb:hover {
  background: rgba(124, 140, 168, 0.92);
  background-clip: padding-box;
}
.paper-assembly-preview-item { border-radius: 10px; background: #fff; border: 1px solid #dfe6ef; box-shadow: none; padding: 1rem; }
.paper-assembly-preview-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; margin-top: .75rem; }
.paper-assembly-preview-btn { display: inline-flex; min-height: 2.35rem; align-items: center; justify-content: center; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #526986; font-size: .82rem; font-weight: 600; padding: 0 .9rem; box-shadow: none; transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.paper-assembly-preview-btn:hover:not(:disabled) { transform: none; }
.paper-assembly-preview-btn--primary { background: #285c99; color: #fff; box-shadow: none; }
.paper-assembly-preview-btn--primary:hover:not(:disabled) { background: #204d84; }
.paper-assembly-preview-btn--danger { background: #fff1f0; color: #b54745; border-color: #f0cecc; box-shadow: none; }
.paper-assembly-preview-btn--danger:hover:not(:disabled) { background: #fde8e7; }
.paper-assembly-preview-btn:disabled { cursor: not-allowed; opacity: .5; transform: none; box-shadow: none; }

/* user_app/styles/dashboard_intro.css */
.module-stage > .dashboard-shell:first-child { border: 1px solid #e5eaf0 !important; border-radius: 16px !important; background: #fff !important; box-shadow: none !important; padding: 0; color: #243247; }
#dashboardContent { min-width: 0; padding: 1.5rem 1.8rem 1.8rem; container: dashboard-content / inline-size; }
.dashboard-root { display: grid; gap: 1.75rem; min-width: 0; }
.dashboard-section-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; margin-bottom: .85rem; }
.dashboard-section-heading h2 { margin: 0; color: #34445c; font-size: .88rem; font-weight: 650; }
.dashboard-section-heading p { margin: 0; color: #758093; font-size: .72rem; line-height: 1.6; }
@media (max-width: 700px) { #dashboardContent { padding: 1.25rem; } }

/* user_app/styles/dashboard_metrics.css */
.dashboard-overview-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; }
.dashboard-metric-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; min-height: 8rem; margin: 0; padding: 1rem 1.1rem; border: 1px solid #e5eaf0; border-radius: 10px; background: #fff; color: #243247; box-shadow: none; text-align: left; transition: border-color 120ms ease, background-color 120ms ease; }
button.dashboard-metric-card { cursor: pointer; }
button.dashboard-metric-card:hover { border-color: #c6d6e9; background: #f8fafd; }
.dashboard-metric-card__label { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: #68768a; font-size: .78rem; line-height: 1.5; }
.dashboard-metric-card__arrow { color: #a0afc1; font-size: .9rem; }
.dashboard-metric-card strong { margin: .75rem 0 .6rem; color: #285c99; font-size: clamp(1.75rem, 3cqi, 2.1rem); font-weight: 600; line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.dashboard-metric-card__hint { margin-top: auto; color: #758093; font-size: .7rem; line-height: 1.5; }

/* user_app/styles/dashboard_panels.css */
.dashboard-panel { min-width: 0; padding: 1.15rem 1.25rem; border: 1px solid #e5eaf0; border-radius: 10px; background: #fff; box-shadow: none; text-align: left; }
.dashboard-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; margin-bottom: 1rem; }
.dashboard-panel__head > div { min-width: 0; }
.dashboard-panel__head h3 { margin: 0; color: #34445c; font-size: .88rem; font-weight: 650; line-height: 1.5; }
.dashboard-panel__head p { margin: .25rem 0 0; color: #758093; font-size: .7rem; line-height: 1.6; }
.dashboard-panel__head > span { flex-shrink: 0; margin-top: .15rem; color: #758093; font-size: .7rem; line-height: 1.5; }
.dashboard-chart-empty { display: grid; align-content: center; justify-items: center; gap: .5rem; min-height: 7rem; color: #6e7d92; font-size: .8rem; text-align: center; }
.dashboard-chart-empty span { color: #758093; font-size: .72rem; }

/* user_app/styles/dashboard_bars.css */
.dashboard-bars { display: grid; gap: .25rem; }
.dashboard-bar-row { display: grid; grid-template-columns: minmax(5rem, 1fr) minmax(3rem, 1.6fr) minmax(2rem, auto); align-items: center; gap: 1rem; width: 100%; min-width: 0; min-height: 2.15rem; padding: .4rem .35rem; border: 0; border-radius: 5px; background: transparent; color: #4e5e74; box-shadow: none; text-align: left; transition: background-color 120ms ease; }
button.dashboard-bar-row { cursor: pointer; }
button.dashboard-bar-row:hover { background: #f5f8fc; }
.dashboard-bar-row__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; line-height: 1.5; }
.dashboard-bar-row__track { display: block; overflow: hidden; height: 5px; border-radius: 2px; background: #eff3f8; }
.dashboard-bar-row__track > span { display: block; height: 100%; border-radius: inherit; background: #7594ba; }
button.dashboard-bar-row:hover .dashboard-bar-row__track > span { background: #285c99; }
.dashboard-bar-row strong { color: #5e7088; font-size: .74rem; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }

/* user_app/styles/dashboard_charts.css */
.dashboard-distribution-panel { --dashboard-chart-base-height: clamp(160px, 16dvh, 220px); --dashboard-chart-height: calc(var(--dashboard-chart-base-height) + 50pt); }
.dashboard-chart-body { height: var(--dashboard-chart-height); min-width: 0; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d3dce8 transparent; }
.dashboard-chart-body > .dashboard-chart-empty { height: 100%; min-height: 0; }
.dashboard-chart-note { min-height: 2.3rem; margin: .7rem 0 0; padding-top: .65rem; border-top: 1px solid #edf0f5; color: #758093; font-size: .7rem; line-height: 1.6; }
.dashboard-distribution-panel button[data-dashboard-filter] { box-shadow: none; transform: none; }
.dashboard-distribution-panel button[data-dashboard-filter]:focus-visible { outline: 2px solid #285c99; outline-offset: -2px; }
.dashboard-distribution-panel .dashboard-bars { padding-right: .2rem; }
.dashboard-columns { max-width: 100%; overflow-x: auto; padding: 0 .15rem .4rem; scrollbar-width: thin; scrollbar-color: #cbd7e6 #f6f8fb; }
.dashboard-columns__plot { display: grid; gap: .6rem; align-items: stretch; padding: .4rem .3rem 0; }
.dashboard-column { display: grid; grid-template-rows: auto 2.5rem; gap: .55rem; min-width: 0; padding: 0 .15rem; border: 0; border-radius: 5px; background: transparent; color: #677a94; text-align: center; }
button.dashboard-column { cursor: pointer; }
button.dashboard-column:hover { background: #f5f8fc; }
.dashboard-column__plot { display: flex; height: calc(var(--dashboard-chart-height) - 88px); flex-direction: column; align-items: center; justify-content: flex-end; gap: .35rem; border-bottom: 1px solid #dfe6f0; }
.dashboard-column__plot strong { color: #596e8c; font-size: .69rem; font-weight: 500; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-column__bar { display: block; width: 58%; max-width: 2rem; height: calc((var(--dashboard-chart-height) - 120px) * var(--dashboard-column-share)); border-radius: 3px 3px 0 0; }
.dashboard-column__label { display: -webkit-box; align-self: start; max-height: 3em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #6d7c91; font-size: .68rem; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.dashboard-columns__hint { margin: .35rem 0 0; color: #758093; font-size: .7rem; line-height: 1.5; }
.dashboard-pie { display: flex; min-height: 100%; align-items: center; gap: 1.2rem; padding: .5rem .1rem; }
.dashboard-pie__figure { position: relative; flex: 0 1 40%; min-width: 110px; max-width: min(200px, calc(var(--dashboard-chart-height) - 16px)); }
.dashboard-pie__figure svg { display: block; width: 100%; height: auto; overflow: visible; }
.dashboard-pie__figure path { stroke: #fff; stroke-width: 1.2; }
.dashboard-pie__figure path[role="button"] { cursor: pointer; }
.dashboard-pie__figure path[role="button"]:hover { filter: brightness(.96); }
.dashboard-pie__figure path[role="button"]:focus-visible { outline: none; stroke: #16395f; stroke-width: 3; }
.dashboard-pie__zero { position: absolute; inset: 0; min-height: 0; gap: .25rem; padding: 1rem; font-size: .72rem; }
.dashboard-pie__zero span { font-size: .62rem; }
.dashboard-pie__legend { display: grid; flex: 1 1 0; min-width: 0; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.dashboard-pie__legend li { min-width: 0; }
.dashboard-pie__entry { display: grid; grid-template-columns: minmax(0, 1fr) auto 2.8rem; align-items: center; gap: .45rem; width: 100%; min-width: 0; min-height: 1.8rem; padding: .25rem .2rem; border: 0; border-radius: 4px; background: transparent; color: #6c7e96; text-align: left; }
button.dashboard-pie__entry { cursor: pointer; }
button.dashboard-pie__entry:hover { background: #f4f7fb; }
.dashboard-pie__label { display: flex; min-width: 0; align-items: center; gap: .45rem; font-size: .7rem; }
.dashboard-pie__label i { flex: 0 0 .5rem; width: .5rem; height: .5rem; border-radius: 2px; }
.dashboard-pie__label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-pie__entry strong { color: #59718e; font-size: .7rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.dashboard-pie__share { color: #758093; font-size: .72rem; text-align: right; font-variant-numeric: tabular-nums; }
.dashboard-chart-table-wrap { min-width: 0; overflow-x: auto; }
.dashboard-chart-table { width: 100%; table-layout: fixed; border-collapse: collapse; color: #677c96; font-size: .71rem; font-variant-numeric: tabular-nums; }
.dashboard-chart-table th, .dashboard-chart-table td { padding: .55rem .45rem; border-bottom: 1px solid #edf1f6; font-weight: 400; text-align: right; overflow-wrap: anywhere; }
.dashboard-chart-table th:first-child, .dashboard-chart-table td:first-child { width: 56%; text-align: left; }
.dashboard-chart-table thead th { background: #f7f9fc; color: #758093; font-size: .68rem; }
.dashboard-chart-table tbody tr:hover { background: #fbfcfe; }
.dashboard-chart-table__label { display: block; max-width: 100%; padding: .12rem 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border: 0; border-radius: 3px; background: transparent; color: #586e8a; font: inherit; text-align: left; }
button.dashboard-chart-table__label { color: #285c99; cursor: pointer; }
button.dashboard-chart-table__label:hover { text-decoration: underline; }
.dashboard-chart-table tfoot th, .dashboard-chart-table tfoot td { border-bottom: 0; background: #fafbfd; color: #5c728f; font-weight: 600; }
@container dashboard-content (max-width: 680px) {
  .dashboard-pie { gap: .7rem; }
  .dashboard-pie__figure { flex-basis: 34%; min-width: 90px; }
  .dashboard-pie__entry { grid-template-columns: minmax(0, 1fr) auto 2.5rem; gap: .3rem; }
  .dashboard-pie__label { gap: .3rem; }
}

/* user_app/styles/dashboard_chart_header.css */
.dashboard-distribution-panel { container: dashboard-panel / inline-size; }
.dashboard-distribution-panel .dashboard-chart-heading { display: block; margin-bottom: 1.2rem; }
.dashboard-chart-title-row { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.dashboard-chart-title-row h3 { min-width: 0; flex: 1 1 auto; }
.dashboard-chart-modes { display: inline-flex; flex: 0 0 auto; gap: 2px; padding: 3px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f5f7fa; }
.dashboard-chart-modes button { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; min-height: 1.75rem; padding: .25rem .45rem; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #728095; font-size: .7rem; font-weight: 500; white-space: nowrap; cursor: pointer; }
.dashboard-chart-modes svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-chart-modes button:hover { background: #edf2f8; color: #285c99; }
.dashboard-chart-modes button[aria-pressed="true"] { border-color: #dce5f1; background: #fff; color: #285c99; }
.dashboard-chart-modes button:focus-visible, .dashboard-columns:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
.dashboard-chart-heading .dashboard-chart-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .65rem; margin-top: .55rem; }
.dashboard-chart-meta > span:last-child { flex: 0 0 auto; }
.dashboard-toolbar__buttons { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; }
@container dashboard-panel (max-width: 420px) {
  .dashboard-chart-mode-label { display: none; }
  .dashboard-chart-modes button { width: 1.75rem; padding: .25rem; }
}

/* user_app/styles/dashboard_distribution_layout.css */
.dashboard-chart-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: stretch; }
.dashboard-chart-grid > .dashboard-panel { padding: 1rem; }
.dashboard-chart-grid .dashboard-chart-heading { margin-bottom: .7rem; }
.dashboard-chart-grid .dashboard-chart-note { min-height: 0; margin-top: .55rem; padding-top: .55rem; }
@container dashboard-content (min-width: 681px) {
  .dashboard-overview .dashboard-overview-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .dashboard-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; grid-template-areas: "knowledge years" "types difficulty"; }
  .dashboard-chart-grid > [data-dashboard-chart="knowledge_points"] { grid-area: knowledge; --dashboard-chart-height: calc(var(--dashboard-chart-base-height) + 100pt); }
  .dashboard-chart-grid > [data-dashboard-chart="question_types"] { grid-area: types; --dashboard-chart-height: var(--dashboard-chart-base-height); }
  .dashboard-chart-grid > [data-dashboard-chart="difficulties"] { grid-area: difficulty; --dashboard-chart-height: var(--dashboard-chart-base-height); }
  .dashboard-chart-grid > [data-dashboard-chart="years"] { grid-area: years; --dashboard-chart-height: calc(var(--dashboard-chart-base-height) + 100pt); }
}

/* user_app/styles/dashboard_import_list.css */
.dashboard-import-panel { min-width: 0; border: 1px solid #e5eaf0; border-radius: 10px; background: #fff; box-shadow: none; }
.dashboard-import-panel .dashboard-panel__head { margin-bottom: 1.1rem; }
.dashboard-import-panel .dashboard-panel__head h3 { color: #24354c; font-size: .94rem; font-weight: 650; letter-spacing: 0; }
.dashboard-import-panel .dashboard-panel__head p { margin: .3rem 0 0; color: #758093; font-size: .75rem; line-height: 1.5; }
.dashboard-import-panel .dashboard-panel__head > span { flex-shrink: 0; color: #758093; font-size: .74rem; font-weight: 500; }
.dashboard-import-columns, .dashboard-import-panel .dashboard-import-row { display: grid; grid-template-columns: minmax(0, 1fr) 5.2rem 9rem 6rem; align-items: center; gap: 1.25rem; }
.dashboard-import-columns { padding: .7rem .75rem; border-block: 1px solid #e5eaf0; background: #f8fafc; color: #758093; font-size: .7rem; }
.dashboard-import-panel .dashboard-import-list { display: grid; gap: 0; }
.dashboard-import-panel .dashboard-import-row { min-width: 0; padding: 1rem .75rem; border: 0; border-bottom: 1px solid #edf0f4; border-radius: 0; background: #fff; color: #34445b; box-shadow: none; transform: none; transition: background-color 120ms ease; }
.dashboard-import-panel .dashboard-import-row:last-child { border-bottom: 0; }
.dashboard-import-panel .dashboard-import-row:hover { background: #fafbfd; box-shadow: none; transform: none; }
.dashboard-import-row__identity { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.dashboard-import-row__identity > div { min-width: 0; }
.dashboard-import-row__icon { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border-radius: 7px; background: #f0f4f9; color: #6d87a7; }
.dashboard-import-row__icon svg, .dashboard-import-empty__icon svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.5; }
.dashboard-import-panel .dashboard-import-row strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #2c3d54; font-size: .82rem; font-weight: 600; }
.dashboard-import-row__detail { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: .3rem; color: #758093; font-size: .7rem; }
.dashboard-import-panel .dashboard-import-row__status { justify-self: start; width: auto; max-width: 100%; padding: .2rem .5rem; border: 1px solid #e2e9f3; border-radius: 5px; background: #f4f7fb; color: #54749b; font-size: .7rem; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
.dashboard-import-panel .dashboard-import-row__status.is-complete { border-color: #e0eae4; background: #f2f7f4; color: #527762; }
.dashboard-import-row__progress { min-width: 0; }
.dashboard-import-panel .dashboard-import-row__count { display: block; margin: 0; padding: 0; border-radius: 0; background: transparent; color: #758093; font-size: .7rem; font-weight: 400; white-space: nowrap; }
.dashboard-import-row__count b { color: #4a5c74; font-weight: 600; }
.dashboard-import-row__progress progress { display: block; width: 100%; height: 3px; margin-top: .45rem; overflow: hidden; border: 0; border-radius: 3px; background: #edf1f6; accent-color: #7997ba; }
.dashboard-import-row__progress progress::-webkit-progress-bar { border-radius: 3px; background: #edf1f6; }
.dashboard-import-row__progress progress::-webkit-progress-value { border-radius: 3px; background: #7997ba; }
.dashboard-import-row__progress progress::-moz-progress-bar { border-radius: 3px; background: #7997ba; }
.dashboard-import-row__actions { display: flex; align-items: center; justify-content: flex-end; gap: .35rem; }
.dashboard-import-panel .dashboard-import-row__open, .dashboard-import-panel .dashboard-import-row__delete { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 2rem; margin: 0; border: 1px solid transparent; border-radius: 6px; background: transparent; box-shadow: none; cursor: pointer; transform: none; }
.dashboard-import-panel .dashboard-import-row__open { gap: .35rem; padding: .25rem .4rem; color: #285c99; font-size: .75rem; font-weight: 600; }
.dashboard-import-panel .dashboard-import-row__open > span { font-size: .9rem; font-weight: 400; }
.dashboard-import-panel .dashboard-import-row__open:hover { border-color: #dfe7f2; background: #f0f4fa; }
.dashboard-import-panel .dashboard-import-row__delete { width: 2rem; height: 2rem; padding: 0; color: #91a0b2; }
.dashboard-import-row__delete svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.dashboard-import-panel .dashboard-import-row__delete:hover { border-color: #f0dddd; background: #fcf3f3; color: #af6262; }
.dashboard-import-panel .dashboard-import-row__open:focus-visible, .dashboard-import-panel .dashboard-import-row__delete:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
.dashboard-import-panel .dashboard-import-row__open:disabled, .dashboard-import-panel .dashboard-import-row__delete:disabled { opacity: .45; cursor: default; }
.dashboard-import-empty { display: grid; justify-items: center; gap: .65rem; padding: 2.5rem 1rem; color: #718099; text-align: center; }
.dashboard-import-empty__icon { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border: 1px solid #e5eaf0; border-radius: 9px; color: #8da0b8; background: #fafbfd; }
.dashboard-import-empty strong { color: #5a6e89; font-size: .82rem; font-weight: 500; }
.dashboard-import-empty p { margin: 0; color: #758093; font-size: .73rem; line-height: 1.6; }
@container dashboard-content (max-width: 680px) {
  .dashboard-import-columns { display: none; }
  .dashboard-import-panel .dashboard-panel__head { margin-bottom: .5rem; }
  .dashboard-import-panel .dashboard-import-row { grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; padding: .9rem .2rem; }
  .dashboard-import-row__identity { grid-column: 1 / 3; }
  .dashboard-import-panel .dashboard-import-row__status { grid-row: 2; grid-column: 1; }
  .dashboard-import-row__progress { grid-row: 2; grid-column: 2; max-width: 12rem; }
  .dashboard-import-row__actions { grid-row: 1 / 3; grid-column: 3; align-self: start; }
}

/* user_app/styles/dashboard_import_dialog.css */
.dashboard-import-dialog:not([open]) { display: none; }
.dashboard-import-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); width: min(900px, calc(100vw - 2.5rem)); max-height: 82dvh; margin: auto; padding: 0; overflow: hidden; border: 1px solid #dbe3ed; border-radius: 16px; background: #fff; color: #34445b; box-shadow: 0 18px 65px rgba(31, 49, 77, .16); }
.dashboard-import-dialog::backdrop { background: rgba(26, 40, 61, .25); }
.dashboard-import-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.4rem; border-bottom: 1px solid #e5eaf0; }
.dashboard-import-dialog__head h2 { margin: 0; color: #2d405b; font-size: 1.05rem; font-weight: 650; line-height: 1.5; }
.dashboard-import-dialog__head p { margin: .35rem 0 0; color: #8190a3; font-size: .74rem; line-height: 1.5; }
.dashboard-import-dialog__close { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #8090a6; cursor: pointer; }
.dashboard-import-dialog__close svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.dashboard-import-dialog__close:hover { background: #f1f5fa; color: #285c99; }
.dashboard-import-dialog__close:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
.dashboard-import-dialog__body { min-height: 0; padding: .75rem 1.4rem 1rem; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d3dce8 transparent; container: dashboard-import-content / inline-size; }
.dashboard-import-dialog .dashboard-import-panel { padding: 0; border: 0; border-radius: 0; }
.dashboard-import-dialog .dashboard-import-columns { display: grid; border-top: 0; background: #f8fafc; }
.dashboard-import-dialog .dashboard-import-row { grid-template-columns: minmax(0, 1fr) 5.2rem 9rem 6rem; gap: 1.25rem; padding: 1rem .75rem; }
.dashboard-import-dialog .dashboard-import-row__identity { grid-column: auto; }
.dashboard-import-dialog .dashboard-import-row__status { grid-row: auto; grid-column: auto; }
.dashboard-import-dialog .dashboard-import-row__progress { grid-row: auto; grid-column: auto; max-width: none; }
.dashboard-import-dialog .dashboard-import-row__actions { grid-row: auto; grid-column: auto; align-self: auto; }
.dashboard-import-dialog .dashboard-import-empty { min-height: 14rem; }
.dashboard-import-dialog__error { margin: 0 0 .75rem; padding: .6rem .75rem; border: 1px solid #ecd9d9; border-radius: 7px; background: #fff8f8; color: #a55f5f; font-size: .74rem; line-height: 1.6; }
@container dashboard-import-content (max-width: 680px) {
  .dashboard-import-dialog .dashboard-import-columns { display: none; }
  .dashboard-import-dialog .dashboard-import-row { grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; padding: .9rem .2rem; }
  .dashboard-import-dialog .dashboard-import-row__identity { grid-column: 1 / 3; }
  .dashboard-import-dialog .dashboard-import-row__status { grid-row: 2; grid-column: 1; }
  .dashboard-import-dialog .dashboard-import-row__progress { grid-row: 2; grid-column: 2; max-width: 12rem; }
  .dashboard-import-dialog .dashboard-import-row__actions { grid-row: 1 / 3; grid-column: 3; align-self: start; }
}
@media (max-width: 520px) {
  .dashboard-import-dialog[open] { width: calc(100vw - 1.25rem); max-height: 88dvh; }
  .dashboard-import-dialog__head { padding: 1rem; }
  .dashboard-import-dialog__body { padding: .4rem 1rem .7rem; }
}

/* user_app/styles/dashboard_loading.css */
.dashboard-loading, .dashboard-empty-state { min-height: 16rem; padding: 2rem 0; color: #7b889b; font-size: .8rem; line-height: 1.7; }
.dashboard-empty-state { display: grid; align-content: center; justify-items: center; gap: .65rem; padding-inline: 1rem; text-align: center; }
.dashboard-empty-state strong { color: #51637c; font-size: .94rem; font-weight: 600; }
.dashboard-empty-state p, .dashboard-loading p { margin: 0; }
.dashboard-empty-state.is-error p { color: #a35b4d; }
.dashboard-loading__skeleton { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.dashboard-loading__skeleton span { height: 8rem; border: 1px solid #edf0f5; border-radius: 10px; background: #f8fafc; }

/* user_app/styles/widget_workshop_shell.css */
.widget-workshop-shell {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#tikzWorkshopModule {
  position: relative;
  padding-top: 0 !important;
  gap: 0 !important;
}

#tikzWorkshopModule.module-stage--active {
  display: flex;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
  animation: workshop-fade 180ms ease;
}

#tikzWorkshopModule > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0 !important;
}

.tikz-workshop-back {
  position: absolute;
  left: 6.25rem;
  top: 1.5rem;
  z-index: 160;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.5rem;
  border: 1px solid rgba(210, 210, 215, 0.72);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--apple-text);
  padding: 0 1rem;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.05);
  -webkit-backdrop-filter: blur(18px) saturate(1.25);
  backdrop-filter: blur(18px) saturate(1.25);
  font-size: 0.85rem;
  transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.tikz-workshop-back:hover {
  background: rgba(255, 255, 255, 0.98);
  transform: translateY(-1px);
}

.tikz-workshop-back:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.14), 0 16px 38px rgba(15, 23, 42, 0.12);
}

.tikz-workshop-back span {
  color: var(--apple-secondary);
  font-size: 1rem;
  line-height: 1;
}

.tikz-workshop-back strong {
  font-weight: 700;
}

#tikzWorkshopModule .widget-workshop-shell {
  display: flex;
  flex: 1 1 auto;
  min-height: 100vh;
  height: 100vh;
}

#tikzWorkshopModule .math-widget-mount {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  margin: 0;
}

@keyframes workshop-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.widget-workshop-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 0 0.35rem;
}

.widget-workshop-stage-notes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
}

.widget-workshop-stage-notes span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--apple-secondary);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow:
    0 10px 24px rgba(210, 210, 215, 0.34),
    inset 0 0 0 0.5px rgba(210, 210, 215, 0.82);
  backdrop-filter: blur(14px) saturate(150%);
}

.widget-workshop-header-actions {
  min-width: 0;
}

.widget-workshop-header-actions:empty {
  display: none;
}

.widget-workshop-header-actions .soft-btn {
  min-height: 2.5rem;
  border-radius: 999px;
  padding-inline: 1rem;
}

.widget-workshop-header-actions .soft-btn:not(.soft-btn--dark) {
  background: color-mix(in srgb, var(--apple-control) 86%, white) !important;
  color: var(--apple-text) !important;
  box-shadow: none !important;
}

@media (max-width: 960px) {
  .widget-workshop-intro {
    flex-direction: column;
  }

  .widget-workshop-stage-notes {
    justify-content: flex-start;
  }
}

@media (max-width: 1200px) {
  .dashboard-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


/* user_app/styles/paper_assembly_panel_shell.css */
.paper-assembly-panel {
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  padding: 1.25rem;
  backdrop-filter: none;
}

.paper-assembly-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.paper-assembly-panel__eyebrow {
  margin: 0 0 0.5rem;
  color: #526986;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: uppercase;
}

.paper-assembly-panel h3 {
  margin: 0;
  color: #34445c;
  font-size: 1.35rem;
  letter-spacing: normal;
}

.paper-assembly-panel p {
  margin: 0.45rem 0 0;
  color: #526986;
  font-size: 0.875rem;
  line-height: 1.7;
}

.paper-assembly-close {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-size: 1.25rem;
  line-height: 1;
  transition: background-color 180ms ease, color 180ms ease;
}

.paper-assembly-close:hover {
  background: #f4f7fb;
  color: #526986;
}


/* user_app/styles/paper_assembly_rule_form.css */
.paper-assembly-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 1rem;
  margin-top: 1.25rem;
}

.paper-assembly-card {
  border-radius: 10px;
  background: #f8fafc;
  padding: 1rem;
}

.paper-assembly-card__title,
.paper-assembly-result__title {
  color: #34445c;
  font-size: 0.875rem;
  font-weight: 600;
}

.paper-assembly-rules {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.85rem;
}

.paper-assembly-rule,
.paper-assembly-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #34445c;
  font-size: 0.875rem;
}

.paper-assembly-rule input {
  width: 5rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: white;
  padding: 0.55rem 0.75rem;
  text-align: center;
  color: #34445c;
  box-shadow: none;
}

.paper-assembly-difficulty-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.85rem 0 1rem;
}

.paper-assembly-check {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  border-radius: 7px;
  background: white;
  padding: 0.45rem 0.65rem;
  color: #34445c;
  font-size: 0.78rem;
  font-weight: 600;
}

.paper-assembly-switch {
  justify-content: flex-start;
  margin-top: 0.75rem;
  color: #526986;
}

.paper-assembly-hint,
.paper-assembly-status {
  color: #526986;
  font-size: 0.78rem;
}


/* user_app/styles/paper_assembly_actions.css */
.paper-assembly-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  border-radius: 7px;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.paper-assembly-action-btn {
  display: inline-flex;
  min-height: 2.55rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0 1rem;
  box-shadow: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.paper-assembly-action-btn:hover:not(:disabled) {
  transform: none;
  background: #f4f7fb;
  box-shadow: none;
}

.paper-assembly-action-btn--primary {
  background: #285c99;
  color: #fff;
  box-shadow: none;
}

.paper-assembly-action-btn--primary:hover:not(:disabled) { background: #204d84; }

.paper-assembly-action-btn--accent {
  background: #285c99;
  color: #fff;
  box-shadow: none;
}

.paper-assembly-action-btn--accent:hover:not(:disabled) { background: #204d84; }

.paper-assembly-action-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  transform: none;
  box-shadow: none;
}


/* user_app/styles/paper_assembly_result_list.css */
.paper-assembly-warnings {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.paper-assembly-warnings span {
  border-radius: 7px;
  background: rgba(255, 149, 0, 0.12);
  color: #9a5a00;
  font-size: 0.75rem;
  padding: 0.4rem 0.7rem;
}

.paper-assembly-result {
  margin-top: 1.25rem;
}

.paper-assembly-result__list {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.paper-assembly-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  border-radius: 10px;
  background: white;
  padding: 0.85rem;
  border: 1px solid #dfe6ef;
}

.paper-assembly-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  grid-column: 1 / -1;
}

.paper-assembly-item__content {
  min-width: 0;
  overflow: hidden;
  color: #526986;
  font-size: 0.875rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.paper-assembly-item button {
  border-radius: 7px;
  background: #fff1f0;
  color: #b54745;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.45rem 0.7rem;
}


/* user_app/styles/paper_assembly_responsive.css */
@media (max-width: 900px) {
  .paper-assembly-grid {
    grid-template-columns: 1fr;
  }
}

/* user_app/styles/dashboard_responsive_900.css */
@container dashboard-content (max-width: 1000px) {
  .dashboard-overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@container dashboard-content (max-width: 680px) {
  .dashboard-overview-grid, .dashboard-loading__skeleton { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-metric-card { padding: .9rem; }
  .dashboard-panel { padding: 1rem; }
  .dashboard-root { gap: 1.5rem; }
  .dashboard-bar-row { gap: .65rem; }
}
@container dashboard-content (max-width: 340px) {
  .dashboard-metric-card { min-height: 7.5rem; padding: .75rem; }
  .dashboard-metric-card__hint { font-size: .66rem; }
  .dashboard-panel { padding: .9rem; }
  .dashboard-bar-row { grid-template-columns: minmax(4rem, 1fr) minmax(2rem, 1fr) auto; }
}

/* user_app/styles/shared_drawer_backdrops.css */
.basket-backdrop,
.admin-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 55;
  background: rgba(24, 24, 27, 0.22);
  backdrop-filter: blur(8px) saturate(135%);
}

.basket-backdrop {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--motion-backdrop-slow) ease;
}

.basket-backdrop.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* user_app/styles/paper_import_overlay_shell.css */

.admin-drawer-backdrop {
  z-index: 70;
  background: rgba(245, 245, 247, 0.34);
  backdrop-filter: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 620ms var(--motion-apple);
}

.admin-drawer-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.paper-import-backdrop {
  position: fixed;
  inset: 0;
  z-index: 78;
  background: rgba(0, 0, 0, 0.26);
  backdrop-filter: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--motion-backdrop-slow) ease;
}

.paper-import-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
  animation: paper-import-backdrop-in var(--motion-backdrop-slow) ease both;
}

.paper-import-modal {
  position: fixed;
  inset: 0;
  z-index: 79;
  padding: 1rem;
  pointer-events: none;
}

.paper-import-shell {
  display: flex;
  height: calc(100vh - 2rem);
  flex-direction: column;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
  transform: translate3d(0, 18px, 0) scale(0.94);
  transform-origin: var(--modal-origin-x) var(--modal-origin-y);
  opacity: 0;
  transition: transform var(--motion-modal-open) var(--motion-apple), opacity 520ms ease;
  pointer-events: auto;
  overflow: hidden;
  will-change: transform, opacity;
}

.paper-import-modal.is-open .paper-import-shell {
  transform: translate3d(0, 0, 0) scale(1);
  opacity: 1;
  animation: paper-import-pop-in var(--motion-modal-open) var(--motion-apple) both;
}

.paper-import-modal.is-closing .paper-import-shell {
  animation: paper-import-pop-out var(--motion-modal-close) var(--motion-apple-close) both;
}


/* user_app/styles/paper_import_shell_layout.css */
.paper-import-shell__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #dfe6ef;
  padding: 1.5rem 1.75rem 1.25rem;
}

.paper-import-shell__eyebrow {
  color: #748398;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.paper-import-shell__title {
  margin: 0.4rem 0 0;
  color: #34445c;
  font-size: 1.9rem;
  line-height: 1;
  letter-spacing: -0.05em;
}

.paper-import-shell__desc {
  margin: 0.6rem 0 0;
  color: #748398;
  font-size: 0.9rem;
  line-height: 1.7;
}

.paper-import-shell__close {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 7px;
  background: #f4f7fb;
  color: #34445c;
}

.paper-import-shell__body {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-columns: 24rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
}

.paper-import-modal.is-open .paper-import-sidebar {
  animation: none;
}

.paper-import-modal.is-open .paper-import-main {
  animation: none;
}

.paper-import-sidebar,
.paper-import-main {
  min-height: 0;
  overflow: auto;
}

.paper-import-main {
  container-type: inline-size;
}

.paper-import-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* user_app/styles/paper_import_creation_form.css */
.paper-import-panel,
.paper-import-empty-state,
.paper-import-item-card {
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: white;
  box-shadow: none;
}

.paper-import-panel,
.paper-import-empty-state {
  padding: 1.15rem;
}

.paper-import-panel__head {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1rem;
}

.paper-import-panel__head span,
.paper-import-preview-pane__label,
.paper-import-inline-meta {
  color: #748398;
  font-size: 0.8125rem;
}

.paper-import-panel__head strong {
  color: #34445c;
  font-size: 1rem;
}

.paper-import-create-grid,
.paper-import-meta-grid,
.paper-import-item-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.paper-import-field,
.paper-import-switch {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.paper-import-field--span-2 {
  grid-column: 1 / -1;
}

.paper-import-field span,
.paper-import-switch span {
  color: #526986;
  font-size: 0.8125rem;
  font-weight: 600;
}

.paper-import-field input,
.paper-import-field select,
.paper-import-field textarea {
  border: 0;
  border-radius: 7px;
  background: #f8fafc;
  padding: 0.85rem 0.95rem;
  color: #34445c;
}

.paper-import-field textarea {
  min-height: 7rem;
  resize: vertical;
}

.paper-import-switch {
  justify-content: center;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.85rem 0.95rem;
}


/* user_app/styles/paper_import_action_controls.css */
.paper-import-create-actions,
.paper-import-workspace__actions,
.paper-import-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.paper-import-workspace__actions .soft-btn,
.paper-import-meta-dialog__foot .soft-btn {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px !important;
  padding: 0.62rem 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: none !important;
}

.paper-import-workspace__actions .soft-btn:not(.soft-btn--dark):not(.paper-import-danger-btn),
.paper-import-meta-dialog__foot .soft-btn:not(.soft-btn--dark) {
  background: #fff !important;
  color: #526783 !important;
}

.paper-import-workspace__actions .soft-btn--dark,
.paper-import-meta-dialog__foot .soft-btn--dark {
  border-color: #cadcf2 !important;
  background: #eef5ff !important;
  color: #285c99 !important;
  box-shadow: none !important;
}

.paper-import-workspace__actions .soft-btn--dark:hover:not(:disabled),
.paper-import-meta-dialog__foot .soft-btn--dark:hover:not(:disabled) {
  background: #e3efff !important;
}

.paper-import-create-actions {
  margin-bottom: 1rem;
}


/* user_app/styles/paper_import_job_list.css */
.paper-import-jobs-list,
.paper-import-items-list {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.paper-import-job {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 0.35rem;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.95rem 1rem;
  text-align: left;
}

.paper-import-job.is-active {
  border-color: rgba(24, 24, 27, 0.08);
  background: #f4f7fb;
}

.paper-import-job strong,
.paper-import-workspace__title,
.paper-import-empty-state__title {
  color: #34445c;
  font-weight: 600;
}

.paper-import-job span,
.paper-import-job em,
.paper-import-empty-state__desc {
  color: #748398;
  font-size: 0.8125rem;
  font-style: normal;
}


/* user_app/styles/paper_import_loading_state.css */
.paper-import-empty-state--loading {
  position: relative;
  overflow: hidden;
}

.paper-import-empty-state--loading::before {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 7px;
  background: transparent;
  pointer-events: none;
}

.paper-import-loading-orb {
  position: relative;
  display: grid;
  width: 4.5rem;
  height: 4.5rem;
  place-items: center;
  border-radius: 10px;
  background: #fff;
  color: #285c99;
  box-shadow: none;
}

.paper-import-loading-orb svg {
  width: 1.35rem;
  height: 1.35rem;
  animation: ui-spin 0.9s linear infinite;
}

.paper-import-loading-ring {
  position: absolute;
  inset: -0.42rem;
  border: 2px solid rgba(40, 92, 153, 0.14);
  border-top-color: #285c99;
  border-radius: 50%;
  animation: ui-spin 1s linear infinite;
}

.paper-import-loading-steps {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.2rem;
}

.paper-import-loading-steps span {
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  padding: 0.38rem 0.72rem;
  color: #748398;
  font-size: 0.75rem;
  font-weight: 600;
}

.paper-import-loading-steps span.is-active {
  border-color: rgba(40, 92, 153, 0.22);
  background: rgba(40, 92, 153, 0.08);
  color: #285c99;
}

.paper-import-loading-note {
  position: relative;
  max-width: 34rem;
  margin-top: 0.95rem;
  color: #748398;
  font-size: 0.78rem;
  line-height: 1.7;
}

/* user_app/styles/paper_import_workspace_summary.css */

.paper-import-workspace {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.paper-import-summary-block,
.paper-import-summary-grid,
.paper-import-diagnostic-grid,
.paper-import-diagnostic-chips {
  display: flex;
}

.paper-import-summary-block {
  flex-direction: column;
  gap: 0.9rem;
}

.paper-import-summary-grid,
.paper-import-diagnostic-grid {
  flex-wrap: wrap;
  gap: 0.9rem;
}

.paper-import-summary-card,
.paper-import-diagnostic-card {
  flex: 1 1 12rem;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.95rem 1rem;
}

.paper-import-summary-card span,
.paper-import-diagnostic-card__eyebrow {
  color: #748398;
  font-size: 0.75rem;
  font-weight: 600;
}

.paper-import-summary-card strong,
.paper-import-diagnostic-card strong {
  display: block;
  margin-top: 0.45rem;
  color: #34445c;
  font-size: 1.15rem;
  font-weight: 600;
}

.paper-import-summary-card em {
  display: block;
  margin-top: 0.45rem;
  color: #748398;
  font-size: 0.8125rem;
  font-style: normal;
  line-height: 1.6;
}

.paper-import-diagnostic-chips {
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.7rem;
}

.paper-import-diagnostic-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  border-radius: 7px;
  background: #f4f7fb;
  padding: 0 0.75rem;
  color: #526986;
  font-size: 0.75rem;
  font-weight: 600;
}


/* user_app/styles/paper_import_workspace_header.css */
.paper-import-workspace__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.paper-import-workspace__title {
  font-size: 1.35rem;
  letter-spacing: -0.04em;
}


/* user_app/styles/paper_import_item_header.css */
.paper-import-item-card {
  padding: 1rem;
}

.paper-import-item-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.paper-import-item-card__head-actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.paper-import-item-card__title-block {
  min-width: min(18rem, 100%);
}

.paper-import-item-card__head-actions.question-admin-actions {
  justify-content: flex-end;
  border-radius: 7px;
  padding: 0.3rem;
}


/* user_app/styles/paper_import_item_header_controls.css */
.paper-import-item-head-btn {
  min-height: 2.35rem;
  padding: 0 0.85rem;
  font-size: 0.78rem;
}
.paper-import-item-head-btn--primary,
.paper-import-item-head-btn.is-basketed {
  border-color: #cadcf2 !important;
  background: #eef5ff !important;
  color: #285c99 !important;
  box-shadow: none !important;
}

.paper-import-item-head-btn--primary:hover:not(:disabled),
.paper-import-item-head-btn.is-basketed:hover:not(:disabled) {
  background: #e3efff !important;
}

.paper-import-item-head-btn .question-admin-chip__icon i {
  width: 1rem;
  height: 1rem;
}

.paper-import-item-head-btn .question-admin-chip__icon i[data-lucide="LoaderCircle"] {
  animation: ui-spin 0.9s linear infinite;
}

.paper-import-item-head-btn:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  transform: none;
  box-shadow: none !important;
}

.paper-import-item-card__collapse {
  border: 1px solid #dce4ee;
  border-radius: 7px;
  background: #fff;
  padding: 0.4rem 0.8rem;
  color: #526986;
  font-size: 0.75rem;
  font-weight: 600;
}

.paper-import-item-card__status {
  border-radius: 7px;
  background: #f4f7fb;
  padding: 0.4rem 0.75rem;
  color: #526986;
  font-size: 0.75rem;
  font-weight: 600;
}

.paper-import-item-card__status.is-imported {
  background: rgba(220, 252, 231, 0.9);
  color: rgb(21 128 61);
}


/* user_app/styles/paper_import_item_layout.css */
.paper-import-item__warnings {
  margin-bottom: 0.9rem;
  border-radius: 10px;
  background: #fffaf0;
  padding: 0.7rem 0.85rem;
  color: rgb(133 77 14);
  font-size: 0.8125rem;
}

.paper-import-item-layout {
  display: grid;
  grid-template-columns: minmax(22.5rem, 0.62fr) minmax(0, 1.85fr);
  gap: 1.25rem;
  align-items: stretch;
}

.paper-import-item-side,
.paper-import-item-main {
  min-width: 0;
}

.paper-import-item-side {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 1.25rem;
}


/* user_app/styles/paper_import_metadata_form.css */
.paper-import-meta-form {
  display: grid;
  gap: 0.9rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.9rem;
}

.paper-import-meta-compact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.paper-import-meta-field,
.paper-import-meta-compact {
  min-width: 0;
}

.paper-import-meta-field > span {
  margin-bottom: 0.4rem !important;
  color: #526986 !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.paper-import-meta-field .paper-import-difficulty-value {
  margin: 0 !important;
  color: #526986 !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
}

.paper-import-meta-field input:not([type="range"]),
.paper-import-meta-field select {
  min-height: 2.65rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  padding: 0.65rem 0.75rem;
  box-shadow: none;
}

.paper-import-meta-field input:not([type="range"]):focus,
.paper-import-meta-field select:focus {
  border-color: #285c99;
  background: #fff;
  box-shadow: none;
}


/* user_app/styles/paper_import_selection_controls.css */
.paper-import-difficulty-range {
  width: 100%;
  height: 2.65rem;
  cursor: pointer;
  accent-color: #5c87bb;
}

.paper-import-selection-toggle {
  display: flex;
  min-height: 2.5rem;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 1px solid #dce4ee;
  border-radius: 7px;
  background: #fff;
  padding: 0.55rem 0.4rem;
  color: #526783;
  font-size: 0.78rem;
  font-weight: 500;
  cursor: pointer;
}

.paper-import-selection-toggle span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.paper-import-selection-toggle input {
  flex: 0 0 auto;
  width: 0.9rem;
  height: 0.9rem;
  accent-color: #5c87bb;
}

.paper-import-selection-toggle.is-selected {
  border-color: #cadcf2;
  background: #f2f7ff;
  color: #285c99;
}

.paper-import-selection-toggle.is-disabled {
  cursor: not-allowed;
  opacity: 0.62;
}


/* user_app/styles/paper_import_action_rows.css */
.paper-import-ai-tools {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: space-between;
}
.paper-import-tool-stack {
  display: contents;
}

/* user_app/styles/paper_import_image_manager.css */

.paper-import-image-manager {
  display: flex;
  min-height: 18.85rem;
  flex-direction: column;
  border: 2px dashed #dfe6ef;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.75rem;
  cursor: default;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.paper-import-image-manager__upload-target {
  display: flex;
  cursor: pointer;
  min-width: 0;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.paper-import-image-manager__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.paper-import-image-manager__top .paper-import-image-manager__upload-target {
  width: 100%;
}

.paper-import-image-manager__hint {
  white-space: normal;
}


/* user_app/styles/paper_import_side_tools.css */
.paper-import-ai-tools {
  display: grid;
  gap: 0.75rem;
  flex: 1;
}

.paper-import-ai-tools .paper-import-ai-controls {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.paper-import-side-action {
  display: inline-flex;
  min-height: 2.5rem;
  min-width: 0;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border: 1px solid #dce4ee;
  border-radius: 7px;
  background: #fff;
  color: #526783;
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.55rem 0.4rem;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.paper-import-side-action span:not(.paper-import-side-action__icon) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.paper-import-side-action:hover:not(:disabled),
.paper-import-side-action.is-active {
  border-color: #c4d5e9;
  background: #f5f9ff;
  transform: none;
}

.paper-import-side-action--primary,
.paper-import-side-action.is-basketed {
  border-color: #cadcf2;
  background: #eef5ff;
  color: #285c99;
}

.paper-import-side-action--primary:hover:not(:disabled),
.paper-import-side-action.is-basketed:hover:not(:disabled) {
  border-color: #aac7e8;
  background: #e3efff;
}

.paper-import-side-action--danger {
  border-color: rgba(254, 202, 202, 0.92);
  background: rgba(254, 242, 242, 0.96);
  color: var(--apple-danger);
}

.paper-import-side-action--danger:hover:not(:disabled) {
  border-color: rgba(252, 165, 165, 0.96);
  background: rgba(254, 226, 226, 0.98);
}

.paper-import-side-action:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.paper-import-side-action i,
.paper-import-side-action svg {
  width: 0.95rem;
  height: 0.95rem;
}

.paper-import-side-action__icon {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
  align-items: center;
  justify-content: center;
}

.paper-import-spinner {
  animation: ui-spin 0.9s linear infinite;
}

/* user_app/styles/paper_import_image_manager_states.css */

.paper-import-image-manager.is-dragging,
.paper-import-image-manager:hover:not(.is-disabled) {
  border-color: #a7bfdc;
  background: #f4f7fb;
}

.paper-import-image-manager__icon {
  display: flex;
  width: 2.1rem;
  height: 2.1rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #edf2f8;
  color: #748398;
}


/* user_app/styles/paper_import_image_layout.css */
.paper-import-image-layout-control {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.25rem;
  margin-top: 0.65rem;
  border-radius: 7px;
  background: #f4f7fb;
  padding: 0.25rem;
}

.paper-import-image-layout-control button {
  min-height: 1.75rem;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #526986;
  font-size: 0.75rem;
  font-weight: 600;
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.paper-import-image-layout-control button.is-active {
  background: #fff;
  color: #34445c;
  box-shadow: none;
}

.paper-import-image-layout-control button:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.paper-import-image-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: 0.55rem;
  height: 11.2rem;
  max-height: 11.2rem;
  overflow: auto;
  margin-top: 0.65rem;
  padding-right: 0.1rem;
}

.paper-import-image-strip--single {
  grid-template-columns: minmax(0, 1fr);
}

.paper-import-image-strip--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* user_app/styles/paper_import_image_thumbnail.css */
.paper-import-image-thumb {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.35rem;
  align-items: stretch;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  padding: 0.38rem;
  min-width: 0;
}

.paper-import-image-thumb__preview {
  display: flex;
  width: 100%;
  height: 7rem;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 0;
  border-radius: 10px;
  background: #f4f7fb;
  color: #748398;
  font-size: 0.68rem;
  font-weight: 600;
}

.paper-import-image-thumb__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.question-image-missing {
  display: inline-flex;
  width: 100%;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(254, 242, 242, 0.72);
  color: rgb(153 27 27);
  font-size: 0.72rem;
  font-weight: 600;
}

.paper-import-image-thumb__body {
  min-width: 0;
}

.paper-import-image-thumb__body strong,
.paper-import-image-thumb__body span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.paper-import-image-thumb__body strong {
  color: #34445c;
  font-size: 0.74rem;
  font-weight: 600;
}

.paper-import-image-thumb__body span {
  margin-top: 0.1rem;
  color: #748398;
  font-size: 0.64rem;
  font-weight: 600;
}


/* user_app/styles/paper_import_image_metadata.css */
.question-image-thumb__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 4.3rem;
  gap: 0.35rem;
}

.question-image-thumb__meta label {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}

.question-image-thumb__meta span {
  color: #748398;
  font-size: 0.64rem;
  font-weight: 600;
}

.question-image-thumb__meta input {
  width: 100%;
  min-width: 0;
  height: 1.65rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #f8fafc;
  color: #34445c;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0 0.42rem;
}

.question-image-thumb__meta input:focus {
  outline: 0;
  border-color: rgba(40, 92, 153, 0.55);
  background: white;
  box-shadow: none;
}


/* user_app/styles/paper_import_image_actions.css */
.paper-import-image-thumb__actions {
  grid-column: 1 / -1;
  display: flex;
  gap: 0.25rem;
}

.paper-import-image-thumb__btn {
  display: inline-flex;
  flex: 1 1 0;
  min-width: 0;
  height: 1.3rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 7px;
  background: #f4f7fb;
  color: #526986;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease;
}

.paper-import-image-thumb__btn--placement,
.question-image-thumb__placement {
  flex: 1.8 0 2.55rem;
  background: rgba(40, 92, 153, 0.1);
  color: #285c99;
  font-size: 0.68rem;
}


/* user_app/styles/paper_import_image_placeholder.css */
.paper-import-image-placeholder {
  position: relative;
  display: flex;
  min-height: 100%;
  width: 100%;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  overflow: hidden;
  border: 1px dashed color-mix(in srgb, #285c99 34%, #cbd5e1);
  border-radius: 10px;
  background: #f4f7fb;
  color: #526986;
  font-size: 0.84rem;
  font-weight: 600;
}

.paper-import-image-placeholder__icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: #fff;
  color: #285c99;
  box-shadow: none;
}

.paper-import-image-placeholder > span:not(.paper-import-image-placeholder__icon) {
  position: relative;
  z-index: 1;
}


/* user_app/styles/paper_import_image_interaction_states.css */
.paper-import-image-thumb__btn:hover:not(:disabled) {
  background: white;
  color: #34445c;
  box-shadow: none;
}

.paper-import-image-thumb__btn:disabled {
  cursor: not-allowed;
  opacity: 0.34;
}

.paper-import-image-thumb__btn.is-disabled {
  pointer-events: none;
  opacity: 0.34;
}

.paper-import-image-thumb__btn--danger:hover:not(:disabled) {
  background: var(--apple-danger-bg);
  color: var(--apple-danger);
  box-shadow: none;
}

.paper-import-image-manager.is-disabled .paper-import-image-manager__upload-target {
  cursor: not-allowed;
  opacity: 0.62;
}

/* user_app/styles/paper_import_editor.css */
.paper-import-item-main {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  justify-content: space-between;
}

.paper-import-editor-pair {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.625rem;
}

.paper-import-item-columns {
  --paper-import-editor-height: 22rem;
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
  gap: 1rem;
  align-items: start;
}

.paper-import-item-columns--solution {
  --paper-import-editor-height: 19rem;
}

.paper-import-editor-pane {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.625rem;
}

.paper-import-editor-label-row {
  margin-bottom: 0;
}

.paper-import-standardize-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.paper-import-standardize-action {
  min-height: 2rem;
}

.paper-import-editor-textarea {
  resize: none;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  padding: 1rem;
  color: #34445c;
  line-height: 1.7;
}

.paper-import-editor-textarea:focus {
  border-color: #285c99;
  background: #fff;
  box-shadow: none;
}

.paper-import-preview-pane {
  min-width: 0;
  overflow-y: auto;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 1rem;
  color: #34445c;
  box-shadow: none;
}

.paper-import-preview-pane__body {
  min-height: 0;
  color: #34445c;
  font-size: 0.9375rem;
  line-height: 1.78;
}

@container (max-width: 58rem) {
  .paper-import-item-layout,
  .paper-import-item-columns {
    grid-template-columns: minmax(0, 1fr);
  }

  .paper-import-item-side {
    position: static;
    min-height: 0;
  }
}

.paper-import-preview-images {
  display: grid;
  gap: 0.9rem;
  justify-items: center;
  margin-top: 1rem;
  padding-bottom: 0.25rem;
  min-height: 12.4rem;
}

.paper-import-preview-images--single {
  grid-template-columns: minmax(0, 1fr);
}

.paper-import-preview-images--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: stretch;
}

.paper-import-preview-images--two .paper-import-preview-figure,
.paper-import-preview-images--single .paper-import-preview-figure {
  width: 100%;
}

.paper-import-preview-figure {
  display: flex;
  width: min(100%, 30rem);
  min-height: 12rem;
  flex-direction: column;
  gap: 0.45rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.5rem;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.paper-import-preview-figure:hover {
  border-color: rgba(40, 92, 153, 0.32);
  box-shadow: none;
  transform: none;
}

.paper-import-preview-images img {
  display: block;
  width: min(calc(var(--preview-image-width-ratio, 1) * 100%), 100%);
  height: 12rem;
  object-fit: contain;
}

.paper-import-preview-figure > :is(span, button) {
  max-width: 100%;
  overflow: hidden;
  color: #526986;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.paper-import-image-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.paper-import-image-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 7px;
  background: #f4f7fb;
  padding: 0.35rem 0.7rem;
  color: #526986;
  font-size: 0.75rem;
  font-weight: 600;
}

/* user_app/styles/question_edit_modal.css */

.paper-import-open {
  overflow: hidden;
}

.question-edit-modal-open {
  overflow: hidden;
}

.question-edit-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 82;
  background: rgba(35, 48, 66, 0.3);
  backdrop-filter: none;
  opacity: 0;
  transition: opacity var(--motion-backdrop-slow) ease;
}

.question-edit-modal-backdrop.is-open {
  opacity: 1;
}

.question-edit-modal {
  position: fixed;
  inset: 0;
  z-index: 83;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.45rem, 1.1vh, 1rem);
  pointer-events: none;
}

.question-edit-modal__panel {
  display: flex;
  width: min(100%, 102rem);
  height: min(calc(100dvh - 2.5rem), 68rem);
  max-height: 68rem;
  min-height: min(41rem, calc(100dvh - 2.5rem));
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 56px rgba(35, 48, 66, 0.16);
  opacity: 0;
  pointer-events: auto;
  transform: translateY(20px) scale(0.985);
  transform-origin: var(--modal-origin-x) var(--modal-origin-y);
  transition: transform var(--motion-modal-open) var(--motion-apple), opacity 520ms ease;
  backdrop-filter: none;
}

.question-edit-modal.is-open .question-edit-modal__panel {
  animation: modal-scale-in var(--motion-modal-open) var(--motion-apple) both;
}

.question-edit-modal.is-closing .question-edit-modal__panel {
  animation: modal-scale-out var(--motion-modal-close) var(--motion-apple-close) both;
}

.question-edit-modal__header,
.question-edit-modal__footer {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 1rem;
  border-color: #e5eaf0;
  background: #fff;
}

.question-edit-modal__header {
  justify-content: space-between;
  border-bottom: 1px solid #e5eaf0;
  padding: 0.82rem 1.15rem;
}

.question-edit-modal__title {
  margin: 0;
  color: #34445c;
  font-size: 1.05rem;
  font-weight: 650;
  letter-spacing: 0;
}

.question-edit-modal__close {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #f4f7fb;
  color: #758093;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}

.question-edit-modal__close:hover {
  background: #eaf2fc;
  color: #285c99;
}

.question-edit-modal__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  background: #fff;
  padding: 0.72rem;
}

.question-edit-modal__footer {
  justify-content: flex-end;
  border-top: 1px solid #e5eaf0;
  padding: 0.72rem 1.15rem 0.82rem;
}

.question-edit-modal__footer .admin-drawer__primary,
.question-edit-modal__footer .admin-drawer__secondary {
  flex: 0 0 auto;
  min-width: 7rem;
}

/* user_app/styles/question_edit_modal_controls.css */
#questionEditReactRoot .question-edit-modal__footer .soft-btn {
  min-height: 2.25rem;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  padding: 0.45rem 0.85rem;
  background: #fff !important;
  color: #526986 !important;
  font-size: 0.8rem;
  font-weight: 550;
  box-shadow: none !important;
  transform: none !important;
}

#questionEditReactRoot .question-edit-modal__footer .admin-drawer__primary {
  border-color: #285c99 !important;
  background: #285c99 !important;
  color: #fff !important;
}

#questionEditReactRoot .question-edit-modal__footer .soft-btn:hover:not(:disabled) {
  background: #f4f7fb !important;
}

#questionEditReactRoot .question-edit-modal__footer .admin-drawer__primary:hover:not(:disabled) {
  background: #204d84 !important;
}

#questionEditReactRoot :is(.question-edit-modal__close, .question-edit-modal__footer .soft-btn):focus-visible {
  outline: 2px solid #729bcb !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

#questionEditReactRoot .question-edit-modal__footer .soft-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* user_app/styles/question_edit_modal_form.css */
#questionEditReactRoot .question-form-surface {
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) :is(.question-meta-section--sidebar, .question-draft-media-panel) {
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  background: #fff;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-flow label > span,
:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-editor-pair__title {
  color: #526986;
  font-weight: 550;
  letter-spacing: 0;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-flow :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-flow :is(input, select) {
  color: #34445c !important;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-flow :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
  border-color: #729bcb !important;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, 0.12) !important;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-flow :is(input, select, textarea):disabled {
  background: #f4f7fb !important;
  cursor: not-allowed;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-editor-preview {
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .latex-source-editor__highlight {
  border-radius: 7px;
  background: transparent;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__control {
  border-color: #dfe6ef;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__control.is-focused {
  border-color: #729bcb;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, 0.12);
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-flow .question-chapter-multiselect__input,
:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-flow .question-chapter-multiselect__input:focus {
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__pill {
  border-radius: 5px;
  background: #eaf2fc;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__pill > span {
  color: #285c99;
  font-size: 0.78rem;
  font-weight: 500;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__remove {
  border-radius: 4px;
  color: #526986;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__menu {
  border-color: #dfe6ef;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(35, 48, 66, 0.12);
  backdrop-filter: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__option {
  color: #34445c;
  font-size: 0.8rem;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-chapter-multiselect__option:hover {
  background: #eaf2fc;
  color: #285c99;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-action-pill {
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-size: 0.8rem;
  font-weight: 550;
  box-shadow: none;
  transform: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-action-pill:hover:not(:disabled) {
  background: #f4f7fb;
  color: #285c99;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-action-pill--ai {
  border-color: #d5e3f4;
  background: #eaf2fc;
  color: #285c99;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-action-pill--primary {
  border-color: #285c99;
  background: #285c99;
  color: #fff;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-action-pill--primary:hover:not(:disabled) {
  background: #204d84;
  color: #fff;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-action-pill--secondary:hover:not(:disabled) {
  background: #fff1f0;
  color: #b83a32;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-action-pill .question-action-pill__icon {
  color: inherit;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-form-surface button:focus-visible {
  outline: 2px solid #729bcb !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) :is(.question-dropzone, .question-image-manager) {
  border-width: 1px;
  border-radius: 7px;
  transform: none;
}

/* user_app/styles/question_import_workbench_controls.css */
#singleQuestionImportRoot .question-import-button {
  min-height: 2.25rem;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  padding: 0.5rem 0.9rem;
  background: #fff !important;
  color: #526986 !important;
  font-size: 0.8rem;
  font-weight: 550;
  box-shadow: none !important;
  transform: none !important;
}

#singleQuestionImportRoot .question-import-button:hover:not(:disabled) {
  background: #f4f7fb !important;
  color: #285c99 !important;
}

#singleQuestionImportRoot .question-import-button.soft-btn--dark {
  border-color: #285c99 !important;
  background: #285c99 !important;
  color: #fff !important;
}

#singleQuestionImportRoot .question-import-button.soft-btn--dark:hover:not(:disabled) {
  background: #204d84 !important;
}

#singleQuestionImportRoot .question-import-button:focus-visible {
  outline: 2px solid #729bcb !important;
  outline-offset: 2px;
}

#singleQuestionImportRoot .question-import-button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

#singleQuestionImportRoot .question-import-route span {
  overflow-wrap: anywhere;
}

/* user_app/styles/question_import_responsive.css */
@media (max-width: 1023px) {
  #mainScroll.app-main--single-question-workbench {
    overflow-y: auto !important;
    scrollbar-width: thin;
  }

  #mainScroll.app-main--single-question-workbench::-webkit-scrollbar {
    width: 6px;
  }

  .workspace-frame #appContent:has(#singleQuestionImportModule.module-stage--active),
  #singleQuestionImportModule.module-stage--active,
  #singleQuestionImportModule.module-stage--active > #singleQuestionImportRoot {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  #singleQuestionImportRoot .question-import-header {
    flex-wrap: wrap;
  }

  #singleQuestionImportRoot .question-import-header__tools {
    max-width: 100%;
  }

  #singleQuestionImportRoot :is(.question-import-workbench, .question-form-surface, .question-draft-flow, .question-draft-sidebar, .question-draft-main) {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }

  #singleQuestionImportRoot :is(.question-form-surface, .question-draft-media-panel, .question-editor-pair, .question-editor-pair__grid) {
    flex: 0 0 auto;
  }

  #singleQuestionImportRoot .question-draft-media-panel {
    overflow: visible;
  }

  #singleQuestionImportRoot :is(.question-editor-textarea, .question-editor-preview) {
    height: 18rem;
    min-height: 18rem !important;
  }
}

@media (max-width: 479px) {
  #singleQuestionImportRoot .question-meta-compact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #singleQuestionImportRoot .question-form-surface {
    padding: 0.75rem;
  }
}

/* user_app/styles/question_import_media_controls.css */
:is(#questionEditReactRoot, #singleQuestionImportRoot) :is(.question-dropzone, .question-image-manager) {
  border-color: #dfe6ef;
  background: #fff;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) :is(.question-dropzone:hover, .question-dropzone.is-paste-target, .question-image-manager.is-paste-target, .question-dropzone.is-dragging, .question-image-manager.is-dragging) {
  border-color: #729bcb;
  background: #f3f7fd;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-dropzone__icon,
:is(#questionEditReactRoot, #singleQuestionImportRoot) .paper-import-image-placeholder__icon {
  border-radius: 5px;
  background: #eaf2fc;
  color: #285c99;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-image-manager__copy span {
  color: #526986;
  font-weight: 500;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-dropzone__title {
  color: #34445c;
  font-weight: 550;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .paper-import-image-layout-control button {
  border-radius: 5px;
  color: #526986;
  font-weight: 550;
  box-shadow: none;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .paper-import-image-layout-control button.is-active {
  background: #eaf2fc;
  color: #285c99;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .paper-import-image-placeholder > span {
  font-weight: 500;
}

:is(#questionEditReactRoot, #singleQuestionImportRoot) .question-draft-inline-note {
  border: 1px solid #e5eaf0;
  border-radius: 7px;
  background: #f7f9fc;
  color: #526986;
}

/* user_app/styles/paper_import_modal_shell.css */

.paper-import-react-shell {
  position: fixed;
  inset: 0;
  z-index: 78;
  pointer-events: none;
}

.paper-import-modal--react {
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.75rem, 2vh, 2rem);
  overflow: hidden;
}

.paper-import-modal--react .paper-import-shell {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: min(100%, 94rem);
  max-width: 94rem;
  height: calc(100dvh - clamp(1.5rem, 4vh, 4rem));
  max-height: 64rem;
  min-height: min(42rem, calc(100dvh - 1.5rem));
  border-radius: 16px;
  overflow: hidden;
  box-shadow: none;
  border: 1px solid #dfe6ef;
  background: #fff;
  backdrop-filter: none;
}

.paper-import-modal--react .paper-import-shell__header {
  flex: 0 0 auto;
  min-height: 7.25rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  border-bottom: 1px solid #dfe6ef;
  padding: 1.35rem 1.5rem 1.15rem;
  background: #fff;
  position: relative;
  z-index: 2;
}

.paper-import-modal--react .paper-import-shell__body {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  background: #f5f7fa;
}

.paper-import-modal--react .paper-import-sidebar,
.paper-import-modal--react .paper-import-main {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.paper-import-modal--react .paper-import-sidebar {
  border-right: 1px solid #dfe6ef;
}

.paper-import-modal--react .paper-import-main {
  padding-bottom: 2rem;
}


/* user_app/styles/paper_import_dropzone.css */
.paper-import-dropzone {
  height: 10rem;
  min-height: 10rem;
}

.paper-import-dropzone.is-paste-target {
  border-color: color-mix(in srgb, #285c99 46%, #dfe6ef);
  background: color-mix(in srgb, #fff 76%, var(--question-ai-action-bg));
  box-shadow: none;
}

.paper-import-dropzone__pick {
  position: relative;
  display: inline-flex;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
}

.paper-import-dropzone__paste-chip {
  position: absolute;
  z-index: 2;
  top: 0.72rem;
  right: 0.72rem;
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  border: 0;
  border-radius: 7px;
  background: #fff;
  padding: 0.32rem 0.66rem;
  color: #526986;
  font-size: 0.68rem;
  font-weight: 600;
  box-shadow: none;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.paper-import-dropzone.is-paste-target .paper-import-dropzone__paste-chip {
  background: #fff;
  color: #285c99;
}

.paper-import-dropzone__file {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
}

.paper-import-dropzone__filename {
  display: block;
  width: 100%;
  max-width: 17rem;
  color: #526986;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.7;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

.paper-import-dropzone__summary {
  display: block;
  width: 100%;
  max-width: 17rem;
  color: #748398;
  font-size: 0.68rem;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* user_app/styles/paper_import_dropzone_actions.css */
.paper-import-dropzone__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
}

.paper-import-dropzone__action {
  display: inline-flex;
  min-height: 1.85rem;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  padding: 0.35rem 0.75rem;
  color: #34445c;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.paper-import-dropzone__action:hover {
  border-color: #a7bfdc;
  background: #fff;
  color: #34445c;
}

.paper-import-dropzone__action--danger {
  color: var(--apple-danger);
}

.paper-import-dropzone__action--danger:hover {
  border-color: rgba(252, 165, 165, 0.96);
  background: rgba(254, 242, 242, 0.98);
  color: var(--apple-danger);
}

.paper-import-option-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.paper-import-option-row label {
  min-width: 0;
  padding-inline: 0.4rem;
  gap: 0.35rem;
}

.paper-import-option-row span {
  font-size: 0.82rem;
}


/* user_app/styles/paper_import_queue_sections.css */
.paper-import-queue-panel {
  display: grid;
  gap: 0.85rem;
  border-top: 1px solid #dfe6ef;
  padding-top: 0.95rem;
}

.paper-import-queue-panel__intro h3 {
  margin: 0;
  color: #34445c;
  font-size: 0.92rem;
  font-weight: 600;
}

.paper-import-queue-panel__intro p {
  margin: 0.35rem 0 0;
  color: #748398;
  font-size: 0.76rem;
  line-height: 1.55;
}

.paper-import-queue-section {
  display: grid;
  gap: 0.6rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.8rem;
}

.paper-import-queue-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.paper-import-queue-section__header h4 {
  margin: 0;
  color: #34445c;
  font-size: 0.84rem;
  font-weight: 600;
}

.paper-import-queue-section__header p {
  margin: 0.28rem 0 0;
  color: #748398;
  font-size: 0.72rem;
  line-height: 1.5;
}

.paper-import-queue-section__sort {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.9rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  padding: 0.3rem 0.7rem;
  color: #34445c;
  font-size: 0.71rem;
  font-weight: 600;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.paper-import-queue-section__sort:hover {
  border-color: #a7bfdc;
  background: #fff;
  color: #34445c;
}


/* user_app/styles/paper_import_queue_strip.css */
.paper-import-queue-filmstrip {
  display: flex;
  gap: 0.85rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.15rem 0.1rem 0.35rem;
}

.paper-import-queue-empty {
  border: 1px dashed #dfe6ef;
  border-radius: 10px;
  background: #f4f7fb;
  padding: 0.8rem 0.9rem;
  color: #748398;
  font-size: 0.74rem;
  line-height: 1.5;
}


/* user_app/styles/paper_import_queue_cards.css */
.paper-import-queue-card {
  position: relative;
  flex: 0 0 11.5rem;
  width: 11.5rem;
  display: grid;
  gap: 0.55rem;
  padding: 0.7rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #f8fafc;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, opacity 180ms ease;
  cursor: grab;
}

.paper-import-queue-card:hover {
  transform: none;
  border-color: #a7bfdc;
  box-shadow: none;
}

.paper-import-queue-card.is-dragging {
  opacity: 0.68;
  transform: scale(0.985);
  cursor: grabbing;
}

.paper-import-queue-card.is-drop-target {
  border-color: #285c99;
  box-shadow: none;
}

.paper-import-queue-card__remove {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1.7rem;
  height: 1.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: rgb(239 68 68);
  font-size: 0.95rem;
  line-height: 1;
  z-index: 1;
}


/* user_app/styles/paper_import_queue_previews.css */
.paper-import-queue-card__preview {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #f4f7fb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #748398;
  font-size: 0.78rem;
  font-weight: 600;
}

.paper-import-queue-card__badge {
  position: absolute;
  left: 0.55rem;
  bottom: 0.55rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  border-radius: 7px;
  background: #fff;
  padding: 0 0.6rem;
  color: #34445c;
  font-size: 0.72rem;
  font-weight: 600;
  box-shadow: none;
}

.paper-import-queue-card__preview.is-file {
  aspect-ratio: 4 / 3;
}

.paper-import-queue-card__preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* user_app/styles/paper_import_queue_interactions.css */
.paper-import-queue-card__remove:hover:not(:disabled) {
  border-color: #a7bfdc;
  background: #fff;
}


/* user_app/styles/paper_import_scrollbars.css */
.paper-import-main.custom-scrollbar,
.paper-import-sidebar.custom-scrollbar,
.paper-import-preview-pane.custom-scrollbar {
  scrollbar-width: thin;
}


/* user_app/styles/paper_import_review_status.css */
.paper-import-workspace .paper-import-panel {
  background: #fff;
  box-shadow: none;
}

.paper-import-inline-meta--dirty {
  color: rgb(217 119 6);
  font-weight: 600;
}

.paper-import-summary-card,
.paper-import-diagnostic-card,
.paper-import-item-card {
  box-shadow: none;
}

.paper-import-item-card.is-collapsed {
  background: #fff;
}

.paper-import-item-card.is-active {
  border-color: #729bcb;
  box-shadow: none;
}

.paper-import-filter-tab,
.paper-import-question-dot {
  border: 1px solid #dfe6ef;
  background: #fff;
  color: #34445c;
  box-shadow: none;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.paper-import-filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border-radius: 7px;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
}

.paper-import-filter-tab span {
  border-radius: 7px;
  background: #fff;
  padding: 0.1rem 0.45rem;
  font-size: 0.72rem;
}

.paper-import-filter-tab.is-active,
.paper-import-question-dot.is-active {
  border-color: #cadcf2;
  background: #eef5ff;
  color: #285c99;
  box-shadow: none;
}

.paper-import-preflight-card {
  border-radius: 10px;
  border: 1px solid #dfe6ef;
  background: #f8fafc;
  padding: 0.85rem 0.95rem;
}

.paper-import-preflight-card span {
  display: block;
  color: #748398;
  font-size: 0.76rem;
  font-weight: 600;
}

.paper-import-preflight-card strong {
  display: block;
  margin-top: 0.35rem;
  color: #34445c;
  font-size: 1rem;
}

.paper-import-preflight-card.is-warn {
  border-color: rgba(251, 191, 36, 0.65);
  background: rgba(254, 243, 199, 0.52);
}

.paper-import-preflight-source {
  border-radius: 7px;
  background: #f4f7fb;
  color: #748398;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.22rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 600;
}

.paper-import-preflight-source.is-server {
  background: rgba(220, 252, 231, 0.72);
  color: rgb(22 101 52);
}

.paper-import-preflight-source.is-local {
  background: rgba(254, 243, 199, 0.62);
  color: rgb(146 64 14);
}

.paper-import-preflight-source.is-loading {
  color: #526986;
}

.paper-import-question-dot {
  flex: 0 0 auto;
  min-width: 2.35rem;
  height: 2.35rem;
  border-radius: 7px;
  font-size: 0.8rem;
  font-weight: 600;
}

.paper-import-question-dot.has-warning:not(.is-active) {
  border-color: rgba(251, 191, 36, 0.8);
  background: rgba(254, 243, 199, 0.82);
  color: rgb(146 64 14);
}

.paper-import-question-dot.has-risk:not(.is-active) {
  border-color: rgba(251, 191, 36, 0.86);
  background: rgba(254, 243, 199, 0.86);
  color: rgb(146 64 14);
}

.paper-import-question-dot.has-blocking:not(.is-active) {
  border-color: rgba(248, 113, 113, 0.82);
  background: rgba(254, 226, 226, 0.88);
  color: rgb(153 27 27);
}

.paper-import-question-dot.is-imported:not(.is-active) {
  border-color: rgba(134, 239, 172, 0.8);
  background: rgba(220, 252, 231, 0.82);
  color: rgb(21 128 61);
}

.paper-import-shell__body.is-review-mode,
.paper-import-modal--react .paper-import-shell__body.is-review-mode,
.paper-import-page-body.is-review-mode {
  grid-template-columns: minmax(0, 1fr);
}


/* user_app/styles/paper_import_pending.css */
.paper-import-workspace--review {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 1rem;
}

.paper-import-pending-workspace {
  display: grid;
  gap: 1rem;
  min-height: 100%;
  align-content: start;
}

.paper-import-pending-workspace__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 1rem 1.05rem;
}

.paper-import-pending-workspace__eyebrow {
  display: inline-flex;
  color: #748398;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.paper-import-pending-workspace__hero h3 {
  margin: 0.35rem 0 0;
  color: #34445c;
  font-size: 1.16rem;
  font-weight: 600;
}

.paper-import-pending-workspace__hero p {
  margin: 0.45rem 0 0;
  max-width: 42rem;
  color: #526986;
  font-size: 0.84rem;
  line-height: 1.7;
}

.paper-import-pending-workspace__status {
  flex: 0 0 auto;
  display: grid;
  gap: 0.28rem;
  min-width: 11rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #f4f7fb;
  padding: 0.8rem 0.9rem;
}

.paper-import-pending-workspace__status span {
  color: #748398;
  font-size: 0.73rem;
  font-weight: 600;
}

.paper-import-pending-workspace__status strong {
  color: #34445c;
  font-size: 0.88rem;
  font-weight: 600;
}

.paper-import-pending-workspace__empty {
  border: 1px dashed #dfe6ef;
  border-radius: 10px;
  background: #f8fafc;
  padding: 1.2rem 1.1rem;
}

.paper-import-pending-file-card {
  display: grid;
  gap: 0.3rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.95rem 1rem;
}

.paper-import-pending-file-card span {
  color: #748398;
  font-size: 0.74rem;
  font-weight: 600;
}

.paper-import-pending-file-card strong {
  color: #34445c;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.paper-import-pending-file-card p {
  margin: 0;
  color: #526986;
  font-size: 0.78rem;
  line-height: 1.6;
}

.paper-import-paper-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.95rem 1rem;
}

.paper-import-paper-bar__meta {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.paper-import-paper-bar__label,
.paper-import-dialog-kicker {
  color: #748398;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.paper-import-paper-chips {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.paper-import-paper-chip {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  border-radius: 7px;
  background: #f4f7fb;
  padding: 0.35rem 0.75rem;
  color: #34445c;
  font-size: 0.82rem;
  font-weight: 600;
}

.paper-import-paper-chip.is-missing {
  background: rgba(254, 243, 199, 0.72);
  color: rgb(146 64 14);
}


/* user_app/styles/paper_import_review_sidebar.css */
.paper-import-review-layout {
  display: grid;
  min-height: 0;
  grid-template-columns: 18.5rem minmax(0, 1fr);
  gap: 1rem;
}

.paper-import-review-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  max-height: calc(100dvh - 13rem);
  min-height: 26rem;
  flex-direction: column;
  gap: 0.85rem;
  overflow-y: auto;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 0.85rem;
}

.paper-import-modal--react .paper-import-review-sidebar {
  max-height: calc(100dvh - 15rem);
}

.paper-import-review-sidebar__section {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.paper-import-review-sidebar__section--grow {
  min-height: 0;
  flex: 1 1 auto;
}

.paper-import-review-sidebar__head,
.paper-import-review-filter,
.paper-import-check-row,
.paper-import-settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.paper-import-review-sidebar__head span,
.paper-import-review-filter span,
.paper-import-check-row span,
.paper-import-settings-row span {
  color: #748398;
  font-size: 0.76rem;
  font-weight: 600;
}

.paper-import-review-sidebar__head strong,
.paper-import-review-filter strong,
.paper-import-check-row strong,
.paper-import-settings-row strong {
  color: #34445c;
  font-size: 0.82rem;
  font-weight: 600;
}

.paper-import-review-filter-list,
.paper-import-check-list {
  display: grid;
  gap: 0.45rem;
}

.paper-import-review-filter,
.paper-import-check-row {
  min-height: 2.35rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  padding: 0.45rem 0.65rem;
}

.paper-import-review-filter {
  width: 100%;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.paper-import-review-filter.is-active {
  border-color: #cadcf2;
  background: #eef5ff;
}

.paper-import-check-row.is-warn {
  border-color: rgba(251, 191, 36, 0.64);
  background: rgba(254, 243, 199, 0.5);
}

.paper-import-check-row.is-block {
  border-color: rgba(248, 113, 113, 0.68);
  background: rgba(254, 226, 226, 0.62);
}

.paper-import-check-row.is-block strong {
  color: rgb(153 27 27);
}

.paper-import-preflight-mini-list {
  display: grid;
  gap: 0.38rem;
  border-radius: 10px;
  padding: 0.68rem 0.75rem;
  font-size: 0.78rem;
  line-height: 1.55;
}

.paper-import-preflight-mini-list strong,
.paper-import-preflight-mini-list span {
  color: inherit;
  font-weight: 600;
}

.paper-import-preflight-mini-list button {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
  text-align: left;
}

.paper-import-preflight-mini-list button:hover {
  text-decoration: underline;
  text-underline-offset: 0.18rem;
}

.paper-import-preflight-mini-list.is-blocking {
  border: 1px solid rgba(248, 113, 113, 0.68);
  background: rgba(254, 226, 226, 0.58);
  color: rgb(153 27 27);
}

.paper-import-preflight-mini-list.is-risk {
  border: 1px solid rgba(251, 191, 36, 0.64);
  background: rgba(254, 243, 199, 0.5);
  color: rgb(146 64 14);
}

.paper-import-batch-note,
.paper-import-review-note,
.paper-import-preflight-warning {
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.75rem 0.85rem;
  color: #526986;
  font-size: 0.8rem;
  line-height: 1.65;
}

.paper-import-preflight-warning {
  display: grid;
  gap: 0.25rem;
  border: 1px solid rgba(251, 191, 36, 0.64);
  background: rgba(254, 243, 199, 0.5);
  color: rgb(146 64 14);
}

.paper-import-preflight-warning strong,
.paper-import-preflight-warning span {
  color: inherit;
}

.paper-import-preflight-warning.is-blocking {
  border-color: rgba(248, 113, 113, 0.68);
  background: rgba(254, 226, 226, 0.62);
  color: rgb(153 27 27);
}

.paper-import-preflight-warning.is-risk {
  border-color: rgba(251, 191, 36, 0.64);
  background: rgba(254, 243, 199, 0.5);
  color: rgb(146 64 14);
}

.paper-import-preflight-warning.is-local {
  border-color: #dfe6ef;
  background: #f8fafc;
  color: #526986;
}

.paper-import-question-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(2.35rem, 1fr));
  gap: 0.45rem;
}

.paper-import-question-grid .paper-import-question-dot {
  width: 100%;
  min-width: 0;
}

.paper-import-settings-link {
  border: 1px solid #dfe6ef;
  background: #fff;
  color: #285c99;
  font-size: 0.82rem;
  font-weight: 500;
  min-height: 2.4rem;
  border-radius: 7px;
  padding: 0.55rem 0.7rem;
  text-align: center;
}

.paper-import-danger-btn {
  border: 1px solid rgba(254, 202, 202, 0.95) !important;
  background: rgba(254, 242, 242, 0.9) !important;
  color: rgb(220 38 38) !important;
}


/* user_app/styles/paper_import_floating_layer.css */
.paper-import-floating-layer {
  position: fixed;
  inset: 0;
  z-index: 88;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.paper-import-floating-layer--inside-modal {
  position: absolute;
  border-radius: inherit;
  overflow: hidden;
}

.paper-import-floating-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 24, 27, 0.34);
  backdrop-filter: none;
}


/* user_app/styles/paper_import_review_dialogs.css */
.paper-import-meta-dialog,
.paper-import-settings-dialog {
  position: relative;
  width: min(100%, 34rem);
  max-height: min(90dvh, 42rem);
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
}

.paper-import-meta-dialog__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #dfe6ef;
  padding: 1.1rem 1.15rem 0.95rem;
}

.paper-import-meta-dialog__head h3 {
  margin: 0.25rem 0 0;
  color: #34445c;
  font-size: 1.1rem;
  font-weight: 600;
}

.paper-import-meta-dialog__head p {
  margin: 0.35rem 0 0;
  color: #748398;
  font-size: 0.86rem;
  line-height: 1.55;
}

.paper-import-icon-btn {
  display: inline-flex;
  width: 2.4rem;
  height: 2.4rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: white;
  color: #526986;
}

.paper-import-meta-dialog__body,
.paper-import-settings-list {
  max-height: calc(min(90dvh, 42rem) - 9rem);
  overflow-y: auto;
  padding: 1rem 1.15rem;
}

.paper-import-meta-dialog__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.paper-import-meta-dialog__notice {
  margin-bottom: 0.85rem;
  border-radius: 10px;
  background: rgba(254, 243, 199, 0.68);
  padding: 0.75rem 0.85rem;
  color: rgb(146 64 14);
  font-size: 0.84rem;
  font-weight: 600;
}

.paper-import-meta-dialog__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.65rem;
  border-top: 1px solid #dfe6ef;
  padding: 0.95rem 1.15rem;
}


/* user_app/styles/paper_import_settings_list.css */
.paper-import-settings-list {
  display: grid;
  gap: 0.5rem;
}

.paper-import-settings-row {
  align-items: flex-start;
  border-radius: 10px;
  background: #f8fafc;
  padding: 0.7rem 0.8rem;
}

.paper-import-settings-row strong {
  text-align: right;
}


/* user_app/styles/paper_import_media_bundle.css */
/* user_app/styles/paper_import_lightbox_media.css */
.paper-import-image-lightbox img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(100dvh - 10rem);
  object-fit: contain;
  border-radius: 4px;
}


/* user_app/styles/paper_import_image_preview.css */
.paper-import-image-lightbox {
  position: fixed;
  inset: 0;
  width: min(56rem, calc(100vw - 2rem));
  max-width: none;
  max-height: calc(100dvh - 2rem);
  margin: auto;
  padding: 0;
  overflow: hidden;
  color: #354862;
  border: 1px solid #dce5ef;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(38, 57, 82, .16);
}
.paper-import-image-lightbox[open] {
  display: flex;
  flex-direction: column;
}
.paper-import-image-lightbox::backdrop {
  background: rgba(28, 42, 62, .28);
}
.paper-import-image-lightbox__header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 1rem;
  border-bottom: 1px solid #e4ebf3;
  font-size: .875rem;
}
.paper-import-image-lightbox__close {
  width: 2rem;
  height: 2rem;
  border: 1px solid #dce5ef;
  border-radius: 6px;
  background: #fff;
  color: #526783;
  font-size: 1.25rem;
  cursor: pointer;
}
.paper-import-image-lightbox__close:hover {
  background: #f2f6fc;
}
.paper-import-image-lightbox__close:focus-visible {
  outline: 2px solid #82ade3;
  outline-offset: 2px;
}
.paper-import-image-lightbox__body {
  display: flex;
  min-height: 0;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  overflow: auto;
  overscroll-behavior: contain;
  background: #f7f9fc;
}

/* user_app/styles/paper_import_media_resize.css */
.paper-import-preview-pane img {
  cursor: zoom-in;
}

.paper-import-preview-figure > .question-media-resizer {
  flex: none;
}

.paper-import-preview-caption {
  padding: 0.25rem 0.5rem;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.paper-import-preview-caption:focus-visible {
  outline: 2px solid #8ab4ea;
  outline-offset: 2px;
}


/* user_app/styles/paper_import_preview_shell.css */
.paper-import-preview-shell {
  position: fixed;
  inset: 0;
  z-index: 60;
}

.paper-import-preview-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.52);
  backdrop-filter: none;
}

.paper-import-preview-frame {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  pointer-events: none;
}

.paper-import-preview-panel {
  width: min(100%, 92rem);
  height: min(92vh, 58rem);
  display: flex;
  flex-direction: column;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
  pointer-events: auto;
}


/* user_app/styles/paper_import_preview_controls.css */
.paper-import-preview-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid #e5eaf0;
}

.paper-import-preview-panel__title {
  min-width: 0;
  display: grid;
  gap: 0.2rem;
}

.paper-import-preview-panel__title strong {
  color: #34445c;
  font-size: 1rem;
  font-weight: 600;
}

.paper-import-preview-panel__title span {
  color: #34445c;
  font-size: 0.78rem;
  font-weight: 600;
}

.paper-import-preview-panel__body {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 1rem;
}

.paper-import-preview-panel__nav {
  width: 2.7rem;
  height: 2.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #f4f7fb;
  color: #34445c;
  font-size: 1rem;
}

.paper-import-preview-panel__nav:disabled {
  opacity: 0.28;
  cursor: not-allowed;
}


/* user_app/styles/paper_import_preview_gallery.css */
.paper-import-preview-panel__stage {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f4f7fb;
  overflow: hidden;
}

.paper-import-preview-panel__stage img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.paper-import-preview-panel__thumbs {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 1rem 1rem;
}

.paper-import-preview-panel__thumb {
  flex: 0 0 5.8rem;
  width: 5.8rem;
  display: grid;
  gap: 0.35rem;
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #f4f7fb;
  padding: 0.45rem;
  color: #34445c;
  font-size: 0.7rem;
  font-weight: 600;
}

.paper-import-preview-panel__thumb.is-active {
  border-color: #34445c;
  background: #f4f7fb;
  color: #34445c;
}

.paper-import-preview-panel__thumb img {
  width: 100%;
  aspect-ratio: 4 / 5;
  display: block;
  object-fit: cover;
  border-radius: 10px;
  background: #f4f7fb;
}


/* user_app/styles/paper_import_chapter_multiselect.css */
.paper-import-field .question-chapter-multiselect {
  width: 100%;
}

.paper-import-field .question-chapter-multiselect__control {
  min-height: 2.65rem;
  border-radius: 7px;
  border-color: #dfe6ef;
  background: #fff;
}

.paper-import-field .question-chapter-multiselect__menu {
  z-index: 25;
}

/* user_app/styles/admin_drawer.css */

.admin-drawer {
  position: fixed;
  inset: 0;
  z-index: 75;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
}

.admin-drawer__panel {
  display: flex;
  height: 100vh;
  width: min(100vw, 42rem);
  max-width: 42rem;
  flex-direction: column;
  overflow: hidden;
  border-radius: 2rem 0 0 2rem;
  border-left: 0.5px solid color-mix(in srgb, var(--apple-border) 70%, transparent);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: var(--apple-shadow);
  backdrop-filter: blur(22px) saturate(160%);
  opacity: 0;
  transform: translateX(48px) scale(0.985);
  transform-origin: 100% 50%;
  transition: transform var(--motion-drawer-open) var(--motion-apple), opacity 520ms ease;
  pointer-events: auto;
}

.admin-drawer--knowledge .admin-drawer__panel {
  width: min(100vw, 86rem);
  max-width: 86rem;
}

.admin-drawer.is-open .admin-drawer__panel {
  animation: drawer-slide-in var(--motion-drawer-open) var(--motion-apple) both;
}

.admin-drawer.is-closing .admin-drawer__panel {
  animation: drawer-slide-out var(--motion-drawer-close) var(--motion-apple-close) both;
}

.admin-drawer__header {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid rgba(228, 228, 231, 0.72);
  padding: 1.5rem 2rem;
}

.admin-drawer__title {
  margin: 0;
  color: var(--apple-text);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.admin-drawer__hint {
  margin: 0.45rem 0 0;
  color: rgb(113 113 122);
  font-size: 0.875rem;
  line-height: 1.7;
}

.admin-drawer__close {
  display: inline-flex;
  height: 2.75rem;
  width: 2.75rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--apple-control);
  color: var(--apple-text);
  transition: transform 180ms ease, background-color 180ms ease, color 180ms ease;
}

.admin-drawer__close:hover {
  transform: translateY(-1px);
  background: var(--apple-border);
  color: var(--apple-text);
}

.admin-drawer__body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 2rem;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

.admin-drawer__footer {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.75rem;
  border-top: 1px solid rgba(228, 228, 231, 0.72);
  background: white;
  padding: 1rem 2rem 1.25rem;
  border-top: 0.5px solid color-mix(in srgb, var(--apple-border) 70%, transparent);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: none;
  backdrop-filter: blur(18px) saturate(150%);
}

.admin-drawer__primary,
.admin-drawer__secondary {
  min-height: 2.875rem;
  border-radius: 999px;
  padding: 0 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
}

.admin-drawer__primary {
  flex: 1 1 12rem;
}

.admin-drawer__secondary {
  flex: 0 0 auto;
  background: var(--apple-control);
  color: var(--apple-text);
}

.admin-drawer-open {
  overflow: hidden;
}

/* user_app/styles/shared_motion_keyframes.css */

@keyframes drawer-backdrop-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes paper-import-backdrop-in {
  from {
    opacity: 0;
    backdrop-filter: blur(0);
  }
  to {
    opacity: 1;
    backdrop-filter: blur(4px);
  }
}

@keyframes paper-import-pop-in {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0) scale(0.88);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes paper-import-pop-out {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 18px, 0) scale(0.88);
  }
}

@keyframes paper-import-panel-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes modal-scale-in {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.72);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes modal-scale-out {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(12px) scale(0.72);
  }
}

@keyframes auth-modal-scale-in {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.72);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes modal-backdrop-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes drawer-slide-in {
  from {
    opacity: 0;
    transform: translateX(48px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes drawer-slide-out {
  from {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateX(48px) scale(0.985);
  }
}

@keyframes dropdown-enter {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}


/* user_app/styles/basket_modal_shell.css */
.basket-backdrop { background: rgba(35, 48, 66, .3); backdrop-filter: none; }
.basket-drawer {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.45rem, 1.1vh, 1rem);
  transform: scale(0.94);
  transform-origin: var(--modal-origin-x) var(--modal-origin-y);
  opacity: 0;
  pointer-events: none;
  transition: transform var(--motion-modal-open) var(--motion-apple), opacity 520ms ease;
}

.basket-modal__panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: min(100%, 102rem);
  height: min(calc(100dvh - 2.5rem), 68rem);
  max-height: 68rem;
  min-height: min(41rem, calc(100dvh - 2.5rem));
  border-radius: 16px;
  border: 1px solid #dfe6ef;
  background: #fff;
  box-shadow: 0 18px 56px rgba(35, 48, 66, .16);
}

.basket-drawer.is-open {
  transform: scale(1);
  opacity: 1;
  pointer-events: auto;
  animation: basket-drawer-scale-in var(--motion-modal-open) var(--motion-apple) both;
}

.basket-drawer.is-closing {
  animation: basket-drawer-scale-out var(--motion-modal-close) var(--motion-apple-close) both;
}

.basket-drawer__header {
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  border-bottom: 1px solid #e5eaf0;
  background: #fff;
  padding: 0.82rem 1.15rem;
}

.basket-drawer__header > div:first-child {
  min-width: 0;
  flex: 1 1 14rem;
}

.basket-drawer__tools {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  margin-left: auto;
}

.basket-drawer__tools #basketSortRoot {
  min-width: 0;
}

.basket-drawer__tools .sort-menu,
.basket-drawer__tools .sort-menu__trigger {
  max-width: 100%;
}

.basket-drawer__tools .sort-menu__trigger {
  white-space: nowrap;
}

.basket-drawer__title {
  margin: 0;
  color: #34445c;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: 0;
}


/* user_app/styles/shared_toolbar_metadata.css */
.basket-drawer__meta,
.basket-inline-meta,
.knowledge-results-head,
.resource-toolbar > span,
.knowledge-toolbar-intro__desc {
  color: rgb(113 113 122);
  font-size: 0.875rem;
}


/* user_app/styles/basket_modal_controls.css */
.basket-modal__panel .basket-close-btn {
  display: inline-flex;
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-size: 1.35rem;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.basket-modal__panel .basket-close-btn:hover {
  border-color: #c4d5e9;
  background: #f3f7fc;
  color: #285c99;
}


/* user_app/styles/basket_items.css */
.basket-list {
  display: flex;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 0.72rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0.72rem;
}

.basket-modal__body {
  min-height: 0;
  flex: 1 1 auto;
  overflow: hidden;
  background: #f7f9fc;
}

.basket-item {
  align-items: flex-start;
  gap: 0.75rem;
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  background: rgb(255, 255, 255);
  padding: 0.82rem 0.9rem;
  box-shadow: none;
  transition: border-color 160ms ease;
}

.basket-item:hover {
  border-color: #c4d5e9;
}

.basket-item__body {
  flex: 1;
  min-width: 0;
}

.basket-item__meta {
  flex-wrap: wrap;
  gap: 0.5rem;
}

.basket-item__title {
  margin-top: 0.5rem;
}

.basket-item__title .content-block + .content-block {
  margin-top: 0.75rem;
}

.basket-item__tags {
  margin-top: 0.75rem;
}

.basket-item__tags .question-tag-row {
  margin-top: 0;
}

.basket-item__actions {
  flex: 0 0 auto;
  align-self: flex-start;
  min-width: 0;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.38rem;
}

.basket-modal__panel .basket-item__btn {
  min-height: 2.1rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  padding: 0 0.62rem;
  background: #fff !important;
  color: #526986 !important;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  box-shadow: none !important;
  transform: none !important;
}
.basket-modal__panel .basket-item__btn:hover:not(:disabled) { border-color: #c4d5e9; background: #f3f7fc !important; color: #285c99 !important; }
.basket-modal__panel .basket-item__btn--danger { border-color: #f0d9d9; background: #fff !important; color: #aa4a4a !important; }
.basket-modal__panel .basket-item__btn--danger:hover:not(:disabled) { border-color: #e5bcbc; background: #fff5f5 !important; color: #aa4a4a !important; }
.basket-empty-state {
  border-radius: 10px;
  border: 1px dashed #c4d5e9;
  background: #fff;
  padding: 1.5rem;
  text-align: center;
  color: #758093;
}


/* user_app/styles/basket_export.css */
.basket-modal__panel .basket-export-card {
  flex: 0 0 auto;
  border: 0 !important;
  border-top: 1px solid #e5eaf0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 0.72rem 1.15rem 0.82rem;
}

.basket-export-card label {
  display: flex;
  flex-direction: column;
  gap: 0.36rem;
}

.basket-export-card label + label {
  margin-top: 0;
}

.basket-export-card span {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #758093;
}

.basket-export-card input:not([type="checkbox"]),
.basket-export-card select {
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  color: #34445c !important;
  min-height: 2.45rem;
  padding: 0.55rem 0.78rem;
  outline: none;
  font-size: 0.86rem;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.basket-export-card input:not([type="checkbox"]):focus,
.basket-export-card select:focus {
  border-color: #87add7 !important;
  box-shadow: 0 0 0 2px #e7eff9 !important;
}

.basket-switch {
  flex-direction: row !important;
  align-items: center;
}

.basket-export-card .basket-switch--compact {
  min-height: 1.72rem;
  flex: 0 0 auto;
  gap: 0.34rem;
  color: #526986;
  font-size: 0.8rem;
  font-weight: 500;
}

.basket-export-card .basket-switch--compact input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-height: 0;
  flex: 0 0 auto;
  appearance: auto;
  cursor: pointer;
  accent-color: #285c99;
}

.basket-label-options {
  display: flex;
  min-width: 0;
  flex: 0 0 auto;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.38rem 0.7rem;
  border-left: 1px solid #e5eaf0;
  padding-left: 0.9rem;
}

.basket-label-options__title {
  color: #526986 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

.basket-export-card__settings { display: flex; align-items: flex-end; gap: 1rem; overflow-x: auto; padding-bottom: 0.2rem; scrollbar-width: thin; scrollbar-color: #bdcbdc transparent; }
.basket-export-card__grid {
  display: grid; flex: 1 0 36rem;
  grid-template-columns: minmax(15rem, 1.4fr) minmax(10rem, 0.9fr) minmax(9rem, 0.9fr);
  gap: 0.62rem;
}
.basket-export-card__grid > label { min-width: 0; }
.basket-export-card__options {
  display: flex; flex: 0 0 auto; align-items: center;
  min-height: 2.45rem; white-space: nowrap;
  gap: 0.5rem 1rem;
  margin: 0;
}
.basket-export-card__actions {
  align-items: center;
  justify-content: flex-end;
  margin-top: 0.72rem;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.basket-export-card__actions .soft-btn {
  flex: 0 0 auto;
  min-height: 2.35rem;
  padding: 0 1.05rem !important;
  font-size: 0.86rem !important;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff !important;
  color: #526986 !important;
  font-weight: 550;
  box-shadow: none !important;
  transform: none !important;
}
.basket-export-card__actions .soft-btn:hover:not(:disabled) { border-color: #c4d5e9; background: #f3f7fc !important; color: #285c99 !important; }
.basket-export-card__actions .soft-btn--dark { border-color: #285c99; background: #285c99 !important; color: #fff !important; }
.basket-export-card__actions .soft-btn--dark:hover:not(:disabled) { border-color: #204d84; background: #204d84 !important; color: #fff !important; }

.basket-export-card__actions .basket-layout-entry-btn {
  margin-right: auto;
}

.basket-export-status {
  margin-top: 0.62rem;
  border-radius: 7px;
  padding: 0.58rem 0.72rem;
  font-size: 0.8125rem;
  font-weight: 550;
  line-height: 1.5;
}

.basket-export-status--loading { background: #edf4fc; color: #285c99; }
.basket-export-status--success { background: #ecfdf5; color: #047857; }
.basket-export-status--error { background: #fef2f2; color: #aa4a4a; }


/* user_app/styles/basket_fab.css */
.basket-fab {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 50;
  display: inline-flex;
  min-height: 2.85rem;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid #dce4ee;
  border-radius: 10px;
  background: #fff;
  padding: 0 0.85rem;
  color: #285c99;
  box-shadow: 0 4px 16px rgba(35, 48, 66, 0.08);
  transition: background-color 140ms ease, border-color 140ms ease;
}
.basket-fab:hover { border-color: #adc5e1; background: #f3f7fc; }
.basket-fab:focus-visible { outline: 2px solid #729bcb; outline-offset: 3px; }
.basket-fab__icon { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; stroke-width: 1.8; }
.basket-fab__label { font-size: 0.82rem; font-weight: 600; white-space: nowrap; }

.basket-count-badge {
  display: inline-flex;
  flex: 0 0 auto;
  min-width: 1.35rem;
  height: 1.35rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.3rem;
  border-radius: 5px;
  background: #285c99;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.basket-fab--pop { animation: basket-pop 320ms ease; }

/* user_app/styles/document_layout_bundle.css */
/* user_app/styles/document_layout_workbench_shell.css */
.document-layout-workbench {
  --document-layout-draft-width: var(--document-layout-paper-width);
  display: flex; flex-direction: column; height: max(42rem, calc(100dvh - 3rem));
  min-width: 0; overflow: hidden; border: 1px solid #e5eaf0; border-radius: 14px;
  background: #fff; color: #34445c;
}
.document-layout-topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex: 0 0 auto; padding: 1.2rem 1.3rem;
}
.document-layout-topbar h2 { margin: 0; color: #243247; font-size: 1.25rem; font-weight: 650; }
.document-layout-topbar p { margin: .35rem 0 0; color: #758093; font-size: .78rem; line-height: 1.5; }
.document-layout-topbar__actions {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem;
}
.document-layout-topbar__actions :is(button, select) {
  min-height: 2.15rem; border: 1px solid #dce3ec; border-radius: 7px;
  background: #fff; color: #34445c; padding: 0 .7rem; font: inherit; font-size: .76rem; font-weight: 500; box-shadow: none;
}
.document-layout-topbar__actions select { min-width: 5.3rem; }
.document-layout-settings-actions { display: flex; align-items: center; gap: .4rem; }
.document-layout-topbar__actions :is([data-document-layout-action="undo"], [data-document-layout-action="redo"]) {
  border-color: transparent; color: #758093; padding-inline: .45rem;
}
.document-layout-export-actions { display: flex; gap: .35rem; padding-left: .55rem; margin-left: .15rem; border-left: 1px solid #e5eaf0; }
.document-layout-topbar__actions button[data-document-layout-action="export-document"] {
  background: #285c99; border-color: #285c99; color: #fff;
}
.document-layout-topbar__actions button:disabled { cursor: not-allowed; opacity: .4; }
.document-layout-grid {
  display: grid; grid-template-columns: minmax(calc(13rem + 20pt), calc(15rem + 20pt)) minmax(0, 1fr) minmax(16rem, 18rem);
  flex: 1 1 auto; min-height: 0; align-items: stretch; overflow: hidden; border-top: 1px solid #e5eaf0;
}
.document-layout-statusbar {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end;
  gap: .85rem; min-height: 2rem; padding: .3rem 1rem; border-top: 1px solid #e5eaf0;
  color: #758093; font-size: .7rem;
}
.document-layout-statusbar :is(span, button, strong) { font-weight: 400; }
.document-layout-statusbar strong { color: #34445c; }
.document-layout-statusbar button { border: 1px solid #dce3ec; border-radius: 6px; padding: .2rem .45rem; background: #fff; }
.document-layout-outline, .document-layout-properties, .document-layout-preview-shell { min-width: 0; min-height: 0; }
@media (max-width: 1279px) {
  .document-layout-workbench { height: auto; min-height: calc(100dvh - 3rem); }
  .document-layout-topbar { align-items: flex-start; flex-direction: column; }
  .document-layout-topbar__actions { justify-content: flex-start; }
  .document-layout-grid { grid-template-columns: calc(13.5rem + 20pt) minmax(0, 1fr); overflow: visible; }
  .document-layout-outline { grid-row: span 2; max-height: 64rem; }
  .document-layout-preview-shell { min-height: 32rem; max-height: 46rem; }
  .document-layout-properties { grid-column: 2; max-height: 28rem; border-top: 1px solid #e5eaf0; }
}
@media (max-width: 760px) {
  .document-layout-topbar { padding: 1rem; }
  .document-layout-topbar__actions { gap: .35rem; }
  .document-layout-export-actions { padding-left: 0; margin-left: 0; border-left: 0; }
  .document-layout-grid { grid-template-columns: minmax(0, 1fr); }
  .document-layout-outline { grid-row: auto; max-height: 20rem; border-right: 0; }
  .document-layout-properties { grid-column: 1; max-height: none; border-left: 0; }
  .document-layout-preview-shell { min-height: 26rem; max-height: 42rem; border-top: 1px solid #e5eaf0; }
  .document-layout-statusbar { gap: .55rem; }
}

/* user_app/styles/document_layout_export_options.css */
.document-layout-export-options {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  padding: .55rem 0 0;
  color: #59677c;
  font-size: .75rem;
}
.document-layout-export-options .document-layout-check {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0;
  cursor: pointer;
  line-height: 1.5;
  white-space: nowrap;
}
.document-layout-export-options .document-layout-check:hover { color: #285c99; }
.document-layout-export-options .document-layout-check span { color: inherit; font: inherit; }
.document-layout-export-options .document-layout-check input {
  flex: 0 0 auto;
  width: .9rem;
  height: .9rem;
  margin: 0;
  accent-color: #285c99;
  cursor: pointer;
}
.document-layout-export-options .document-layout-check input:focus-visible {
  outline: 2px solid #285c99;
  outline-offset: 3px;
}
.document-layout-export-options__answers { color: #34445c; font-weight: 550; }
.document-layout-export-options__labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem .85rem;
  min-width: 0;
  padding-left: 1rem;
  border-left: 1px solid #dfe6ef;
}
.document-layout-export-options__title { color: #34445c; font-weight: 550; }
.document-layout-export-options__checks { display: flex; flex-wrap: wrap; gap: .5rem .85rem; }
.document-layout-export-options__hint { margin-left: auto; color: #8995a6; font-size: .7rem; }
.document-layout-settings-modal__body .document-layout-export-options .document-layout-check { margin: 0; }
@media (max-width: 760px) {
  .document-layout-export-options__labels { flex-basis: 100%; padding-left: 0; border-left: 0; }
  .document-layout-export-options__hint { margin-left: 0; }
}

/* user_app/styles/document_layout_sidebar_panels.css */
.document-layout-outline,
.document-layout-properties {
  height: 100%;
  overflow-y: auto;
  background: #fff;
  scrollbar-width: thin;
  scrollbar-color: #c9d2df transparent;
}
.document-layout-outline { border-right: 1px solid #e5eaf0; }
.document-layout-properties { border-left: 1px solid #e5eaf0; }
.document-layout-section-head { display: flex; align-items: center; justify-content: space-between; gap: .65rem; padding: .8rem .9rem .4rem; }
.document-layout-section-head strong,
.document-layout-panel__title { color: #34445c; font-size: .81rem; font-weight: 600; }
.document-layout-section-head span { color: #758093; font-size: .7rem; font-weight: 400; }
.document-layout-statusbar button { cursor: pointer; font-family: inherit; }
.document-layout-draft-panel,
.document-layout-candidate-panel { border-bottom: 1px solid #e5eaf0; padding: .85rem .75rem; }
.document-layout-draft-panel__title { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: 0 .12rem .5rem; }
.document-layout-draft-panel__title strong { color: #34445c; font-size: .81rem; font-weight: 600; }
.document-layout-draft-panel__title span { color: #758093; font-size: .7rem; }
.document-layout-candidate-empty-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; margin-top: .6rem; }
.document-layout-candidate-empty-actions button {
  min-height: 1.9rem; border: 1px solid #dce4ef; border-radius: 7px; background: #fff;
  box-shadow: none; color: #34445c; font-size: .72rem; font-weight: 500;
}

/* user_app/styles/document_layout_catalog_lists.css */
.document-layout-draft-list,
.document-layout-candidate-list {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.document-layout-draft-list { margin-top: .15rem; }

/* user_app/styles/document_layout_candidate_filters.css */
.document-layout-candidate-search { display: flex; flex-direction: column; gap: .3rem; margin: .1rem 0 .5rem; }
.document-layout-candidate-search span { display: none; }
.document-layout-candidate-search input {
  width: 100%; min-height: 2.05rem; border: 1px solid #dce4ef; border-radius: 7px;
  background: #f9fafc !important; color: #34445c; font-size: .76rem; outline: none; padding: .4rem .6rem; box-shadow: none !important;
}
.document-layout-candidate-search input::placeholder { color: #8993a2; }
.document-layout-candidate-search input:focus { border-color: #93b5dd; box-shadow: 0 0 0 2px #edf4fc; }
.document-layout-candidate-tabs {
  display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; margin: 0 0 .45rem;
  border: 0; border-radius: 0; background: transparent; padding: 0;
}
.document-layout-candidate-tabs button {
  min-width: 0; min-height: 2rem; border: 1px solid transparent; border-radius: 6px; padding: .35rem .6rem;
  background: transparent; color: #758093; font-size: .73rem; font-weight: 550;
}
.document-layout-candidate-tabs button.is-active { background: #eaf2fc; color: #285c99; box-shadow: none; }

/* user_app/styles/document_layout_candidate_bulk_actions.css */
.document-layout-candidate-bulk-actions { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 .55rem; }
.document-layout-candidate-bulk-actions--single { justify-content: flex-start; }
.document-layout-candidate-bulk-actions button {
  min-height: 1.85rem; border: 1px solid transparent; border-radius: 6px; background: transparent; padding: .3rem .5rem;
  box-shadow: none; color: #285c99; font-size: .72rem; font-weight: 500;
}
.document-layout-candidate-bulk-actions button:disabled { cursor: not-allowed; box-shadow: none; background: transparent; color: #98a1ae; }

/* user_app/styles/document_layout_candidate_items.css */
.document-layout-candidate-item {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; align-items: center;
  border: 0; border-bottom: 1px solid #edf1f6; border-radius: 0; background: transparent; padding: .65rem .35rem;
}
.document-layout-candidate-item.is-inserted { background: transparent; }
.document-layout-candidate-item__main { display: flex; min-width: 0; flex-direction: column; gap: .22rem; }
.document-layout-candidate-item__main strong,
.document-layout-candidate-item__main span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-layout-candidate-item__main strong { color: #34445c; font-size: .76rem; font-weight: 500; }
.document-layout-candidate-item__main span { color: #758093; font-size: .68rem; }
.document-layout-candidate-item button {
  min-height: 1.8rem; border: 1px solid #dce4ef; border-radius: 7px; background: #f3f7fc;
  box-shadow: none; color: #285c99; font-size: .71rem; font-weight: 500; padding: 0 .5rem;
}
.document-layout-candidate-item button:disabled { border-color: transparent; background: transparent; box-shadow: none; color: #758093; cursor: not-allowed; }

/* user_app/styles/document_layout_draft_template_items.css */
.document-layout-draft-item {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: .35rem;
  border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; padding: .45rem;
}
.document-layout-draft-item { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.document-layout-draft-item.is-active { border-color: #c7dbf3; background: #eef5ff; box-shadow: none; }
.document-layout-draft-item button { min-width: 0; border: 0; background: transparent; text-align: left; }
.document-layout-draft-item > button:first-child { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; }
.document-layout-draft-item strong,
.document-layout-draft-item span { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-layout-draft-item strong { color: #34445c; font-size: .76rem; font-weight: 500; }
.document-layout-draft-item span { color: #758093; font-size: .68rem; }

/* user_app/styles/document_layout_template_actions.css */
.document-layout-draft-item__delete {
  align-self: center; border-radius: 7px; font-size: .7rem; font-weight: 500; min-height: 1.8rem;
  padding: .2rem .4rem; text-align: center !important; transition: background-color 140ms ease, color 140ms ease;
  color: #758093;
}
.document-layout-draft-item .document-layout-draft-item__delete:hover { background: #fdf1f1; color: #ae4242; }

/* user_app/styles/document_layout_outline.css */
.document-layout-outline-list {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  padding: .3rem .75rem .85rem;
}
.document-layout-outline-item {
  position: relative;
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: 0.46rem;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  padding: .5rem .35rem;
  text-align: left;
  transition: border-color 140ms ease, background-color 140ms ease;
}
.document-layout-outline-item[draggable="true"] {
  cursor: grab;
}
.document-layout-outline-item.is-dragging,
.document-layout-drag-handle.is-dragging {
  opacity: 0.48;
}
.document-layout-outline-item.is-drag-over::before,
.document-layout-question.is-drag-over::before {
  content: "";
  position: absolute;
  left: 0.4rem;
  right: 0.4rem;
  top: -0.42rem;
  z-index: 4;
  height: 2px;
  border-radius: 999px;
  background: rgb(0 102 204);
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.12);
}
.document-layout-outline-item.is-drag-over-after::before,
.document-layout-question.is-drag-over-after::before {
  top: auto;
  bottom: -0.42rem;
}
.document-layout-outline-item:hover {
  background: #f6f8fb;
}
.document-layout-outline-item.is-active {
  background: #eaf2fc;
  box-shadow: none;
}
.document-layout-outline-item.is-batch-selected,
.document-layout-question.is-batch-selected {
  border-color: rgba(22, 163, 74, 0.38);
  background: rgba(240, 253, 244, 0.42);
}
.document-layout-block-selection-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.38rem;
  margin-left: auto;
}
.document-layout-block-selection-actions button {
  min-height: 1.74rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 7px;
  background: white;
  color: #34445c;
  cursor: pointer;
  padding: 0 0.62rem;
  font-size: 0.72rem;
  font-weight: 500;
}
.document-layout-block-selection-actions button:hover:not(:disabled) {
  border-color: rgba(22, 163, 74, 0.38);
  color: rgb(22 101 52);
}
.document-layout-block-selection-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.46;
}
.document-layout-block-check {
  position: relative;
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  align-items: center;
  justify-content: center;
  align-self: start;
  margin-top: 0.15rem;
  cursor: pointer;
}
.document-layout-question > .document-layout-block-check {
  position: absolute;
  top: 0.32rem;
  right: 0.36rem;
  z-index: 4;
  margin-top: 0;
}
.document-layout-block-check input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.document-layout-block-check span {
  width: 0.95rem;
  height: 0.95rem;
  border: 1.5px solid rgba(161, 161, 170, 0.9);
  border-radius: 0.28rem;
  background: white;
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}
.document-layout-block-check input:checked + span {
  border-color: rgb(22 163 74);
  background: rgb(22 163 74);
  box-shadow: inset 0 0 0 2px white;
}
.document-layout-block-check:focus-within span {
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.16);
}
.document-layout-outline-item--heading .document-layout-outline-index {
  color: #52627a;
}
.document-layout-outline-item--formula .document-layout-outline-index {
  color: rgb(22 101 52);
}
.document-layout-outline-item--knowledge .document-layout-outline-index {
  color: rgb(113 63 18);
}
.document-layout-outline-index {
  display: inline-flex;
  width: 1.35rem;
  height: 1.35rem;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  background: transparent;
  color: #8995a6;
  font-size: 0.72rem;
  font-weight: 500;
}
.document-layout-outline-main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.08rem;
}
.document-layout-outline-main strong,
.document-layout-outline-main span,
.document-layout-outline-main em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-layout-outline-main strong {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 0.42rem;
  color: #34445c;
  font-size: 0.76rem;
  font-weight: 500;
  font-style: normal;
}
.document-layout-outline-main strong b,
.document-layout-outline-main strong small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-layout-outline-main strong b {
  flex: 0 0 auto;
}
.document-layout-outline-main strong small {
  flex: 1 1 auto;
  color: #758093;
  font-size: 0.68rem;
  font-weight: 400;
}
.document-layout-outline-main span,
.document-layout-outline-main em,
.document-layout-empty-note {
  color: #758093;
  font-size: .72rem;
  line-height: 1.55;
  font-style: normal;
}

/* user_app/styles/document_layout_preview_toolbar.css */
.document-layout-preview-shell {
  height: 100%; overflow: auto; background: #f3f5f8; padding: .85rem .85rem 1.5rem;
  overscroll-behavior: contain;
}
.document-layout-preview-shell--compare { display: flex; min-height: 0; flex-direction: column; overflow: hidden; }
.document-layout-preview-toolbar {
  position: sticky; top: -.85rem; z-index: 5; display: flex; flex-wrap: wrap;
  align-items: center; justify-content: space-between; gap: .7rem;
  width: var(--document-layout-draft-width); flex-shrink: 0; box-sizing: border-box; margin: 0 auto .8rem;
  border: 1px solid #e5eaf0; border-radius: 9px; background: #fff; padding: .65rem .75rem;
}
.document-layout-preview-toolbar__actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: .45rem; margin-left: auto; }
.document-layout-preview-toolbar__actions > span { flex-basis: 100%; color: #758093; font-size: .7rem; }
.document-layout-preview-shell--compare .document-layout-preview-toolbar { width: 100%; }
.document-layout-template-note { display: flex; min-width: 0; flex: 1 1 10rem; flex-direction: column; gap: .15rem; }
.document-layout-template-note strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #34445c; font-size: .8rem; font-weight: 600; }
.document-layout-template-note span { color: #758093; font-size: .7rem; line-height: 1.45; }
@media (max-width: 760px) {
  .document-layout-preview-shell { padding: .65rem; }
  .document-layout-preview-toolbar { top: -.65rem; padding: .6rem; }
}

/* user_app/styles/document_layout_settings_modal.css */
.document-layout-settings-modal { position: fixed; inset: 0; z-index: 95; display: flex; align-items: center; justify-content: center; padding: 1.25rem; }
.document-layout-settings-modal__backdrop { position: absolute; inset: 0; background: rgb(30 43 61 / 28%); }
.document-layout-settings-modal__panel { position: relative; z-index: 1; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(54rem, calc(100vw - 2.5rem)); max-height: min(52rem, calc(100dvh - 2.5rem)); overflow: hidden; border: 1px solid #e5eaf0; border-radius: 14px; background: #fff; box-shadow: 0 16px 50px rgb(30 43 61 / 12%); }
.document-layout-settings-modal__header, .document-layout-settings-modal__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; }
.document-layout-settings-modal__header { border-bottom: 1px solid #e5eaf0; }
.document-layout-settings-modal__header h3 { margin: 0; color: #243247; font-size: 1rem; font-weight: 600; letter-spacing: 0; }
.document-layout-settings-modal__header p { margin: .3rem 0 0; color: #758093; font-size: .76rem; line-height: 1.6; }
.document-layout-settings-modal__header button { flex: 0 0 auto; width: 2rem; height: 2rem; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; color: #758093; font-size: 1.25rem; line-height: 1; }
.document-layout-settings-modal__header button:hover { background: #f3f6fa; color: #34445c; }
.document-layout-settings-modal__body { min-height: 0; overflow: auto; overscroll-behavior: contain; background: #fff; padding: 0; }
.document-layout-settings-modal__body .document-layout-panel { border-bottom: 1px solid #e5eaf0; background: #fff; padding: 1rem 1.25rem; }
.document-layout-settings-modal__body .document-layout-panel:last-child { border-bottom: 0; }
.document-layout-settings-modal__body .document-layout-panel__title { display: none; }
.document-layout-settings-modal__body .document-layout-settings-section > .document-layout-panel__title { display: block; margin: 0 0 .4rem; color: #34445c; font-size: .82rem; font-weight: 600; }
.document-layout-settings-modal__body .document-layout-field, .document-layout-settings-modal__body .document-layout-check { min-width: 0; gap: .35rem; margin-top: .55rem; }
.document-layout-settings-modal__body .document-layout-field span, .document-layout-settings-modal__body .document-layout-check span, .document-layout-settings-modal__body .document-layout-field-group__title { font-size: .74rem; font-weight: 500; }
.document-layout-settings-modal__body .document-layout-field input, .document-layout-settings-modal__body .document-layout-field select { min-height: 2.25rem; border-radius: 8px; padding: .45rem .65rem; font-size: .82rem; }
.document-layout-settings-modal__body .document-layout-field-grid { gap: .75rem; }
.document-layout-settings-modal__body .document-layout-field-group { margin-top: .7rem; }
.document-layout-settings-modal__body .document-layout-field-group .document-layout-field { margin-top: .4rem; }
.document-layout-settings-modal__body .document-layout-check-row { margin-top: .5rem; }
.document-layout-settings-modal__body .document-layout-check-row .document-layout-check { margin-top: 0; }
.document-layout-settings-modal__footer { justify-content: flex-end; border-top: 1px solid #e5eaf0; background: #fff; }
.document-layout-settings-modal__footer button { min-height: 2.25rem; border: 1px solid #dbe2ea; border-radius: 8px; background: #fff; color: #34445c; padding: 0 1rem; font-size: .8rem; font-weight: 500; }
.document-layout-settings-modal__footer button.is-primary { border-color: #285c99; background: #285c99; color: #fff; }
.document-layout-settings-modal__footer button:hover:not(:disabled) { border-color: #b5cdea; background: #f0f5fb; }
.document-layout-settings-modal__footer button.is-primary:hover:not(:disabled) { border-color: #204e84; background: #204e84; }
.document-layout-settings-modal__footer button:disabled { opacity: .45; }
@media (max-width: 600px) {
  .document-layout-settings-modal { padding: .65rem; }
  .document-layout-settings-modal__panel { width: 100%; max-height: calc(100dvh - 1.3rem); }
  .document-layout-settings-modal__header, .document-layout-settings-modal__footer, .document-layout-settings-modal__body .document-layout-panel { padding: .85rem 1rem; }
  .document-layout-settings-modal__body .document-layout-settings-main-grid, .document-layout-settings-modal__body .document-layout-header-text-grid { grid-template-columns: 1fr; }
}

/* user_app/styles/document_layout_compare.css */
.document-layout-preview-mode {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.22rem;
  border: 1px solid #e5eaf0;
  border-radius: 7px;
  background: #f5f7fa;
  padding: 0.18rem;
}

.document-layout-preview-mode button {
  min-height: 1.75rem;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #758093;
  cursor: pointer;
  padding: 0 0.62rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.document-layout-preview-mode button.is-active {
  background: #fff;
  color: #285c99;
  box-shadow: 0 0 0 1px #dce5f1;
}

.document-layout-preview-mode button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.document-layout-paper-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.35rem;
}

.document-layout-edit-draft {
  display: flex; width: max(100%, var(--document-layout-draft-width));
  justify-content: center;
}

.document-layout-measure-stack {
  position: absolute;
  left: -10000px;
  top: 0;
  width: var(--document-layout-paper-width);
  visibility: hidden;
  pointer-events: none;
}

.document-layout-compare {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
  grid-auto-rows: minmax(0, 1fr); gap: .75rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.document-layout-compare__pane {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
}

.document-layout-compare__pane-head {
  display: flex;
  width: min(100%, var(--document-layout-paper-width));
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 auto 0.7rem;
  color: #758093;
  font-size: 0.76rem;
}

.document-layout-compare__pane-head strong {
  color: #34445c;
  font-size: 0.82rem;
}

.document-layout-compare__scroll {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 0.25rem 1rem;
  scrollbar-gutter: stable;
}

.document-layout-compare__pane--design .document-layout-compare__scroll {
  padding-left: 0.1rem;
}

.document-layout-compare__pane--design .document-layout-compare__pane-head {
  width: min(100%, var(--document-layout-draft-width));
}

/* user_app/styles/document_layout_draft_surface.css */

.document-layout-draft-flow {
  width: var(--document-layout-draft-width); flex-shrink: 0; box-sizing: border-box;
  margin: 0 auto;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: 0.78rem;
  background: white;
  padding: 0.82rem 0.95rem 1rem;
  box-shadow: none;
}

.document-layout-draft-flow .document-layout-page-title {
  margin: 0 0 0.62rem;
  text-align: left;
  font-size: 0.92rem;
}

.document-layout-draft-flow .document-layout-inline-edit--title {
  justify-content: flex-start;
  margin: 0;
  padding-inline: 0;
}

.document-layout-draft-title-anchor {
  position: relative;
  border: 1px solid transparent;
  border-radius: 0.58rem;
  padding: 0.28rem 0.42rem;
  transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.document-layout-draft-title-anchor:hover,
.document-layout-draft-title-anchor.is-active {
  border-color: rgba(0, 102, 204, 0.32);
  background: rgb(248 250 252);
}

.document-layout-draft-title-anchor.is-drag-over::before {
  content: "";
  position: absolute;
  left: 0.4rem;
  right: 0.4rem;
  bottom: -0.34rem;
  z-index: 4;
  height: 2px;
  border-radius: 999px;
  background: rgb(0 102 204);
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.12);
}

.document-layout-draft-flow__note {
  margin: 0 0 0.72rem;
  border-radius: 0.52rem;
  background: rgb(248 250 252);
  color: rgb(100 116 139);
  font-size: 0.72rem;
  line-height: 1.45;
  padding: 0.46rem 0.58rem;
}

/* user_app/styles/document_layout_draft_question_flow.css */
.document-layout-preview-list--draft-flow {
  gap: 0.55rem;
}

.document-layout-preview-list--draft-flow.document-layout-preview-list--zero,
.document-layout-preview-list--draft-flow.document-layout-preview-list--auto {
  gap: 0.55rem;
}

.document-layout-preview-list--draft-flow.document-layout-preview-list--auto > .document-layout-question {
  margin-bottom: 0;
}

.document-layout-draft-flow .document-layout-question {
  border-color: rgba(226, 232, 240, 0.9);
  border-radius: 0.58rem;
  background: rgb(255 255 255);
  padding: 0.46rem 2rem 0.46rem 0.55rem;
}

.document-layout-draft-flow .document-layout-question:hover,
.document-layout-draft-flow .document-layout-question.is-active {
  border-color: rgba(0, 102, 204, 0.34);
  background: rgb(248 250 252);
}


/* user_app/styles/document_layout_answer_space.css */
.document-layout-draft-flow .document-layout-question-answer-area {
  position: relative;
  min-height: var(--document-answer-area-height, 0mm) !important;
  height: var(--document-answer-area-height, 0mm);
  margin-top: 0.34rem;
  overflow: hidden;
  border: 0;
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(240, 253, 244, 0.72),
      rgba(240, 253, 244, 0.72) 6px,
      rgba(220, 252, 231, 0.44) 6px,
      rgba(220, 252, 231, 0.44) 12px
    );
}

.document-layout-draft-flow .document-layout-question-answer-area--page-end {
  background:
    repeating-linear-gradient(
      -45deg,
      rgba(239, 246, 255, 0.78),
      rgba(239, 246, 255, 0.78) 6px,
      rgba(219, 234, 254, 0.48) 6px,
      rgba(219, 234, 254, 0.48) 12px
    );
}

.document-layout-compiled-pagebreak {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.42rem;
  color: rgb(37 99 235);
  font-size: 0.72rem;
  font-weight: 800;
}

.document-layout-compiled-pagebreak::before,
.document-layout-compiled-pagebreak::after {
  content: "";
  height: 1px;
  flex: 1 1 auto;
  background: repeating-linear-gradient(90deg, rgba(37, 99, 235, 0.62) 0 0.45rem, transparent 0.45rem 0.78rem);
}

.document-layout-compiled-pagebreak span {
  border: 1px solid rgba(147, 197, 253, 0.86);
  border-radius: 999px;
  background: rgba(239, 246, 255, 0.92);
  padding: 0.22rem 0.58rem;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.08);
}


/* user_app/styles/document_layout_answer_toolbar.css */
.document-layout-question-answer-area__toolbar {
  display: none;
}

.document-layout-draft-flow .document-layout-question-answer-area__toolbar {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(34, 197, 94, 0.46);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: rgb(22 101 52);
  padding: 0.22rem 0.32rem 0.22rem 0.52rem;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(10px);
  transform: translate(-50%, -50%);
}

.document-layout-draft-flow .document-layout-question-answer-area__toolbar strong,
.document-layout-draft-flow .document-layout-question-answer-area__toolbar span,
.document-layout-draft-flow .document-layout-question-answer-area__toolbar em {
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1;
}

.document-layout-draft-flow .document-layout-question-answer-area__toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin: 0;
}

.document-layout-draft-flow .document-layout-question-answer-area__toolbar input {
  width: 3.35rem;
  min-height: 1.55rem;
  border: 1px solid rgba(34, 197, 94, 0.58);
  border-radius: 999px;
  background: white;
  color: rgb(21 128 61);
  padding: 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 760;
  outline: none;
}

.document-layout-draft-flow .document-layout-question-answer-area__toolbar input:focus {
  border-color: rgba(22, 163, 74, 0.72);
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.14);
}

.document-layout-draft-flow .document-layout-question-answer-area > span {
  display: none;
}


/* user_app/styles/document_layout_blank_space.css */
.document-layout-draft-flow .document-layout-blank-block {
  position: relative;
}

.document-layout-draft-flow .document-layout-blank-block--after-question {
  margin-top: 0.34rem;
}

.document-layout-blank-block__toolbar {
  display: none;
}

.document-layout-draft-flow .document-layout-blank-block__toolbar {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(147, 197, 253, 0.72);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: rgb(30 64 175);
  padding: 0.22rem 0.32rem 0.22rem 0.52rem;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(10px);
  transform: translate(-50%, -50%);
}

.document-layout-draft-flow .document-layout-blank-block__toolbar strong,
.document-layout-draft-flow .document-layout-blank-block__toolbar span,
.document-layout-draft-flow .document-layout-blank-block__toolbar em {
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1;
}

.document-layout-draft-flow .document-layout-blank-block__toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin: 0;
}

.document-layout-draft-flow .document-layout-blank-block__toolbar input {
  width: 3.35rem;
  min-height: 1.55rem;
  border: 1px solid rgba(147, 197, 253, 0.95);
  border-radius: 999px;
  background: white;
  color: rgb(30 64 175);
  padding: 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 760;
  outline: none;
}

.document-layout-draft-flow .document-layout-blank-block__toolbar input:focus {
  border-color: rgba(37, 99, 235, 0.72);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

.document-layout-draft-flow .document-layout-blank-block__area {
  min-height: var(--document-blank-height, 18mm) !important;
  height: var(--document-blank-height, 18mm);
  overflow: hidden;
  border-style: dashed;
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.34), rgba(255, 255, 255, 0.72));
  padding: 0.34rem 0.5rem;
}

.document-layout-draft-flow .document-layout-blank-block__area::before {
  content: "";
  color: rgb(100 116 139);
  font-size: 0.68rem;
  font-weight: 720;
}


/* user_app/styles/document_layout_page.css */
.document-layout-compare__pane--pdf .document-layout-pdf-preview {
  margin-top: 0;
}

.document-layout-compare__pane--pdf .document-layout-pdf-pages {
  max-height: none;
  overflow: visible;
}

.document-layout-paper-sheet {
  width: min(100%, var(--document-layout-paper-width));
}

.document-layout-paper-label {
  display: flex;
  width: min(100%, var(--document-layout-paper-width));
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  margin: 0 auto 0.36rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgb(113 113 122);
  font-size: 0.72rem;
  font-weight: 760;
  padding: 0;
  box-shadow: none;
}

.document-layout-page {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: var(--document-layout-paper-aspect-ratio);
  margin: 0 auto;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: white;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}

.document-layout-page::before {
  content: "";
  position: absolute;
  inset:
    var(--document-page-padding-top, 4.377%)
    var(--document-page-padding-right, 6.429%)
    var(--document-page-padding-bottom, 4.377%)
    var(--document-page-padding-left, 6.429%);
  z-index: 0;
  border: 1px solid rgba(226, 232, 240, 0.42);
  pointer-events: none;
}

.document-layout-page > * {
  position: relative;
  z-index: 1;
}

.document-layout-page-canvas {
  box-sizing: border-box;
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding:
    var(--document-page-padding-top, 4.377%)
    var(--document-page-padding-right, 6.429%)
    var(--document-page-padding-bottom, 4.377%)
    var(--document-page-padding-left, 6.429%);
}

.document-layout-page--formal_exam {
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}

.document-layout-page-header,
.document-layout-page-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--document-header-gap, 0.5rem);
  color: rgb(82 82 91);
  font-size: var(--document-header-font-size, 0.72rem);
  line-height: var(--document-header-line-height, 1.32);
}

.document-layout-page-header {
  border-bottom: var(--document-header-rule-width, 0.45pt) var(--document-header-rule-style, solid) var(--document-header-rule-color, rgb(212 212 216));
  padding-bottom: var(--document-header-rule-padding, 1.515%);
}

.document-layout-page-header--no-rule {
  border-bottom-color: transparent;
}

.document-layout-page-header > :first-child,
.document-layout-page-footer > :first-child {
  justify-self: stretch;
  justify-content: flex-start;
  min-width: 0;
  text-align: left;
}

.document-layout-page-header > :nth-child(2),
.document-layout-page-footer > :nth-child(2) {
  justify-self: center;
  justify-content: center;
  min-width: 0;
  text-align: center;
}

.document-layout-page-header > :last-child,
.document-layout-page-footer > :last-child {
  justify-self: stretch;
  justify-content: flex-end;
  min-width: 0;
  text-align: right;
}

.document-layout-page-title {
  margin: var(--document-title-margin-top, 1.1%) 0 var(--document-title-margin-bottom, 0.55%);
  text-align: center;
  font-size: var(--document-title-font-size, 1.08rem);
  font-weight: 780;
  line-height: var(--document-title-line-height, 1.25);
  letter-spacing: 0;
}

.document-layout-page-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
}

/* user_app/styles/document_layout_page_watermark.css */
.document-layout-page-watermark {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.document-layout-page-watermark span {
  max-width: 82%;
  color: var(--document-watermark-color, #94a3b8);
  font-family: "FangSong", "STFangsong", serif;
  font-size: var(--document-watermark-font-size, 42pt);
  font-weight: 700;
  line-height: 1;
  opacity: var(--document-watermark-opacity, 0.12);
  text-align: center;
  white-space: nowrap;
  transform: rotate(var(--document-watermark-rotation, -32deg));
  transform-origin: center;
}

/* user_app/styles/document_layout_inline_edit.css */
.document-layout-inline-edit {
  display: inline-flex;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  justify-content: inherit;
  border: 1px solid transparent;
  border-radius: 0.42rem;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  padding: 0.06rem 0.28rem;
  text-align: inherit;
  vertical-align: baseline;
  cursor: text;
  transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

button.document-layout-inline-edit {
  appearance: none;
}

.document-layout-inline-edit:hover {
  border-color: rgba(0, 102, 204, 0.22);
  background: rgba(239, 246, 255, 0.48);
}

.document-layout-inline-edit:focus-visible,
.document-layout-inline-edit.is-editing {
  border-color: rgba(0, 102, 204, 0.42);
  background: white;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.10);
  outline: none;
}

.document-layout-inline-input {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid rgba(0, 102, 204, 0.42);
  border-radius: 0.48rem;
  background: white;
  color: inherit;
  font: inherit;
  line-height: 1.35;
  padding: 0.18rem 0.4rem;
  text-align: inherit;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.10);
}

.document-layout-inline-input--multiline {
  min-height: 4.8rem;
  resize: vertical;
  text-align: left;
  white-space: pre-wrap;
}

.document-layout-inline-edit--title {
  max-width: min(100%, 34rem);
  justify-content: center;
  margin: -0.08rem auto;
  padding: 0.12rem 0.5rem;
}

.document-layout-inline-edit--title.document-layout-inline-input,
.document-layout-inline-edit--title .document-layout-inline-input {
  min-height: 2.2rem;
  text-align: center;
}

.document-layout-inline-edit--header,
.document-layout-inline-edit--footer {
  width: 100%;
  min-height: 1.45rem;
  padding: 0.08rem 0.3rem;
}

.document-layout-inline-edit--header.document-layout-inline-input,
.document-layout-inline-edit--footer.document-layout-inline-input,
.document-layout-inline-edit--header .document-layout-inline-input,
.document-layout-inline-edit--footer .document-layout-inline-input {
  min-height: 1.65rem;
  font-size: 0.82rem;
}


/* user_app/styles/document_layout_question_shell.css */
.document-layout-preview-list {
  display: flex;
  flex-direction: column;
}

.document-layout-preview-list--zero {
  gap: 0;
}

.document-layout-preview-list--auto {
  gap: 0;
}

.document-layout-preview-list--compact {
  gap: 5mm;
}

.document-layout-preview-list--normal {
  gap: 8mm;
}

.document-layout-preview-list--relaxed {
  gap: 12mm;
}

.document-layout-preview-list--custom {
  gap: var(--document-custom-gap, 1.15rem);
}

.document-layout-pagebreak-placeholder {
  border: 1px dashed rgba(148, 163, 184, 0.7);
  border-radius: 0.7rem;
  background: rgba(248, 250, 252, 0.82);
  color: rgb(100 116 139);
  font-size: 0.78rem;
  font-weight: 720;
  padding: 0.6rem 0.72rem;
}

.document-layout-question {
  position: relative;
  border: 1px solid transparent;
  border-radius: 0.18rem;
  padding: 0.08rem 0;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.document-layout-drag-handle {
  position: absolute;
  top: 0.25rem;
  left: -1.15rem;
  z-index: 3;
  width: 0.82rem;
  height: 1.2rem;
  border: 0;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgb(161 161 170) 1.2px, transparent 1.4px) 0 0 / 0.38rem 0.38rem,
    rgba(255, 255, 255, 0.92);
  box-shadow: 0 0 0 1px rgba(212, 212, 216, 0.86);
  cursor: grab;
  opacity: 0;
  transition: opacity 140ms ease, background-color 140ms ease;
}

.document-layout-question:hover > .document-layout-drag-handle,
.document-layout-question.is-active > .document-layout-drag-handle,
.document-layout-drag-handle:focus-visible {
  opacity: 1;
}

.document-layout-drag-handle:active {
  cursor: grabbing;
}

.document-layout-question:hover,
.document-layout-question.is-active {
  border-color: rgba(0, 102, 204, 0.18);
  background: rgba(239, 246, 255, 0.10);
}

.document-layout-context-menu {
  position: fixed;
  left: var(--document-context-x, 0);
  top: var(--document-context-y, 0);
  z-index: 80;
  width: 12.5rem;
  border: 1px solid rgba(212, 212, 216, 0.9);
  border-radius: 0.58rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
  padding: 0.34rem;
}

.document-layout-context-menu__head {
  display: grid;
  gap: 0.08rem;
  padding: 0.34rem 0.44rem 0.42rem;
}

.document-layout-context-menu__head strong {
  overflow: hidden;
  color: rgb(24 24 27);
  font-size: 0.76rem;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-layout-context-menu__head span {
  color: rgb(113 113 122);
  font-size: 0.66rem;
  font-weight: 700;
}

.document-layout-context-menu button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 0.42rem;
  background: transparent;
  color: rgb(39 39 42);
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 720;
  padding: 0.46rem 0.52rem;
  text-align: left;
}

.document-layout-context-menu button:hover:not(:disabled),
.document-layout-context-menu button:focus-visible {
  background: rgb(244 244 245);
  outline: none;
}

.document-layout-context-menu button:disabled {
  cursor: not-allowed;
  color: rgb(161 161 170);
}

.document-layout-context-menu__separator {
  height: 1px;
  margin: 0.26rem 0.22rem;
  background: rgb(228 228 231);
}

.document-layout-context-menu .document-layout-context-menu__danger {
  color: rgb(185 28 28);
}

.document-layout-context-menu .document-layout-context-menu__danger:hover:not(:disabled),
.document-layout-context-menu .document-layout-context-menu__danger:focus-visible {
  background: rgb(254 242 242);
}


/* user_app/styles/document_layout_question_identity.css */
.document-layout-question__body {
  display: block;
}

.document-layout-question__number {
  display: inline;
  color: rgb(24 24 27);
  font-size: var(--document-question-font-size, 0.78rem);
  font-weight: var(--document-question-number-font-weight, 700);
  line-height: var(--document-question-line-height, 1.56);
  margin-right: var(--document-question-number-gap, 0.34rem);
  white-space: nowrap;
}

.document-layout-question__number--prefixed {
  color: var(--document-question-prefix-color, #16a34a);
  font-weight: 800;
}

.document-layout-question__multi {
  margin-right: 0.16rem;
  font-weight: 700;
}

.document-layout-question__meta {
  display: inline-flex;
  max-width: min(100%, 30rem);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.08rem 0.22rem;
  margin-right: 0.28rem;
  color: rgb(82 82 91);
  font-size: 0.66rem;
  font-weight: 500;
  line-height: 1.35;
  white-space: normal;
}

.document-layout-question__meta span {
  display: inline;
}

.document-layout-question__meta span:not(:last-child)::after {
  content: "·";
  margin-left: 0.22rem;
  color: rgb(161 161 170);
}

.document-layout-question__continued {
  display: inline-flex;
  margin-left: 0.18rem;
  border: 1px solid rgba(148, 163, 184, 0.48);
  border-radius: 999px;
  background: rgb(248 250 252);
  color: rgb(82 82 91);
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.35;
  padding: 0.02rem 0.24rem;
}


/* user_app/styles/document_layout_question_body_flow.css */
.document-layout-question__content {
  color: rgb(39 39 42);
  font-size: var(--document-question-font-size, 0.78rem);
  line-height: var(--document-question-line-height, 1.56);
}

.document-layout-question__content > .content-block:first-of-type {
  display: inline;
}

.document-layout-question__content > .content-block:first-of-type > :first-child {
  display: inline;
}

.document-layout-question__content > .content-block:first-of-type .katex-display,
.document-layout-question__content > .content-block:first-of-type .latex-table-wrap,
.document-layout-question__content > .content-block:first-of-type .markdown-table-wrap {
  display: block;
}

.document-layout-question__content > .content-block--tikz:first-of-type,
.document-layout-question__content > .content-block--image:first-of-type,
.document-layout-question__content > .content-block--image-group:first-of-type,
.document-layout-question__content > .options-block:first-of-type,
.document-layout-question__content > .editable-enumerate-block:first-of-type {
  display: block;
}

.document-layout-question-answer-area {
  box-sizing: border-box;
  min-height: var(--document-answer-area-height, 0mm);
  margin-top: 0.12rem;
}

.document-layout-question-answer-area--ruled {
  display: grid;
  align-content: stretch;
  gap: 0;
}

.document-layout-question-answer-area--ruled span {
  border-bottom: 1px solid rgba(113, 113, 122, 0.72);
}

.document-layout-question-answer-area--grid {
  background-image:
    linear-gradient(rgba(161, 161, 170, 0.42) 1px, transparent 1px),
    linear-gradient(90deg, rgba(161, 161, 170, 0.42) 1px, transparent 1px);
  background-size: 7mm 7mm;
}


/* user_app/styles/document_layout_question_typography.css */
.document-layout-page .question-content,
.document-layout-page .question-solution {
  font-size: var(--document-question-font-size, 0.78rem);
  line-height: var(--document-question-line-height, 1.56);
}

.document-layout-page .question-content p,
.document-layout-page .question-content li,
.document-layout-page .question-content .content-block {
  margin-block: var(--document-question-content-gap, var(--document-paragraph-gap, 0.035rem));
}

.document-layout-question__content > .content-block:first-of-type {
  margin-top: 0;
}

.document-layout-page .question-content .content-block:has(.katex-display) {
  padding-block: var(--document-display-math-padding, 0.02rem);
}

.document-layout-page .question-content .katex-display {
  margin: max(var(--document-question-content-gap, 0mm), var(--document-display-math-margin, 0.35em)) 0;
}

.document-layout-page .question-content .katex-display > .katex {
  padding-block: var(--document-display-math-padding, 0.02rem);
}


/* user_app/styles/document_layout_question_tables.css */
.document-layout-page .latex-table-wrap,
.document-layout-page .markdown-table-wrap {
  box-sizing: border-box;
  max-width: 100%;
  margin: var(--document-table-wrap-margin, 0.1rem) 0;
  overflow-x: auto;
}

.document-layout-page .latex-table,
.document-layout-page .markdown-table {
  max-width: 100%;
  min-width: 0;
  font-size: var(--document-table-font-size, 0.74rem);
  line-height: var(--document-table-line-height, 1.34);
}

.document-layout-page .latex-table .latex-math-cell,
.document-layout-page .markdown-table th,
.document-layout-page .markdown-table td {
  min-width: 1.8rem;
  padding: var(--document-table-cell-padding-y, 0.14rem) var(--document-table-cell-padding-x, 0.28rem);
  font-size: var(--document-table-font-size, 0.74rem);
  line-height: var(--document-table-line-height, 1.34);
}

.document-layout-page .latex-table .latex-math-cell {
  white-space: normal;
}

.document-layout-page .latex-table .latex-math-cell:has(.latex-diagbox) {
  min-width: 8.6rem;
  min-height: 3.8rem;
}

.document-layout-page .latex-diagbox {
  min-width: 8.2rem;
  min-height: 3.65rem;
}

.document-layout-page .latex-diagbox__top,
.document-layout-page .latex-diagbox__bottom {
  font-size: 0.62rem;
  line-height: 1.12;
}

.document-layout-page .latex-diagbox__top {
  top: 0.72rem;
  right: 0.38rem;
}

.document-layout-page .latex-diagbox__bottom {
  left: 0.24rem;
  bottom: 0.14rem;
}


/* user_app/styles/document_layout_question_options.css */
.document-layout-page .question-reading-cue,
.document-layout-page .question-search-highlight {
  border-radius: 0;
  background: transparent !important;
  color: inherit !important;
  font-weight: inherit;
  padding: 0;
}

.document-layout-page .options-block {
  margin: var(--document-question-content-gap, var(--document-paragraph-gap, 0.035rem)) 0;
}

.document-layout-page .options-block > p {
  margin: 0;
}

.document-layout-page .options-block ol {
  display: grid;
  grid-template-columns: repeat(var(--option-cols, 4), minmax(0, 1fr));
  gap: var(--document-option-row-gap, 0.14rem) var(--document-option-column-gap, 1rem);
  margin: var(--document-question-content-gap, var(--document-paragraph-gap, 0.035rem)) 0 0;
  padding: 0;
  list-style: none;
}

.document-layout-page .options-block li {
  display: inline-flex;
  min-width: 0;
  align-items: baseline;
  gap: var(--document-option-label-gap, 0.28rem);
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  padding: 0;
}

.document-layout-page .options-block li::before {
  content: none !important;
}

.document-layout-page .options-block li > strong {
  display: inline;
  min-width: auto;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit;
  font-weight: 400;
}

.document-layout-page .options-block li > strong::after {
  content: ".";
}

.document-layout-page .options-block li > span {
  min-width: 0;
  color: inherit !important;
}


/* user_app/styles/document_layout_question_enumeration.css */
.document-layout-page .editable-enumerate-block {
  margin: max(var(--document-question-content-gap, 0mm), 0.12em) 0;
}

.document-layout-page .editable-enumerate-block ol {
  margin: 0;
  padding: 0;
  gap: max(var(--document-question-content-gap, 0mm), 0.08em);
}

.document-layout-page .editable-enumerate-block li {
  gap: var(--document-list-label-gap, 0.32rem);
}

.document-layout-page .editable-enumerate-block__label {
  color: inherit;
  font-weight: 400;
}

.document-layout-page .editable-enumerate-block__body > div {
  margin-block: 0;
}

.document-layout-page .editable-enumerate-block__body .editable-enumerate-block {
  margin-top: max(var(--document-question-content-gap, 0mm), 0.08em);
  margin-bottom: 0;
}


/* user_app/styles/document_layout_question_media.css */
.document-layout-page .question-content img,
.document-layout-page .question-solution img,
.document-layout-page .content-block img {
  margin: var(--document-image-margin, 0.22rem) auto;
  border-radius: 0;
  box-shadow: none;
}


/* user_app/styles/document_layout_media_resize.css */
[data-document-layout-preview] .document-layout-image-block > .question-media-resizer {
  width: var(--document-image-width, 90%);
  margin: 0 auto;
}

[data-document-layout-preview] .content-block--document-layout-question-image > .question-media-resizer {
  width: min(calc(var(--image-width-ratio, 72) * 1%), 100%);
  margin: var(--document-image-margin, 0.22rem) auto;
}

[data-document-layout-preview] .document-layout-image-block--left > .question-media-resizer,
[data-document-layout-preview] .content-block--image-left > .question-media-resizer {
  margin-left: 0;
  margin-right: auto;
}

[data-document-layout-preview] .document-layout-image-block--right > .question-media-resizer,
[data-document-layout-preview] .content-block--image-right > .question-media-resizer {
  margin-left: auto;
  margin-right: 0;
}

[data-document-layout-preview] .question-media-resizer > img {
  height: auto;
}

@media print {
  [data-document-layout-preview] .question-media-resize-handle {
    display: none;
  }
}

/* user_app/styles/document_layout_content_blocks.css */
.document-layout-content-block {
  color: rgb(39 39 42);
}

.document-layout-content-block__inner {
  display: flex;
  flex-direction: column;
  gap: var(--document-content-block-gap, 0.12rem);
  font-size: var(--document-block-font-size, var(--document-block-default-font-size, 0.78rem));
  line-height: var(--document-block-line-height, var(--document-block-default-line-height, 1.56));
  text-align: var(--document-block-align, left);
}

.document-layout-content-block__inner h3 {
  margin: 0;
  color: var(--document-block-color, rgb(24 24 27));
  font-family: var(--document-block-font-family, inherit);
  font-size: var(--document-block-font-size, 0.92rem);
  font-weight: var(--document-block-font-weight, 780);
  line-height: var(--document-block-line-height, 1.42);
  text-align: var(--document-block-align, left);
}

.document-layout-content-block__inner p {
  margin: 0;
}

.document-layout-content-block--heading,
.document-layout-content-block--text,
.document-layout-content-block--paragraph {
  padding-top: var(--document-block-space-before, 0mm);
  padding-bottom: var(--document-block-space-after, 0mm);
}

.document-layout-content-block--heading {
  border-bottom: 1px solid rgba(212, 212, 216, 0.74);
  border-radius: 0.2rem;
}

.document-layout-content-block--text .document-layout-content-block__inner {
  font-size: var(--document-block-font-size, var(--document-block-default-font-size, 0.78rem));
}

.document-layout-content-block--paragraph .document-layout-content-block__inner {
  font-size: var(--document-block-font-size, var(--document-block-default-font-size, 0.78rem));
}

.document-layout-content-block--text .document-layout-block__body,
.document-layout-content-block--paragraph .document-layout-block__body,
.document-layout-content-block--text .document-layout-inline-edit--paragraph,
.document-layout-content-block--paragraph .document-layout-inline-edit--paragraph {
  text-indent: var(--document-block-first-line-indent, 0mm);
}

.document-layout-heading-level-1 {
  font-weight: 820;
}

.document-layout-heading-level-2 {
  font-weight: 780;
}

.document-layout-heading-level-3 {
  font-weight: 740;
}

.document-layout-content-block--pagebreak {
  border-color: rgba(148, 163, 184, 0.42);
  background: rgba(248, 250, 252, 0.68);
  padding-top: 0.48rem;
  padding-bottom: 0.48rem;
}

.document-layout-pagebreak-line {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: rgb(100 116 139);
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0;
}

.document-layout-pagebreak-line::before,
.document-layout-pagebreak-line::after {
  content: "";
  height: 1px;
  flex: 1 1 auto;
  background: repeating-linear-gradient(90deg, rgba(148, 163, 184, 0.72) 0 0.45rem, transparent 0.45rem 0.8rem);
}

.document-layout-pagebreak-delete {
  display: inline-flex;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 163, 184, 0.48);
  border-radius: 999px;
  background: white;
  color: rgb(100 116 139);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 780;
  line-height: 1;
  transition: border-color 140ms ease, color 140ms ease, background-color 140ms ease;
}

.document-layout-pagebreak-delete:hover,
.document-layout-pagebreak-delete:focus-visible {
  border-color: rgba(239, 68, 68, 0.42);
  background: rgb(254 242 242);
  color: rgb(185 28 28);
}

.document-layout-block__title {
  color: rgb(24 24 27);
  font-size: 0.82rem;
  font-weight: 760;
}

.document-layout-block__body {
  color: rgb(63 63 70);
}

.document-layout-formula {
  overflow-x: auto;
  border-radius: 0.2rem;
  background: transparent;
  color: rgb(24 24 27);
  font-size: var(--document-formula-font-size, 0.82rem);
  padding: var(--document-formula-padding, 0.24rem) 0;
  text-align: center;
}

.document-layout-formula code {
  white-space: pre-wrap;
  word-break: break-word;
}

.document-layout-inline-edit--block,
.document-layout-inline-edit--paragraph {
  display: inline;
  width: 100%;
  padding: 0.02rem 0.12rem;
  white-space: pre-wrap;
}

.document-layout-inline-edit--paragraph {
  line-height: var(--document-block-line-height, var(--document-block-default-line-height, 1.56));
}

.document-layout-inline-edit--block-heading,
.document-layout-inline-edit--block-title {
  padding: 0.02rem 0.16rem;
}

.document-layout-inline-edit--cell {
  width: 100%;
  justify-content: center;
  min-height: 1.25rem;
  padding: 0.02rem 0.1rem;
}

.document-layout-inline-edit--caption {
  color: rgb(82 82 91);
  font-size: 0.68rem;
  justify-content: center;
}

/* user_app/styles/document_layout_table_editor.css */
.document-layout-table-editor {
  max-width: 100%;
  overflow-x: auto;
  margin: var(--document-table-wrap-margin, 0.1rem) 0;
}

.document-layout-continuation-note {
  width: fit-content;
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 999px;
  background: rgb(248 250 252);
  color: rgb(82 82 91);
  font-size: 0.62rem;
  font-weight: 720;
  line-height: 1.45;
  padding: 0.04rem 0.36rem;
}

.document-layout-table-editor table {
  width: 100%;
  border-collapse: collapse;
  color: rgb(39 39 42);
  font-size: var(--document-table-font-size, 0.74rem);
  line-height: var(--document-table-line-height, 1.34);
  table-layout: fixed;
}

.document-layout-table-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.62rem;
}

.document-layout-table-target-actions {
  display: flex;
  flex-direction: column;
  gap: 0.46rem;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 0.72rem;
  background: rgb(248 250 252);
  margin-bottom: 0.72rem;
  padding: 0.62rem;
}

.document-layout-table-target-actions .document-layout-table-action-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0;
}

/* user_app/styles/document_layout_table_controls.css */

.document-layout-table-align-control {
  display: grid;
  grid-template-columns: minmax(5.6rem, 0.78fr) minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem;
}

.document-layout-table-align-control > span {
  color: rgb(82 82 91);
  font-size: 0.72rem;
  font-weight: 720;
}

.document-layout-table-align-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(212, 212, 216, 0.92);
  border-radius: 0.58rem;
  background: white;
}

.document-layout-table-align-row button {
  min-height: 1.78rem;
  border: 0;
  border-right: 1px solid rgba(228, 228, 231, 0.88);
  background: white;
  color: rgb(63 63 70);
  font-size: 0.72rem;
  font-weight: 760;
}

.document-layout-table-align-row button:last-child {
  border-right: 0;
}

.document-layout-table-align-row button:hover {
  background: rgb(239 246 255);
  color: rgb(0 74 153);
}

.document-layout-table-action-row button {
  min-height: 2rem;
  border: 1px solid rgba(212, 212, 216, 0.92);
  border-radius: 0.58rem;
  background: white;
  color: rgb(39 39 42);
  font-size: 0.76rem;
  font-weight: 720;
}

.document-layout-table-action-row button:hover {
  border-color: rgba(0, 102, 204, 0.42);
  background: rgb(248 250 252);
}

.document-layout-table-editor td {
  border: 1px solid rgb(161 161 170);
  min-width: 2.6rem;
  padding: var(--document-table-cell-padding-y, 0.14rem) var(--document-table-cell-padding-x, 0.28rem);
  vertical-align: middle;
}

.document-layout-table-editor .document-layout-table--horizontal td {
  border-left: 0;
  border-right: 0;
}

.document-layout-table-editor .document-layout-table--none td {
  border-color: transparent;
}

.document-layout-table-row--repeated-header td {
  background: rgb(248 250 252);
  font-weight: 650;
}


/* user_app/styles/document_layout_visual_controls.css */
.document-layout-image-block {
  margin: var(--document-image-margin, 0.22rem) auto;
  text-align: center;
}

.document-layout-visual-toolbar {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  margin: 0 0 0.28rem;
  border: 1px solid #dbe2ea;
  border-radius: 7px;
  background: #fff;
  color: #758093;
  font-size: 0.62rem;
  line-height: 1;
  padding: 0.18rem;
  box-shadow: none;
}

.document-layout-visual-toolbar strong {
  padding-left: 0.34rem;
  font-size: 0.62rem;
  font-weight: 760;
}

.document-layout-visual-toolbar span {
  display: inline-flex;
  gap: 0.12rem;
}

.document-layout-visual-toolbar button {
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: rgb(82 82 91);
  cursor: pointer;
  font-size: 0.62rem;
  font-weight: 760;
  line-height: 1;
  padding: 0.26rem 0.36rem;
}

.document-layout-visual-toolbar button:hover,
.document-layout-visual-toolbar button:focus-visible {
  background: rgb(244 244 245);
  outline: none;
}

.document-layout-visual-toolbar button.is-active {
  background: #edf4fd;
  color: #285c99;
}

.document-layout-image-block--left {
  text-align: left;
}

.document-layout-image-block--right {
  text-align: right;
}

.document-layout-image-block img,
.document-layout-image-placeholder {
  display: block;
  width: var(--document-image-width, 90%);
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.document-layout-image-block--left img,
.document-layout-image-block--left .document-layout-image-placeholder {
  margin-left: 0;
}

.document-layout-image-block--right img,
.document-layout-image-block--right .document-layout-image-placeholder {
  margin-right: 0;
}

.document-layout-image-source {
  width: var(--document-image-width, 90%);
  max-width: 100%;
  margin: 0 auto 0.16rem;
  color: rgb(113 113 122);
  font-size: 0.62rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
  text-align: left;
}

.document-layout-image-block--left .document-layout-image-source {
  margin-left: 0;
}

.document-layout-image-block--right .document-layout-image-source {
  margin-right: 0;
}

.document-layout-image-action-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.25rem 0 0.45rem;
}

.document-layout-image-action-row button {
  border: 1px solid #c5d9f1;
  border-radius: 7px;
  background: #edf4fd;
  color: #285c99;
  font-size: 0.74rem;
  font-weight: 650;
  line-height: 1;
  padding: 0.45rem 0.62rem;
}

.document-layout-image-action-row button:hover {
  background: #e4eefb;
}

.document-layout-image-action-row span,
.document-layout-image-source-note {
  color: rgb(113 113 122);
  font-size: 0.72rem;
  line-height: 1.45;
}

.document-layout-image-placeholder {
  box-sizing: border-box;
  border: 1px dashed rgba(161, 161, 170, 0.85);
  color: rgb(113 113 122);
  font-size: 0.72rem;
  line-height: 1.45;
  padding: 0.86rem;
}

.document-layout-image-placeholder strong,
.document-layout-image-placeholder span {
  display: block;
}

.document-layout-image-placeholder strong {
  color: rgb(63 63 70);
  font-size: 0.74rem;
}

.document-layout-image-placeholder span {
  margin-top: 0.18rem;
  font-size: 0.66rem;
}

.document-layout-image-block figcaption {
  margin-top: 0.18rem;
  color: rgb(82 82 91);
  font-size: 0.68rem;
}

.document-layout-geometry-visual img {
  border-radius: 0.28rem;
  background: white;
}

/* user_app/styles/document_layout_special_blocks.css */
.document-layout-blank-block {
  margin: 0.1rem 0;
}

.document-layout-blank-block__title {
  color: rgb(63 63 70);
  font-size: 0.72rem;
  margin-bottom: 0.16rem;
}

.document-layout-blank-block__area {
  box-sizing: border-box;
  min-height: var(--document-blank-height, 18mm);
  height: var(--document-blank-height, 18mm);
  overflow: hidden;
}

.document-layout-blank-block--ruled .document-layout-blank-block__area {
  display: grid;
  align-content: stretch;
  gap: 0;
}

.document-layout-blank-block--ruled .document-layout-blank-block__area span {
  border-bottom: 1px solid rgba(113, 113, 122, 0.72);
}

.document-layout-blank-block--grid .document-layout-blank-block__area {
  background-image:
    linear-gradient(rgba(161, 161, 170, 0.42) 1px, transparent 1px),
    linear-gradient(90deg, rgba(161, 161, 170, 0.42) 1px, transparent 1px);
  background-size: 7mm 7mm;
}

.document-layout-geometry-preview {
  border: 1px solid rgba(212, 212, 216, 0.86);
  border-radius: 0.2rem;
  background: white;
  color: rgb(63 63 70);
  padding: 0.76rem 0.86rem;
}

.document-layout-geometry-preview strong,
.document-layout-geometry-preview span {
  display: block;
}

.document-layout-geometry-preview strong {
  font-size: 0.88rem;
  font-weight: 780;
}

.document-layout-geometry-preview span {
  margin-top: 0.18rem;
  color: rgb(82 82 91);
  font-size: 0.78rem;
}

.document-layout-geometry-preview pre {
  max-height: 9.5rem;
  overflow: auto;
  margin: 0.62rem 0 0;
  border-radius: 0.52rem;
  background: rgba(255, 255, 255, 0.82);
  color: rgb(39 39 42);
  font-size: 0.76rem;
  line-height: 1.55;
  padding: 0.62rem;
  white-space: pre-wrap;
  word-break: break-word;
}

.document-layout-knowledge-summary {
  border-left: 3px solid rgba(234, 179, 8, 0.62);
  color: rgb(82 82 91);
  padding-left: 0.72rem;
}

.document-layout-block-empty {
  color: rgb(113 113 122);
  font-size: 0.86rem;
  font-style: italic;
}


/* user_app/styles/document_layout_preview_empty.css */
.document-layout-page-footer {
  gap: var(--document-footer-gap, 0.5rem);
  margin-top: var(--document-footer-margin-top, 0.82%);
  border-top: 1px solid rgba(212, 212, 216, 0.9);
  padding-top: var(--document-footer-rule-padding, 0.82%);
  font-size: var(--document-footer-font-size, 0.72rem);
  line-height: var(--document-footer-line-height, 1.32);
}

.document-layout-preview-empty {
  margin: auto 0;
  border: 1px dashed rgba(203, 213, 225, 0.95);
  border-radius: 8px;
  background: #fafbfd;
  padding: 2.3rem 1rem;
  text-align: center;
}

.document-layout-preview-empty.is-drag-over {
  border-color: rgba(0, 102, 204, 0.5);
  background: rgb(239 246 255);
  box-shadow: inset 0 0 0 3px rgba(0, 102, 204, 0.08);
}

.document-layout-preview-empty__title {
  margin-bottom: 0.38rem;
  color: #34445c; font-size: .88rem; font-weight: 600;
}

.document-layout-preview-empty p {
  margin: 0;
  color: #758093;
  font-size: .78rem; line-height: 1.65;
}

/* user_app/styles/document_layout_pdf_preview.css */
.document-layout-pdf-preview {
  width: min(100%, var(--document-layout-paper-width));
  margin: 1.35rem auto 0;
  border: 1px solid rgba(226, 232, 240, 0.92);
  border-radius: 9px;
  background: white;
  padding: .75rem;
  box-shadow: none;
}

.document-layout-pdf-preview__head {
  display: flex;
  align-items: center; flex-wrap: wrap;
  justify-content: space-between;
  gap: .6rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  padding-bottom: 0.75rem;
}

.document-layout-pdf-preview__head > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.16rem;
}

.document-layout-pdf-preview__head strong,
.document-layout-pdf-empty strong {
  color: #34445c;
  font-size: 0.86rem;
  font-weight: 600;
}

.document-layout-pdf-preview__head span,
.document-layout-pdf-empty span {
  color: #758093;
  font-size: 0.78rem;
  line-height: 1.55;
}

.document-layout-pdf-preview__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
}

.document-layout-pdf-preview__stale {
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  border: 1px solid rgba(245, 158, 11, 0.32);
  border-radius: 6px;
  background: rgb(255 251 235);
  color: rgb(146 64 14);
  padding: 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 600;
}

.document-layout-pdf-preview__actions button {
  flex: 0 0 auto;
  min-height: 2.2rem;
  border: 1px solid rgba(39, 39, 42, 0.12);
  border-radius: 0.72rem;
  background: white;
  color: #34445c;
  padding: 0.45rem 0.8rem;
  font-size: 0.8rem;
  font-weight: 500;
}

.document-layout-pdf-preview__actions button[data-document-layout-action="refresh-pdf-preview"] {
  border-color: transparent;
  background: #285c99;
  color: white;
}

.document-layout-pdf-preview__actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.document-layout-pdf-loading,
.document-layout-pdf-error,
.document-layout-pdf-empty {
  margin-top: 0.8rem;
  border: 1px dashed rgba(203, 213, 225, 0.95);
  border-radius: 0.86rem;
  background: rgb(248 250 252);
  padding: .75rem;
  color: rgb(82 82 91);
  font-size: 0.84rem;
}

.document-layout-pdf-error {
  border-color: rgba(248, 113, 113, 0.5); background: rgb(254 242 242); color: rgb(185 28 28);
  white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.65;
}

.document-layout-pdf-empty {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.document-layout-pdf-empty button {
  align-self: flex-start;
  min-height: 2.12rem;
  margin-top: 0.3rem;
  border: 1px solid rgba(39, 39, 42, 0.14);
  border-radius: 0.68rem;
  background: #285c99;
  color: white;
  padding: 0.42rem 0.72rem;
  font-size: 0.78rem;
  font-weight: 500;
}

.document-layout-pdf-pages {
  display: flex;
  max-height: 74rem;
  flex-direction: column;
  gap: .6rem;
  margin-top: 1rem;
  overflow: auto;
  padding-right: 0.25rem;
}

.document-layout-pdf-page {
  margin: 0;
  border-radius: 0.8rem;
  background: rgb(245 245 247);
  padding: 0.7rem;
}

.document-layout-pdf-page img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(212, 212, 216, 0.9);
  border-radius: 0.42rem;
  background: white;
}

.document-layout-pdf-page figcaption {
  margin-top: 0.45rem;
  color: #758093;
  font-size: 0.76rem;
  text-align: center;
}

/* user_app/styles/document_layout_pdf_block_regions.css */
.document-layout-pdf-page__surface {
  position: relative;
}

.document-layout-pdf-block-regions {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.document-layout-pdf-block-region {
  position: absolute;
  z-index: 1;
  top: var(--pdf-region-top);
  left: 0.35rem;
  width: calc(100% - 0.7rem);
  height: var(--pdf-region-height);
  min-height: 0.5rem;
  border: 1px solid transparent;
  border-radius: 0.36rem;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
}

.document-layout-pdf-block-region span {
  position: absolute;
  top: 0.2rem;
  left: 0.2rem;
  display: grid;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  border-radius: 999px;
  background: rgb(29 78 216 / 0.88);
  color: white;
  font-size: 0.66rem;
  font-weight: 760;
  opacity: 0;
  transform: translateX(-0.2rem);
  transition: opacity 140ms ease, transform 140ms ease;
}

.document-layout-pdf-block-region:hover,
.document-layout-pdf-block-region:focus-visible {
  border-color: rgb(59 130 246 / 0.72);
  background: rgb(59 130 246 / 0.07);
  outline: none;
}

.document-layout-pdf-block-region:hover span,
.document-layout-pdf-block-region:focus-visible span,
.document-layout-pdf-block-region.is-selected span {
  opacity: 1;
  transform: translateX(0);
}

.document-layout-pdf-block-region.is-selected {
  border-color: rgb(37 99 235 / 0.82);
  background: rgb(37 99 235 / 0.1);
  box-shadow: inset 3px 0 0 rgb(29 78 216 / 0.9);
}

/* user_app/styles/document_layout_property_panel_shell.css */
.document-layout-panel {
  border-bottom: 1px solid #e5eaf0;
  padding: 1rem;
}

.document-layout-panel:last-child {
  border-bottom: 0;
}

.document-layout-side-panel {
  border-bottom: 1px solid #e5eaf0;
}

.document-layout-side-panel__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  min-height: 3rem;
  border: 0;
  background: #fff;
  color: #34445c;
  padding: 0.72rem 1rem;
  text-align: left;
}

.document-layout-side-panel__toggle span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.1rem;
}

.document-layout-side-panel__toggle strong {
  overflow: hidden;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-layout-side-panel__toggle em {
  overflow: hidden;
  color: #758093;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-layout-side-panel__toggle b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.42rem;
  height: 1.42rem;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #fff;
  color: #758093;
  font-size: 0.9rem;
  line-height: 1;
}

.document-layout-side-panel__toggle:hover {
  background: #f8fafc;
}

.document-layout-side-panel__toggle:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgb(40 92 153 / 10%);
}

.document-layout-side-panel__body > .document-layout-panel {
  border-bottom: 0;
  padding-top: 0.85rem;
}

.document-layout-side-panel__body > .document-layout-panel > .document-layout-panel__title {
  display: none;
}

.document-layout-panel__title {
  margin-bottom: 0.75rem;
}

/* user_app/styles/document_layout_property_fields.css */
.document-layout-properties, .document-layout-settings-modal { --apple-bg: #fff; --apple-border: #dbe2ea; --apple-text: #34445c; --apple-blue: #285c99; }
.document-layout-field,
.document-layout-check {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.68rem;
}
.document-layout-field span,
.document-layout-check span {
  color: #758093;
  font-size: 0.78rem;
  font-weight: 600;
}

.document-layout-field input,
.document-layout-field select,
.document-layout-field textarea {
  width: 100%;
  min-height: 2.42rem;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #fff;
  padding: 0.52rem 0.72rem;
  color: #34445c;
  font-size: 0.86rem;
  outline: none;
}

.document-layout-field textarea {
  min-height: 6rem;
  resize: vertical;
  line-height: 1.58;
}

.document-layout-field input[type="color"] {
  padding: 0.28rem;
}

.document-layout-field input:disabled,
.document-layout-field select:disabled,
.document-layout-field textarea:disabled {
  border-color: #e5eaf0 !important;
  background: #f3f6fa !important;
  color: #758093 !important;
  cursor: not-allowed;
  box-shadow: none;
}

.document-layout-source-field textarea {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.55;
}

.document-layout-field input:focus,
.document-layout-field select:focus,
.document-layout-field textarea:focus {
  border-color: #91afd2 !important;
  box-shadow: 0 0 0 3px rgb(40 92 153 / 10%) !important;
}

/* user_app/styles/document_layout_semantic_controls.css */
.document-layout-style-presets {
  margin: 0.58rem 0 0.72rem;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: #f8fafc;
  padding: 0.68rem;
}

.document-layout-style-presets__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
  margin-bottom: 0.5rem;
}

.document-layout-style-presets__head strong {
  color: #34445c;
  font-size: 0.78rem;
  font-weight: 600;
}

.document-layout-style-presets__head span {
  color: #758093;
  font-size: 0.66rem;
  line-height: 1.4;
  text-align: right;
}

.document-layout-style-presets__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.38rem;
}

.document-layout-style-presets__list button {
  display: flex;
  min-width: 0;
  min-height: 3.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.18rem;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #fff;
  color: #34445c;
  cursor: pointer;
  padding: 0.52rem 0.56rem;
  text-align: left;
  transition: border-color 140ms ease, background-color 140ms ease;
}

.document-layout-style-presets__list button:hover,
.document-layout-style-presets__list button:focus-visible {
  border-color: #c8d6e7;
  outline: none;
  box-shadow: none;
  transform: none;
}

.document-layout-style-presets__list button.is-active {
  border-color: #c5d9f1;
  background: #edf4fd;
  box-shadow: none;
}

.document-layout-style-presets__list button:focus-visible {
  border-color: #285c99;
  box-shadow: 0 0 0 3px rgb(40 92 153 / 10%);
}

.document-layout-style-presets__list button strong {
  color: #34445c;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.25;
}

.document-layout-style-presets__list button.is-active strong {
  color: #285c99;
}

.document-layout-style-presets__list button span {
  display: -webkit-box;
  overflow: hidden;
  color: #758093;
  font-size: 0.62rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.document-layout-advanced-settings {
  margin: 0.62rem 0 0;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.document-layout-advanced-settings > summary {
  display: flex;
  min-height: 2.3rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  cursor: pointer;
  list-style: none;
  padding: 0.5rem 0.62rem;
}

.document-layout-advanced-settings > summary::-webkit-details-marker {
  display: none;
}

.document-layout-advanced-settings > summary::after {
  content: "+";
  flex: 0 0 auto;
  color: #758093;
  font-size: 0.92rem;
  font-weight: 600;
}

.document-layout-advanced-settings[open] > summary::after {
  content: "−";
}

.document-layout-advanced-settings > summary span {
  color: #34445c;
  font-size: 0.74rem;
  font-weight: 600;
}

.document-layout-advanced-settings > summary em {
  margin-left: auto;
  color: #758093;
  font-size: 0.64rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.35;
  text-align: right;
}

.document-layout-advanced-settings__body {
  border-top: 1px solid #e5eaf0;
  background: #f8fafc;
  padding: 0.68rem;
}

.document-layout-advanced-settings__body > :first-child {
  margin-top: 0;
}

.document-layout-advanced-settings__body > :last-child {
  margin-bottom: 0;
}

@media (max-width: 1180px) {
  .document-layout-style-presets__list {
    grid-template-columns: 1fr;
  }

  .document-layout-style-presets__list button {
    min-height: 0;
  }
}

/* user_app/styles/document_layout_text_style_controls.css */
.document-layout-text-style-actions {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  margin: 0.56rem 0;
}

.document-layout-text-toggle {
  position: relative;
  cursor: pointer;
}

.document-layout-text-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.document-layout-text-toggle > span {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  gap: 0.42rem;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #fff;
  color: #34445c;
  padding: 0.34rem 0.62rem;
  font-size: 0.7rem;
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.document-layout-text-toggle input:checked + span {
  border-color: #c5d9f1;
  background: #edf4fd;
  color: #285c99;
  box-shadow: none;
}

.document-layout-text-toggle input:focus-visible + span {
  outline: 2px solid #285c99;
  outline-offset: 2px;
}

.document-layout-text-toggle strong {
  font-family: Georgia, serif;
  font-size: 0.86rem;
  line-height: 1;
}

/* user_app/styles/document_layout_batch_prefix_controls.css */
.document-layout-batch-prefix-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5.2rem;
  align-items: end;
  gap: 0.52rem;
  margin-top: 0.68rem;
}

.document-layout-batch-prefix-control {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.35rem;
}

.document-layout-batch-prefix-control span {
  color: #758093;
  font-size: 0.78rem;
  font-weight: 600;
}

.document-layout-batch-prefix-control input {
  width: 100%;
  min-height: 2.42rem;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: white;
  padding: 0.52rem 0.72rem;
  color: #34445c;
  font-size: 0.86rem;
  outline: none;
}

.document-layout-batch-prefix-control input[type="color"] {
  padding: 0.26rem;
}

.document-layout-batch-prefix-control input:focus {
  border-color: #91afd2;
  box-shadow: 0 0 0 3px rgb(40 92 153 / 10%);
}


/* user_app/styles/document_layout_property_field_layouts.css */
.document-layout-field--inline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6.4rem;
  align-items: center;
  gap: 0.65rem;
}

.document-layout-field--checkbox {
  flex-direction: row;
  align-items: center;
}

.document-layout-field--checkbox input {
  width: auto;
  min-height: auto;
}

.document-layout-field-group {
  margin-top: 0.68rem;
}

.document-layout-field-group__title {
  color: #758093;
  font-size: 0.78rem;
  font-weight: 600;
}

.document-layout-field-group .document-layout-field {
  margin-top: 0.48rem;
}

.document-layout-field-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.55rem;
}

.document-layout-field-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.document-layout-field-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.document-layout-field-grid--three {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr);
}

.document-layout-header-text-grid,
.document-layout-page-number-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.document-layout-settings-main-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1fr);
}

.document-layout-page-number-toggle {
  margin-top: 0.68rem;
}


/* user_app/styles/document_layout_controls_responsive.css */
@media (max-width: 720px) {
  .document-layout-settings-main-grid,
  .document-layout-settings-metric-grid,
  .document-layout-header-text-grid,
  .document-layout-page-number-grid,
  .document-layout-field-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .document-layout-check-row--tags {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* user_app/styles/document_layout_asset_surface.css */
.document-layout-image-source-note {
  margin-top: 0.38rem;
  color: #758093;
  font-size: 0.72rem;
  line-height: 1.45;
}

.document-layout-asset-panel {
  background: #fff;
}

/* user_app/styles/document_layout_asset_catalog.css */

.document-layout-asset-list {
  display: flex;
  flex-direction: column;
  gap: 0.52rem;
}

.document-layout-asset-item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: center;
  gap: 0.58rem;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: white;
  padding: 0.48rem;
}

.document-layout-asset-item__preview {
  width: 3rem;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 0.56rem;
  background: #f3f6fa;
}

.document-layout-asset-item__preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.document-layout-asset-item__body {
  min-width: 0;
}

.document-layout-asset-item__body span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-layout-asset-title-input {
  width: 100%;
  min-height: 2rem;
  border-radius: 0.62rem !important;
  background: #f8fafc !important;
  padding: 0.32rem 0.48rem;
  color: #34445c !important;
  font-size: 0.78rem;
  font-weight: 600;
}

.document-layout-asset-item__body span {
  margin-top: 0.12rem;
  color: #758093;
  font-size: 0.68rem;
}


/* user_app/styles/document_layout_asset_actions.css */
.document-layout-asset-item__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.38rem;
  padding-top: 0.1rem;
}

.document-layout-asset-item button {
  min-height: 1.9rem;
  border: 1px solid #d2e2f6;
  border-radius: 8px;
  background: #edf4fd;
  color: #285c99;
  padding: 0.38rem 0.62rem;
  font-size: 0.72rem;
  font-weight: 600;
}

.document-layout-asset-item button:hover:not(:disabled) {
  border-color: #b5cdea;
  background: #e4eefb;
}

.document-layout-asset-item__delete {
  border-color: rgba(255, 59, 48, 0.24) !important;
  background: var(--apple-danger-bg) !important;
  color: var(--apple-danger) !important;
}

.document-layout-asset-item__delete:hover:not(:disabled) {
  border-color: rgba(255, 59, 48, 0.38) !important;
  background: var(--apple-danger-bg-hover) !important;
}

.document-layout-asset-item button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}


/* user_app/styles/document_layout_reusable_images.css */
.document-layout-question-image-reuse {
  margin-top: 0.85rem;
  border-top: 1px solid #e5eaf0;
  padding-top: 0.72rem;
}

.document-layout-question-image-reuse__title {
  color: #34445c;
  font-size: 0.78rem;
  font-weight: 600;
}

.document-layout-question-image-reuse__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.48rem;
  margin-top: 0.48rem;
}

.document-layout-question-image-reuse__list button {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.42rem;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: white;
  padding: 0.36rem;
  text-align: left;
}

.document-layout-question-image-reuse__list button:hover {
  border-color: #b5cdea;
  background: #f8fafc;
}

.document-layout-question-image-reuse__list span {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 0.42rem;
  background: #f3f6fa;
}

.document-layout-question-image-reuse__list img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.document-layout-question-image-reuse__list strong {
  min-width: 0;
  overflow: hidden;
  color: #34445c;
  font-size: 0.72rem;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}


/* user_app/styles/document_layout_check_controls.css */
.document-layout-check-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 0.68rem;
}

.document-layout-check-row--tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem 0.82rem;
  margin-top: 0.45rem;
}

.document-layout-check {
  flex-direction: row;
  align-items: center;
}

.document-layout-check-row .document-layout-check {
  margin-top: 0;
}

.document-layout-check-row--tags .document-layout-check {
  flex: 0 0 auto;
}

.document-layout-check-row--tags .document-layout-check span {
  white-space: nowrap;
}

.document-layout-check input {
  width: 1rem;
  height: 1rem;
  accent-color: #285c99;
}


/* user_app/styles/document_layout_selection_options.css */
.document-layout-label-options {
  margin-top: 0.76rem;
  border-top: 1px solid #e5eaf0;
  padding-top: 0.76rem;
}

.document-layout-label-options__title {
  color: #34445c;
  font-size: 0.8rem;
  font-weight: 600;
}

.document-layout-label-options__hint {
  margin-top: 0.38rem;
  color: #758093;
  font-size: 0.72rem;
  line-height: 1.45;
}

.document-layout-selected-brief {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  border-radius: 8px;
  background: #f8fafc;
  padding: 0.72rem;
}

.document-layout-selected-brief strong {
  font-size: 0.86rem;
}

.document-layout-selected-brief span {
  color: #758093;
  font-size: 0.78rem;
}


/* user_app/styles/document_layout_block_actions.css */
.document-layout-block-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
  margin-top: 0.7rem;
}

.document-layout-block-action {
  min-height: 2.12rem;
  border: 1px solid #dbe2ea;
  border-radius: 8px;
  background: #f8fafc;
  color: #34445c;
  padding: 0.42rem 0.58rem;
  font-size: 0.76rem;
  font-weight: 600;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.document-layout-block-action:hover:not(:disabled) {
  border-color: #b5cdea;
  background: #edf4fd;
  color: #285c99;
  box-shadow: none;
}

.document-layout-block-action:disabled {
  cursor: not-allowed;
  opacity: 0.42;
  box-shadow: none;
}

.document-layout-block-action--danger {
  grid-column: 1 / -1;
  border-color: rgba(248, 113, 113, 0.38);
  background: rgb(254 242 242);
  color: rgb(185 28 28);
}

.document-layout-block-action--danger:hover:not(:disabled) {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgb(254 226 226);
  color: rgb(153 27 27);
}


/* user_app/styles/document_layout_batch_actions.css */
.document-layout-batch-primary,
.document-layout-batch-danger {
  width: 100%;
  min-height: 2.25rem;
  margin-top: 0.62rem;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.document-layout-batch-primary {
  border-color: #d2e2f6;
  background: #edf4fd;
  color: #285c99;
}

.document-layout-batch-primary:hover {
  border-color: #b5cdea;
  background: #e4eefb;
  box-shadow: none;
}

.document-layout-batch-danger {
  border: 1px solid rgba(248, 113, 113, 0.38);
  background: rgb(254 242 242);
  color: rgb(185 28 28);
}

.document-layout-batch-danger:hover {
  border-color: rgba(239, 68, 68, 0.45);
  background: rgb(254 226 226);
}

.document-layout-batch-primary:disabled,
.document-layout-batch-danger:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

/* user_app/styles/document_layout_control_states.css */
/* Shared interaction states for workspace controls, outside the document page. */
:is(.document-layout-outline, .document-layout-properties, .document-layout-topbar,
    .document-layout-settings-modal, .document-layout-template-apply-dialog,
    .document-layout-preview-toolbar) button {
  cursor: pointer;
  transform: none;
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
}

:is(.document-layout-candidate-empty-actions,
    .document-layout-candidate-bulk-actions, .document-layout-candidate-item,
    .document-layout-template-card__actions) button:hover:not(:disabled):not(.is-primary):not(.is-danger),
.document-layout-topbar__actions button:hover:not(:disabled):not([data-document-layout-action="export-document"]) {
  background: #f0f5fb;
  color: #34445c;
  box-shadow: none;
}

.document-layout-template-card__actions .is-primary:hover:not(:disabled) { background: #e3eefb; border-color: #b8cbe2; }
.document-layout-topbar__actions button[data-document-layout-action="export-document"]:hover:not(:disabled) {
  background: #204e84;
}

.document-layout-template-card__actions .is-danger:hover:not(:disabled) {
  background: var(--apple-danger-bg);
  color: var(--apple-danger);
}

:is(.document-layout-candidate-tabs,
    .document-layout-preview-mode) button:hover:not(:disabled):not(.is-active) {
  background: #f3f6fa;
  color: #34445c;
}

:is(.document-layout-outline, .document-layout-properties, .document-layout-topbar,
    .document-layout-settings-modal, .document-layout-template-apply-dialog,
    .document-layout-preview-toolbar) :is(button, summary):focus-visible,
.document-layout-outline-item:focus-visible {
  outline: 2px solid #285c99;
  outline-offset: 2px;
}

:is(.document-layout-outline, .document-layout-properties, .document-layout-topbar,
    .document-layout-settings-modal, .document-layout-template-apply-dialog,
    .document-layout-preview-toolbar) button:disabled {
  cursor: not-allowed;
}

/* user_app/styles/document_layout_exam_header.css */
.document-layout-exam-header {
  margin: 0 0 3mm;
  color: #000;
  font-family: "KaiTi", "STKaiti", "Kaiti SC", "FandolKai", serif;
  font-size: 10.5pt;
  font-weight: 700;
  line-height: 15pt;
  text-align: left;
  overflow-wrap: anywhere;
}

.document-layout-exam-header__title,
.document-layout-exam-header__subject {
  font-family: "SimHei", "Heiti SC", "STHeiti", "FandolHei", sans-serif;
  text-align: center;
  white-space: normal;
}

.document-layout-exam-header__title {
  margin-bottom: 4mm;
  font-size: 16pt;
  line-height: 23pt;
}

.document-layout-exam-header__subject {
  margin-bottom: 3mm;
  font-size: 18pt;
  line-height: 25pt;
  letter-spacing: 0;
}

.document-layout-exam-header__information {
  display: grid;
  grid-template-columns: minmax(0, 49fr) minmax(0, 49fr);
  gap: 2%;
  font-size: 9.5pt;
  line-height: 13pt;
  white-space: normal;
}

.document-layout-exam-header__information > :last-child {
  text-align: right;
}

.document-layout-exam-header__information--above {
  align-items: start;
  border-bottom: 0.7pt solid #000;
  padding-bottom: 1mm;
}

.document-layout-exam-header__information--below {
  align-items: start;
  padding-top: 1mm;
}

.document-layout-exam-header__notice-title {
  margin: 3mm 0;
  text-align: center;
  white-space: normal;
}

.document-layout-exam-header__notice-body {
  white-space: normal;
  line-height: 15pt;
}

.document-layout-exam-header__text {
  display: block;
  white-space: pre-wrap;
}

.document-layout-exam-header__notice-line {
  display: block;
  text-indent: 2em;
}

.document-layout-exam-header .document-layout-inline-edit {
  display: block;
  width: 100%;
  border-radius: 2px;
  padding: 0;
  white-space: normal;
  text-align: inherit;
}

.document-layout-exam-header .document-layout-inline-input {
  min-height: 2.5em;
  padding: 0;
  font: inherit;
  text-align: inherit;
  letter-spacing: inherit;
}

.document-layout-exam-header .document-layout-inline-edit.is-empty {
  color: var(--apple-tertiary);
  font-family: inherit;
  font-size: 10.5pt;
}

.document-layout-draft-flow.document-layout-draft-flow--exam2 {
  min-height: var(--document-layout-paper-height);
  border-radius: 0;
  padding: var(--document-page-padding-top-mm, 13mm) var(--document-page-padding-right-mm, 13.5mm) var(--document-page-padding-bottom-mm, 13mm) var(--document-page-padding-left-mm, 13.5mm);
}

.document-layout-draft-flow--exam2 .document-layout-draft-flow__note {
  margin-top: 3mm;
}

.document-layout-exam-header-controls__hint {
  margin: 0.4rem 0 0;
  color: var(--apple-secondary);
  font-size: 0.75rem;
  line-height: 1.5;
}

.document-layout-exam-header-controls__wide {
  grid-column: 1 / -1;
}

.document-layout-exam-header-controls textarea[rows="2"] {
  min-height: 4rem;
}

/* user_app/styles/document_layout_standard_exam.css */
.document-layout-standard-exam-header,
.document-layout-standard-exam-header__section {
  color: #000;
  font-family: "Times New Roman", "SimSun", "Songti SC", "STSong", "FandolSong", serif;
  font-size: 10.5pt;
  font-weight: 400;
  line-height: 1.7;
  text-align: left;
  overflow-wrap: anywhere;
}

.document-layout-standard-exam-header {
  margin-bottom: 5mm;
}

.document-layout-standard-exam-header__secret {
  font-size: 10.5pt;
  font-weight: 700;
}

.document-layout-standard-exam-header__title {
  margin: 2mm 0 3mm;
  font-size: 15pt;
  line-height: 1.5;
  text-align: center;
}

.document-layout-standard-exam-header__subject {
  margin: 0 0 3mm;
  font-family: "SimHei", "Heiti SC", "STHeiti", "FandolHei", sans-serif;
  font-size: 22pt;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.document-layout-standard-exam-header__notice-label {
  margin-bottom: 1mm;
  font-family: "SimHei", "Heiti SC", "STHeiti", "FandolHei", sans-serif;
  font-weight: 700;
}

.document-layout-standard-exam-header__notice-line {
  display: block;
  margin-bottom: 1mm;
  text-indent: 2em;
}

.document-layout-standard-exam-header__text {
  display: block;
  white-space: pre-wrap;
}

.document-layout-standard-exam-header__section {
  margin: 4mm 0 2mm;
  font-family: "SimHei", "Heiti SC", "STHeiti", "FandolHei", sans-serif;
  font-weight: 700;
}

.document-layout-standard-exam-header .document-layout-inline-edit,
.document-layout-standard-exam-header__section .document-layout-inline-edit {
  display: block;
  width: 100%;
  border-radius: 2px;
  padding: 0;
  white-space: normal;
  text-align: inherit;
}

.document-layout-standard-exam-header .document-layout-inline-input,
.document-layout-standard-exam-header__section .document-layout-inline-input {
  min-height: 2.5em;
  padding: 0;
  font: inherit;
  text-align: inherit;
}

.document-layout-standard-exam-header .document-layout-inline-edit.is-empty,
.document-layout-standard-exam-header__section .document-layout-inline-edit.is-empty {
  color: var(--apple-tertiary);
  font-size: 10.5pt;
  font-weight: 400;
}

.document-layout-draft-flow.document-layout-draft-flow--exam-standard {
  min-height: var(--document-layout-paper-height);
  border-radius: 0;
  padding: 25.4mm;
}

/* user_app/styles/document_layout_template_picker.css */
.document-layout-template-picker { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1.5rem; }
.document-layout-template-picker__backdrop { position: absolute; inset: 0; border: 0; background: rgb(35 48 67 / 30%); backdrop-filter: blur(3px); }
.document-layout-template-picker__dialog { position: relative; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; width: min(58rem, 100%); max-height: min(50rem, calc(100dvh - 3rem)); overflow: hidden; border: 1px solid #e5eaf0; border-radius: 14px; background: #fff; box-shadow: 0 20px 60px rgb(34 50 76 / 16%); }
.document-layout-template-picker button,
.document-layout-template-picker input { font-family: inherit; }
.document-layout-template-picker button { cursor: pointer; transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease; }
.document-layout-template-picker button:focus-visible,
.document-layout-template-picker input:focus-visible { outline: 2px solid #93b5dd; outline-offset: 2px; }
.document-layout-template-picker__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.25rem; }
.document-layout-template-picker__header h2 { margin: 0; color: #243247; font-size: 1.05rem; font-weight: 650; }
.document-layout-template-picker__header p { margin: .35rem 0 0; color: #758093; font-size: .76rem; line-height: 1.55; }
.document-layout-template-picker__header-actions { display: flex; flex-shrink: 0; align-items: center; gap: .55rem; }
.document-layout-template-picker__header-actions button { min-height: 2.1rem; border: 1px solid #dce4ef; border-radius: 7px; background: #fff; padding: .4rem .75rem; color: #34445c; font-size: .76rem; }
.document-layout-template-picker__header-actions .is-primary { border-color: #285c99; background: #285c99; color: #fff; }
.document-layout-template-picker__header-actions .is-primary:hover { background: #204d83; }
.document-layout-template-picker__header-actions .document-layout-template-picker__close { width: 2rem; min-height: 2rem; border-color: transparent; padding: 0; color: #758093; font-size: 1.3rem; }
.document-layout-template-picker__close:hover { background: #f2f5f9; }
.document-layout-template-picker__toolbar { display: flex; justify-content: space-between; align-items: center; gap: .8rem; border-block: 1px solid #e5eaf0; padding: .75rem 1.25rem; }
.document-layout-template-picker__filters { display: flex; flex-shrink: 0; align-items: center; gap: .25rem; }
.document-layout-template-picker__filters button { min-height: 2rem; border: 1px solid transparent; border-radius: 7px; background: transparent; padding: .35rem .7rem; color: #758093; font-size: .76rem; }
.document-layout-template-picker__filters button:hover { background: #f4f7fb; color: #34445c; }
.document-layout-template-picker__filters button.is-active { background: #edf4fc; color: #285c99; }
.document-layout-template-picker__toolbar input { width: min(16rem, 100%); min-width: 0; min-height: 2.1rem; border: 1px solid #dce4ef; border-radius: 7px; background: #fff; padding: .4rem .65rem; color: #34445c; font-size: .76rem; }
.document-layout-template-picker__toolbar input::placeholder { color: #8993a2; }
.document-layout-template-picker__body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; background: #f8fafc; padding: 1rem 1.25rem; scrollbar-width: thin; scrollbar-color: #c9d2df transparent; }
.document-layout-template-picker__result-count { margin-bottom: .7rem; color: #758093; font-size: .71rem; }
.document-layout-template-picker__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.document-layout-template-picker__item { display: flex; min-width: 0; flex-direction: column; border: 1px solid #e1e7ef; border-radius: 9px; background: #fff; padding: .75rem; }
.document-layout-template-picker__item.is-current { border-color: #bdd4f0; background: #f5f9ff; }
.document-layout-template-picker__item-meta { display: flex; justify-content: space-between; align-items: center; gap: .4rem; min-height: 1.2rem; margin-bottom: .65rem; color: #8993a2; font-size: .69rem; }
.document-layout-template-picker__current { color: #285c99; font-weight: 500; }
.document-layout-template-picker .document-layout-template-card { flex: 1; grid-template-columns: 2.7rem minmax(0, 1fr); grid-template-rows: 1fr auto; gap: .8rem .6rem; border: 0; border-radius: 0; background: transparent; padding: 0; box-shadow: none; }
.document-layout-template-picker .document-layout-template-card__preview { align-self: start; min-height: 3.8rem; }
.document-layout-template-picker .document-layout-template-card__content > strong { display: -webkit-box; font-size: .8rem; font-weight: 600; line-height: 1.5; white-space: normal; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.document-layout-template-picker .document-layout-template-card__content > p { margin: .3rem 0 0; font-size: .72rem; line-height: 1.6; }
.document-layout-template-picker .document-layout-template-card__content > div { display: none; }
.document-layout-template-picker .document-layout-template-card__actions { gap: .25rem; border-top: 1px solid #edf0f5; padding-top: .6rem; }
.document-layout-template-picker .document-layout-template-card__actions button { min-height: 1.85rem; padding: .3rem .45rem; font-size: .72rem; }
.document-layout-template-picker .document-layout-template-card__actions button:hover { background: #edf3fa; color: #285c99; box-shadow: none; }
.document-layout-template-picker .document-layout-template-card__actions .is-danger:hover { background: #fdf1f1; color: #ae4242; }
.document-layout-template-picker__empty { display: flex; min-height: 17rem; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; text-align: center; }
.document-layout-template-picker__empty strong { color: #34445c; font-size: .88rem; font-weight: 500; }
.document-layout-template-picker__empty p { margin: .5rem 0 0; color: #758093; font-size: .76rem; line-height: 1.6; }
.document-layout-template-picker__footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .4rem 1rem; border-top: 1px solid #e5eaf0; padding: .8rem 1.25rem; color: #758093; font-size: .71rem; }
.document-layout-template-picker__footer button { min-height: 2rem; border: 1px solid #dce4ef; border-radius: 7px; background: #fff; padding: .35rem .9rem; color: #34445c; font-size: .75rem; }
.document-layout-template-picker__footer button:hover { background: #f3f6fa; }
@media (max-width: 850px) {
  .document-layout-template-picker__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .document-layout-template-picker { padding: .75rem; }
  .document-layout-template-picker__dialog { max-height: calc(100dvh - 1.5rem); }
  .document-layout-template-picker__header { align-items: flex-start; gap: .5rem; padding: 1rem; }
  .document-layout-template-picker__header p { max-width: 14rem; }
  .document-layout-template-picker__header-actions { gap: .15rem; }
  .document-layout-template-picker__header-actions button { padding-inline: .5rem; }
  .document-layout-template-picker__toolbar { flex-direction: column-reverse; align-items: stretch; gap: .5rem; padding: .75rem 1rem; }
  .document-layout-template-picker__toolbar input { width: 100%; }
  .document-layout-template-picker__filters { justify-content: space-between; }
  .document-layout-template-picker__filters button { flex: 1; padding-inline: .4rem; }
  .document-layout-template-picker__body { padding: .75rem 1rem; }
  .document-layout-template-picker__grid { grid-template-columns: minmax(0, 1fr); }
  .document-layout-template-picker__footer { padding: .75rem 1rem; }
}

/* user_app/styles/document_layout_template_entry.css */
.document-layout-empty-start-actions button {
  min-height: 2.25rem; flex-shrink: 0; border: 1px solid #dce4ef; border-radius: 6px;
  background: #fff; color: #285c99; padding: .5rem 1rem;
  font-family: inherit; font-size: .75rem; font-weight: 500; line-height: 1.4; cursor: pointer; box-shadow: none;
  transition: background-color .15s, border-color .15s;
}
.document-layout-empty-start-actions button:hover { background: #f0f5fc; border-color: #abc3e2; }
.document-layout-empty-start-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
.document-layout-empty-start-actions button.is-primary { background: #285c99; border-color: #285c99; color: #fff; }
.document-layout-empty-start-actions button.is-primary:hover { background: #204c82; }
.document-layout-empty-start-actions button:focus-visible { outline: 2px solid #4a85c5; outline-offset: 2px; }


/* user_app/styles/document_layout_template_builder_shell.css */
.document-layout-settings-modal__panel--template-builder { width: min(54rem, calc(100vw - 2.5rem)); max-height: min(54rem, calc(100dvh - 2.5rem)); }
.document-layout-template-builder { min-width: 0; background: #fff; }
.document-layout-template-builder__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(14rem, 22rem) auto; align-items: center; gap: 1rem; border-bottom: 1px solid #e5eaf0; background: #f8fafc; padding: 1rem 1.25rem; }
.document-layout-template-builder__intro > div:first-child { display: flex; min-width: 0; flex-direction: column; gap: .25rem; }
.document-layout-template-builder__intro strong { color: #34445c; font-size: .8rem; font-weight: 600; }
.document-layout-template-builder__intro span { color: #758093; font-size: .72rem; line-height: 1.55; }
.document-layout-template-builder__intro > label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .65rem; }
.document-layout-template-builder__intro > label span { color: #34445c; font-weight: 500; }
.document-layout-template-builder__intro > label input { min-width: 0; min-height: 2.25rem; border: 1px solid #dbe2ea; border-radius: 8px; background: #fff; padding: .45rem .65rem; color: #34445c; font-size: .8rem; }
.document-layout-template-builder__stats { display: flex; justify-content: flex-end; gap: .35rem; }
.document-layout-template-builder__stats span { color: #758093; font-size: .7rem; white-space: nowrap; }
.document-layout-template-builder__grid { min-height: 0; }
.document-layout-template-builder__column { min-width: 0; background: #fff; padding: 1rem 1.25rem; }
.document-layout-template-builder :is(input, select):focus-visible { border-color: #91afd2 !important; box-shadow: 0 0 0 3px rgb(40 92 153 / 10%) !important; }
.document-layout-template-builder :is(input, select):disabled { background: #f3f6fa !important; color: #758093 !important; cursor: not-allowed; }
.document-layout-template-builder input[type="checkbox"], .document-layout-template-builder input[type="range"] { accent-color: #285c99; }
@media (max-width: 760px) {
  .document-layout-template-builder__intro { grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
  .document-layout-template-builder__intro > div:first-child { grid-column: 1 / -1; }
  .document-layout-template-builder__intro > label { min-width: 0; }
  .document-layout-template-builder__column { padding: .85rem 1rem; }
}
@media (max-width: 600px) {
  .document-layout-settings-modal__panel--template-builder { width: 100%; max-height: calc(100dvh - 1.3rem); }
  .document-layout-template-builder__intro { padding: .85rem 1rem; }
}

/* user_app/styles/document_layout_template_builder_controls.css */
.document-layout-template-region-row label,
.document-layout-template-page-settings-grid label,
.document-layout-template-background-grid label,
.document-layout-template-watermark-grid label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.2rem;
}

.document-layout-template-region-row label > span,
.document-layout-template-page-settings-grid label > span,
.document-layout-template-background-grid label > span,
.document-layout-template-watermark-grid label > span,
.document-layout-template-background-picker > span {
  color: #758093;
  font-size: 0.72rem;
  font-weight: 500;
}

.document-layout-template-region-row input,
.document-layout-template-page-settings-grid input,
.document-layout-template-page-settings-grid select,
.document-layout-template-background-grid input,
.document-layout-template-background-grid select,
.document-layout-template-watermark-grid input,
.document-layout-template-watermark-grid select {
  min-width: 0;
  min-height: 2.15rem;
  border: 1px solid #dbe2ea;
  border-radius: 0.5rem;
  background: #fff;
  padding: 0.3rem 0.46rem;
  color: #34445c;
  font-size: 0.76rem;
}

.document-layout-template-background-grid__wide {
  grid-column: 1 / -1;
}

.document-layout-template-inline-check {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  color: #758093;
  font-size: 0.72rem;
}

.document-layout-template-appearance-group {
  border-bottom: 1px solid #e5eaf0;
  padding: 0.1rem 0 0.7rem;
}

.document-layout-template-appearance-group + .document-layout-template-appearance-group {
  padding-top: 0.65rem;
}

.document-layout-template-appearance-group h4 {
  margin: 0 0 0.4rem;
  color: #34445c;
  font-size: 0.76rem;
}

.document-layout-template-region-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.32rem;
}

.document-layout-template-page-settings-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.document-layout-template-page-settings-head h4 {
  margin: 0;
}

.document-layout-template-page-settings-head span,
.document-layout-template-page-settings-hint {
  color: #758093;
  font-size: 0.76rem;
}

.document-layout-template-page-settings-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.32rem;
  margin-top: 0.42rem;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: #f8fafc;
  padding: 0.5rem;
}
.document-layout-template-page-setting--wide { grid-column: span 2; }
.document-layout-template-page-settings-hint {
  margin: 0.34rem 0 0;
}

.document-layout-template-inline-check {
  margin-top: 0.45rem;
}

.document-layout-template-page-number-row {
  display: grid;
  align-items: end;
  grid-template-columns: auto minmax(10rem, 1.25fr) minmax(7rem, 0.75fr);
  gap: 0.32rem;
  margin-top: 0.45rem;
  border-radius: 0.55rem;
  background: #f8fafc;
  padding: 0.42rem;
}

.document-layout-template-page-number-row > label:not(.document-layout-template-inline-check) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.2rem;
}

.document-layout-template-page-number-row > label > span {
  color: #758093;
  font-size: 0.72rem;
  font-weight: 500;
}

.document-layout-template-page-number-row select {
  min-width: 0;
  min-height: 2.15rem;
  border: 1px solid #dbe2ea;
  border-radius: 0.5rem;
  background: #fff;
  padding: 0.3rem 0.46rem;
  color: #34445c;
  font-size: 0.76rem;
}

.document-layout-template-page-number-row .document-layout-template-inline-check {
  min-height: 2.15rem;
  margin: 0;
  padding: 0 0.18rem;
}

.document-layout-template-background-grid {
  display: grid;
  grid-template-columns: minmax(6.5rem, 0.85fr) repeat(2, minmax(7rem, 1fr)) minmax(12rem, 1.65fr);
  gap: 0.24rem;
}

.document-layout-template-background-picker {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.2rem;
}

.document-layout-template-background-picker > div {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.28rem;
}

.document-layout-template-background-picker button {
  min-width: 0;
  min-height: 2.15rem;
  overflow: hidden;
  border: 1px solid #dbe2ea;
  border-radius: 0.5rem;
  background: #f3f6fa;
  padding: 0.3rem 0.46rem;
  color: #34445c;
  font-size: 0.76rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-layout-template-background-picker button:hover {
  border-color: #c8d6e7;
  background: #f0f5fb;
}

.document-layout-template-background-picker button.is-clear {
  width: 1.9rem;
  padding: 0;
  color: #758093;
  text-align: center;
}

.document-layout-template-background-grid input[type="range"] {
  width: 100%;
  border: 0;
  padding: 0;
}

.document-layout-template-background-grid input[type="color"] {
  width: 100%;
}

.document-layout-template-watermark-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.45rem;
}

.document-layout-template-watermark-head h4,
.document-layout-template-watermark-head .document-layout-template-inline-check {
  margin: 0;
}

.document-layout-template-watermark-grid {
  display: grid;
  grid-template-columns: minmax(12rem, 1.5fr) minmax(7rem, 0.8fr) 4.5rem 5.2rem 5.8rem;
  gap: 0.4rem;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: #f8fafc;
  padding: 0.55rem;
  transition: opacity 160ms ease, background-color 160ms ease;
}

.document-layout-template-watermark-grid.is-disabled {
  opacity: 0.58;
}

.document-layout-template-watermark-grid__opacity {
  grid-column: 1 / -1;
}

.document-layout-template-watermark-grid input[type="color"] {
  width: 100%;
  padding: 0.18rem;
}

.document-layout-template-watermark-grid input[type="range"] {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
}

@media (max-width: 760px) {
  .document-layout-template-page-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .document-layout-template-page-number-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .document-layout-template-page-number-row .document-layout-template-inline-check {
    grid-column: 1 / -1;
  }

  .document-layout-template-background-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .document-layout-template-background-grid__wide {
    grid-column: 1 / -1;
  }

  .document-layout-template-watermark-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .document-layout-template-watermark-grid__text,
  .document-layout-template-watermark-grid__opacity {
    grid-column: 1 / -1;
  }
}

/* user_app/styles/document_layout_header_rule_controls.css */
.document-layout-template-header-rule-row {
  display: grid;
  align-items: end;
  grid-template-columns: auto auto minmax(7rem, 1fr) minmax(6rem, 0.7fr) minmax(4rem, 0.42fr);
  gap: 0.32rem;
  margin-top: 0.45rem;
  border-radius: 0.55rem;
  background: #f8fafc;
  padding: 0.42rem;
}

.document-layout-template-header-rule-row > label:not(.document-layout-template-inline-check) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.2rem;
}

.document-layout-template-header-rule-row > label > span {
  color: #758093;
  font-size: 0.72rem;
  font-weight: 500;
}

.document-layout-template-header-rule-row input:not([type="checkbox"]),
.document-layout-template-header-rule-row select {
  min-width: 0;
  min-height: 2.15rem;
  border: 1px solid #dbe2ea;
  border-radius: 0.5rem;
  background: #fff;
  padding: 0.3rem 0.46rem;
  color: #34445c;
  font-size: 0.76rem;
}

.document-layout-template-header-rule-row input[type="color"] {
  padding: 0.2rem;
}

.document-layout-template-header-rule-row input:disabled,
.document-layout-template-header-rule-row select:disabled {
  background: #f3f6fa;
  color: #758093;
  cursor: not-allowed;
  opacity: 0.72;
}

.document-layout-template-header-rule-row .document-layout-template-inline-check {
  min-height: 2.15rem;
  margin: 0;
  padding: 0 0.18rem;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .document-layout-template-header-rule-row,
  .document-layout-header-rule-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* user_app/styles/document_layout_template_library.css */
.document-layout-template-card {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.55rem;
  border: 1px solid #e5eaf0;
  border-radius: 8px;
  background: #fff;
  padding: 0.58rem;
}

.document-layout-template-card.is-active {
  border-color: #c7dbf3;
  background: #eef5ff;
  box-shadow: none;
}

.document-layout-template-card__preview {
  display: flex;
  min-height: 3.4rem;
  flex-direction: column;
  gap: 0.25rem;
  border: 1px solid #e5eaf0;
  border-radius: 0.32rem;
  background: rgb(255 255 255);
  padding: 0.34rem;
  box-shadow: none;
}

.document-layout-template-card__preview i {
  width: 72%;
  height: 0.15rem;
  align-self: center;
  border-radius: 4px;
  background: var(--template-accent);
  opacity: 0.55;
}

.document-layout-template-card__preview b {
  width: 80%;
  height: 0.28rem;
  align-self: center;
  border-radius: 4px;
  background: #34445c;
}

.document-layout-template-card__preview span {
  width: 100%;
  height: 0.12rem;
  border-radius: 4px;
  background: rgb(203 213 225);
}

.document-layout-template-card__preview span:last-child {
  width: 68%;
}

.document-layout-template-card__content { min-width: 0; }
.document-layout-template-card__paper { display: block; margin-top: .2rem; color: #758093; font-size: .69rem; }

.document-layout-template-card__content > strong {
  display: block;
  overflow: hidden;
  color: #34445c;
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-layout-template-card__content > p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0.14rem 0 0.32rem;
  color: #758093;
  font-size: .72rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.document-layout-template-card__content > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.22rem;
}

.document-layout-template-card__content > div span {
  border-radius: 0;
  background: transparent;
  padding: 0;
  color: #758093;
  font-size: .67rem;
}

.document-layout-template-card__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
}

.document-layout-template-card__actions button {
  min-height: 1.9rem;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  color: #758093; padding: .3rem .5rem;
  font-size: .73rem;
  font-weight: 500;
}

.document-layout-template-card__actions .is-primary {
  background: #edf4fc;
  color: #285c99;
  border-color: #d9e7f7;
}

.document-layout-template-card__actions .is-danger {
  color: #758093;
}

.document-layout-template-apply-dialog {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.document-layout-template-apply-dialog__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(35, 48, 67, .3);
  backdrop-filter: blur(3px);
}

.document-layout-template-apply-dialog > section {
  position: relative;
  width: min(34rem, calc(100vw - 2rem));
  overflow: hidden;
  border: 1px solid #e5eaf0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(34, 50, 76, .16);
}

.document-layout-template-apply-dialog > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #e5eaf0;
  padding: 0.72rem 0.9rem;
  color: #34445c;
  font-size: 0.72rem;
  font-weight: 500;
}

.document-layout-template-apply-dialog > section > header button {
  border: 0;
  background: transparent;
  color: #758093;
  font-size: 1.15rem;
}

.document-layout-template-apply-dialog__body {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem;
}

.document-layout-template-apply-dialog__body h3 {
  margin: 0;
  color: #34445c;
  font-size: 0.98rem;
}

.document-layout-template-apply-dialog__body p {
  margin: 0.2rem 0 0.5rem;
  color: #758093;
  font-size: 0.7rem;
  line-height: 1.5;
}

.document-layout-template-apply-dialog__page {
  display: flex;
  height: 5.1rem;
  flex-direction: column;
  gap: 0.35rem;
  border: 1px solid #e5eaf0;
  border-radius: 0.35rem;
  padding: 0.55rem;
  box-shadow: none;
}

.document-layout-template-apply-dialog__page i {
  height: 0.18rem;
  border-radius: 4px;
  background: rgb(191 219 254);
}

.document-layout-template-apply-dialog__choices {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.6rem;
  border-top: 1px solid #e5eaf0;
  background: #f8fafc;
  padding: 0.8rem;
}

.document-layout-template-apply-dialog__choices button {
  display: flex;
  min-height: 4.5rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  border: 1px solid #e5eaf0;
  border-radius: 0.75rem;
  background: #fff;
  padding: 0.7rem;
  text-align: left;
}

.document-layout-template-apply-dialog__choices .is-primary {
  border-color: #c7dbf3;
  background: #eef5ff;
}

.document-layout-template-apply-dialog__choices strong {
  color: #34445c;
  font-size: 0.76rem;
}

.document-layout-template-apply-dialog__choices span {
  color: #758093;
  font-size: .72rem;
  line-height: 1.45;
}

/* user_app/styles/shared_pagination.css */

.basket-fly-item {
  position: fixed;
  z-index: 9999;
  display: flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgb(24 24 27);
  color: white;
  font-size: 1.125rem;
  font-weight: 700;
  box-shadow: 0 16px 36px rgba(24, 24, 27, 0.18);
  pointer-events: none;
  animation: basket-fly 880ms cubic-bezier(0.2, 0.86, 0.28, 1) forwards;
}

@keyframes basket-fly {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(var(--fly-dx), var(--fly-dy)) scale(0.16);
    opacity: 0;
  }
}

@keyframes basket-pop {
  0% { transform: scale(1); }
  50% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

@keyframes basket-drawer-scale-in {
  from {
    opacity: 0;
    transform: scale(0.94);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes basket-drawer-scale-out {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.94);
  }
}

.pagination-bar {
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.resource-pagination-bar {
  margin-top: 1rem;
}

.pagination-summary,
.pagination-jump {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  border-radius: 999px;
  background: var(--apple-control);
  color: var(--apple-secondary);
  font-size: 0.84rem;
  font-weight: 650;
  line-height: 1;
  box-shadow: var(--apple-control-shadow);
}

.pagination-summary {
  padding: 0 0.9rem;
}

.pagination-jump {
  gap: 0.38rem;
  padding: 0.25rem 0.32rem 0.25rem 0.82rem;
}

.pagination-jump__label {
  white-space: nowrap;
}

.pagination-jump input.pagination-jump__input {
  width: 3.35rem;
  min-height: 2rem !important;
  height: 2rem;
  border: 0 !important;
  border-radius: 999px;
  background: var(--apple-card) !important;
  color: var(--apple-text) !important;
  font-size: 0.86rem;
  font-weight: 700;
  padding: 0 0.35rem;
  text-align: center;
  box-shadow: var(--apple-control-shadow);
  transition:
    box-shadow 180ms var(--motion-apple),
    transform 180ms var(--motion-apple),
    background-color 180ms var(--motion-apple);
}

.pagination-jump input.pagination-jump__input::-webkit-outer-spin-button,
.pagination-jump input.pagination-jump__input::-webkit-inner-spin-button {
  margin: 0;
  appearance: none;
}

.pagination-jump input.pagination-jump__input {
  appearance: textfield !important;
  background-color: var(--apple-card) !important;
}

.pagination-jump input.pagination-jump__input:focus {
  outline: 0 !important;
  border: 0 !important;
  box-shadow: var(--apple-focus-ring), var(--apple-control-shadow) !important;
}

.pagination-jump__btn {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--apple-blue);
  color: white;
  padding: 0 0.78rem;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: var(--apple-shadow);
  transition:
    background-color 180ms var(--motion-apple),
    box-shadow 180ms var(--motion-apple),
    transform 180ms var(--motion-apple);
}

.pagination-jump__btn:hover {
  background: var(--apple-blue-hover);
  transform: translateY(-1px);
}

.pagination-jump__btn:active {
  background: var(--apple-blue-pressed);
  transform: translateY(0) scale(0.985);
}

.pagination-jump__btn:focus-visible {
  outline: 0;
  box-shadow: var(--apple-focus-ring), var(--apple-shadow);
}

.page-btn,
.resource-action,
.basket-item__btn {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 1rem;
}

.pagination-home-btn {
  min-width: 4rem;
  font-size: 0.84rem;
  font-weight: 700;
}

/* user_app/styles/resource_center_shell.css */
.resource-center-shell { min-width: 0; border: 1px solid #e5eaf0; border-radius: 16px; background: #fff; color: #34445c; overflow: hidden; }
.resource-center-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; padding: 1.65rem 1.8rem 1.35rem; border-bottom: 1px solid #e5eaf0; }
.resource-center-header h2 { margin: 0; color: #243247; font-size: 1.38rem; font-weight: 650; line-height: 1.4; letter-spacing: -.035em; }
.resource-center-header p { margin: .4rem 0 0; color: #758093; font-size: .78rem; line-height: 1.7; }
.resource-center-header > div:first-child { min-width: 0; }
.resource-center-header #resourceAdminTriggerWrap { flex-shrink: 0; }
.resource-center-results { min-width: 0; padding: 0 1.8rem 1.5rem; }
.resource-center-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; padding: 1rem 0; color: #758093; font-size: .72rem; line-height: 1.6; }
.resource-center-meta #resourcePaginationMeta { flex-shrink: 0; color: #8995a6; }
.resource-center-shell .resource-list > .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; min-height: 17rem; padding: 2rem; color: #758093; font-size: .78rem; text-align: center; }
.resource-center-shell .empty-state strong { color: #34445c; font-size: .95rem; font-weight: 600; }
.resource-center-shell .empty-state p { margin: 0; line-height: 1.8; }
.resource-center-shell .resource-pagination-bar { flex-wrap: wrap; gap: .4rem; padding-top: 1.25rem; }
.resource-center-shell .page-btn, .resource-center-shell .pagination-jump__btn { border: 1px solid #e5eaf0; border-radius: 6px; background: #fff; color: #687c96; box-shadow: none; transform: none; font-size: .75rem; }
.resource-center-shell .page-btn.is-current { border-color: #c9dbef; background: #edf4fc; color: #285c99; }
.resource-center-shell .page-btn:disabled { opacity: .45; cursor: default; }
.resource-center-shell .pagination-summary, .resource-center-shell .pagination-jump { color: #758093; font-size: .72rem; }
.resource-center-shell .pagination-jump__input { border: 1px solid #dce4ef; border-radius: 6px; background: #fff; }
.resource-center-shell button:focus-visible, .resource-center-shell input:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
@media (max-width: 700px) {
  .resource-center-header { gap: .8rem; padding: 1.25rem; }
  .resource-center-results { padding: 0 1.25rem 1.25rem; }
  .resource-center-meta { flex-wrap: wrap; }
  .resource-center-meta #resourcePaginationMeta { display: none; }
}

/* user_app/styles/resource_center_filters.css */
.resource-center-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1rem; padding: 1.15rem 1.8rem; border-bottom: 1px solid #e5eaf0; }
.resource-center-categories { display: flex; flex: 0 0 auto; align-items: center; gap: .3rem; }
.resource-center-categories .resource-category-tab { min-height: 2.25rem; padding: .45rem .8rem; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #758093; font-size: .78rem; font-weight: 550; white-space: nowrap; cursor: pointer; box-shadow: none; transform: none; }
.resource-center-categories .resource-category-tab:hover { color: #285c99; background: #f6f8fb; }
.resource-center-categories .resource-category-tab.is-active { color: #285c99; background: #eaf2fc; }
.resource-center-search { display: flex; flex: 1 1 24rem; align-items: center; justify-content: flex-end; gap: .5rem; max-width: 36rem; }
.resource-center-search__field { display: flex; flex: 1 1 14rem; align-items: center; gap: .6rem; min-width: 0; height: 2.35rem; margin: 0; padding: 0 .75rem; border: 1px solid #dce4ef; border-radius: 7px; background: #f9fafc; }
.resource-center-search__field > svg { flex: 0 0 1rem; color: #8b99ae; }
.resource-center-search__field:focus-within { border-color: #87add7; background: #fff; box-shadow: 0 0 0 2px #edf4fc; }
.resource-center-search__field #resourceRailKeywordInput { width: 100%; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0 !important; border-radius: 0; outline: 0 !important; background: transparent !important; box-shadow: none !important; color: #34445c; font-size: .78rem; }
.resource-center-search__field input::placeholder { color: #8b99ae; }
.resource-center-button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .4rem; min-height: 2.35rem; padding: .5rem .85rem; border: 1px solid #d9e2ed; border-radius: 8px; background: #fff; color: #365b87; font-size: .78rem; font-weight: 600; white-space: nowrap; cursor: pointer; box-shadow: none; transform: none; }
.resource-center-button:hover { background: #f2f6fb; border-color: #becfe4; }
.resource-center-button--primary { border-color: #285c99; background: #285c99; color: #fff; }
.resource-center-button--primary:hover { border-color: #204d84; background: #204d84; }
.resource-center-reset { flex: 0 0 auto; min-height: 2.35rem; padding: .4rem .25rem; border: 0; background: transparent; color: #758093; font-size: .72rem; cursor: pointer; white-space: nowrap; }
.resource-center-reset:hover { color: #285c99; }
@media (max-width: 700px) {
  .resource-center-filters { gap: .9rem; padding: 1rem 1.25rem; }
  .resource-center-categories { width: 100%; justify-content: space-between; }
  .resource-center-search { flex-basis: 100%; max-width: none; }
  .resource-center-categories .resource-category-tab { padding: .4rem .6rem; }
}

/* user_app/styles/resource_catalog_cards.css */
.resource-toolbar,
.knowledge-toolbar-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.data-command-bar {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.knowledge-card__title {
  margin: 0;
  color: rgb(24 24 27);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.knowledge-card__meta {
  margin-top: 0.75rem;
  color: rgb(113 113 122);
  font-size: 0.875rem;
}

.resource-detail-card {
  padding: 1.25rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 58%, transparent);
  box-shadow: none;
}

.resource-center-shell .resource-list { gap: .65rem; }
.resource-center-shell .resource-card-shell {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.1rem;
  border: 1px solid #e5eaf0 !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important;
}
.resource-center-shell .resource-card { display: flex; flex-direction: row; align-items: flex-start; gap: .9rem; min-width: 0; }
.resource-center-shell .resource-card__badge {
  display: grid; flex: 0 0 44px; width: 44px; height: 50px; place-items: center; overflow: hidden;
  border: 1px solid #e4eaf2; border-radius: 8px; background: #f3f6fa; color: #526986; font-size: .65rem; font-weight: 750; letter-spacing: .025em;
}
.resource-center-shell .resource-card__badge--word { background: #eff5fc; border-color: #dfeaf7; color: #285c99; }
.resource-center-shell .resource-card__body { flex: 1; min-width: 0; }
.resource-center-shell .resource-card__title { margin: 0; color: #34445c !important; font-size: .92rem; font-weight: 650; line-height: 1.6; overflow-wrap: anywhere; }
.resource-center-shell .resource-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; margin-top: .3rem; color: #758093 !important; }
.resource-center-shell :is(.resource-meta-pill, .resource-category-pill) {
  min-height: 0; padding: 0; border: 0; border-radius: 0; background: none; color: #758093; font-size: .72rem; font-weight: 400; line-height: 1.6;
}
.resource-center-shell .resource-category-pill { gap: .3rem; color: #526986; }
.resource-center-shell .resource-category-pill .brand-tag__icon { display: inline-flex; }
.resource-center-shell .resource-category-pill svg { width: .85rem; height: .85rem; }
.resource-center-shell .resource-card__desc { margin-top: .4rem; color: #758093; font-size: .78rem; line-height: 1.6; overflow-wrap: anywhere; }
.resource-center-shell .resource-card__actions { display: flex; flex-direction: row; align-items: center; justify-content: flex-end; gap: .4rem; flex-wrap: wrap; margin: 0; }
.resource-center-shell .resource-card__actions .resource-action {
  width: auto; min-height: 2rem; padding: .3rem .65rem; border: 1px solid #dbe3ed; border-radius: 7px; background: #fff !important;
  color: #34445c !important; font-size: .75rem; font-weight: 500; white-space: nowrap; box-shadow: none !important; transform: none !important; transition: background-color 150ms, border-color 150ms, color 150ms;
}
.resource-center-shell .resource-card__actions .resource-action--primary { background: #edf4fc !important; border-color: #d9e7f7; color: #285c99 !important; }
.resource-center-shell .resource-card__actions .resource-action--manage { padding-inline: .45rem; border-color: transparent; color: #758093 !important; }
.resource-center-shell .resource-card__actions .resource-action:hover:not(:disabled) { border-color: #b8cbe2; background: #f1f6fc !important; color: #285c99 !important; }
.resource-center-shell .resource-card__actions .resource-action--danger:hover:not(:disabled) { border-color: #f1d7d7; background: #fff5f5 !important; color: #ad4a4a !important; }
.resource-center-shell .resource-card__actions .resource-action:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
.resource-center-shell .resource-card__actions .resource-action:disabled { opacity: .45; cursor: not-allowed; }

@media (max-width: 1120px) {
  .resource-center-shell .resource-card-shell { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .resource-center-shell .resource-card__actions { justify-content: flex-start; padding-left: calc(44px + .9rem); }
}
@media (max-width: 520px) {
  .resource-center-shell .resource-card-shell { padding: .85rem; }
  .resource-center-shell .resource-card { gap: .65rem; }
  .resource-center-shell .resource-card__actions { padding-left: 0; }
  .resource-center-shell .resource-card__actions .resource-action { min-height: 2.25rem; padding-inline: .75rem; }
}

/* user_app/styles/resource_composer.css */
.admin-drawer--resource .admin-drawer__panel { border-left: 1px solid #dce4ef; border-radius: 16px 0 0 16px; background: #fff; color: #34445c; box-shadow: -12px 0 48px rgba(35, 48, 66, .12); backdrop-filter: none; }
.admin-drawer-backdrop:has(+ .admin-drawer--resource) { background: rgba(35, 48, 66, .3); backdrop-filter: none; }
.admin-drawer--resource .admin-drawer__header { padding: 1.4rem 1.5rem; border-color: #e5eaf0; }
.admin-drawer--resource .admin-drawer__title { color: #243247; font-size: 1.15rem; font-weight: 650; }
.admin-drawer--resource .admin-drawer__hint { color: #758093; font-size: .78rem; }
.admin-drawer--resource .admin-drawer__close { width: 2rem; height: 2rem; border-radius: 7px; background: #f4f7fb; color: #6c7e96; transform: none; }
.admin-drawer--resource .admin-drawer__body { padding: 1.5rem; }
.admin-drawer--resource .editor-card { padding: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.admin-drawer--resource .editor-grid { gap: 1.1rem; }
.admin-drawer--resource .editor-grid > .full-span { grid-column: 1 / -1; }
.admin-drawer--resource .editor-grid label > span { color: #526986; font-size: .78rem; font-weight: 550; }
.admin-drawer--resource .editor-grid :is(input:not([type="file"]), select, textarea) { border: 1px solid #dce4ef; border-radius: 7px; background: #f9fafc; color: #34445c; font-size: .8rem; box-shadow: none; }
.admin-drawer--resource .editor-grid textarea { min-height: 7rem; }
.admin-drawer--resource :is(.resource-draft-toolbar, .question-draft-toolbar) { display: flex; flex-direction: row; flex-wrap: wrap; gap: .6rem; }
.admin-drawer--resource :is(.question-draft-toolbar__upload, .question-action-pill, .soft-btn) { flex: 0 0 auto; width: auto; padding: .6rem .85rem; min-height: 2.35rem; border: 1px solid #dce4ef; border-radius: 7px; background: #fff !important; color: #365b87 !important; font-size: .78rem; font-weight: 550; box-shadow: none !important; transform: none !important; }
.admin-drawer--resource .question-dropzone { width: 100%; min-height: 8rem; padding: 1rem; border: 1px dashed #b9ccdf; border-radius: 9px; background: #f8fafc; transform: none; }
.admin-drawer--resource .question-dropzone__icon { width: 2rem; height: 2rem; border-radius: 7px; background: #eaf2fc; color: #285c99; }
.admin-drawer--resource .question-dropzone .question-dropzone__desc { max-width: 30rem; color: #758093; font-size: .72rem; font-weight: 400; }
.admin-drawer--resource .question-draft-toolbar__upload { background: #edf4fc; border-color: #d9e7f7; }
.admin-drawer--resource .question-draft-inline-note { border-radius: 7px; background: #f7f9fc; color: #758093; font-size: .75rem; }
.admin-drawer--resource .admin-drawer__footer { padding: 1rem 1.5rem; border-color: #e5eaf0; background: #fff; backdrop-filter: none; }
.admin-drawer--resource .admin-drawer__primary { flex: 1; border-color: #285c99; background: #285c99 !important; color: #fff !important; }
.admin-drawer--resource :is(button, input, select, textarea):focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
@media (max-width: 600px) {
  .admin-drawer--resource .admin-drawer__panel { border-radius: 0; }
  .admin-drawer--resource :is(.admin-drawer__header, .admin-drawer__body, .admin-drawer__footer) { padding: 1.1rem; }
}

/* user_app/styles/resource_preview_shell.css */
#resourceDetail { display: none !important; }
.resource-preview-open { overflow: hidden; }
.resource-preview-modal-backdrop,
.resource-preview-react-backdrop {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(35, 48, 66, 0.3);
}
.resource-preview-modal,
.resource-preview-react-frame {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  pointer-events: none;
}
.resource-preview-modal__panel,
.resource-preview-react-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 80rem;
  height: min(900px, 90dvh);
  min-height: 0;
  overflow: hidden;
  pointer-events: auto;
  border: 1px solid #dce3eb;
  border-radius: 16px;
  background: #fff;
  color: #34445c;
  box-shadow: 0 18px 56px rgba(35, 48, 66, 0.16);
}
.resource-preview-react-shell.is-open .resource-preview-react-panel,
.resource-preview-react-shell.is-open .resource-preview-react-backdrop {
  animation: resource-preview-appear 140ms ease-out both;
}
.resource-preview-react-shell.is-closing .resource-preview-react-panel,
.resource-preview-react-shell.is-closing .resource-preview-react-backdrop {
  opacity: 0;
  transition: opacity 140ms ease;
}
@keyframes resource-preview-appear { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .resource-preview-react-shell .resource-preview-react-panel,
  .resource-preview-react-shell .resource-preview-react-backdrop { animation: none; transition: none; }
}

/* user_app/styles/resource_preview_header.css */
.resource-preview-modal__header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid #e5eaf0;
}
.resource-preview-modal__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  color: #34445c;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.resource-preview-modal__meta { margin: 0.35rem 0 0; color: #758093; font-size: 0.8125rem; line-height: 1.6; }
.resource-preview-modal__chips { display: inline-flex; flex-wrap: wrap; gap: 0.4rem; }
.resource-preview-modal__chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.4rem;
  border: 1px solid #e5eaf0;
  border-radius: 4px;
  background: #f7f9fb;
  padding: 0.1rem 0.45rem;
  color: #758093;
  font-size: 0.6875rem;
  font-weight: 500;
}
.resource-preview-modal__actions { display: flex; flex: 0 0 auto; align-items: center; gap: 0.65rem; }
.resource-preview-modal__actions .resource-action {
  width: auto;
  white-space: nowrap;
  min-height: 2.25rem;
  border: 1px solid #285c99;
  border-radius: 8px;
  background: #285c99;
  padding: 0.45rem 0.85rem;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  box-shadow: none;
}
.resource-preview-modal__actions .resource-action:hover { background: #214e83; transform: none; }
.resource-preview-modal__close {
  display: inline-flex;
  flex: 0 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #dce3eb;
  border-radius: 8px;
  background: #fff;
  color: #758093;
  font-size: 1.35rem;
  box-shadow: none;
}
.resource-preview-modal__close:hover { background: #f5f8fb; color: #34445c; transform: none; }
.resource-preview-modal__actions button:focus-visible { outline: 2px solid #285c99; outline-offset: 3px; }
.resource-preview-modal__actions button:active { transform: none; }
.resource-preview-modal__body { flex: 1 1 auto; min-height: 0; overflow: hidden; padding: 0; }

/* user_app/styles/resource_preview_layout.css */
.resource-preview-layout {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.resource-preview-layout__sidebar {
  display: flex;
  width: 14rem;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 1.5rem;
  overflow-y: auto;
  border-right: 1px solid #e5eaf0;
  background: #fff;
  padding: 1.5rem 1.25rem;
}
.resource-preview-book__notes { min-width: 0; }
.resource-preview-book__notes + .resource-preview-book__notes { padding-top: 1.25rem; border-top: 1px solid #edf0f4; }
.resource-preview-book__notes-title { color: #34445c; font-size: 0.8125rem; font-weight: 650; }
.resource-preview-book__notes p {
  margin: 0.55rem 0 0;
  color: #758093;
  font-size: 0.75rem;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.resource-preview-layout__viewer {
  display: flex;
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  overflow: auto;
  overscroll-behavior: contain;
  background: #f2f5f8;
}
.resource-preview-empty span,
.resource-preview-loading span,
.resource-preview-note { color: #758093; font-size: 0.8125rem; }

/* user_app/styles/resource_preview_canvas.css */
.resource-preview-page { width: 100%; flex: 0 0 auto; padding: 1.75rem 2rem; }
.resource-preview-canvas {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow: visible;
  min-height: 32rem;
  background: transparent;
  padding: 0;
  transition: opacity 140ms ease;
}
.resource-preview-canvas.is-loading { opacity: 0.92; }
.resource-preview-canvas.is-loaded { opacity: 1; }
.resource-preview-canvas img { background: #fff; }
.resource-preview-page-stack { position: relative; width: min(100%, 52rem); margin-inline: auto; }
.resource-preview-layer {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
  border: 1px solid #e0e5eb;
  border-radius: 2px;
  box-shadow: 0 3px 12px rgba(35, 48, 66, 0.06);
  opacity: 1;
  transition: opacity 140ms ease;
}
.resource-preview-layer--incoming { position: absolute; inset: 0; opacity: 0; }
.resource-preview-canvas.is-transitioning .resource-preview-layer--incoming,
.resource-preview-canvas.is-transitioning .resource-preview-layer--active { opacity: 1; }

/* user_app/styles/resource_preview_document.css */
.resource-preview-doc {
  width: min(100%, 56rem);
  margin-inline: auto;
  border: 1px solid #e0e5eb;
  border-radius: 2px;
  background: #fff;
  padding: 2.25rem;
  color: #34445c;
  font-size: 0.9375rem;
  line-height: 1.95;
  min-height: 32rem;
  box-shadow: 0 3px 12px rgba(35, 48, 66, 0.06);
  overflow-wrap: anywhere;
}
.resource-preview-doc p { margin: 0; }
.resource-preview-doc p + p { margin-top: 0.9rem; }
.resource-preview-empty,
.resource-preview-loading {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: min(32rem, calc(100% - 2rem));
  margin: 2rem auto;
  border: 1px solid #e0e5eb;
  border-radius: 8px;
  background: #fff;
  padding: 1.5rem;
}
.resource-preview-empty strong,
.resource-preview-loading strong { color: #34445c; font-size: 0.9375rem; font-weight: 650; }
.resource-preview-note { margin: 0.9rem auto 0; width: min(100%, 56rem); border-radius: 6px; background: #e9eef4; padding: 0.75rem 1rem; line-height: 1.7; }

/* user_app/styles/resource_preview_toolbar.css */
.resource-floating-toolbar {
  position: sticky;
  bottom: 1rem;
  z-index: 4;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: max-content;
  max-width: calc(100% - 1.5rem);
  margin: 0 auto 1rem;
  border: 1px solid #dce3eb;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(35, 48, 66, 0.08);
  padding: 0.4rem;
}
.resource-floating-toolbar__btn {
  display: inline-flex;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 6px;
  background: #f1f5fa;
  padding: 0 0.6rem;
  color: #285c99;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.resource-floating-toolbar__btn:hover:not(:disabled) { background: #e7eef8; transform: none; }
.resource-floating-toolbar__btn:disabled { background: #f7f9fb; color: #a0a9b7; cursor: default; }
.resource-floating-toolbar__page { display: inline-flex; align-items: center; gap: 0.35rem; color: #758093; font-size: 0.75rem; white-space: nowrap; }
.resource-floating-toolbar__page input {
  width: 3rem;
  height: 2rem;
  border: 1px solid #dce3eb;
  border-radius: 6px;
  background: #fff;
  padding: 0.25rem;
  color: #34445c;
  text-align: center;
  font: inherit;
}
.resource-floating-toolbar button:focus-visible,
.resource-floating-toolbar input:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }

/* user_app/styles/resource_preview_responsive.css */
@media (max-width: 980px) {
  .resource-preview-layout { flex-direction: column; }
  .resource-preview-layout__sidebar { display: grid; order: 2; width: 100%; max-height: 8.5rem; grid-template-columns: 1fr 1fr; gap: 1.5rem; border-right: 0; border-top: 1px solid #e5eaf0; padding: 0.85rem 1.25rem; }
  .resource-preview-book__notes + .resource-preview-book__notes { border-top: 0; padding-top: 0; }
  .resource-preview-modal__header { align-items: flex-start; }
  .resource-preview-page { padding: 1.25rem; }
}
@media (max-width: 620px) {
  .resource-preview-modal, .resource-preview-react-frame { padding: 0.65rem; }
  .resource-preview-modal__panel, .resource-preview-react-panel { height: calc(100dvh - 1.3rem); }
  .resource-preview-modal__header { gap: 0.75rem; padding: 0.85rem 1rem; }
  .resource-preview-modal__title { font-size: 0.875rem; }
  .resource-preview-modal__actions { gap: 0.4rem; }
  .resource-preview-modal__actions .resource-action { padding-inline: 0.5rem; font-size: 0.75rem; }
  .resource-preview-page { padding: 0.85rem; }
  .resource-preview-doc { padding: 1.25rem; }
  .resource-floating-toolbar { gap: 0.4rem; bottom: 0.65rem; }
}

/* user_app/styles/knowledge_bundle.css */
/* user_app/styles/knowledge_catalog_workspace.css */
/* Knowledge catalog and reading surface share one quiet workspace. */
.knowledge-module { min-width: 0; min-height: 0; color: #34445c; }
.knowledge-console { min-width: 0; overflow: hidden; border: 1px solid #e5eaf0; border-radius: 16px; background: #fff; }
.knowledge-center-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; padding: 1.65rem 1.8rem 1.35rem; border-bottom: 1px solid #e5eaf0; }
.knowledge-center-header h2 { margin: 0; color: #243247; font-size: 1.38rem; font-weight: 650; line-height: 1.4; letter-spacing: -.035em; }
.knowledge-center-header p { margin: .4rem 0 0; color: #758093; font-size: .78rem; line-height: 1.7; }
.knowledge-center-header > div:first-child { min-width: 0; }
.knowledge-center-header #knowledgeAdminTriggerWrap { flex-shrink: 0; }
.knowledge-workspace { display: grid; grid-template-columns: clamp(15rem, 24%, 20rem) minmax(0, 1fr); height: calc(clamp(32rem, calc(100dvh - 14rem), 64rem) + 80pt); min-height: 0; }
.knowledge-catalog { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 1.15rem 1rem; border-right: 1px solid #e5eaf0; }
.knowledge-catalog__heading { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: 0 .2rem; }
.knowledge-catalog__heading h3 { margin: 0; flex-shrink: 0; color: #34445c; font-size: .82rem; font-weight: 650; }
.knowledge-catalog__heading #knowledgeMeta { color: #8995a6; font-size: .68rem; line-height: 1.6; text-align: right; }
.knowledge-reader-panel { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.knowledge-module .knowledge-reader { height: 100%; min-height: 0; border: 0 !important; border-radius: 0 !important; background: #fff !important; padding: 0 !important; box-shadow: none !important; overflow: hidden; }
@media (max-width: 900px) {
  .knowledge-workspace { grid-template-columns: minmax(0, 1fr); height: auto; }
  .knowledge-catalog { border-right: 0; border-bottom: 1px solid #e5eaf0; }
  .knowledge-catalog .knowledge-list { max-height: 12rem; }
  .knowledge-module .knowledge-reader { height: calc(max(32rem, 72dvh) + 80pt); }
}
@media (max-width: 600px) {
  .knowledge-console { border-radius: 12px; }
  .knowledge-center-header { padding: 1.1rem 1rem; gap: .75rem; }
  .knowledge-center-header h2 { font-size: 1.18rem; }
  .knowledge-center-header p { font-size: .73rem; }
  .knowledge-catalog { padding: 1rem .8rem; }
}

/* user_app/styles/knowledge_catalog_filters.css */
/* Compact catalog list, isolated from the shared resource/knowledge tree UI. */
.knowledge-catalog-search { display: grid; gap: .6rem; margin: 1rem 0; }
.knowledge-catalog-filters { display: flex; gap: .4rem; align-items: center; min-width: 0; }
.knowledge-list { display: flex; flex-direction: column; gap: .3rem; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 .15rem .15rem; }
.knowledge-catalog .knowledge-empty-list,
.knowledge-catalog .empty-state { border: 0; border-radius: 8px; background: #f8fafc; padding: 1.4rem .8rem; color: #758093; font-size: .78rem; line-height: 1.8; text-align: center; }

/* user_app/styles/knowledge_catalog_items.css */
/* One row per note; management actions never overlap the title. */
.knowledge-item { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-width: 0; border: 1px solid transparent; border-radius: 8px; background: #fff; text-align: left; box-shadow: none; transition: background-color 120ms ease, border-color 120ms ease; }
.knowledge-item:hover { background: #f7f9fc; }
.knowledge-item__trigger { display: flex; width: 100%; min-width: 0; align-items: flex-start; border: 0; border-radius: 8px; background: transparent; padding: .7rem .65rem; text-align: left; }
.knowledge-item__main { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: .3rem; }
.knowledge-item .knowledge-card__title { color: #34445c !important; font-size: .8rem; line-height: 1.65; font-weight: 580; overflow-wrap: anywhere; }
.knowledge-item.is-selected { border-color: #d5e3f3; background: #edf4fc; }
.knowledge-item.is-selected .knowledge-card__title { color: #285c99 !important; font-weight: 650; }

/* user_app/styles/knowledge_catalog_admin_actions.css */
/* Keep actions visible for both pointer and touch without covering text. */
.knowledge-item .knowledge-item__actions { position: static; display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; border: 0; border-radius: 0; background: transparent; box-shadow: none; gap: .6rem; margin: 0 .65rem 0 0; padding: 0; opacity: 1; pointer-events: auto; transform: none; }
.knowledge-item .knowledge-item__actions .soft-btn { min-height: 1.65rem; padding: .18rem .1rem; border: 0 !important; border-radius: 4px; background: transparent !important; color: #7c8899 !important; font-size: .68rem; font-weight: 500; box-shadow: none !important; transform: none !important; }
.knowledge-item .knowledge-item__actions .soft-btn:hover { color: #285c99 !important; }
.knowledge-item .knowledge-item__actions [data-action="delete-knowledge"]:hover { color: #ab4c46 !important; }

/* user_app/styles/knowledge_reader_controls.css */
.knowledge-reader {
  --knowledge-font-scale: 1;
  min-width: 0; padding: 0 !important; overflow: hidden;
  border: 1px solid #e5eaf0 !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important;
}
.knowledge-reader-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .35rem; }
.knowledge-reader .knowledge-reader-toolbar__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 2rem; min-width: 2rem; gap: .35rem;
  border: 1px solid #e0e6ee !important; border-radius: 7px; padding: .35rem .55rem; background: #fff !important;
  box-shadow: none !important; color: #52627a; font-size: .74rem; font-weight: 500; white-space: nowrap;
  transform: none !important; transition: background-color 140ms ease, border-color 140ms ease;
}
.knowledge-reader .knowledge-reader-toolbar__btn:hover:not(:disabled) { border-color: #c9d6e6 !important; background: #f5f8fc !important; color: #285c99; }
.knowledge-reader .knowledge-reader-toolbar__btn:focus-visible { outline: 2px solid #9bbbe1; outline-offset: 2px; }
.knowledge-reader .knowledge-reader-toolbar__btn--export { border-color: #d6e3f4 !important; color: #285c99; background: #f4f8fe !important; }
.knowledge-reader-toolbar__export-mark { font-size: 1rem; line-height: 1; }

/* user_app/styles/knowledge_catalog_search_controls.css */
/* Search fields and actions use the same scale as the resource center. */
.knowledge-module .knowledge-center-button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.25rem; flex-shrink: 0; padding: .45rem .7rem; border: 1px solid #dce3ec; border-radius: 8px; background: #fff; color: #34445c; font-size: .75rem; font-weight: 600; box-shadow: none; transition: background-color 120ms ease, border-color 120ms ease; }
.knowledge-module .knowledge-center-button:hover { border-color: #b9cada; background: #f5f8fc; }
.knowledge-module .knowledge-center-button--primary { border-color: #285c99; background: #285c99; color: #fff; }
.knowledge-module .knowledge-center-button--primary:hover { border-color: #214e83; background: #214e83; }
.knowledge-center-reset { flex-shrink: 0; padding: .4rem .2rem; border: 0; background: transparent; color: #758093; font-size: .73rem; }
.knowledge-center-reset:hover { color: #285c99; }
.knowledge-module :is(button, select, input):focus-visible { outline: 2px solid #9ab7d8; outline-offset: 2px; }
.knowledge-search-input-wrap { position: relative; display: flex; align-items: center; min-width: 0; border: 1px solid #dce3ec; border-radius: 8px; background: #fff; }
.knowledge-search-input-icon { position: absolute; left: .7rem; flex-shrink: 0; color: #8995a6; pointer-events: none; }
.knowledge-search-input-wrap:focus-within { border-color: #9ab7d8; box-shadow: 0 0 0 2px #edf3fa; }
.knowledge-module #knowledgeRailKeywordInput { width: 100%; min-width: 0; min-height: 2.3rem; border: 0 !important; border-radius: 8px !important; background: transparent !important; padding: .45rem .55rem .45rem 2.05rem; color: #34445c; font-size: .75rem; box-shadow: none !important; outline: none !important; }
.knowledge-module #knowledgeChapterSelect { flex: 1; width: 0; min-width: 0; min-height: 2.25rem; border: 1px solid #dce3ec !important; border-radius: 8px !important; background-color: #fff !important; padding: .4rem 1.4rem .4rem .6rem; color: #56667c; font-size: .72rem; box-shadow: none !important; }

/* user_app/styles/knowledge_catalog_typography.css */
.knowledge-card__kicker {
  display: block; max-width: 100%; overflow: hidden; color: #758093; font-size: .73rem; font-weight: 500;
  line-height: 1.5; text-overflow: ellipsis; white-space: nowrap;
}
.knowledge-card__summary { margin-top: .7rem; max-width: 78ch; color: #758093; font-size: .83rem; line-height: 1.7; }
.knowledge-card__summary--hero { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin-top: .65rem; font-size: .8rem; }
.knowledge-reader h1, .knowledge-reader h2, .knowledge-reader h3 { color: #34445c; letter-spacing: 0; }
.knowledge-card__title { min-width: 0; overflow: hidden; color: #34445c; font-size: .9rem; font-weight: 600; letter-spacing: 0; line-height: 1.55; overflow-wrap: anywhere; white-space: normal; }
.knowledge-card__title--hero { display: block; margin: 0; overflow: visible; color: #34445c !important; font-size: clamp(1.15rem, 1.4vw, 1.5rem); font-weight: 650; line-height: 1.4; }
.knowledge-card__chapter { margin-top: .3rem; color: #758093; font-size: .72rem; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }

/* user_app/styles/knowledge_reader_shell.css */
.knowledge-reader-shell {
  display: grid; height: 100%; min-height: 0; grid-template-rows: auto minmax(0, 1fr);
}
.knowledge-reader-hero { padding: 1.15rem 1.3rem 1rem; border-bottom: 1px solid #e5eaf0; background: #fff; }
.knowledge-reader-hero__title-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .85rem; }
.knowledge-reader-heading { min-width: 0; }
.knowledge-reader-meta-line { display: flex; flex-wrap: wrap; gap: .4rem .7rem; margin-top: .55rem; }
.knowledge-reader-meta-line .knowledge-meta-pill {
  display: inline-flex; align-items: center; gap: .3rem; min-width: 0; max-width: 100%; color: #758093;
  min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: .73rem; font-weight: 400; line-height: 1.5;
}
.knowledge-meta-pill + .knowledge-meta-pill::before { content: ""; width: 3px; height: 3px; margin-right: .3rem; border-radius: 50%; background: #c6d0dd; flex: 0 0 auto; }
.knowledge-meta-pill__icon { flex: 0 0 auto; }
.knowledge-meta-pill__icon:empty { display: none; }
.knowledge-meta-pill > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.knowledge-outline { height: 100%; min-height: 0; overflow-y: auto; overscroll-behavior: contain; border-right: 1px solid #e5eaf0; background: #fbfcfe; padding: .95rem .65rem; }
.knowledge-outline__title { margin-bottom: .6rem; padding-inline: .5rem; color: #758093; font-size: .72rem; font-weight: 600; }
.knowledge-outline__items { display: flex; flex-direction: column; gap: .2rem; }
.knowledge-outline__item {
  width: 100%; border: 0; border-radius: 7px; background: transparent; padding: .45rem .5rem; color: #66758a;
  font-size: .78rem; line-height: 1.5; text-align: left; overflow-wrap: anywhere; transition: background-color 140ms ease, color 140ms ease;
}
.knowledge-outline__item:hover { background: #f0f4f9; color: #34445c; }
.knowledge-outline__item.is-active { background: #eaf2fc; color: #285c99; font-weight: 600; }
.knowledge-outline__item.is-active:hover { background: #e1ecfa; }
.knowledge-outline__item--secondary { padding-left: 1.1rem; font-size: .74rem; }
.knowledge-outline__item:focus-visible { outline: 2px solid #9bbbe1; outline-offset: 1px; }
.knowledge-outline__item .katex { max-width: 100%; font-size: 1em; white-space: normal; }
.knowledge-outline__item .katex-html { white-space: normal; }
.knowledge-outline__empty, .knowledge-empty-list, .knowledge-empty-reader { color: #758093; font-size: .8rem; line-height: 1.7; }
.knowledge-empty-list { display: flex; flex-direction: column; gap: .35rem; padding: 2rem 1rem; text-align: center; }
.knowledge-empty-list strong { color: #52627a; font-size: .84rem; font-weight: 600; }
.knowledge-empty-reader { display: flex; height: 100%; min-height: 18rem; align-items: center; justify-content: center; flex-direction: column; gap: .65rem; padding: 2rem; text-align: center; background: #fff; }
.knowledge-empty-reader__icon { box-sizing: content-box; color: #8ea4bd; border: 1px solid #e5eaf0; border-radius: 12px; padding: .8rem; margin-bottom: .3rem; background: #fafcfe; }
.knowledge-empty-reader .knowledge-card__meta { max-width: 25rem; margin: 0; color: #758093; }

/* user_app/styles/knowledge_reader_layout.css */
.knowledge-reader-title-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: .2rem .7rem; }
.knowledge-reader-title-line .knowledge-card__kicker { white-space: normal; overflow-wrap: anywhere; }
.knowledge-reader-content-grid {
  display: grid; height: 100%; min-height: 0; overflow: hidden;
  grid-template-columns: minmax(160px, min(var(--knowledge-outline-width, 256px), 512px, calc(100% - 280px))) 0 minmax(0, 1fr);
}
.knowledge-outline-resizer {
  position: relative; z-index: 1; align-self: stretch; width: 10px; transform: translateX(-50%);
  cursor: col-resize; touch-action: none; outline: none;
}
.knowledge-outline-resizer::after {
  content: ""; position: absolute; top: 50%; left: 4px; width: 3px; height: 32px;
  transform: translateY(-50%); border-radius: 3px; background: #b8c7d9;
}
.knowledge-outline-resizer:hover, .knowledge-outline-resizer:focus-visible { background: #eaf2fc; }
.knowledge-outline-resizer:focus-visible { outline: 2px solid #9bbbe1; outline-offset: -2px; }
.knowledge-outline-resizer:hover::after, .is-outline-resizing .knowledge-outline-resizer::after { background: #397bbd; }
.knowledge-reader.is-outline-resizing, .knowledge-reader.is-outline-resizing * { cursor: col-resize !important; user-select: none !important; }
@media (max-width: 1200px) { .knowledge-outline-resizer { display: none; } }

/* user_app/styles/knowledge_reader_typography.css */
.knowledge-reader-main { min-width: 0; min-height: 0; width: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 1.4rem clamp(1rem, 2vw, 2.2rem) 2.2rem; }
.knowledge-inline-note { max-width: 78ch; margin: 0 auto 1rem; border: 1px solid #e5eaf0; border-radius: 8px; background: #f8fafc; padding: .65rem .8rem; color: #758093; font-size: .78rem; line-height: 1.6; }
.knowledge-body--reader { max-width: 78ch; margin-inline: auto; font-size: calc(1rem * var(--knowledge-font-scale)); }
.knowledge-section-title {
  margin: 1.8rem 0 .85rem; padding-bottom: .55rem; border-bottom: 1px solid #e5eaf0; color: #34445c;
  font-size: calc(1.16rem * var(--knowledge-font-scale)); font-weight: 650; letter-spacing: 0; scroll-margin-top: 1.25rem;
}
.knowledge-body--reader > .knowledge-section-title:first-child { margin-top: 0; }
.knowledge-subsection-title {
  display: flex; align-items: center; gap: .55rem; margin: 1.5rem 0 .7rem; color: #34445c;
  font-size: calc(1.02rem * var(--knowledge-font-scale)); font-weight: 600; letter-spacing: 0; scroll-margin-top: 1.25rem;
}
.knowledge-subsection-title .inline-block { width: .35rem !important; height: .35rem !important; border-radius: 2px; background: #9ab0ca !important; }
.knowledge-paragraph { margin: .8rem 0; color: #43526a; font-size: calc(.97rem * var(--knowledge-font-scale)); line-height: 1.95; overflow-wrap: break-word; }
.knowledge-list-body { margin: .8rem 0; padding-left: 1.35rem; color: #43526a; font-size: calc(.96rem * var(--knowledge-font-scale)); line-height: 1.85; }
.knowledge-list-body li + li { margin-top: .4rem; }

/* user_app/styles/knowledge_reader_math_blocks.css */
.knowledge-quote {
  margin: 1rem 0;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 68%, transparent);
  border-radius: 0.85rem;
  background: rgba(246, 246, 248, 0.95);
  padding: 0.85rem 0.95rem;
}

.knowledge-math-card {
  margin: 1.2rem 0;
  overflow-x: auto;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 70%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--apple-bg) 60%, white);
  padding: 1.1rem 0.95rem;
  text-align: center;
}

.markdown-math-block {
  margin: 0.85rem 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  padding: 0.25rem 0;
  scrollbar-width: none;
  text-align: center;
}

.markdown-math-block::-webkit-scrollbar {
  display: none;
}

.markdown-math-block__inner {
  display: inline-block;
  max-width: 100%;
  color: inherit;
  font-size: 1.02em;
  line-height: 1.7;
  text-align: initial;
}

.markdown-math-block__inner .katex-display {
  margin: 0;
}


/* user_app/styles/knowledge_reader_admonitions.css */
.knowledge-admonition {
  margin: 1rem 0;
  border-radius: 0.9rem;
  padding: 0.85rem 0.95rem;
}

.knowledge-admonition--tip {
  border: 0.5px solid rgba(159, 214, 187, 0.6);
  background: rgba(238, 248, 242, 0.92);
}

.knowledge-admonition--warning {
  border: 0.5px solid rgba(236, 204, 146, 0.72);
  background: rgba(253, 247, 236, 0.96);
}

.knowledge-admonition--note {
  border: 0.5px solid rgba(210, 210, 215, 0.72);
  background: rgba(247, 247, 249, 0.95);
}

.markdown-svg-block {
  margin: 1.25rem 0;
  overflow-x: auto;
  padding: 0.5rem 0;
}

.knowledge-body img,
.content-block img {
  margin-inline: auto;
  display: block;
  max-width: 100%;
}


/* user_app/styles/knowledge_reader_proofs.css */
.knowledge-proof {
  margin: 1rem 0;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 72%, transparent);
  border-radius: 1rem;
  background: rgba(251, 251, 253, 0.96);
  overflow: hidden;
}

.knowledge-proof summary {
  cursor: pointer;
  list-style: none;
  padding: 0.85rem 1rem;
  color: var(--apple-text);
  font-size: 0.92rem;
  font-weight: 740;
}

.knowledge-proof summary::-webkit-details-marker {
  display: none;
}

.knowledge-proof summary::after {
  content: "+";
  float: right;
  color: var(--apple-secondary);
  font-weight: 700;
}

.knowledge-proof[open] summary {
  border-bottom: 0.5px solid color-mix(in srgb, var(--apple-border) 64%, transparent);
  background: rgba(246, 246, 248, 0.82);
}

.knowledge-proof[open] summary::after {
  content: "-";
}

.knowledge-proof__body {
  padding: 0.15rem 1rem 1rem;
}


/* user_app/styles/knowledge_math_widgets.css */
.math-widget-mount,
.math-widget-error {
  margin: 1.15rem 0;
}

.math-widget-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr));
  gap: 1.25rem;
  align-items: start;
  margin: 1.15rem 0;
}

.math-widget-grid > .math-widget-mount,
.math-widget-grid > .math-widget-error {
  min-width: 0;
  margin: 0;
}

.math-widget-error {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-danger) 42%, transparent);
  border-radius: 1rem;
  background: var(--apple-danger-bg);
  padding: 0.85rem 1rem;
  color: #a31d1a;
  font-size: 0.85rem;
  line-height: 1.6;
}


/* user_app/styles/knowledge_function_plot.css */
.function-plot-widget {
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 76%, transparent);
  border-radius: 1.15rem;
  background: var(--apple-card);
  padding: 1rem;
  box-shadow: var(--apple-shadow);
}

.function-plot-widget__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.function-plot-widget__label {
  color: var(--apple-text);
  font-size: 0.9rem;
  font-weight: 760;
}

.function-plot-widget code {
  min-width: 0;
  border-radius: 999px;
  background: var(--apple-control);
  padding: 0.3rem 0.65rem;
  color: #3f3f46;
  font-size: 0.78rem;
  white-space: normal;
}

.function-plot-widget__canvas {
  width: 100%;
  min-height: 360px;
  overflow-x: auto;
}

.function-plot-widget__canvas svg {
  max-width: 100%;
}

.function-plot-widget__controls {
  display: grid;
  gap: 0.8rem;
  margin-top: 0.85rem;
}

.function-plot-widget__control {
  display: grid;
  gap: 0.45rem;
}

.function-plot-widget__control span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #52525b;
  font-size: 0.82rem;
}

.function-plot-widget__control strong {
  color: var(--apple-text);
}

.function-plot-widget__control output {
  font-variant-numeric: tabular-nums;
}

.function-plot-widget__control input[type="range"] {
  width: 100%;
  accent-color: var(--apple-blue);
}


/* user_app/styles/knowledge_workbench.css */
.knowledge-workbench__layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 1rem; align-items: stretch; }
.knowledge-draft-modal-backdrop { background: rgba(35, 48, 66, .3); backdrop-filter: none; transition-duration: 140ms; }
.knowledge-draft-modal .knowledge-draft-modal__panel { width: min(96vw, 96rem); height: min(calc(100dvh - 2rem), 70rem); max-height: 70rem; min-height: 0; border: 1px solid #e5eaf0; border-radius: 16px; background: #fff; box-shadow: 0 16px 56px rgba(35, 48, 66, .14); backdrop-filter: none; transform: none; transition: opacity 140ms ease; }
.knowledge-draft-modal.is-open .knowledge-draft-modal__panel { opacity: 1; animation: none; }
.knowledge-draft-modal.is-closing .knowledge-draft-modal__panel { opacity: 0; animation: none; pointer-events: none; }
.knowledge-draft-modal :is(.knowledge-draft-modal__header, .knowledge-draft-modal__footer) { padding: 1rem 1.25rem; border-color: #e5eaf0; background: #fff; gap: .75rem; }
.knowledge-draft-modal .question-edit-modal__title { color: #34445c; font-size: 1.05rem; font-weight: 650; }
.knowledge-draft-modal .question-edit-modal__close { width: 2rem; height: 2rem; border-radius: 8px; background: #f4f7fb; color: #758093; transform: none; }
.knowledge-draft-modal .knowledge-draft-modal__body { overflow: hidden; padding: 1rem 1.25rem; background: #fff; }
.knowledge-draft-modal .knowledge-workbench { height: 100%; padding: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.knowledge-draft-modal .knowledge-workbench__layout { height: 100%; min-height: 0; }
.knowledge-draft-modal .knowledge-workbench__editor { min-width: 0; min-height: 0; overflow-y: auto; padding-right: .25rem; }
.knowledge-draft-modal .editor-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .8rem; align-content: start; }
.knowledge-draft-modal .editor-grid > .knowledge-draft-field--half { grid-column: span 3; }
.knowledge-draft-modal .editor-grid > .knowledge-draft-field--third { grid-column: span 2; }
.knowledge-draft-modal .editor-grid > .full-span { grid-column: 1 / -1; }
.knowledge-draft-modal .editor-grid label { min-width: 0; gap: .4rem; }
.knowledge-draft-modal .editor-grid label > span { color: #526986; font-size: .76rem; font-weight: 550; }
.knowledge-draft-modal .editor-grid :is(input:not([type="file"]), select, textarea) { width: 100%; min-width: 0; border: 1px solid #dce4ef; border-radius: 8px; padding: .65rem .75rem; background: #f9fafc; color: #34445c; font-size: .8rem; box-shadow: none; }
.knowledge-draft-modal .editor-grid :is(input, select, textarea):focus { border-color: #8dadd2; outline: 2px solid #e7eff9; outline-offset: 1px; background: #fff; }
.knowledge-draft-modal .question-draft-inline-note { margin: 0; padding: .6rem .75rem; border-radius: 8px; background: #f5f8fc; color: #758093; font-size: .74rem; }
.knowledge-preview-card__body > .empty-state { display: grid; height: 100%; min-height: 8rem; place-items: center; margin: 0; padding: 1rem; border: 0; border-radius: 0; background: transparent; color: #8995a6; font-size: .82rem; box-shadow: none; }
.knowledge-body-field { display: flex; min-height: 0; flex-direction: column; }
.knowledge-draft-modal .knowledge-body-textarea { min-height: 20rem !important; line-height: 1.7; font-family: "Cascadia Code", Consolas, monospace; }
.knowledge-workbench__preview { display: flex; min-width: 0; min-height: 0; flex-direction: column; gap: .5rem; overflow: hidden; border: 1px solid #e5eaf0; border-radius: 10px; background: #f9fafc; padding: 1rem; }
.knowledge-preview-card__eyebrow { color: #34445c; font-size: .85rem; font-weight: 650; }
.knowledge-preview-card__meta { color: #758093; font-size: .74rem; }
.knowledge-preview-card__body { flex: 1 1 auto; min-height: 12rem; overflow: auto; border: 1px solid #e5eaf0; border-radius: 8px; background: #fff; padding: 1rem; color: #34445c; overflow-wrap: anywhere; }
.knowledge-draft-modal__footer { justify-content: space-between; }
.knowledge-draft-modal__footer-hint { color: #758093; font-size: .75rem; line-height: 1.5; }
.knowledge-draft-modal__footer-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.knowledge-draft-modal :is(.soft-btn, .question-action-pill) { width: auto; min-height: 2.2rem; padding: .5rem .8rem; border: 1px solid #dce4ef; border-radius: 8px; background: #fff !important; color: #365b87 !important; font-size: .77rem; font-weight: 550; box-shadow: none !important; transform: none !important; }
.knowledge-draft-modal .knowledge-draft-modal__footer-actions :is(.admin-drawer__primary, .admin-drawer__secondary) { flex: 0 0 auto; min-width: 4.6rem; }
.knowledge-draft-modal :is(.admin-drawer__primary, .question-action-pill--primary) { border-color: #285c99; background: #285c99 !important; color: #fff !important; }
.knowledge-draft-modal :is(button, a):focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
@media (max-width: 1100px) {
  .knowledge-draft-modal .knowledge-draft-modal__body { overflow-y: auto; }
  .knowledge-draft-modal :is(.knowledge-workbench, .knowledge-workbench__layout) { height: auto; }
  .knowledge-draft-modal .knowledge-workbench__layout { grid-template-columns: minmax(0, 1fr); }
  .knowledge-draft-modal .knowledge-workbench__editor { overflow: visible; padding: 0; }
  .knowledge-draft-modal .knowledge-workbench__preview { max-height: 40rem; min-height: 22rem; }
}
@media (max-width: 720px) {
  .knowledge-draft-modal .knowledge-draft-modal__panel { width: 100%; height: calc(100dvh - .8rem); border-radius: 12px; }
  .knowledge-draft-modal :is(.knowledge-draft-modal__header, .knowledge-draft-modal__body, .knowledge-draft-modal__footer) { padding: .9rem; }
  .knowledge-draft-modal .editor-grid { grid-template-columns: minmax(0, 1fr); }
  .knowledge-draft-modal .editor-grid > :is(.knowledge-draft-field--half, .knowledge-draft-field--third, .knowledge-draft-source-action) { grid-column: auto; }
  .knowledge-draft-modal__footer { align-items: stretch; flex-direction: column; }
  .knowledge-draft-modal__footer-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .knowledge-draft-modal .knowledge-draft-modal__footer-actions button { min-width: 0; }
}

/* user_app/styles/knowledge_workbench_diagnostics.css */
.knowledge-preview-card__diagnostics { display: flex; flex: 0 1 auto; max-height: 10rem; overflow-y: auto; flex-direction: column; gap: .4rem; padding-top: .35rem; }
.knowledge-preview-card__diagnostics-title { color: #526986; font-size: .76rem; font-weight: 600; }
.knowledge-diagnostic-chip, .knowledge-diagnostic-row { border: 1px solid #e5eaf0; border-radius: 7px; background: #fff; padding: .5rem .65rem; color: #758093; font-size: .74rem; line-height: 1.55; overflow-wrap: anywhere; }
.knowledge-diagnostic-row.is-warning { border-color: #eedeaf; background: #fdf9ef; color: #94691d; }
.knowledge-diagnostic-row.is-error { border-color: #efd0cd; background: #fdf5f4; color: #b3473d; }

/* user_app/styles/knowledge_ai_prompt.css */
.knowledge-ai-stepper { display: grid; grid-template-columns: auto minmax(.5rem, 1fr) auto minmax(.5rem, 1fr) auto; align-items: center; margin: 0 0 1.3rem; }
.knowledge-ai-stepper__item { display: inline-flex; align-items: center; gap: .5rem; border: 0; border-radius: 7px; background: transparent; padding: .2rem; color: #758093; font-size: .79rem; font-weight: 550; white-space: nowrap; cursor: pointer; }
.knowledge-ai-stepper__item:disabled { cursor: default; }
.knowledge-ai-stepper__number { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid #e5eaf0; border-radius: 7px; background: #f5f7fa; color: #758093; font-size: .7rem; font-weight: 600; }
.knowledge-ai-stepper__item.is-active, .knowledge-ai-stepper__item.is-complete { color: #285c99; }
.knowledge-ai-stepper__item.is-active .knowledge-ai-stepper__number { border-color: #285c99; background: #285c99; color: #fff; }
.knowledge-ai-stepper__item.is-complete .knowledge-ai-stepper__number { border-color: #d8e5f5; background: #edf4fc; color: #285c99; }
.knowledge-ai-stepper__line { height: 1px; margin: 0 .7rem; background: #e5eaf0; }
.knowledge-ai-stepper__line.is-complete { background: #b9cde7; }
.knowledge-ai-config-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
.knowledge-ai-field { display: flex; min-width: 0; flex-direction: column; gap: .4rem; }
.knowledge-ai-field--half { grid-column: span 3; }
.knowledge-ai-field--third { grid-column: span 2; }
.knowledge-ai-field--wide { grid-column: 1 / -1; }
.knowledge-ai-field__label { color: #526986; font-size: .78rem; font-weight: 550; }
.knowledge-ai-field small { color: #758093; font-size: .74rem; line-height: 1.5; }
.knowledge-ai-field :is(input, select, textarea), .knowledge-ai-code-area, .knowledge-ai-response-area { width: 100%; min-width: 0; border: 1px solid #dce4ef; border-radius: 8px; background: #f9fafc; color: #34445c; font-size: .8rem; outline: none; box-shadow: none; transition: border-color 120ms ease; }
.knowledge-ai-field :is(input, select) { min-height: 2.45rem; padding: .55rem .75rem; }
.knowledge-ai-field textarea, .knowledge-ai-code-area, .knowledge-ai-response-area { resize: vertical; padding: .75rem; line-height: 1.7; }
.knowledge-ai-field :is(input, select, textarea):focus, .knowledge-ai-code-area:focus, .knowledge-ai-response-area:focus { border-color: #8dadd2; background: #fff; box-shadow: 0 0 0 2px #e7eff9; }
.knowledge-ai-code-area, .knowledge-ai-response-area { min-height: clamp(18rem, 44vh, 27rem); font-family: "Cascadia Code", Consolas, monospace; font-size: .82rem; }
.knowledge-ai-workflow .question-action-pill { width: auto; min-height: 2.25rem; border: 1px solid #dce4ef; border-radius: 8px; padding: .5rem .85rem; background: #fff !important; color: #365b87 !important; font-size: .78rem; font-weight: 550; box-shadow: none !important; transform: none !important; }
.knowledge-ai-workflow .question-action-pill--primary { border-color: #285c99; background: #285c99 !important; color: #fff !important; }
.knowledge-ai-workflow .question-action-pill:hover:not(:disabled) { border-color: #aac1dc; }
.knowledge-ai-workflow .question-action-pill:disabled { cursor: not-allowed; opacity: .45; }
.knowledge-ai-workflow button:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
.knowledge-ai-pane__actions { position: sticky; bottom: -1.25rem; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.15rem; border-top: 1px solid #e5eaf0; padding: 1rem 0 .2rem; background: #fff; }
.knowledge-ai-pane__actions--end { justify-content: flex-end; }
.knowledge-ai-pane__buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; }
.knowledge-ai-copy-status, .knowledge-ai-parse-status { color: #758093; font-size: .75rem; line-height: 1.5; }
.knowledge-ai-parse-status.is-ready { color: #2e765e; }
@media (max-width: 720px) {
  .knowledge-ai-config-grid { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  .knowledge-ai-field:is(.knowledge-ai-field--half, .knowledge-ai-field--third, .knowledge-ai-field--wide) { grid-column: auto; }
  .knowledge-ai-stepper__item { gap: .3rem; font-size: .7rem; }
  .knowledge-ai-stepper__number { width: 1.45rem; height: 1.45rem; font-size: .65rem; }
  .knowledge-ai-stepper__line { margin-inline: .2rem; }
  .knowledge-ai-pane__actions { align-items: stretch; flex-direction: column; }
  .knowledge-ai-pane__buttons { width: 100%; }
  .knowledge-ai-pane__buttons .question-action-pill { flex: 1; padding-inline: .55rem; }
}

/* user_app/styles/knowledge_ai_prompt_dialog.css */
.knowledge-ai-launcher { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .65rem; border: 1px solid #e5eaf0; border-radius: 9px; background: #f8fafc; padding: .85rem; }
.knowledge-ai-launcher__mark { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 7px; background: #eaf2fc; color: #285c99; font-size: .73rem; font-weight: 650; }
.knowledge-ai-launcher__copy { display: flex; min-width: 0; flex-direction: column; gap: .25rem; }
.knowledge-ai-launcher__copy strong { color: #34445c; font-size: .79rem; font-weight: 600; }
.knowledge-ai-launcher__copy span { color: #758093; font-size: .72rem; line-height: 1.5; }
.knowledge-draft-modal .knowledge-ai-launcher__button { grid-column: 1 / -1; width: 100%; }
.knowledge-draft-modal .knowledge-draft-source-action { min-width: 0; grid-column: span 3; }
.knowledge-draft-modal .knowledge-draft-import-action { display: flex; flex-direction: column-reverse; gap: .45rem; align-items: stretch; }
.knowledge-draft-modal .knowledge-draft-import-action > a { min-height: 0; border: 0; padding: 0; font-size: .71rem; color: #758093 !important; text-decoration: underline; text-underline-offset: 3px; }
.knowledge-draft-modal .knowledge-draft-import-action .question-dropzone { display: grid; flex: 1 1 auto; width: 100%; min-height: 0; grid-template-columns: auto minmax(0, 1fr); align-content: center; gap: .55rem; border: 1px dashed #bacce0; border-radius: 9px; padding: .85rem; text-align: left; background: #f8fafc; cursor: default; transform: none; }
.knowledge-draft-modal .knowledge-draft-import-action .question-dropzone.is-dragging { border-color: #285c99; background: #edf4fc; box-shadow: none; }
.knowledge-draft-modal .question-dropzone__icon { width: 2rem; height: 2rem; border-radius: 7px; background: #eaf2fc; color: #285c99; }
.knowledge-draft-import-action__copy { display: flex; min-width: 0; flex-direction: column; gap: .25rem; }
.knowledge-draft-modal .question-dropzone__title { font-size: .79rem; font-weight: 600; color: #34445c; white-space: normal; }
.knowledge-draft-modal .question-dropzone__desc { font-size: .72rem; line-height: 1.5; font-weight: 400; color: #758093; }
.knowledge-draft-modal .knowledge-draft-import-action__button { display: grid; width: 100%; min-height: 2.2rem; grid-column: 1 / -1; place-items: center; border: 1px solid #dce4ef; border-radius: 8px; padding: .5rem; background: #fff; color: #285c99; font-size: .77rem; font-weight: 550; cursor: pointer; }
.knowledge-draft-modal .knowledge-draft-import-action__button:disabled { opacity: .45; cursor: not-allowed; }
.knowledge-chapter-picker { position: relative; width: 100%; min-width: 0; }
.knowledge-chapter-picker > input { width: 100%; min-width: 0; box-sizing: border-box; }
.knowledge-chapter-picker__menu { position: absolute; z-index: 8; top: calc(100% + .3rem); left: 0; right: 0; max-height: 14rem; overflow-y: auto; border: 1px solid #dce4ef; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(35, 48, 66, .1); padding: .3rem; }
.knowledge-chapter-picker__option, .knowledge-chapter-picker__empty { border-radius: 5px; padding: .55rem .65rem; font-size: .78rem; line-height: 1.4; }
.knowledge-chapter-picker__option { color: #34445c; cursor: pointer; }
.knowledge-chapter-picker__option:hover, .knowledge-chapter-picker__option.is-active { background: #edf4fc; color: #285c99; }
.knowledge-chapter-picker__empty { color: #758093; }
.knowledge-ai-dialog__backdrop { position: fixed; inset: 0; z-index: 108; background: rgba(35, 48, 66, .3); }
.knowledge-ai-dialog { position: fixed; inset: 0; z-index: 109; display: flex; align-items: center; justify-content: center; padding: 1rem; pointer-events: none; }
.knowledge-ai-dialog__panel { display: flex; width: min(100%, 58rem); max-height: calc(100dvh - 2rem); flex-direction: column; overflow: hidden; border: 1px solid #e5eaf0; border-radius: 14px; background: #fff; box-shadow: 0 16px 56px rgba(35, 48, 66, .14); pointer-events: auto; }
.knowledge-ai-dialog__header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #e5eaf0; padding: 1rem 1.25rem; background: #fff; }
.knowledge-ai-dialog__header h3 { margin: 0; color: #34445c; font-size: 1.02rem; font-weight: 650; }
.knowledge-ai-dialog .question-edit-modal__close { width: 2rem; height: 2rem; border-radius: 8px; background: #f4f7fb; color: #758093; transform: none; }
.knowledge-ai-dialog__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 1.25rem; }
.knowledge-ai-dialog__body .knowledge-ai-workflow { width: 100%; }
@media (max-width: 720px) {
  .knowledge-ai-dialog { padding: .4rem; }
  .knowledge-ai-dialog__panel { max-height: calc(100dvh - .8rem); min-height: 0; border-radius: 12px; }
  .knowledge-ai-dialog :is(.knowledge-ai-dialog__header, .knowledge-ai-dialog__body) { padding: .9rem; }
  .knowledge-draft-modal .knowledge-draft-source-action { grid-column: 1 / -1; }
}

/* user_app/styles/knowledge_responsive.css */
@media (max-width: 1200px) {
  .knowledge-reader-content-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .knowledge-outline { height: auto; max-height: 6.6rem; border-right: 0; border-bottom: 1px solid #e5eaf0; padding: .6rem .85rem; overflow-y: auto; }
  .knowledge-outline__title { margin-bottom: .35rem; }
  .knowledge-outline__items { flex-direction: row; gap: .35rem; overflow-x: auto; padding-bottom: .2rem; }
  .knowledge-outline__item { flex: 0 0 auto; width: auto; max-width: 15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .knowledge-outline__item--secondary { padding-left: .65rem; }
  .knowledge-reader-hero__title-row { grid-template-columns: minmax(0, 1fr); gap: .7rem; }
  .knowledge-reader-toolbar { justify-content: flex-start; }
}
@media (max-width: 1100px) {
  .knowledge-workbench__layout, .knowledge-preview-toolbar { grid-template-columns: minmax(0, 1fr); }
  .knowledge-body-field { min-height: auto; }
  .knowledge-body-textarea { min-height: 16rem !important; }
}
@media (max-width: 900px) {
  .knowledge-module, .knowledge-console { height: auto; min-height: 0; }
  .knowledge-command-strip { grid-template-columns: minmax(0, 1fr); }
  .knowledge-command-strip__action { justify-self: start; }
  .module-command-bar__context { gap: .45rem; }
  .module-command-bar__badge { min-height: 1.8rem; padding-inline: .75rem; font-size: .72rem; }
  .workspace-rail-search__actions { display: flex; flex-wrap: wrap; }
  .workspace-rail-search__actions .soft-btn { flex: 1 1 8rem; }
  .knowledge-reader-hero { padding: 1rem; }
  .knowledge-reader-main { padding: 1.1rem 1rem 1.8rem; }
}
@media (max-width: 520px) {
  .knowledge-reader-hero { padding: .85rem; }
  .knowledge-reader-main { padding: 1rem .85rem 1.5rem; }
  .knowledge-reader-meta-line { gap: .3rem .55rem; }
  .knowledge-reader-meta-line .knowledge-meta-pill--file { display: none; }
  .knowledge-card__title--hero { font-size: 1.12rem; }
  .knowledge-empty-reader { padding: 1.5rem; }
}


/* user_app/styles/shared_content_rendering.css */
.knowledge-reader pre,
.question-card pre {
  overflow: auto;
  border-radius: 1.25rem;
  background: rgb(244 244 245);
  padding: 1rem;
}

.katex-block {
  margin: 0.875rem 0;
  overflow: visible;
  padding: 0.25rem 0;
  text-align: center;
}

.katex-block .katex-display {
  margin: 0;
  overflow: visible;
}

.katex-inline {
  display: inline;
}

/* Hide unnecessary visual weight; show a slim horizontal scrollbar only when needed. */
.custom-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

.custom-scrollbar::-webkit-scrollbar {
  height: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 10px;
}


/* user_app/styles/admin_editor_form.css */
.admin-composer {
  display: none;
}

.editor-card {
  padding: 1.25rem;
}

.editor-card--drawer {
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.editor-head {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: 1rem;
}

.editor-head p {
  margin: 0;
  color: rgb(113 113 122);
  font-size: 0.875rem;
}

.editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.875rem;
}

.editor-grid label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.editor-grid label.full-span {
  grid-column: 1 / -1;
}

.editor-grid input,
.editor-grid select,
.editor-grid textarea,
.auth-modal-form input {
  border: 1px solid rgba(229, 231, 235, 0.95);
  border-radius: 1.25rem;
  background: rgb(249 250 251);
  padding: 0.875rem 1rem;
  color: rgb(39 39 42);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.editor-grid input:focus,
.editor-grid select:focus,
.editor-grid textarea:focus {
  outline: 0;
  border-color: rgba(203, 213, 225, 1);
  box-shadow: 0 0 0 4px rgba(226, 232, 240, 0.8);
  background: white;
}

.editor-grid label span {
  color: rgb(82 82 91);
  font-size: 0.8125rem;
  font-weight: 700;
}

.editor-grid textarea {
  min-height: 9rem;
  resize: vertical;
}

.editor-grid--drawer textarea {
  min-height: 11rem;
}


/* user_app/styles/question_draft_layout.css */
.question-draft-flow {
  display: grid;
  grid-template-columns: minmax(18rem, 0.6fr) minmax(0, 1.9fr);
  gap: 1.25rem;
  align-items: start;
}

.question-draft-flow label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.question-draft-flow label span {
  color: rgb(82 82 91);
  font-size: 0.8125rem;
  font-weight: 700;
}

.question-draft-flow input,
.question-draft-flow select,
.question-draft-flow textarea {
  border: 1px solid rgba(229, 231, 235, 0.95);
  border-radius: 1.25rem;
  background: rgb(249 250 251);
  padding: 0.875rem 1rem;
  color: rgb(39 39 42);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.question-draft-flow input:focus,
.question-draft-flow select:focus,
.question-draft-flow textarea:focus {
  outline: 0;
  border-color: rgba(203, 213, 225, 1);
  box-shadow: 0 0 0 4px rgba(226, 232, 240, 0.8);
  background: white;
}

.question-draft-sidebar,
.question-draft-main {
  min-width: 0;
}

.question-draft-sidebar {
  position: sticky;
  top: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-right: 0.15rem;
}

.question-draft-main {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.question-draft-media-panel {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  border: 1px solid rgba(229, 231, 235, 0.9);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.72);
  padding: 0.75rem;
}

.question-image-manager {
  min-height: 0;
  padding: 0.65rem;
}


/* user_app/styles/question_import_media_workbench.css */
.question-import-workbench .question-image-manager {
  min-height: 6.7rem;
  height: auto;
  gap: 0.42rem;
  padding: 0.6rem;
}

.question-import-workbench .question-draft-ocr-dropzone,
.question-import-workbench .question-draft-ocr-dropzone .question-dropzone {
  height: auto;
}

.question-import-workbench .question-draft-ocr-dropzone .question-dropzone {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0.8rem;
}

.question-draft-media-panel--workbench {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  gap: clamp(0.72rem, 1.35dvh, 1rem);
  padding: 0.72rem;
}

.question-draft-media-panel--workbench > .question-ai-controls,
.question-draft-media-panel--workbench > .question-image-options-row,
.question-draft-media-panel--workbench > .question-ocr-recognition-row,
.question-draft-media-panel--workbench > .question-secondary-action-row {
  flex: 0 0 auto;
}

.question-draft-media-panel--workbench .question-image-manager {
  flex: 1 0 16.6rem;
  min-height: 16.6rem;
  max-height: none;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
}

/* user_app/styles/question_import_compact_dropzone.css */
.question-import-workbench .question-draft-ocr-dropzone--compact .question-dropzone {
  min-height: calc(5.64rem + 0.62rem);
  height: calc(5.64rem + 0.62rem);
  flex-direction: row;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.45rem 0.75rem;
  text-align: center;
}

.question-import-workbench .question-draft-ocr-dropzone--compact .question-dropzone__icon {
  width: 1.8rem;
  height: 1.8rem;
  flex: 0 0 auto;
  font-size: 0.78rem;
}

.question-import-workbench .question-draft-ocr-dropzone--compact .question-dropzone__title {
  min-width: 0;
  flex: 0 1 auto;
  font-size: 0.84rem;
  text-align: center;
}

.question-import-workbench .question-dropzone.is-paste-target,
.question-import-workbench .question-image-manager.is-paste-target {
  border-color: #729bcb;
  background: #f3f7fd;
  box-shadow: none;
}


/* user_app/styles/question_geometry_crop.css */
.question-draft-flow label.question-geometry-option {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #52525b;
  cursor: pointer;
}
.question-draft-flow .question-geometry-option input[type="checkbox"] {
  appearance: auto;
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 3px;
  accent-color: #3b82c4;
}
.question-geometry-status { margin: 0; color: #52525b; font-size: 0.78rem; line-height: 1.6; }
.question-geometry-status--error { color: #9a4b18; }
.question-geometry-dialog {
  width: min(900px, calc(100vw - 40px));
  max-height: calc(100vh - 40px);
  padding: 1.25rem;
  border: 1px solid #d4d4d8;
  border-radius: 1rem;
  background: #fff;
  color: #27272a;
  box-shadow: 0 18px 65px #0003;
}
.question-geometry-dialog::backdrop { background: #18181b66; }
.question-geometry-dialog p { margin: 0.8rem 0; font-size: 0.85rem; color: #52525b; }
.question-geometry-dialog__heading, .question-geometry-dialog__actions {
  display: flex; align-items: center; justify-content: space-between; gap: 0.8rem;
}
.question-geometry-dialog__actions { margin-top: 1rem; }
.question-geometry-dialog .soft-btn { min-height: 2.4rem; padding: 0.55rem 1rem; border-radius: 0.65rem; font-size: 0.85rem; font-weight: 600; }
.question-geometry-dialog .soft-btn:focus-visible { outline: 2px solid #2f80c7; outline-offset: 3px; }
.question-geometry-dialog .soft-btn:disabled { opacity: 0.5; cursor: wait; }
.question-geometry-dialog__image-wrap { display: flex; justify-content: center; background: #f4f4f5; overflow: auto; }
.question-geometry-stage { position: relative; display: inline-block; touch-action: none; cursor: crosshair; overflow: hidden; }
.question-geometry-stage img { display: block; max-width: 100%; max-height: 65vh; width: auto; user-select: none; }
.question-geometry-selection { position: absolute; border: 2px solid #2f80c7; box-shadow: 0 0 0 2000px #18181b55; pointer-events: none; }
.question-geometry-handle { position: absolute; width: 14px; height: 14px; border: 2px solid #fff; border-radius: 3px; background: #2f80c7; pointer-events: auto; padding: 0; }
.question-geometry-handle:focus-visible { outline: 3px solid #18181b; outline-offset: 2px; }
.question-geometry-handle--nw { left: -8px; top: -8px; cursor: nwse-resize; }
.question-geometry-handle--ne { right: -8px; top: -8px; cursor: nesw-resize; }
.question-geometry-handle--sw { left: -8px; bottom: -8px; cursor: nesw-resize; }
.question-geometry-handle--se { right: -8px; bottom: -8px; cursor: nwse-resize; }

/* user_app/styles/question_import_ocr_action_layout.css */
.question-ocr-recognition-row,
.question-secondary-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(5.6rem, 0.36fr);
  gap: 0.62rem;
  align-items: stretch;
}

.question-ocr-action-column {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0.62rem;
  min-width: 0;
}

.question-secondary-action-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.question-ocr-recognition-row .question-action-pill,
.question-secondary-action-row .question-action-pill {
  min-height: 2.82rem;
}


/* user_app/styles/question_import_paste_target.css */
.question-image-options-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
}

.question-paste-target {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 1rem;
}

.question-draft-flow label.question-paste-target__option {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: .5rem;
  margin: 0;
  cursor: pointer;
}

.question-image-options-row :is(.question-paste-target__option, .question-geometry-option) {
  margin: 0;
  color: #526986;
  font-size: .78rem;
  white-space: nowrap;
}

.question-draft-flow .question-paste-target__option input[type="checkbox"] {
  appearance: auto;
  flex: 0 0 1rem;
  width: 1rem;
  height: 1rem;
  min-height: 0;
  margin: 0;
  padding: 0;
  accent-color: #3b82c4;
}

.question-paste-target__option input:focus-visible { outline: 2px solid #729bcb; outline-offset: 2px; }

/* user_app/styles/question_import_image_manager.css */
.question-image-manager .paper-import-image-manager__upload-target {
  justify-content: center;
  text-align: center;
}

.question-image-manager .paper-import-image-layout-control {
  margin-top: 0;
}

.question-image-manager .paper-import-image-layout-control button {
  min-height: 1.9rem;
}

.question-image-manager__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

.question-image-manager__copy strong {
  color: #34445c;
  font-size: 0.9rem;
  font-weight: 550;
}

.question-image-manager__copy span {
  color: #526986;
  font-size: 0.74rem;
  line-height: 1.45;
}

.question-import-workbench .question-image-manager .paper-import-image-strip {
  flex: 1 1 0;
  height: auto;
  min-height: 1.8rem;
  max-height: none;
  margin-top: 0;
}

.question-image-manager .paper-import-image-placeholder__icon {
  width: 1.45rem;
  height: 1.45rem;
}

.question-import-workbench .question-image-manager .paper-import-image-placeholder {
  gap: 0.42rem;
  min-height: 100%;
  border-color: #d5e3f4;
  border-radius: 7px;
  background: #f7f9fc;
}

.question-import-workbench .question-image-manager .paper-import-image-placeholder::before,
.question-import-workbench .question-image-manager .paper-import-image-placeholder::after {
  display: none;
}

/* user_app/styles/question_import_image_card.css */
.question-import-workbench .question-image-manager .paper-import-image-thumb {
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
}

.question-import-workbench .question-image-manager .paper-import-image-thumb__preview {
  height: auto;
  min-height: 6.2rem;
}

.question-image-manager .paper-import-image-thumb__actions {
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.question-image-manager .paper-import-image-thumb__btn {
  flex: 0 0 auto;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0 0.5rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.question-image-manager .paper-import-image-thumb__btn:hover:not(:disabled) {
  background: #f4f7fb;
  color: #285c99;
  box-shadow: none;
}

.question-image-manager .paper-import-image-thumb__btn:focus-visible {
  outline: 2px solid #729bcb;
  outline-offset: 2px;
}

/* user_app/styles/question_import_dropzone_layout.css */
.question-dropzone-area {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.question-dropzone-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}


/* user_app/styles/question_import_ai_controls.css */
@media (min-width: 768px) {
  .question-dropzone-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .question-draft-media-panel .question-ai-controls--ocr {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.question-ai-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.question-draft-media-panel--workbench .question-ai-controls--ocr {
  gap: 0.6rem;
}

.question-draft-media-panel--workbench .question-ai-control {
  gap: 0.38rem;
}

.question-draft-media-panel--workbench .question-ai-control select {
  min-height: 2.82rem;
  border-radius: 0.72rem;
  font-size: 0.875rem;
}

.question-draft-media-panel--workbench .question-ai-control > span {
  font-size: 0.74rem;
}

.question-ai-control {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.4rem;
}

.question-ai-control > span {
  color: rgb(82 82 91);
  font-size: 0.74rem;
  font-weight: 700;
}

.question-ai-control select {
  width: 100%;
  min-height: 2.5rem;
  border: 1px solid rgba(210, 210, 215, 0.92);
  border-radius: 0.75rem;
  background: rgb(245 245 247);
  padding: 0 0.8rem;
  color: var(--apple-text);
  font-size: 0.84rem;
  outline: 0;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.question-ai-control select:focus {
  border-color: var(--apple-blue);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.14);
}

.question-ai-control select:disabled {
  cursor: not-allowed;
  opacity: 0.68;
}


/* user_app/styles/question_import_modal.css */
.question-import-workbench {
  display: flex;
  height: calc(100dvh - 3rem);
  min-height: 0;
  flex-direction: column;
  gap: 0.75rem;
  overflow: hidden;
}

.question-import-workbench--modal {
  height: 100%;
  gap: 0;
}

.question-edit-modal .question-import-workbench--modal .question-form-surface {
  padding: 0.72rem;
}

.question-edit-modal .question-import-workbench .question-form-surface .question-draft-flow {
  gap: 0.72rem;
}

.question-edit-modal .question-import-workbench .question-draft-sidebar,
.question-edit-modal .question-import-workbench .question-draft-main {
  gap: 0.52rem;
}

.question-edit-modal .question-import-workbench .question-meta-section--sidebar {
  gap: 0.5rem;
  padding: 0.62rem;
}

.question-edit-modal .question-import-workbench .question-meta-section--sidebar .question-meta-primary-row,
.question-edit-modal .question-import-workbench .question-meta-section--sidebar .question-meta-compact-grid {
  gap: 0.46rem;
}

.question-edit-modal .question-import-workbench .question-meta-field--compact input,
.question-edit-modal .question-import-workbench .question-meta-field--compact select,
.question-edit-modal .question-import-workbench .question-meta-field--source input,
.question-edit-modal .question-import-workbench .question-chapter-multiselect__control {
  min-height: 2.08rem;
  padding: 0.42rem 0.6rem;
}

.question-edit-modal .question-draft-media-panel--workbench {
  gap: 0.44rem;
  padding: 0.56rem;
}

.question-edit-modal .question-ocr-recognition-row {
  grid-template-columns: minmax(0, 1fr) minmax(5.35rem, 0.24fr);
  gap: 0.42rem;
}

.question-edit-modal .question-ocr-action-column {
  gap: 0.42rem;
}

.question-edit-modal .question-import-workbench .question-draft-ocr-dropzone--compact .question-dropzone {
  min-height: 4.05rem;
  height: 4.05rem;
  gap: 0.46rem;
  padding: 0.36rem 0.58rem;
}

.question-edit-modal .question-import-workbench .question-draft-ocr-dropzone--compact .question-dropzone__icon {
  width: 1.36rem;
  height: 1.36rem;
  font-size: 0.66rem;
}

.question-edit-modal .question-import-workbench .question-draft-ocr-dropzone--compact .question-dropzone__title {
  font-size: 0.78rem;
}

.question-edit-modal .question-ocr-recognition-row .question-action-pill {
  min-height: 2.05rem;
  padding: 0.3rem 0.58rem;
  gap: 0.3rem;
  font-size: 0.76rem;
  line-height: 1;
  white-space: nowrap;
}

.question-edit-modal .question-ocr-recognition-row .question-action-pill__icon {
  font-size: 0.74rem;
}

.question-edit-modal .question-draft-media-panel--workbench .question-ai-controls--ocr {
  gap: 0.45rem;
}

.question-edit-modal .question-draft-media-panel--workbench .question-ai-control {
  gap: 0.28rem;
}

.question-edit-modal .question-draft-media-panel--workbench .question-ai-control select {
  min-height: 2.28rem;
  border-radius: 0.68rem;
  padding: 0 0.62rem;
  font-size: 0.8rem;
}

.question-edit-modal .question-draft-media-panel--workbench .question-ai-control > span {
  font-size: 0.7rem;
}

.question-edit-modal .question-draft-media-panel--workbench .question-image-manager {
  flex-basis: 13rem;
  min-height: 13rem;
  max-height: none;
  gap: 0.34rem;
  padding: 0.46rem;
}

.question-edit-modal .question-image-manager .paper-import-image-layout-control button {
  min-height: 1.55rem;
  font-size: 0.7rem;
}

.question-edit-modal .question-import-workbench .question-image-manager .paper-import-image-strip {
  min-height: 1.2rem;
}

.question-edit-modal .question-import-workbench .question-image-manager .paper-import-image-placeholder {
  gap: 0.28rem;
  background-size: 1.1rem 1.1rem, 1.1rem 1.1rem, auto;
}

.question-edit-modal .question-image-manager .paper-import-image-placeholder__icon {
  width: 1.1rem;
  height: 1.1rem;
}

.question-edit-modal .question-import-workbench .question-image-manager .paper-import-image-placeholder > span:not(.paper-import-image-placeholder__icon) {
  font-size: 0.72rem;
}

.question-edit-modal .question-secondary-action-row {
  gap: 0.42rem;
}

.question-edit-modal .question-secondary-action-row .question-action-pill {
  min-height: 2.72rem;
  padding: 0.54rem 0.76rem;
  font-size: 0.82rem;
  line-height: 1;
}

/* user_app/styles/question_import_shell.css */
.question-import-header {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  background: #fff;
  padding: 1rem 1.15rem;
  box-shadow: none;
}

.question-import-header__copy span,
.question-import-route span {
  display: block;
  color: #526986;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.question-import-header__copy h2 {
  margin-top: 0.16rem;
  color: #34445c;
  font-size: 1.28rem;
  font-weight: 650;
  letter-spacing: 0;
}

.question-import-header__copy p {
  margin-top: 0.18rem;
  max-width: 48rem;
  color: #526986;
  font-size: 0.84rem;
  line-height: 1.55;
}

.question-import-header__tools {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.75rem;
}

.question-import-route {
  display: flex;
  min-width: 15rem;
  flex-direction: column;
  gap: 0.35rem;
  color: #526986;
  font-size: 0.78rem;
}

.question-import-workbench .question-form-surface {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  background: #fff;
  padding: 1rem;
  box-shadow: none;
}

.question-import-workbench--modal .question-form-surface {
  height: 100%;
  border-radius: 0;
  box-shadow: none;
}

.question-import-workbench .question-form-surface .question-draft-flow {
  height: 100%;
  min-height: 0;
  align-items: stretch;
  gap: 1rem;
}

.question-import-workbench .question-draft-sidebar,
.question-import-workbench .question-draft-main {
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

.question-import-workbench .question-draft-sidebar {
  position: static;
  gap: 0.62rem;
  padding-right: 0;
}

.question-import-workbench .question-draft-main {
  gap: 0.75rem;
}

.question-import-workbench .question-editor-pair {
  min-height: 0;
  flex: 1 1 0;
}

.question-import-workbench .question-editor-pair__grid {
  flex: 1 1 auto;
  min-height: 0;
}

.question-import-workbench .question-editor-textarea,
.question-import-workbench .question-editor-preview {
  height: 100%;
  min-height: 0 !important;
}

.question-import-footer {
  position: static;
  flex: 0 0 auto;
  z-index: 4;
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 0 0.25rem 0.1rem;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}

.question-import-footer > * {
  pointer-events: auto;
}


/* user_app/styles/paper_import_page_shell.css */
.paper-import-page-workbench {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  gap: 1rem;
  overflow: hidden;
  background: #f7f9fc;
}

.paper-import-page-header {
  flex: 0 0 auto;
  background: #fff;
  box-shadow: none;
}

.paper-import-page-body {
  display: grid;
  flex: 1 1 auto;
  min-height: 0;
  grid-template-columns: 360px minmax(0, 1fr);
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid #dfe6ef;
  background: #fff;
  box-shadow: none;
}

.paper-import-page-body .paper-import-sidebar,
.paper-import-page-body .paper-import-main {
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.paper-import-page-body .paper-import-sidebar {
  overflow-y: visible;
}

.paper-import-page-body .paper-import-main {
  overflow-y: auto;
}

.paper-import-page-body .paper-import-sidebar {
  border-right: 0;
}

.paper-import-page-body .paper-import-sidebar {
  background: #fff;
  padding: 1.35rem;
}

.paper-import-page-body .paper-import-main {
  background: #fff;
}

.paper-import-page-body .paper-import-panel,
.paper-import-page-body .paper-import-review-console,
.paper-import-page-body .paper-import-item-card,
.paper-import-page-body .paper-import-empty-state {
  box-shadow: none;
}

.paper-import-page-body .paper-import-panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}
.paper-import-page-body .paper-import-review-console {
  border-color: color-mix(in srgb, #dfe6ef 70%, transparent);
  background: #fff;
  padding: 1.2rem;
}

.paper-import-page-body .paper-import-main > .paper-import-empty-state {
  border-color: color-mix(in srgb, #dfe6ef 52%, transparent);
  background: #fff;
}

.paper-import-page-body .paper-import-main > .paper-import-pending-workspace {
  min-height: 100%;
}

.paper-import-page-body .paper-import-item-card {
  border-color: color-mix(in srgb, #dfe6ef 72%, transparent);
  border-radius: 10px;
  background: #fff;
}

.paper-import-page-body .paper-import-item-card.is-active {
  border-color: color-mix(in srgb, #285c99 42%, #dfe6ef);
  box-shadow: none;
}

/* user_app/styles/paper_import_surface_controls.css */
/* Keep paper and multi-question imports aligned with the question bank controls. */
:is(.paper-import-page-workbench, .paper-import-modal, .paper-import-floating-layer) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, textarea) {
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  box-shadow: none;
}
:is(.paper-import-page-workbench, .paper-import-modal, .paper-import-floating-layer) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, textarea):focus {
  border-color: #729bcb !important;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, 0.12) !important;
}
:is(.paper-import-page-workbench, .paper-import-modal, .paper-import-floating-layer) :is(input, select, textarea):disabled {
  background: #f4f7fb !important;
}
:is(.paper-import-page-workbench, .paper-import-modal, .paper-import-floating-layer) :is(input, select) {
  color: #34445c !important;
  accent-color: #285c99;
}
:is(.paper-import-page-workbench, .paper-import-modal, .paper-import-floating-layer) :is(.text-zinc-900, .text-gray-900, .text-gray-700) {
  color: #34445c !important;
}
:is(.paper-import-page-workbench, .paper-import-modal, .paper-import-floating-layer) :is(.text-gray-400, .text-gray-500, .text-gray-600) {
  color: #758093 !important;
}

.paper-import-editor-pane .latex-source-editor__highlight {
  border-radius: 7px;
  background: transparent;
}

.paper-import-workspace :is(.paper-import-preview-pane, .paper-import-editor-pane, .empty-state) {
  border-radius: 7px;
  box-shadow: none !important;
}

.paper-import-page-header .soft-btn,
.paper-import-workspace .question-action-pill,
.paper-import-workspace .question-admin-chip,
.paper-import-preview-panel .resource-preview-modal__close {
  border: 1px solid #dfe6ef;
  border-radius: 7px !important;
  background: #fff !important;
  color: #526986 !important;
  box-shadow: none !important;
  font-weight: 500;
}

.paper-import-sidebar .paper-import-submit-btn,
.paper-import-workspace .question-action-pill--ai,
.paper-import-workspace .paper-import-item-head-btn--primary,
.paper-import-workspace .paper-import-item-head-btn.is-basketed {
  border: 1px solid #cadcf2;
  border-radius: 7px;
  background: #eef5ff !important;
  color: #285c99 !important;
  box-shadow: none !important;
}

.paper-import-sidebar .paper-import-submit-btn:hover:not(:disabled),
.paper-import-workspace .question-action-pill--ai:hover:not(:disabled),
.paper-import-workspace .paper-import-item-head-btn--primary:hover:not(:disabled),
.paper-import-workspace .paper-import-item-head-btn.is-basketed:hover:not(:disabled) {
  background: #e3efff !important;
}

.paper-import-page-header .soft-btn:hover:not(:disabled),
.paper-import-workspace .question-action-pill:not(.question-action-pill--ai):hover:not(:disabled),
.paper-import-preview-panel .resource-preview-modal__close:hover {
  background: #f4f7fb !important;
  transform: none;
}

.paper-import-workspace .question-action-pill__icon {
  border-radius: 4px;
  background: transparent;
  box-shadow: none;
}

.paper-import-item-card__head-actions.question-admin-actions {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.paper-import-workspace .paper-import-workspace__actions .soft-btn:not(.soft-btn--dark):not(.paper-import-danger-btn):not([class*="text-red"]),
.paper-import-workspace .paper-import-item-card__head-actions .paper-import-item-card__collapse,
.paper-import-workspace .paper-import-image-lightbox button,
.paper-import-modal .paper-import-shell__close {
  border: 1px solid #dfe6ef !important;
  background: #fff !important;
  color: #526986 !important;
  box-shadow: none !important;
}

.paper-import-workspace .paper-import-workspace__actions .soft-btn:not(.soft-btn--dark):not(.paper-import-danger-btn):not([class*="text-red"]):hover:not(:disabled),
.paper-import-workspace .paper-import-item-card__head-actions .paper-import-item-card__collapse:hover:not(:disabled),
.paper-import-workspace .paper-import-image-lightbox button:hover:not(:disabled),
.paper-import-modal .paper-import-shell__close:hover {
  border-color: #c4d5e9 !important;
  background: #f4f7fb !important;
  color: #285c99 !important;
  transform: none;
}

.paper-import-workspace .paper-import-workspace__actions .soft-btn--dark {
  border-color: #cadcf2 !important;
  background: #eef5ff !important;
  color: #285c99 !important;
  box-shadow: none !important;
}

.paper-import-workspace .paper-import-workspace__actions .soft-btn--dark:hover:not(:disabled) {
  border-color: #aac7e8 !important;
  background: #e3efff !important;
  transform: none;
}

.paper-import-dropzone {
  border-radius: 10px;
  border-color: #c8d7e8;
  background: #f8fafc;
}

.paper-import-dropzone:is(.is-paste-target, .is-selected) {
  border-color: #a7bfdc;
  background: #f0f5fc;
}

.paper-import-option-row label {
  border-radius: 7px;
  border-color: #dfe6ef;
  background: #fff;
}

.paper-import-option-row label:has(input:checked) {
  border-color: #a7bfdc;
  background: #f0f5fc;
}

.paper-import-workspace :is(.paper-import-inline-meta, .paper-import-image-lightbox) {
  border-radius: 10px;
}

.paper-import-preview-panel__thumb.is-active {
  background: #edf3fc;
  color: #285c99;
}

.paper-import-item-card__status.bg-amber-50 {
  background: #fff4e5;
  color: #a76516;
}

.paper-import-item-card__status.bg-rose-50 {
  background: #fff1f0;
  color: #b54745;
}

.paper-import-item-card__status.bg-emerald-50 {
  background: #edf8f1;
  color: #2b8051;
}

.paper-import-empty-state.border-rose-200 {
  border-color: #f0c6c4;
  background: #fff7f6;
}

:is(.paper-import-page-workbench, .paper-import-modal, .paper-import-floating-layer) button:focus-visible {
  outline: 2px solid #729bcb !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

.paper-import-field .question-chapter-multiselect__input,
.paper-import-field .question-chapter-multiselect__input:focus {
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.paper-import-field .question-chapter-multiselect__control.is-focused {
  border-color: #729bcb;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, 0.12);
}

.paper-import-field .question-chapter-multiselect__pill {
  border-radius: 5px;
}

@media (max-width: 767px) {
  .paper-import-modal .paper-import-shell { border-radius: 16px; }
  .paper-import-page-body .paper-import-sidebar,
  .paper-import-page-body .paper-import-main { padding: 1rem; }
  .paper-import-pending-workspace__hero { flex-direction: column; }
  .paper-import-pending-workspace__status { min-width: 0; width: 100%; }
  .paper-import-meta-dialog__grid { grid-template-columns: minmax(0, 1fr); }
  .paper-import-preview-panel__body { gap: 0.4rem; padding: 0.65rem; }
  .paper-import-preview-panel__nav { width: 2rem; height: 2rem; }
}

/* user_app/styles/paper_import_responsive.css */
@media (max-width: 1279px) {
  /* One scrolling work area when the upload form and queue stack vertically. */
  .paper-import-page-body {
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .paper-import-page-body :is(.paper-import-sidebar, .paper-import-main) {
    height: auto;
    max-height: none;
    min-width: 0;
    overflow: visible;
    overscroll-behavior: auto;
  }

  .paper-import-page-body .paper-import-sidebar {
    border-bottom: 1px solid #e5eaf0;
  }

  .paper-import-page-body .paper-import-main > .paper-import-pending-workspace {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  /* Account for the 4rem mobile navigation and 1rem workspace padding on each side. */
  .workspace-frame #appContent:has(:is(#paperImportModule, #multiQuestionImportModule).module-stage--active) {
    height: calc(100dvh - 6rem);
  }
}

/* user_app/styles/question_editor_pair_shell.css */

.question-editor-pair {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.question-editor-pair__title {
  color: #1d1d1f;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.question-editor-pair__title--with-action,
.paper-import-editor-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.question-editor-pair__title--with-action {
  flex-wrap: wrap;
}

.question-editor-action-group {
  display: inline-flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.375rem;
}


/* user_app/styles/question_editor_spin_animation.css */
@keyframes ui-spin {
  to {
    transform: rotate(360deg);
  }
}


/* user_app/styles/question_editor_pair_layout.css */
.question-editor-pair__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

@media (min-width: 1024px) {
  .question-editor-pair__grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
  }
}


/* user_app/styles/question_editor_textarea.css */
.editor-grid .question-editor-textarea,
.question-editor-textarea {
  height: 27rem;
  min-height: 27rem !important;
  resize: none;
  border: 1px solid #d2d2d7;
  border-radius: 0.75rem;
  background: #f5f5f7;
  padding: 1rem;
  color: #1d1d1f;
  line-height: 1.7;
  outline: none;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.editor-grid .question-editor-textarea:focus,
.question-editor-textarea:focus {
  border-color: #0066cc;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.2);
}


/* user_app/styles/latex_source_editor.css */
latex-source-editor {
  position: relative;
  display: block;
  min-width: 0;
  width: 100%;
}

latex-source-editor > textarea {
  display: block;
  width: 100%;
}

latex-source-editor[data-ready] > textarea {
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  caret-color: #1d1d1f;
}

@media (forced-colors: none) {
  latex-source-editor[data-ready] > textarea::selection { color: transparent; -webkit-text-fill-color: transparent; background: #cfe3ff; }
}
latex-source-editor > textarea::placeholder { color: #86868b; -webkit-text-fill-color: #86868b; }

.latex-source-editor__overlay {
  position: absolute;
  z-index: 1;
  display: none;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

latex-source-editor[data-ready] > .latex-source-editor__overlay {
  display: block;
}

.latex-source-editor__highlight {
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  margin: 0;
  border: 0;
  color: #1d1d1f;
  background: transparent;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

latex-source-editor .latex-source-editor__highlight span {
  display: inline;
  margin: 0;
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
}

.latex-source-editor__highlight .latex-token--keyword { color: #b315bf; }
.latex-source-editor__highlight .latex-token--command { color: #0077cc; }
.latex-source-editor__highlight .latex-token--environment { color: #446bea; }
.latex-source-editor__highlight .latex-token--math { color: #279144; }
.latex-source-editor__highlight .latex-token--number { color: #b96c00; }
.latex-source-editor__highlight .latex-token--argument { color: #36843d; }
.latex-source-editor__highlight .latex-token--punctuation { color: #666475; }
.latex-source-editor__highlight .latex-token--comment { color: #8b8b98; }

@media (forced-colors: active) {
  latex-source-editor[data-ready] > textarea {
    color: CanvasText !important;
    -webkit-text-fill-color: CanvasText;
  }
  latex-source-editor[data-ready] > .latex-source-editor__overlay { display: none; }
}

/* user_app/styles/question_editor_preview_surface.css */
.question-editor-preview {
  position: relative;
  height: 27rem;
  min-height: 27rem !important;
  overflow-y: auto;
  border: 1px solid #d2d2d7;
  border-radius: 0.75rem;
  background: #fff;
  padding: 1rem;
  color: #1d1d1f;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.question-editor-preview.is-rendering .question-editor-preview__body {
  opacity: 0.42;
}

.question-editor-preview__body {
  color: #1d1d1f;
  font-size: 0.9375rem;
  line-height: 1.78;
  transition: opacity 160ms ease;
}

.question-editor-preview__body p {
  margin: 0.45rem 0;
}

.question-editor-preview__body .markdown-math-block,
.question-editor-preview__body .katex-block {
  margin: 0.3rem 0;
  padding: 0.08rem 0;
}

.question-editor-preview__body .markdown-math-block__inner {
  line-height: 1.35;
}

.question-editor-preview__body .katex-display {
  margin: 0;
}


/* user_app/styles/question_editor_preview_loading.css */
.question-editor-preview-loading {
  position: sticky;
  top: 50%;
  z-index: 2;
  display: flex;
  width: max-content;
  max-width: calc(100% - 2rem);
  align-items: center;
  gap: 0.55rem;
  margin: -2.5rem auto 0;
  border: 1px solid rgba(0, 102, 204, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  padding: 0.65rem 0.9rem;
  color: #0066cc;
  font-size: 0.82rem;
  font-weight: 600;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(10px);
}

.question-editor-preview-loading i {
  width: 1rem;
  height: 1rem;
  animation: ui-spin 0.9s linear infinite;
}

.question-editor-preview__body > :first-child {
  margin-top: 0;
}

.question-editor-preview__body > :last-child {
  margin-bottom: 0;
}


/* user_app/styles/question_editor_preview_media.css */
.paper-import-item-columns .paper-import-editor-textarea,
.paper-import-item-columns .paper-import-preview-pane.question-editor-preview {
  height: var(--paper-import-editor-height);
  min-height: var(--paper-import-editor-height) !important;
}

.question-editor-preview-images {
  min-height: 0;
}

.question-editor-preview-images .paper-import-preview-figure {
  min-height: 10rem;
}

.question-editor-preview-images img {
  height: 10rem;
}


/* user_app/styles/question_editor_tikz_preview.css */
.question-preview-tikz-status {
  margin-top: 0.875rem;
  border-radius: 0.875rem;
  background: #f5f5f7;
  padding: 0.625rem 0.75rem;
  color: #86868b;
  font-size: 0.8125rem;
}

.question-preview-tikz-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.875rem;
}

.question-preview-tikz-card {
  display: flex;
  min-height: 8rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  overflow: hidden;
  border: 1px solid #d2d2d7;
  border-radius: 0.875rem;
  background: #fff;
  padding: 0.75rem;
}

.question-preview-tikz-card img {
  display: block;
  width: min(calc(var(--tikz-width-ratio, 90) * 1%), 100%);
  max-width: 100%;
  max-height: 18rem;
  object-fit: contain;
}

.question-preview-tikz-control {
  display: flex;
  width: min(100%, 24rem);
  align-items: center;
  gap: 0.75rem;
  color: var(--apple-secondary);
  font-size: 0.76rem;
  font-weight: 720;
}

.question-preview-tikz-control span {
  flex: 0 0 auto;
}

.question-preview-tikz-control input {
  flex: 1 1 auto;
  min-width: 8rem;
  accent-color: var(--apple-blue);
}

.question-preview-tikz-card figcaption {
  color: #86868b;
  font-size: 0.8125rem;
}

/* user_app/styles/question_chapter_select.css */

.question-chapter-multiselect {
  position: relative;
  width: 100%;
}

.question-chapter-multiselect__control {
  display: flex;
  min-height: 42px;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid #d2d2d7;
  border-radius: 0.75rem;
  background: #f5f5f7;
  padding: 0.5rem;
  cursor: text;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.question-chapter-multiselect__control.is-focused {
  border-color: #0066cc;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.2);
}

.question-chapter-multiselect__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  max-width: 100%;
  border-radius: 0.375rem;
  background: #e8e8ed;
  padding: 0.25rem 0.625rem;
  color: #1d1d1f;
  font-size: 0.875rem;
  line-height: 1.35;
}

.question-chapter-multiselect__remove {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #86868b;
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}

.question-chapter-multiselect__remove:hover {
  background: rgba(0, 0, 0, 0.08);
  color: #1d1d1f;
}

.editor-grid .question-chapter-multiselect__input,
.question-chapter-multiselect__input {
  flex: 1 1 10rem;
  min-width: 8rem;
  border: 0;
  background: transparent;
  padding: 0.25rem;
  color: #1d1d1f;
  outline: 0;
  box-shadow: none;
}

.editor-grid .question-chapter-multiselect__input:focus,
.question-chapter-multiselect__input:focus {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.question-chapter-multiselect__menu {
  position: absolute;
  z-index: 50;
  top: calc(100% + 0.25rem);
  left: 0;
  width: 100%;
  max-height: 15rem;
  overflow-y: auto;
  border: 1px solid #d2d2d7;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.8);
  padding: 0.35rem 0;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(24px) saturate(160%);
}

.question-chapter-multiselect__option {
  display: block;
  width: calc(100% - 0.5rem);
  margin: 0.125rem 0.25rem;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  padding: 0.5rem 0.75rem;
  color: #1d1d1f;
  text-align: left;
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease;
}

.question-chapter-multiselect__option:hover {
  background: #0066cc;
  color: #fff;
}

.question-chapter-multiselect__empty {
  padding: 0.75rem;
  color: #86868b;
  font-size: 0.875rem;
}

/* user_app/styles/draft_toolbars.css */

.question-draft-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.resource-draft-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

/* user_app/styles/question_dropzone.css */

.question-dropzone {
  flex: 1 1 16rem;
  display: flex;
  min-height: 11rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  border: 2px dashed rgb(209 213 219);
  border-radius: 1rem;
  background: rgba(249, 250, 251, 0.5);
  padding: 1.25rem;
  text-align: center;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.question-dropzone:hover {
  background: rgb(243 244 246);
  border-color: rgb(156 163 175);
  transform: translateY(-1px);
}

.question-dropzone.is-dragging {
  background: rgb(239 246 255);
  border-color: rgb(96 165 250);
  box-shadow: 0 0 0 4px rgba(191, 219, 254, 0.65);
}

.question-dropzone__icon {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgb(229 231 235);
  color: rgb(107 114 128);
  font-size: 1rem;
  font-weight: 700;
}

.question-paste-hint {
  margin: 0;
  color: var(--apple-secondary);
  font-size: 0.78rem;
  line-height: 1.5;
}

.question-dropzone__title {
  max-width: 100%;
  color: rgb(39 39 42);
  font-size: 0.95rem;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.question-dropzone__desc {
  color: rgb(113 113 122);
  font-size: 0.8125rem;
  line-height: 1.7;
}


/* user_app/styles/question_action_pills.css */
.question-action-pill {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 999px;
  background: var(--apple-control);
  padding: 0.625rem 1rem;
  color: var(--apple-text);
  font-size: 0.875rem;
  font-weight: 650;
  box-shadow: var(--apple-control-shadow);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.question-action-pill--compact {
  width: auto;
  min-height: 2rem;
  padding: 0.375rem 0.75rem;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.question-action-pill:hover {
  background: color-mix(in srgb, var(--apple-control) 78%, var(--apple-border));
}

.question-action-pill:disabled {
  cursor: not-allowed;
  opacity: 0.68;
}

.question-action-pill__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #86868b;
  font-size: 0.95rem;
}

.question-action-pill--primary {
  background: var(--apple-blue);
  color: #fff;
  box-shadow: 0 12px 26px rgba(0, 102, 204, 0.2);
}

.question-action-pill--primary:hover:not(:disabled) {
  background: var(--apple-blue-hover);
}

.question-action-pill--primary .question-action-pill__icon {
  color: rgba(255, 255, 255, 0.9);
}

.question-action-pill--secondary {
  background: rgba(245, 245, 247, 0.88);
  color: var(--apple-secondary);
  box-shadow: inset 0 0 0 1px rgba(210, 210, 215, 0.72);
}

.question-action-pill--secondary:hover:not(:disabled) {
  background: rgb(254 242 242);
  color: var(--apple-danger);
  box-shadow: inset 0 0 0 1px rgba(254, 202, 202, 0.9);
}

.question-action-pill--secondary .question-action-pill__icon {
  color: currentColor;
}

.question-action-pill--ai {
  background: var(--question-ai-action-bg);
  color: var(--question-ai-action-text);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--question-ai-action-text) 12%, transparent),
    0 12px 26px var(--question-ai-action-shadow);
}

.question-action-pill--ai:hover:not(:disabled) {
  background: color-mix(in srgb, var(--question-ai-action-bg) 78%, white 22%);
}

.question-action-pill--ai .question-action-pill__icon {
  color: var(--question-ai-action-text);
}


/* user_app/styles/question_meta_fields.css */
.question-meta-section {
  display: grid;
  gap: 0.75rem;
}

.question-meta-section--sidebar {
  border: 1px solid rgba(229, 231, 235, 0.9);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.74);
  padding: 0.9rem;
}

.question-meta-primary-row,
.question-meta-compact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.question-meta-compact-grid {
  grid-template-columns: repeat(auto-fit, minmax(9.25rem, 1fr));
}

.question-meta-field--compact {
  min-width: 0;
}

.question-meta-field--compact input,
.question-meta-field--compact select,
.question-meta-field--source input {
  min-height: 2.65rem;
  border-radius: 0.9rem;
  padding: 0.7rem 0.85rem;
}

.question-meta-field--compact > span,
.question-meta-field--source > span,
.question-meta-field--knowledge > span {
  font-size: 0.75rem;
}

@media (min-width: 768px) {
  .question-meta-section:not(.question-meta-section--sidebar) .question-meta-primary-row {
    grid-template-columns: minmax(18rem, 2fr) minmax(16rem, 1.4fr);
  }
}

@media (min-width: 1024px) {
  .question-meta-section:not(.question-meta-section--sidebar) .question-meta-compact-grid {
    grid-template-columns:
      minmax(5.25rem, 0.55fr)
      minmax(8rem, 1fr)
      minmax(6.5rem, 0.7fr)
      minmax(6.5rem, 0.7fr)
      minmax(8rem, 1fr)
      minmax(8.5rem, 1fr);
  }
}

/* user_app/styles/question_meta_sidebar.css */

.question-meta-section--sidebar .question-meta-primary-row,
.question-meta-section--sidebar .question-meta-compact-grid {
  grid-template-columns: minmax(0, 1fr);
}

.question-meta-section--sidebar .question-meta-compact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.question-import-workbench .question-meta-section--sidebar .question-meta-compact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.question-import-workbench .question-meta-section--sidebar .question-meta-primary-row {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.55rem;
}

.question-import-workbench .question-meta-section--sidebar {
  padding: 0.78rem;
}

.question-import-workbench .question-meta-section--sidebar {
  gap: 0.62rem;
}

.question-import-workbench .question-meta-field--compact input,
.question-import-workbench .question-meta-field--compact select,
.question-import-workbench .question-meta-field--source input,
.question-import-workbench .question-chapter-multiselect__control {
  min-height: 2.28rem;
  border-radius: 0.82rem;
  padding: 0.55rem 0.68rem;
  font-size: 0.84rem;
}

.question-import-workbench .question-meta-field--compact > span,
.question-import-workbench .question-meta-field--source > span,
.question-import-workbench .question-meta-field--knowledge > span {
  font-size: 0.78rem;
}


/* user_app/styles/question_draft_notes.css */
.question-draft-inline-note {
  border-radius: 1rem;
  background: rgba(244, 244, 245, 0.9);
  padding: 0.9rem 1rem;
  color: rgb(82 82 91);
  font-size: 0.8125rem;
}


/* user_app/styles/question_draft_images.css */
.question-draft-image-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.question-draft-image-card {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
  border-radius: 1.25rem;
  background: rgba(249, 250, 251, 0.9);
  padding: 0.9rem;
}

.question-draft-image-card .resource-action {
  grid-column: 1 / -1;
  justify-self: end;
}

.question-draft-image-card__preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 6rem;
  border-radius: 1rem;
  background: white;
  overflow: hidden;
}

.question-draft-image-card__preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.question-draft-image-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.35rem;
}

.question-draft-image-card__body strong {
  color: rgb(24 24 27);
  font-size: 0.9rem;
}

.question-draft-image-card__body code {
  overflow-wrap: anywhere;
  color: rgb(113 113 122);
  font-size: 0.75rem;
}


/* user_app/styles/question_draft_preview_surface.css */
.question-draft-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}

.question-draft-preview--elevated .paper-import-preview-pane {
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,244,245,0.95));
  box-shadow: 0 16px 34px rgba(39, 39, 42, 0.06);
}

.question-form-surface {
  border-radius: 1.5rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
}


/* user_app/styles/question_draft_responsive.css */
@media (max-width: 1023px) {
  .question-edit-modal {
    align-items: stretch;
    padding: 0;
  }

  .question-edit-modal__panel {
    width: 100%;
    height: 100dvh;
    max-height: none;
    min-height: 0;
    border-radius: 0;
  }

  .question-edit-modal__body {
    overflow-y: auto;
    padding: 0.85rem;
  }

  .question-edit-modal__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .question-edit-modal__footer .admin-drawer__primary,
  .question-edit-modal__footer .admin-drawer__secondary {
    width: 100%;
  }

  .question-import-workbench--modal {
    height: auto;
    min-height: 100%;
  }

  .question-import-workbench {
    height: auto;
    min-height: calc(100dvh - 3rem);
    overflow: visible;
  }

  .question-import-workbench .question-form-surface {
    overflow: visible;
  }

  .question-draft-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  .question-import-workbench .question-form-surface .question-draft-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  .question-draft-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .question-import-workbench .question-draft-sidebar,
  .question-import-workbench .question-draft-main {
    max-height: none;
    overflow: visible;
  }
}


/* user_app/styles/question_content_editor_actions.css */
.editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}


/* user_app/styles/question_content_block_spacing.css */
.content-block + .content-block {
  margin-top: 1rem;
}


/* user_app/styles/question_content_markdown_table.css */
.latex-table-wrap {
  width: 100%;
  margin: 1rem 0;
  overflow-x: auto;
}

.markdown-table-wrap {
  width: 100%;
  margin: 1rem 0;
  overflow-x: auto;
}

.markdown-table {
  width: 100%;
  min-width: 24rem;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid color-mix(in srgb, var(--apple-border) 76%, transparent);
  border-radius: 1rem;
  overflow: hidden;
  background: color-mix(in srgb, var(--apple-card) 96%, var(--apple-bg));
}

.markdown-table th,
.markdown-table td {
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid color-mix(in srgb, var(--apple-border) 72%, transparent);
  text-align: left;
  vertical-align: top;
  color: rgb(39 39 42);
  font-size: 0.92rem;
  line-height: 1.7;
}

.markdown-table th {
  background: color-mix(in srgb, var(--apple-control) 62%, white);
  font-weight: 700;
}

.markdown-table tr:last-child td {
  border-bottom: 0;
}


/* user_app/styles/question_content_latex_table.css */
.latex-table {
  margin: 0.25rem auto;
  border-collapse: collapse;
  border-spacing: 0;
  color: rgb(39 39 42);
  font-size: 0.95rem;
  line-height: 1.5;
}

.latex-table .latex-math-cell {
  min-width: 2.75rem;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  padding: 0.35rem 0.7rem;
  vertical-align: middle;
  white-space: nowrap;
}

.latex-table .latex-math-cell:has(.latex-diagbox) {
  min-width: 15.8rem;
  min-height: 7.2rem;
  padding: 0;
  white-space: normal;
}


/* user_app/styles/question_content_latex_diagbox.css */
.latex-diagbox {
  position: relative;
  width: 100%;
  min-width: 15.2rem;
  min-height: 6.9rem;
  overflow: hidden;
}

.latex-diagbox::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom left, transparent 48.7%, rgb(39 39 42) 49.35%, rgb(39 39 42) 50.65%, transparent 51.3%);
  pointer-events: none;
}

.latex-diagbox__top,
.latex-diagbox__bottom {
  position: absolute;
  z-index: 1;
  line-height: 1.18;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: normal;
  font-size: 0.86rem;
  font-weight: 600;
  display: block;
  width: 68%;
}

.latex-diagbox__top {
  top: 1.5rem;
  right: 0.85rem;
  width: 35%;
  min-height: 2rem;
  justify-content: flex-end;
  align-items: flex-start;
  text-align: right;
}

.latex-diagbox__bottom {
  left: 0.45rem;
  bottom: 0.32rem;
  width: 68%;
  min-height: 2.35rem;
  justify-content: flex-start;
  align-items: flex-end;
  text-align: left;
}


/* user_app/styles/question_content_latex_rules.css */
.latex-table .latex-math-cell--toprule {
  border-top-color: rgb(39 39 42);
}

.latex-table .latex-math-cell--cline {
  border-top-color: rgb(39 39 42);
}

.latex-table .latex-math-cell--bottomrule {
  border-bottom-color: rgb(39 39 42);
}

.latex-table .latex-math-cell--left-rule {
  border-left: 1px solid rgb(39 39 42);
}

.latex-table .latex-math-cell--right-rule {
  border-right: 1px solid rgb(39 39 42);
}

.latex-table tr:last-child .latex-math-cell {
  border-bottom-color: rgb(39 39 42);
}


/* user_app/styles/question_content_option_layout.css */
.options-block ol {
  margin: 0.75rem 0 0;
  display: grid;
  grid-template-columns: repeat(var(--option-cols, 1), minmax(0, 1fr));
  gap: 0.75rem;
  padding: 0;
  list-style: none;
}

.options-block li {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  --option-bg: var(--apple-control);
  --option-text: var(--apple-text);
  --option-shadow: rgba(39, 39, 42, 0.08);
}

.options-block strong {
  display: inline-flex;
  width: 1.5rem;
  height: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--option-bg);
  color: var(--option-text);
  font-size: 0.75rem;
  font-weight: 780;
  box-shadow:
    0 6px 14px var(--option-shadow),
    inset 0 0 0 1px color-mix(in srgb, var(--option-text) 12%, transparent);
}

.options-block li > span {
  min-width: 0;
  line-height: 1.7;
}


/* user_app/styles/question_content_option_tones.css */
.options-block li[data-option-tone="a"] {
  --option-bg: var(--question-option-a-bg);
  --option-text: var(--question-option-a-text);
  --option-shadow: var(--question-option-a-shadow);
}

.options-block li[data-option-tone="b"] {
  --option-bg: var(--question-option-b-bg);
  --option-text: var(--question-option-b-text);
  --option-shadow: var(--question-option-b-shadow);
}

.options-block li[data-option-tone="c"] {
  --option-bg: var(--question-option-c-bg);
  --option-text: var(--question-option-c-text);
  --option-shadow: var(--question-option-c-shadow);
}

.options-block li[data-option-tone="d"] {
  --option-bg: var(--question-option-d-bg);
  --option-text: var(--question-option-d-text);
  --option-shadow: var(--question-option-d-shadow);
}


/* user_app/styles/shared_empty_state.css */
.empty-state {
  border-radius: 1.75rem;
  background: white;
  padding: 1.5rem;
  color: rgb(113 113 122);
  text-align: center;
  box-shadow: 0 24px 60px rgba(228, 228, 231, 0.85);
}


/* user_app/styles/app_toast.css */
.app-toast {
  position: fixed;
  right: 1.5rem;
  bottom: 6rem;
  z-index: 80;
  display: inline-flex;
  max-width: min(26rem, calc(100vw - 2rem));
  align-items: center;
  gap: 0.65rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 58%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, white 88%, var(--apple-bg));
  padding: 0.75rem 0.9rem;
  color: var(--apple-text);
  box-shadow: 0 16px 40px rgba(39, 39, 42, 0.12);
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.75rem);
  transition: opacity 220ms ease, transform 220ms ease;
  backdrop-filter: blur(18px);
}

.app-toast.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.app-toast--success {
  border-color: color-mix(in srgb, rgb(52, 199, 89) 24%, var(--apple-border));
  background: color-mix(in srgb, rgb(52, 199, 89) 8%, white);
  color: var(--apple-text);
}

.app-toast--error {
  border-color: color-mix(in srgb, var(--apple-danger) 24%, var(--apple-border));
  background: color-mix(in srgb, var(--apple-danger) 8%, white);
  color: rgb(153 27 27);
}

.app-toast__action {
  border: 0;
  border-radius: 999px;
  background: var(--apple-blue);
  padding: 0.625rem 0.875rem;
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
}

.app-toast__action:hover {
  background: var(--apple-blue-hover);
  transform: translateY(-1px);
}


/* user_app/styles/app_dialog_shell.css */
.app-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 118;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(35, 48, 66, 0.3);
}

.app-dialog {
  width: min(30rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  border: 1px solid #dce3eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 56px rgba(35, 48, 66, 0.16);
}

.app-dialog__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid #e5eaf0;
}

.app-dialog__head h3 {
  margin: 0;
  color: #34445c;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
}

.app-dialog__close {
  width: 2rem;
  height: 2rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #758093;
  font-size: 1.2rem;
  line-height: 1;
}

.app-dialog__close:hover {
  background: #f3f7fc;
  color: #285c99;
}

.app-dialog__body {
  display: grid;
  gap: 0.65rem;
  padding: 1.1rem 1.2rem;
}

.app-dialog__body p {
  margin: 0;
  white-space: pre-wrap;
  color: #526986;
  font-size: 0.875rem;
  line-height: 1.65;
}

/* user_app/styles/app_dialog_form.css */
.app-dialog :is(input, textarea).app-dialog__input {
  width: 100%;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  padding: 0.65rem 0.8rem;
  color: #34445c !important;
  font-size: 0.9rem;
  line-height: 1.5;
  outline: none;
}

textarea.app-dialog__input {
  min-height: 8rem;
  resize: vertical;
}

.app-dialog :is(input, textarea).app-dialog__input:focus {
  border-color: #729bcb !important;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, 0.12) !important;
}

/* user_app/styles/app_dialog_actions.css */
.app-dialog__foot {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 0.9rem 1.2rem 1.1rem;
  border-top: 1px solid #e5eaf0;
}
.app-dialog .app-dialog__btn {
  display: inline-flex;
  min-width: 4.75rem;
  min-height: 2.25rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  padding: 0.56rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  user-select: none;
  transform: none !important;
}
.app-dialog .app-dialog__btn--cancel {
  background: #fff !important;
  color: #526986 !important;
  box-shadow: none !important;
}
.app-dialog .app-dialog__btn--cancel:hover:not(:disabled) {
  background: #f3f7fc !important;
}
.app-dialog .app-dialog__btn--primary {
  border-color: #285c99;
  background: #285c99 !important;
  color: white !important;
  box-shadow: none !important;
}
.app-dialog .app-dialog__btn--primary:hover:not(:disabled) {
  background: #204d84 !important;
}

.app-dialog .app-dialog__btn--danger,
.soft-btn--danger {
  background: color-mix(in srgb, var(--apple-danger) 92%, #7f1d1d) !important;
  color: white !important;
  box-shadow: 0 2px 10px rgba(255, 59, 48, 0.12) !important;
}

.app-dialog .app-dialog__btn--danger:hover:not(:disabled),
.soft-btn--danger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--apple-danger) 82%, #450a0a) !important;
}

@media (max-width: 480px) {
  .app-dialog__foot {
    align-items: stretch;
  }

  .app-dialog .app-dialog__btn {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 0.75rem;
  }
}

body.app-dialog-open {
  overflow: hidden;
}
.app-dialog button:focus-visible { outline: 2px solid #729bcb !important; outline-offset: 2px; box-shadow: none !important; }

/* user_app/styles/auth_modal_shell.css */
.auth-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 89;
  background: rgba(245, 245, 247, 0.38);
  backdrop-filter: blur(14px) saturate(150%);
}

.auth-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 90;
  width: min(34rem, calc(100vw - 2rem));
  transform: translate(-50%, -50%);
  border-radius: 2rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 72%, transparent);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--apple-shadow);
  backdrop-filter: blur(22px) saturate(150%);
  padding: 1.5rem;
  transform-origin: var(--modal-origin-x) var(--modal-origin-y);
  animation: auth-modal-scale-in var(--motion-modal-open) var(--motion-apple) both;
}

.auth-modal.hidden {
  animation: none;
}

.auth-modal-backdrop {
  animation: modal-backdrop-fade-in var(--motion-backdrop-slow) ease both;
}

.auth-modal__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.auth-modal__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgb(161 161 170);
}

.auth-modal__title {
  margin: 0.375rem 0 0;
  font-size: 1.75rem;
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.auth-modal__close {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--apple-control);
  color: var(--apple-text);
  font-size: 1.5rem;
  box-shadow: var(--apple-control-shadow);
}

.auth-modal__close:hover {
  background: color-mix(in srgb, var(--apple-control) 78%, var(--apple-border));
  transform: translateY(-1px);
}


/* user_app/styles/auth_modal_form.css */
.auth-modal-form {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.auth-modal-form .auth-tabs {
  display: flex;
  gap: 0.5rem;
}

.auth-modal-form .auth-tab {
  min-height: 2.625rem;
  border-radius: 999px;
  padding: 0 1rem;
}

.auth-modal__message {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: rgb(153 27 27);
}

.auth-modal__message[data-tone="success"] {
  color: rgb(39 39 42);
}

body.auth-modal-open {
  overflow: hidden;
}


/* user_app/styles/auth_account_request.css */
.auth-account-request {
  display: grid;
  justify-items: center;
  gap: 0.7rem;
  text-align: center;
}

.auth-account-request.hidden {
  display: none;
}

.auth-account-request__image-wrap {
  width: min(15rem, 72vw);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--apple-border) 78%, transparent);
  border-radius: 18px;
  background: white;
  padding: 0.6rem;
  box-shadow: 0 12px 32px rgb(15 23 42 / 8%);
}

.auth-account-request__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.auth-account-request__title {
  margin: 0.15rem 0 0;
  color: var(--apple-text);
  font-size: 1rem;
  font-weight: 750;
}

.auth-account-request__description,
.auth-account-request__note {
  margin: 0;
  color: var(--apple-secondary);
  font-size: 0.84rem;
  line-height: 1.65;
}

.auth-account-request__note {
  color: var(--apple-tertiary);
  font-size: 0.76rem;
}

/* user_app/styles/auth_legacy_migration.css */
.auth-legacy-migration {
  padding: 0.7rem 0;
  border-top: 1px solid #e8e8ed;
  border-bottom: 1px solid #e8e8ed;
}

.auth-legacy-migration__toggle,
.auth-legacy-migration__actions button {
  border: 0;
  font: inherit;
  cursor: pointer;
}

.auth-legacy-migration__toggle {
  width: 100%;
  padding: 0.25rem 0;
  background: transparent;
  color: #6e6e73;
  font-size: 0.72rem;
  font-weight: 650;
  text-align: left;
}

.auth-legacy-migration__panel {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.65rem;
}

.auth-legacy-migration__panel p,
.auth-legacy-migration__panel label {
  margin: 0;
  color: #86868b;
  font-size: 0.68rem;
  line-height: 1.5;
}

.auth-legacy-migration__panel input {
  width: 100%;
  min-height: 2.45rem;
  padding: 0.55rem 0.72rem;
  border: 1px solid #d2d2d7;
  border-radius: 0.72rem;
  outline: none;
  background: #fff;
  color: #1d1d1f;
  font-size: 0.76rem;
}

.auth-legacy-migration__panel input:focus {
  border-color: #0066cc;
  box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

.auth-legacy-migration__preview,
.auth-legacy-migration__pending {
  padding: 0.58rem 0.68rem;
  border-radius: 0.72rem;
  background: #f5f5f7;
  color: #515154;
  font-size: 0.69rem;
  line-height: 1.5;
}

.auth-legacy-migration__pending {
  background: #fff8e6;
  color: #7a4d00;
}

.auth-legacy-migration__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.auth-legacy-migration__actions button {
  min-height: 2rem;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: #e8e8ed;
  color: #1d1d1f;
  font-size: 0.68rem;
  font-weight: 680;
}

.auth-legacy-migration__actions button:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}

.auth-legacy-migration__actions button:nth-child(2) {
  background: #1d1d1f;
  color: #fff;
}

.auth-legacy-migration__actions button:nth-child(3) {
  background: #fff0f0;
  color: #b42318;
}

.auth-legacy-migration__status {
  min-height: 1rem;
  margin: 0;
  color: #6e6e73;
  font-size: 0.7rem;
  line-height: 1.5;
}

.auth-legacy-migration__status[data-tone="success"] {
  color: #217a47;
}

.auth-legacy-migration__status[data-tone="error"] {
  color: #b42318;
}

/* user_app/styles/desktop_data_maintenance.css */
body.desktop-data-maintenance-open { overflow: hidden; }

.desktop-data-backdrop {
  position: fixed;
  inset: 0;
  z-index: 88;
  background: rgba(35, 48, 66, .3);
  backdrop-filter: none;
}

.desktop-data-dialog {
  position: fixed;
  z-index: 89;
  top: 50%;
  left: 50%;
  width: min(42rem, calc(100vw - 2rem));
  max-height: min(46rem, calc(100dvh - 2rem));
  flex-direction: column;
  overflow: hidden;
  transform: translate(-50%, -50%);
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  background: #fff;
  color: #34445c;
  box-shadow: 0 18px 56px rgba(35, 48, 66, .16);
}
.desktop-data-dialog:not(.hidden) { display: flex; }

.desktop-data-dialog__head {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid #e5eaf0;
}
.desktop-data-dialog__head h3 { margin: 0; color: #34445c; font-size: 1.05rem; font-weight: 650; }
.desktop-data-dialog__head p,
.desktop-data-section p { margin: .35rem 0 0; color: #758093; font-size: .75rem; line-height: 1.65; }

.desktop-data-dialog__close {
  display: inline-flex;
  flex: 0 0 auto;
  width: 2.1rem;
  height: 2.1rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #758093;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
}
.desktop-data-dialog__close:hover { border-color: #c4d5e9; background: #f3f7fc; color: #285c99; }

.desktop-data-dialog__body {
  display: grid;
  gap: .85rem;
  min-height: 0;
  overflow-y: auto;
  padding: 1.15rem 1.25rem;
  scrollbar-width: thin;
  scrollbar-color: #bdcbdc transparent;
}
.desktop-data-section { padding: 1rem; border: 1px solid #e5eaf0; border-radius: 10px; background: #fff; }
.desktop-data-section__head,
.desktop-data-section--support,
.desktop-data-section--pending { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.desktop-data-section h4 { margin: 0; color: #34445c; font-size: .85rem; font-weight: 600; }

.desktop-backup-list { display: grid; gap: .5rem; max-height: 13rem; margin: .9rem 0; overflow-y: auto; }
.desktop-data-section p.desktop-data-empty {
  display: grid;
  min-height: 4rem;
  place-items: center;
  margin: 0;
  padding: .9rem;
  border: 1px dashed #dfe6ef;
  border-radius: 7px;
  background: #f9fafc;
  text-align: center;
}

.desktop-backup-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .7rem;
  min-height: 3.6rem;
  padding: .7rem .8rem;
  border: 1px solid #e5eaf0;
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
}
.desktop-backup-item:hover:not(.is-invalid) { border-color: #c4d5e9; background: #f8fafd; }
.desktop-backup-item:has(input:checked) { border-color: #87add7; background: #edf4fc; }
.desktop-backup-item.is-invalid { cursor: not-allowed; opacity: .6; }
.desktop-backup-item input { width: 1rem; height: 1rem; margin: 0; accent-color: #285c99; }
.desktop-backup-item__copy { display: grid; min-width: 0; gap: .2rem; }
.desktop-backup-item__title { overflow: hidden; color: #34445c; font-size: .79rem; font-weight: 550; text-overflow: ellipsis; white-space: nowrap; }
.desktop-backup-item__meta { color: #758093; font-size: .7rem; line-height: 1.5; overflow-wrap: anywhere; }
.desktop-backup-item__badge { padding: .2rem .45rem; border-radius: 5px; font-size: .67rem; font-weight: 550; white-space: nowrap; }
.desktop-backup-item__badge.is-valid { background: #eaf7ef; color: #217a47; }
.desktop-backup-item__badge.is-invalid { background: #fff0f0; color: #aa4a4a; }

.desktop-data-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.desktop-data-btn,
.desktop-data-text-btn {
  flex: 0 0 auto;
  min-height: 2.25rem;
  padding: .45rem .8rem;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-family: inherit;
  font-size: .78rem;
  font-weight: 550;
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
.desktop-data-btn:hover:not(:disabled),
.desktop-data-text-btn:hover:not(:disabled) { border-color: #c4d5e9; background: #f3f7fc; color: #285c99; }
.desktop-data-btn--primary { border-color: #285c99; background: #285c99; color: #fff; }
.desktop-data-btn--primary:hover:not(:disabled) { border-color: #204d84; background: #204d84; color: #fff; }
.desktop-data-text-btn--danger { border-color: #f2d4d4; color: #aa4a4a; }
.desktop-data-text-btn--danger:hover:not(:disabled) { border-color: #e9bcbc; background: #fff5f5; color: #aa4a4a; }
.desktop-data-dialog button:disabled { opacity: .45; cursor: not-allowed; }
.desktop-data-dialog :is(button, input):focus-visible { outline: 2px solid #729bcb; outline-offset: 2px; }

.desktop-pending-card { display: grid; flex: 1; min-width: 0; gap: .35rem; }
.desktop-pending-card strong { font-size: .82rem; font-weight: 600; }
.desktop-pending-card span { color: #758093; font-size: .75rem; line-height: 1.65; }
.desktop-pending-card.is-pending strong { color: #9a6700; }
.desktop-data-dialog__status { margin: 0; padding: .65rem .8rem; border-radius: 7px; background: #f5f8fc; color: #526986; font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; }
.desktop-data-dialog__status:empty { display: none; }
.desktop-data-dialog__status[data-tone="success"] { background: #ecfdf5; color: #217a47; }
.desktop-data-dialog__status[data-tone="error"] { background: #fff5f5; color: #aa4a4a; }

@media (max-width: 640px) {
  .desktop-data-dialog { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .desktop-data-dialog__head { padding: 1rem; }
  .desktop-data-dialog__body { padding: 1rem; }
  .desktop-data-section { padding: .85rem; }
  .desktop-data-section--support,
  .desktop-data-section--pending { align-items: flex-start; flex-direction: column; gap: .8rem; }
}

/* user_app/styles/system_settings_shell.css */
.system-settings-shell { min-height: 32rem; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.system-management-root { --settings-accent: #285c99; --settings-line: #e5eaf0; --settings-muted: #758093; min-width: 0; border: 1px solid var(--settings-line); border-radius: 16px; background: #fff; color: #243247; }
.system-management-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.65rem 1.75rem 1.25rem; }
.system-management-header h1 { margin: 0; font-size: 1.35rem; font-weight: 730; letter-spacing: -0.025em; }
.system-management-header p { margin: 0.4rem 0 0; font-size: 0.82rem; color: var(--settings-muted); }
.system-settings-local-label { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--settings-muted); font-size: 0.74rem; white-space: nowrap; }
.system-settings-local-label svg { width: 0.9rem; height: 0.9rem; }
.system-management-nav-grid { display: flex; flex-wrap: wrap; gap: 1.3rem; padding: 0 1.75rem; border-bottom: 1px solid var(--settings-line); }
.system-management-nav-item { display: flex; align-items: center; gap: 0.45rem; min-height: 2.9rem; padding: 0.55rem 0.15rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #7b8492; cursor: pointer; }
.system-management-nav-item svg { width: 1rem; height: 1rem; }
.system-management-nav-item:active { transform: none; }
.system-management-nav-item:hover { color: #263f60; }
.system-management-nav-item.is-active { border-bottom-color: var(--settings-accent); color: var(--settings-accent); }
.system-management-nav-item:focus-visible { outline: 2px solid var(--settings-accent); outline-offset: 2px; border-radius: 3px; }
.system-management-nav__title { font-size: 0.83rem; font-weight: 600; white-space: nowrap; }
.system-management-main { container: system-settings-content / inline-size; min-width: 0; padding: 1.65rem 1.75rem 1.75rem; }
.system-management-panel { display: flex; width: 100%; min-width: 0; max-width: none; flex-direction: column; gap: 1rem; margin: 0; }
.system-management-panel--ai { container: system-ai-panel / inline-size; }
.system-settings-savebar { position: sticky; bottom: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--settings-line); border-radius: 0 0 16px 16px; padding: 0.95rem 1.75rem; background: #fbfcfe; }
.system-settings-savebar[hidden] { display: none; }
.system-settings-status { display: grid; grid-template-columns: 0.45rem auto; gap: 0.2rem 0.6rem; align-items: center; min-width: 0; }
.system-settings-status::before { content: ''; width: 0.38rem; height: 0.38rem; border-radius: 50%; background: #92a39c; }
.system-settings-status strong { font-size: 0.77rem; font-weight: 600; color: #52627a; }
.system-settings-status span { grid-column: 2; font-size: 0.71rem; color: var(--settings-muted); line-height: 1.4; }
.system-settings-status--warning::before { background: #ca933c; }
.system-settings-status--warning strong { color: #92661d; }
.system-settings-status--info::before { background: var(--settings-accent); }
.system-settings-status--error::before { background: #bc4545; }
.system-settings-status--error strong { color: #ac3434; }
.system-management-root .system-settings-action-btn, .system-management-root .system-settings-ghost-btn { border-radius: 8px; font-weight: 600; box-shadow: none; transform: none; }
.system-management-root .system-settings-action-btn--primary { border-color: var(--settings-accent); background: var(--settings-accent); }
.system-management-root .system-settings-action-btn--primary:hover { background: #204d82; }
.system-management-root .system-settings-action-btn--secondary, .system-management-root .system-settings-ghost-btn { background: #fff; border-color: #d7dee8; }
.system-management-root .system-settings-action-btn--secondary:hover, .system-management-root .system-settings-ghost-btn:hover { background: #f1f4f8; }
.system-management-root .system-settings-action-btn > svg { width: 1rem; height: 1rem; }
.system-management-root .system-settings-action-btn:focus-visible { outline: 2px solid var(--settings-accent); outline-offset: 3px; }
.system-management-root .system-settings-action-btn:disabled { opacity: 0.42; cursor: default; }
.system-management-root .system-settings-input { border-radius: 8px; }
.system-management-main > .system-management-panel > .system-settings-card { border-color: var(--settings-line); border-radius: 10px; background: #fff; }
.system-management-root .role-matrix { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.system-management-root .role-card { border-color: var(--settings-line); border-radius: 10px; background: #fbfcfe; transform: none; }
@container system-settings-content (max-width: 1000px) {
  .system-management-root .admin-users-table-head { display: none; }
  .system-management-root .admin-user-row { grid-template-columns: minmax(0, 1fr); transform: none; }
  .system-management-root .admin-user-mobile-label { display: block !important; color: #929dae; font-size: 0.7rem; margin-bottom: 0.25rem; }
}
@container system-settings-content (max-width: 640px) {
  .system-management-root .admin-user-create-fields { grid-template-columns: minmax(0, 1fr); }
  .system-management-root .admin-user-create-card__head { flex-direction: column; align-items: stretch; }
}
@media (max-width: 760px) {
  .system-management-header { align-items: flex-start; flex-direction: column; gap: 0.65rem; padding: 1.25rem; }
  .system-management-nav-grid { gap: 0.9rem; padding: 0 1.25rem; }
  .system-management-nav-item { gap: 0.3rem; }
  .system-management-nav-item svg { display: none; }
  .system-management-main { padding: 1.25rem; }
  .system-settings-savebar { padding: 0.9rem 1.25rem; flex-wrap: wrap; gap: 0.85rem; }
  .system-settings-savebar .system-settings-actions { margin-left: auto; flex-direction: row; }
  .system-management-root .role-matrix { grid-template-columns: 1fr; }
}

/* user_app/styles/system_ai_models.css */
.system-ai-layout {
  display: grid;
  align-items: start;
  gap: 0.85rem;
  grid-template-columns: 1fr;
  width: 100%;
  min-width: 0;
}

.system-ai-layout__left,
.system-ai-layout__right {
  display: grid;
  min-width: 0;
  gap: 0.8rem;
}

.system-ai-layout__left {
  position: static;
}

.system-ai-local-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  border: 0.5px solid color-mix(in srgb, rgb(52, 199, 89) 26%, var(--apple-border));
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, rgb(52, 199, 89) 9%, white), white 72%);
  padding: 0.9rem 1rem;
  box-shadow: 0 10px 28px rgba(27, 93, 49, 0.07);
}

.system-ai-local-notice__icon {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  background: color-mix(in srgb, rgb(52, 199, 89) 15%, white);
  color: rgb(32, 142, 65);
}

.system-ai-local-notice__icon svg {
  width: 1.08rem;
  height: 1.08rem;
}

.system-ai-local-notice strong,
.system-ai-local-notice span {
  display: block;
}

.system-ai-local-notice strong {
  color: var(--apple-text);
  font-size: 0.86rem;
  font-weight: 780;
}

.system-ai-local-notice span {
  margin-top: 0.2rem;
  color: var(--apple-secondary);
  font-size: 0.76rem;
  line-height: 1.5;
}

/* user_app/styles/system_provider_navigation.css */
.system-ai-provider-nav { min-width: 0; padding: 0.9rem 0.6rem; border: 1px solid #edf0f5; border-radius: 10px; background: #f9fafc; }
.system-ai-provider-nav__heading { display: flex; align-items: center; gap: 0.5rem; padding: 0.15rem 0.65rem 0.85rem; color: #8590a0; font-size: 0.72rem; }
.system-ai-provider-nav__heading > span:last-child { color: #a4acb8; }
.system-model-tabs { display: grid; gap: 0.35rem; }
.system-model-tab { display: flex; align-items: center; gap: 0.65rem; width: 100%; min-width: 0; min-height: 3.9rem; padding: 0.65rem; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #616e81; text-align: left; cursor: pointer; }
.system-model-tab:active { transform: none; }
.system-model-tab:hover { background: #eef2f7; }
.system-model-tab.is-active { border-color: #d8e3f0; background: #ecf2fa; color: #285c99; }
.system-model-tab:focus-visible { outline: 2px solid var(--settings-accent); outline-offset: 2px; }
.system-provider-monogram { display: grid; place-items: center; flex: 0 0 1.85rem; height: 1.85rem; border: 1px solid #e4e8ef; border-radius: 7px; background: #fff; color: #7889a0; font-size: 0.75rem; font-weight: 600; }
.system-model-tab.is-active .system-provider-monogram { color: #285c99; border-color: #d1deef; }
.system-provider-identity { display: grid; min-width: 0; flex: 1; gap: 0.25rem; }
.system-provider-identity strong { overflow-wrap: anywhere; color: inherit; font-size: 0.77rem; line-height: 1.4; font-weight: 600; }
.system-provider-identity small { color: #929dae; font-size: 0.66rem; font-weight: 400; }
.system-provider-state { flex: 0 0 0.3rem; height: 0.3rem; border: 1px solid #bcc6d2; border-radius: 50%; }
.system-provider-state.is-configured { border-color: #7e9c91; background: #7e9c91; }
.system-ai-provider-nav > .system-ai-tool { width: calc(100% - 1.3rem); margin: 1rem 0.65rem 0; border-color: #e0e6ef; font-size: 0.74rem; }
.system-ai-provider-nav__note { margin: 0.85rem 0.65rem 0.2rem; color: #99a2af; font-size: 0.68rem; line-height: 1.65; }
@container system-ai-panel (max-width: 680px) {
  .system-ai-provider-nav { padding: 0.6rem; }
  .system-ai-provider-nav__heading, .system-ai-provider-nav__note { display: none; }
  .system-model-tabs { display: flex; flex-wrap: wrap; gap: 0.3rem; }
  .system-model-tab { width: auto; min-height: 2.2rem; gap: 0.4rem; padding: 0.4rem 0.55rem; }
  .system-provider-monogram, .system-provider-identity small { display: none; }
  .system-ai-provider-nav > .system-ai-tool { width: auto; margin: 0.6rem 0.45rem 0.15rem; min-height: 2rem; }
}

/* user_app/styles/system_model_versions.css */
.system-added-models__count { margin-left: 0.45rem; color: var(--settings-muted); font-size: 0.75rem; font-weight: 400; white-space: nowrap; }
.system-added-models.system-settings-card { border: 0; padding: 0; box-shadow: none; background: transparent; }
.system-added-models .system-settings-card__head { align-items: center; border: 0; padding-bottom: 0; margin-bottom: 1.3rem; flex-wrap: wrap; gap: 0.9rem; }
.system-added-models .system-settings-card__title { color: #26364e; font-size: 1rem; font-weight: 650; }
.system-added-models .system-settings-card__desc { color: var(--settings-muted); font-size: 0.76rem; }
.system-added-models__list { display: grid; margin: 0; padding: 0; list-style: none; }
.system-added-models__item, .system-model-list-heading { display: grid; grid-template-columns: minmax(0, 1fr) 152px 128px 32px; align-items: center; gap: 0.75rem; padding: 0.85rem 0.65rem; }
.system-added-models__item { min-height: 4.9rem; border-bottom: 1px solid #edf0f5; background: #fff; }
.system-added-models__item:hover { background: #fafbfd; }
.system-added-models__identity { display: grid; min-width: 0; gap: 0.28rem; overflow-wrap: anywhere; }
.system-added-models__identity strong { color: #34425a; font-size: 0.81rem; font-weight: 600; line-height: 1.5; }
.system-added-models__identity code { color: #8a93a1; font-size: 0.71rem; line-height: 1.45; }
.system-ai-model-remove { display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 0; background: transparent; color: #8c96a5; border-radius: 6px; cursor: pointer; }
.system-ai-model-remove svg { width: 1rem; height: 1rem; }
.system-ai-model-remove:hover { background: #fff0ef; color: #b44740; }
.system-ai-model-remove:focus-visible { outline: 2px solid var(--settings-accent); outline-offset: 2px; }
.system-model-list-heading { padding-top: 0.65rem; padding-bottom: 0.65rem; border-bottom: 1px solid var(--settings-line); border-radius: 6px 6px 0 0; background: #f6f8fb; color: #7c8798; font-size: 0.72rem; }
.system-model-list-heading small { display: inline-block; margin-left: 0.35rem; font-size: 0.69rem; }
.system-model-defaults { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.system-model-default-badge { color: #6f8099; font-size: 0.65rem; line-height: 1.5; padding: 0.1rem 0.3rem; border-radius: 4px; background: #f0f3f8; white-space: nowrap; }
.system-model-not-default { color: #bcc4cf; font-size: 0.75rem; }
.system-model-list-note { margin: 1rem 0 0; color: #8a94a3; font-size: 0.72rem; line-height: 1.5; }
.system-added-models__empty { display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 0.7rem; min-height: 16rem; padding: 2rem 1rem; color: #8a94a3; font-size: 0.77rem; text-align: center; }
.system-added-models__empty > svg { width: 1.7rem; height: 1.7rem; margin-bottom: 0.35rem; stroke-width: 1.5; }
.system-added-models__empty strong { color: #58677e; font-weight: 600; font-size: 0.85rem; }
.system-added-models__item[hidden], .system-added-models__empty[hidden] { display: none; }
.system-model-editor__fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.85rem; margin: 0; padding: 0; min-width: 0; border: 0; }
.system-model-editor__wide { grid-column: 1 / -1; margin: 0; }
.system-model-editor__error { color: #b42318; font-size: 0.82rem; }
.system-model-editor__error:empty { display: none; }
@container system-ai-panel (max-width: 1100px) {
  .system-added-models__item, .system-model-list-heading { grid-template-columns: minmax(0, 1fr) 142px 32px; }
  .system-model-list-heading > span:nth-child(3) { display: none; }
  .system-model-defaults { grid-column: 1; grid-row: 2; }
  .system-model-defaults:has(.system-model-not-default) { display: none; }
  .system-added-models__item > .system-ai-model-remove { grid-column: 3; grid-row: 1; }
  .system-added-models__item { gap: 0.3rem 0.75rem; }
}
@container system-ai-panel (max-width: 430px) {
  .system-added-models__item { grid-template-columns: minmax(0, 1fr) 32px; padding: 1rem 0.3rem; gap: 0.6rem; }
  .system-model-list-heading { display: none; }
  .system-added-models__item > .system-model-usage { grid-row: 2; grid-column: 1; }
  .system-added-models__item > .system-model-defaults { grid-row: 3; }
  .system-added-models__item > .system-ai-model-remove { grid-column: 2; }
  .system-added-models .system-settings-card__head { margin-bottom: 1rem; }
}

/* user_app/styles/system_model_usage.css */
.system-model-usage { display: flex; align-items: center; gap: 0.45rem; }
.system-model-usage__tag { display: inline-flex; align-items: center; gap: 0.3rem; min-height: 2rem; border: 1px solid #e1e6ee; border-radius: 6px; background: #fff; padding: 0.28rem 0.4rem; color: #939dab; font-size: 0.71rem; cursor: pointer; white-space: nowrap; }
.system-model-usage__tag[aria-pressed="true"] { color: #3d6697; border-color: #d4e1ef; background: #f3f7fc; }
.system-model-usage__check { display: grid; place-items: center; width: 0.8rem; height: 0.8rem; border: 1px solid currentColor; border-radius: 3px; font-size: 0.62rem; line-height: 1; }
.system-model-usage__tag:focus-visible { outline: 2px solid var(--settings-accent); outline-offset: 2px; }
.system-model-usage__tag:disabled { cursor: default; }

/* user_app/styles/system_model_filters.css */
.system-model-list-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.7rem; margin: 0 0 1rem; }
.system-model-search { display: flex; align-items: center; gap: 0.55rem; flex: 1 1 12rem; max-width: 22rem; min-width: 0; min-height: 2.35rem; border: 1px solid #e0e6ee; border-radius: 7px; padding: 0 0.7rem; background: #fff; }
.system-model-search > svg { flex: 0 0 0.95rem; height: 0.95rem; color: #99a4b3; }
.system-management-root .system-model-search input { width: 100%; min-width: 0; min-height: 2.3rem; border: 0 !important; padding: 0; outline: none !important; box-shadow: none !important; background: transparent !important; color: #40516b; font-size: 0.76rem; }
.system-model-search input::placeholder { color: #9ba5b3; }
.system-model-search:focus-within { border-color: #86a5c9; box-shadow: 0 0 0 3px #edf3fa; }
.system-model-filters { display: flex; gap: 0.15rem; padding: 0.2rem; border: 1px solid #edf0f5; border-radius: 7px; background: #f4f6f9; }
.system-model-filters button { border: 1px solid transparent; border-radius: 5px; padding: 0.33rem 0.65rem; color: #929baa; background: transparent; font-size: 0.73rem; cursor: pointer; }
.system-model-filters button[aria-pressed="true"] { color: #425c7e; border-color: #e0e6ee; background: #fff; box-shadow: 0 1px 2px #172d4d08; }
.system-model-filters button:focus-visible { outline: 2px solid var(--settings-accent); outline-offset: 2px; }
@container system-ai-panel (max-width: 430px) {
  .system-model-search { max-width: none; flex-basis: 100%; }
}

/* user_app/styles/system_provider_manager.css */
.system-provider-manager__remove { display: grid; gap: 0.75rem; padding-top: 0.8rem; }
.system-provider-manager__remove button { justify-self: start; }

/* user_app/styles/system_ai_workspace.css */
.system-ai-layout.system-ai-layout--maintenance { grid-template-columns: minmax(0, 1fr); gap: 1.55rem; }
.system-ai-page-header, .system-ai-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.system-ai-page-header h2 { margin: 0; color: #26364e; font-size: 1.03rem; font-weight: 650; }
.system-ai-page-header p { margin: 0.4rem 0 0; color: var(--settings-muted); font-size: 0.78rem; line-height: 1.5; }
.system-ai-toolbar { flex-wrap: wrap; justify-content: flex-end; gap: 0.5rem; }
.system-ai-provider-workspace { display: grid; grid-template-columns: 205px minmax(0, 1fr); align-items: start; gap: 1.5rem; }
.system-ai-provider-panel { min-width: 0; }
.system-ai-tool { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; min-height: 2.35rem; padding: 0.5rem 0.8rem; border: 1px solid #d7dee8; border-radius: 8px; color: #44546c; background: #fff; font-size: 0.78rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.system-ai-tool > svg { width: 0.98rem; height: 0.98rem; }
.system-ai-tool:hover { border-color: #aabdd3; background: #f6f8fb; }
.system-ai-tool--primary { background: var(--settings-accent); border-color: var(--settings-accent); color: #fff; }
.system-ai-tool--primary:hover { background: #204d82; border-color: #204d82; }
.system-ai-tool:focus-visible { outline: 2px solid var(--settings-accent); outline-offset: 3px; }
.system-ai-import-service { display: flex; align-items: flex-start; gap: 1.2rem; padding: 2rem; border: 1px solid var(--settings-line); border-radius: 10px; background: #fbfcfe; }
.system-ai-import-service__icon { display: grid; place-items: center; width: 3rem; height: 3rem; flex-shrink: 0; border-radius: 10px; background: #eaf0f8; color: var(--settings-accent); }
.system-ai-import-service__icon svg { width: 1.5rem; height: 1.5rem; }
.system-ai-import-service h3 { margin: 0.2rem 0 0; font-size: 1.05rem; font-weight: 650; }
.system-ai-import-service p { margin: 0.55rem 0 1.1rem; font-size: 0.81rem; color: var(--settings-muted); line-height: 1.65; }
@container system-ai-panel (max-width: 920px) {
  .system-ai-provider-workspace { grid-template-columns: 180px minmax(0, 1fr); gap: 1rem; }
}
@container system-ai-panel (max-width: 680px) {
  .system-ai-provider-workspace { grid-template-columns: minmax(0, 1fr); }
  .system-ai-page-header { align-items: flex-start; gap: 0.8rem; }
  .system-ai-page-header p { max-width: 17rem; }
}
@media (max-width: 520px) {
  .system-ai-page-header { flex-direction: column; }
  .system-ai-toolbar { justify-content: flex-start; }
  .system-ai-import-service { flex-direction: column; padding: 1.25rem; }
}

/* user_app/styles/system_ai_dialog.css */
.system-ai-dialog:not([open]) { display: none; }
.system-ai-dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(660px, calc(100vw - 2.5rem));
  max-height: min(88dvh, 900px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d7dee8;
  border-radius: 12px;
  background: #fff;
  color: #202b3d;
  box-shadow: 0 20px 70px rgba(20, 35, 60, 0.2);
}
.system-ai-dialog::backdrop { background: rgba(22, 32, 49, 0.28); }
.system-ai-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.4rem 1.5rem 1.15rem; border-bottom: 1px solid #e7ebf1; }
.system-ai-dialog__head h3 { margin: 0; font-size: 1.12rem; font-weight: 700; letter-spacing: 0.01em; }
.system-ai-dialog__head p { max-width: 32rem; margin: 0.4rem 0 0; color: #6b7585; font-size: 0.78rem; line-height: 1.6; }
.system-ai-dialog__close { display: grid; place-items: center; flex: 0 0 2rem; height: 2rem; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #7d8796; cursor: pointer; }
.system-ai-dialog__close svg { width: 1.1rem; height: 1.1rem; }
.system-ai-dialog__close:hover { background: #f0f3f7; color: #263b59; }
.system-ai-dialog__close:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; }
.system-ai-dialog__body { padding: 1.4rem 1.5rem; overflow-y: auto; overscroll-behavior: contain; min-height: 0; scrollbar-gutter: stable; }
.system-ai-dialog__fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.system-ai-dialog__footer { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 0.6rem; padding: 1rem 1.5rem; border-top: 1px solid #e7ebf1; background: #f8f9fb; }
.system-ai-dialog__footer > span { flex: 1 1 180px; font-size: 0.74rem; line-height: 1.6; color: #727e90; overflow-wrap: anywhere; }
.system-ai-dialog .system-settings-action-btn { min-height: 2.4rem; padding: 0.55rem 0.9rem; border-radius: 7px; box-shadow: none; transform: none; font-weight: 600; }
.system-ai-dialog .system-settings-action-btn--primary { border-color: #285c99; background: #285c99; color: #fff; }
.system-ai-dialog .system-settings-action-btn--primary:hover { border-color: #204d82; background: #204d82; }
.system-ai-dialog .system-settings-action-btn--secondary { border-color: #d7dee8; background: #fff; color: #40516b; }
.system-ai-dialog .system-settings-action-btn--secondary:hover { border-color: #aebccc; background: #f3f6fa; }
@media (max-width: 520px) {
  .system-ai-dialog[open] { width: calc(100vw - 1.25rem); max-height: 92dvh; }
  .system-ai-dialog__head, .system-ai-dialog__body, .system-ai-dialog__footer { padding: 1rem; }
  .system-ai-dialog__footer > span { flex-basis: 100%; }
}

/* user_app/styles/system_ai_dialog_fields.css */
.system-ai-dialog .system-settings-field { gap: 0.45rem; }
.system-ai-dialog .system-settings-field__label { color: #3b475b; font-size: 0.79rem; font-weight: 600; }
.system-ai-dialog .system-settings-field__hint { color: #788394; line-height: 1.6; }
.system-management-root .system-ai-dialog .system-settings-input { min-height: 2.6rem; border: 1px solid #d7dee8 !important; border-radius: 7px; background: #fff !important; color: #28384e !important; }
.system-management-root .system-ai-dialog .system-settings-input:hover { border-color: #aebccc !important; }
.system-management-root .system-ai-dialog .system-settings-input:focus { border-color: #285c99 !important; box-shadow: 0 0 0 3px rgba(40, 92, 153, 0.1) !important; }
.system-management-root .system-ai-dialog .system-settings-input:disabled { color: #8591a2 !important; background: #f4f6f9 !important; }
.system-ai-dialog .system-model-editor__fields { margin: 0; padding: 0; background: transparent; border: 0; gap: 1rem; }
.system-ai-dialog[data-ai-model-editor] .system-model-editor__fields { grid-template-columns: 1fr; }
.system-ai-dialog .system-model-editor__error:empty { display: none; }
.system-ai-dialog .system-settings-section-title { margin: 0 0 0.85rem; font-size: 0.84rem; }
.system-ai-dialog .system-default-models { margin-top: 1.15rem; gap: 1.35rem; }
.system-ai-dialog .system-default-model { padding: 0; border: 0; border-radius: 0; background: transparent; gap: 0.85rem; }
.system-ai-dialog .system-default-model + .system-default-model { padding-top: 1.35rem; border-top: 1px solid #e7ebf1; }
.system-ai-dialog .system-default-model > div:first-child { display: flex; align-items: center; gap: 0.6rem; }
.system-ai-dialog .system-default-model > div:first-child > span { border-radius: 4px; padding: 0.12rem 0.4rem; background: #f0f4f9; color: #6b7e98; font-size: 0.7rem; }
.system-ai-dialog .system-default-model__controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; }
.system-ai-dialog.system-ai-connection .system-settings-card { padding: 0; border: 0; box-shadow: none; background: transparent; }
.system-ai-dialog .system-ai-local-notice { margin-top: 1.2rem; padding: 0.75rem 0.85rem; border: 0; border-radius: 7px; background: #f3f6f9; box-shadow: none; gap: 0.7rem; }
.system-ai-dialog .system-ai-local-notice__icon { width: 1.6rem; height: 1.6rem; border-radius: 0; background: transparent; color: #64806e; }
.system-ai-dialog .system-ai-local-notice strong { font-size: 0.79rem; font-weight: 600; }
.system-ai-dialog .system-ai-local-notice span { font-size: 0.72rem; line-height: 1.6; }
.system-ai-dialog .system-settings-card__head { gap: 0.8rem; margin-bottom: 1rem; padding-bottom: 1rem; border-color: #e7ebf1; }
.system-ai-dialog .system-provider-access-note { align-items: flex-start; gap: 0.65rem; padding: 0; border: 0; border-radius: 0; background: transparent; }
.system-ai-dialog .system-provider-access-note__icon { width: 1.8rem; height: 1.8rem; border-radius: 6px; background: #eef3f9; color: #285c99; }
.system-ai-dialog .system-provider-access-note__copy strong { font-size: 0.81rem; font-weight: 600; }
.system-ai-dialog .system-provider-access-note__copy > span { color: #727e90; font-size: 0.75rem; }
.system-ai-dialog .system-provider-credential-link { margin-left: 0; padding: 0.5rem 0.65rem; border-color: #d7e2ef; border-radius: 6px; background: #f6f8fc; color: #285c99; font-size: 0.72rem; font-weight: 600; }
.system-ai-dialog .system-provider-credential-link:hover { border-color: #aebed2; background: #ecf2f9; box-shadow: none; transform: none; }
.system-ai-dialog .system-provider-base-grid { margin-bottom: 1.15rem; }
.system-ai-dialog .system-provider-key-row { grid-template-columns: minmax(0, 1fr); gap: 0.55rem; }
.system-ai-dialog .system-provider-key-row > button { justify-self: start; min-height: 1.8rem; padding: 0.25rem 0; border: 0; background: transparent; color: #8a6262; font-size: 0.74rem; }
.system-ai-dialog .system-provider-key-row > button:hover { background: transparent; color: #a23232; text-decoration: underline; }
.system-ai-dialog .system-provider-test-row { margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px solid #e7ebf1; }
.system-ai-dialog .system-provider-manager__remove { margin-top: 1.4rem; padding-top: 1.15rem; border-top: 1px solid #e7ebf1; }
@media (max-width: 520px) {
  .system-ai-dialog .system-default-model__controls { grid-template-columns: 1fr; }
  .system-ai-dialog .system-provider-access-note { flex-wrap: wrap; }
  .system-ai-dialog .system-provider-credential-link { margin-left: 2.45rem; }
}

/* user_app/styles/system_settings_cards.css */
.system-settings-card,
.system-settings-empty,
.admin-users-filter-card {
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 66%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--apple-card) 84%, var(--apple-bg));
  box-shadow: none;
}

.system-settings-card,
.admin-users-filter-card {
  padding: 1rem;
}

.system-settings-card + .system-settings-card {
  margin-top: 0;
}

.system-settings-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  margin-bottom: 0.9rem;
  padding-bottom: 0.75rem;
  border-bottom: 0.5px solid color-mix(in srgb, var(--apple-border) 54%, transparent);
}

.system-settings-card__head > div {
  min-width: 0;
}

.system-settings-card__title {
  margin: 0;
  color: var(--apple-text);
  font-size: 1rem;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.22;
}

.system-settings-card__desc {
  max-width: 46rem;
  margin: 0.32rem 0 0;
  color: var(--apple-secondary);
  font-size: 0.8rem;
  line-height: 1.55;
}

.system-settings-card__section {
  display: grid;
  gap: 0.7rem;
}

.system-settings-card__section + .system-settings-card__section {
  margin-top: 0.95rem;
  padding-top: 0.95rem;
  border-top: 0.5px solid color-mix(in srgb, var(--apple-border) 54%, transparent);
}

.system-settings-section-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.85rem;
}

.system-settings-section-title span {
  color: var(--apple-text);
  font-size: 0.88rem;
  font-weight: 740;
}

.system-settings-section-title small {
  color: var(--apple-tertiary);
  font-size: 0.73rem;
  line-height: 1.35;
}

.system-ai-provider-card__status {
  flex: 0 0 auto;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-blue) 10%, white);
  padding: 0.28rem 0.6rem;
  color: #075fa8;
  font-size: 0.7rem;
  font-weight: 760;
  white-space: nowrap;
}


/* user_app/styles/system_provider_config.css */
.system-settings-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.system-settings-grid--triple {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.system-provider-key-row {
  display: grid;
  align-items: end;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.system-provider-test-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-top: 0.75rem;
}

.system-provider-test-row__hint {
  color: var(--apple-tertiary);
  font-size: 0.73rem;
  line-height: 1.4;
}

.system-api-test-result {
  display: grid;
  gap: 0.22rem;
  margin-top: 0.65rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 66%, transparent);
  border-radius: 12px;
  padding: 0.7rem 0.78rem;
}

.system-api-test-result strong {
  color: var(--apple-text);
  font-size: 0.8rem;
  font-weight: 760;
}

.system-api-test-result span {
  color: var(--apple-secondary);
  font-size: 0.73rem;
  line-height: 1.45;
}

.system-api-test-result--info {
  background: color-mix(in srgb, var(--apple-blue) 7%, white);
  border-color: color-mix(in srgb, var(--apple-blue) 22%, var(--apple-border));
}

.system-api-test-result--success {
  background: color-mix(in srgb, rgb(52, 199, 89) 7%, white);
  border-color: color-mix(in srgb, rgb(52, 199, 89) 22%, var(--apple-border));
}

.system-api-test-result--error {
  background: color-mix(in srgb, rgb(255, 59, 48) 7%, white);
  border-color: color-mix(in srgb, rgb(255, 59, 48) 22%, var(--apple-border));
}

.system-provider-base-grid {
  margin-bottom: 0.75rem;
  grid-template-columns: minmax(0, 1fr);
}

.system-provider-access-note {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 62%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, white 72%, var(--apple-bg));
  padding: 0.85rem;
}

.system-provider-access-note__icon {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--apple-blue) 10%, white);
  color: var(--apple-blue);
}

.system-provider-access-note__icon svg {
  width: 1rem;
  height: 1rem;
}

.system-provider-access-note__copy strong,
.system-provider-access-note__copy > span {
  display: block;
}

.system-provider-access-note__copy strong {
  color: var(--apple-text);
  font-size: 0.86rem;
  font-weight: 760;
}

.system-provider-access-note__copy > span {
  margin-top: 0.2rem;
  color: var(--apple-secondary);
  font-size: 0.78rem;
  line-height: 1.5;
}


/* user_app/styles/system_provider_portal_link.css */
.system-provider-access-note__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.system-provider-access-note__copy small {
  display: block;
  margin-top: 0.32rem;
  color: var(--apple-tertiary);
  font-size: 0.7rem;
  line-height: 1.45;
}

.system-provider-credential-link {
  display: inline-flex;
  min-height: 2.15rem;
  flex: 0 0 auto;
  align-items: center;
  align-self: center;
  gap: 0.38rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-blue) 24%, var(--apple-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-blue) 8%, white);
  padding: 0.46rem 0.72rem;
  color: var(--apple-blue);
  font-size: 0.74rem;
  font-weight: 760;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background-color 160ms var(--motion-apple),
    border-color 160ms var(--motion-apple),
    box-shadow 160ms var(--motion-apple),
    transform 160ms var(--motion-apple);
}

.system-provider-credential-link svg {
  width: 0.86rem;
  height: 0.86rem;
}

.system-provider-credential-link:hover {
  border-color: color-mix(in srgb, var(--apple-blue) 48%, var(--apple-border));
  background: color-mix(in srgb, var(--apple-blue) 13%, white);
  box-shadow: 0 7px 16px rgba(0, 102, 204, 0.12);
  transform: translateY(-1px);
}

.system-provider-credential-link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--apple-blue) 25%, transparent);
  outline-offset: 2px;
}

@media (max-width: 720px) {
  .system-provider-access-note {
    flex-wrap: wrap;
  }

  .system-provider-credential-link {
    margin-left: 2.75rem;
  }
}

/* user_app/styles/system_model_defaults.css */
.system-default-models {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr;
}

.system-default-model {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.78rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 68%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, white 72%, var(--apple-bg));
  padding: 0.9rem;
}

.system-default-model > div:first-child {
  display: grid;
  gap: 0.16rem;
}

.system-default-model strong,
.system-signature-copy strong {
  color: var(--apple-text);
  font-size: 0.9rem;
  font-weight: 760;
}

.system-default-model span,
.system-signature-copy span {
  color: var(--apple-secondary);
  font-size: 0.78rem;
  line-height: 1.52;
}

.system-default-model__controls {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.system-settings-card__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 0.5px solid color-mix(in srgb, var(--apple-border) 54%, transparent);
}

.system-signature-layout {
  display: grid;
  align-items: start;
  gap: 0.9rem;
  grid-template-columns: minmax(14rem, 0.64fr) minmax(0, 1fr);
}

.system-signature-copy {
  display: grid;
  gap: 0.35rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-blue) 18%, var(--apple-border));
  border-radius: 14px;
  background: color-mix(in srgb, var(--apple-blue) 6%, white);
  padding: 0.95rem;
}

.system-signature-copy__icon {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--apple-blue) 12%, white);
  color: var(--apple-blue);
}

.system-signature-copy__icon svg {
  width: 1rem;
  height: 1rem;
}


/* user_app/styles/system_settings_controls.css */
.system-settings-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.34rem;
}

.system-settings-field__label {
  color: var(--apple-text);
  font-size: 0.76rem;
  font-weight: 700;
}

.system-settings-field__hint {
  color: var(--apple-tertiary);
  font-size: 0.72rem;
  line-height: 1.42;
}

.system-settings-input {
  width: 100%;
  min-height: 2.45rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 76%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, white 82%, var(--apple-bg));
  padding: 0.58rem 0.76rem;
  color: var(--apple-text);
  font-size: 0.86rem;
  transition:
    background-color 170ms ease,
    border-color 170ms ease,
    box-shadow 170ms ease;
}

.system-settings-input:hover {
  border-color: color-mix(in srgb, var(--apple-border) 94%, var(--apple-blue));
  background: white;
}

.system-settings-input:focus {
  outline: none;
  border-color: var(--apple-blue);
  background: white;
  box-shadow: var(--apple-focus-ring);
}

.system-settings-input:disabled {
  color: var(--apple-tertiary);
  background: color-mix(in srgb, var(--apple-control) 74%, white);
  cursor: not-allowed;
}

.system-settings-select {
  position: relative;
  display: block;
}

.system-settings-select select {
  appearance: none;
  padding-right: 2.35rem;
}

.system-settings-select > svg,
.system-settings-select > i,
.system-settings-select .lucide {
  position: absolute;
  right: 0.78rem;
  top: 50%;
  width: 0.95rem;
  height: 0.95rem;
  color: var(--apple-tertiary);
  pointer-events: none;
  transform: translateY(-50%);
}

.system-settings-secret {
  position: relative;
  display: block;
}

.system-settings-input--secret {
  padding-right: 2.55rem;
}

.system-settings-secret-toggle {
  position: absolute;
  right: 0.48rem;
  top: 50%;
  display: inline-flex;
  width: 1.8rem;
  height: 1.8rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--apple-tertiary);
  transform: translateY(-50%);
  transition:
    color 160ms ease,
    background-color 160ms ease,
    transform 160ms var(--motion-apple);
}

.system-settings-secret-toggle i,
.system-settings-secret-toggle svg {
  width: 0.98rem;
  height: 0.98rem;
}

.system-settings-secret-toggle:hover {
  background: color-mix(in srgb, var(--apple-control) 78%, white);
  color: var(--apple-text);
}

.system-settings-secret-toggle:focus-visible {
  outline: none;
  box-shadow: var(--apple-focus-ring);
}

.system-settings-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
}

.system-settings-action-btn,
.system-settings-ghost-btn {
  display: inline-flex;
  min-height: 2.4rem;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 68%, transparent);
  border-radius: 999px;
  padding: 0.52rem 0.9rem;
  font-size: 0.82rem;
  font-weight: 730;
  transition:
    background-color 170ms var(--motion-apple),
    border-color 170ms var(--motion-apple),
    color 170ms ease,
    box-shadow 170ms var(--motion-apple),
    transform 170ms var(--motion-apple);
}

.system-settings-action-btn--secondary,
.system-settings-ghost-btn {
  background: color-mix(in srgb, var(--apple-control) 72%, white);
  color: var(--apple-text);
}

.system-settings-action-btn--primary {
  border-color: color-mix(in srgb, var(--apple-blue) 22%, transparent);
  background: var(--apple-blue);
  color: white;
}

.system-settings-action-btn:hover,
.system-settings-ghost-btn:hover {
  transform: translateY(-1px);
}

.system-settings-action-btn--secondary:hover,
.system-settings-ghost-btn:hover {
  background: color-mix(in srgb, var(--apple-control) 86%, white);
}

.system-settings-action-btn--primary:hover {
  background: var(--apple-blue-hover);
}

.system-settings-action-btn:disabled,
.system-settings-ghost-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  transform: none;
}

.system-settings-ghost-btn svg {
  width: 0.9rem;
  height: 0.9rem;
}


/* user_app/styles/system_user_management.css */
.admin-users-filter-card {
  padding: 0.9rem 1rem;
}

.admin-users-filter-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.admin-users-toolbar {
  display: grid;
  align-items: end;
  gap: 0.7rem;
  grid-template-columns: minmax(14rem, 1.25fr) minmax(9rem, 0.7fr) minmax(9rem, 0.7fr);
}

.admin-users-summary {
  margin-top: 0.7rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--apple-control) 58%, white);
  padding: 0.62rem 0.75rem;
  color: var(--apple-secondary);
  font-size: 0.8rem;
}

.admin-users-table-head,
.admin-user-row {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(4.6rem, 0.55fr) minmax(12rem, 1.35fr) minmax(5.8rem, 0.62fr) minmax(5.8rem, 0.62fr) minmax(9rem, 0.95fr) minmax(12rem, 1.18fr);
}

.admin-users-table-head {
  gap: 0.7rem;
  padding: 0 0.55rem 0.55rem;
  color: var(--apple-tertiary);
  font-size: 0.72rem;
  font-weight: 760;
}

.admin-users-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0;
}

.admin-user-row {
  gap: 0.7rem;
  min-height: 4.05rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 72%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, white 78%, var(--apple-bg));
  padding: 0.64rem 0.68rem;
  transition:
    background-color 170ms var(--motion-apple),
    border-color 170ms var(--motion-apple),
    transform 170ms var(--motion-apple);
}

.admin-user-row:hover {
  border-color: color-mix(in srgb, var(--apple-blue) 22%, var(--apple-border));
  background: white;
  transform: translateY(-1px);
}

.admin-user-cell {
  min-width: 0;
}

.admin-user-cell--id strong,
.admin-user-cell--time span,
.admin-user-row__identity strong,
.admin-user-row__identity span,
.admin-user-row__meta span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-cell--id strong {
  color: var(--apple-text);
  font-size: 0.82rem;
  font-weight: 730;
}

.admin-user-cell--time span {
  color: var(--apple-secondary);
  font-size: 0.8rem;
}

.admin-user-row__identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.7rem;
}

.admin-user-avatar {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-blue) 80%, var(--apple-text));
  color: white;
  font-size: 0.82rem;
  font-weight: 760;
}

.admin-user-row__identity strong {
  color: var(--apple-text);
  font-size: 0.88rem;
  font-weight: 740;
}

.admin-user-row__identity span {
  color: var(--apple-secondary);
  font-size: 0.76rem;
}

.admin-user-row__meta {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.38rem;
}

.admin-user-chip {
  display: inline-flex !important;
  max-width: 100%;
  align-items: center;
  gap: 0.34rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  padding: 0.26rem 0.56rem;
  color: var(--apple-text);
  font-size: 0.72rem;
  font-weight: 760;
}

.admin-user-chip::before {
  content: "";
  display: none;
  width: 0.42rem;
  height: 0.42rem;
  flex: 0 0 auto;
  border-radius: 999px;
  background: currentColor;
}

.admin-user-chip--admin {
  background: rgba(0, 113, 227, 0.11);
  color: #075fa8;
}

.admin-user-chip--viewer {
  background: rgba(99, 99, 102, 0.12);
  color: #52525b;
}

.admin-user-chip--teacher,
.admin-user-chip--pending {
  background: rgba(255, 149, 0, 0.12);
  color: #9a5a00;
}

.admin-user-chip--active {
  background: rgba(52, 199, 89, 0.12);
  color: #137a36;
}

.admin-user-chip--disabled {
  background: rgba(255, 59, 48, 0.1);
  color: #b42318;
}

.admin-user-chip--active::before,
.admin-user-chip--disabled::before,
.admin-user-chip--pending::before {
  display: block;
}

.admin-user-row__controls {
  display: grid;
  min-width: 0;
  gap: 0.45rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-user-select {
  min-height: 2.15rem;
  border-radius: 10px;
  padding-block: 0.46rem;
  font-size: 0.78rem;
}

.admin-users-empty {
  border: 1px dashed var(--apple-border);
  border-radius: 12px;
  padding: 1.5rem;
  color: var(--apple-secondary);
  font-size: 0.86rem;
  text-align: center;
}

.admin-user-mobile-label {
  display: none !important;
}


/* user_app/styles/system_user_creation.css */
.admin-user-create-card {
  display: grid;
  gap: 0.9rem;
}

.admin-user-create-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.admin-user-create-card__head p {
  max-width: 44rem;
  margin: 0.3rem 0 0;
  color: var(--apple-secondary);
  font-size: 0.82rem;
  line-height: 1.55;
}

.admin-user-create-fields {
  display: grid;
  align-items: end;
  gap: 0.7rem;
  grid-template-columns: minmax(13rem, 1fr) minmax(13rem, 1fr) minmax(10rem, 0.7fr);
}

@media (max-width: 900px) {
  .admin-user-create-card__head {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-user-create-fields {
    grid-template-columns: 1fr;
  }
}

/* user_app/styles/system_role_matrix.css */
.role-matrix {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.role-card {
  display: flex;
  min-height: 11rem;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.85rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 72%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, white 76%, var(--apple-bg));
  padding: 0.95rem;
  transition:
    border-color 170ms var(--motion-apple),
    background-color 170ms var(--motion-apple),
    transform 170ms var(--motion-apple);
}

.role-card:hover {
  border-color: color-mix(in srgb, var(--apple-blue) 18%, var(--apple-border));
  background: white;
  transform: translateY(-1px);
}

.role-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
}

.role-card__top span {
  color: var(--apple-text);
  font-size: 0.94rem;
  font-weight: 760;
}

.role-card__top strong {
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-control) 70%, white);
  padding: 0.18rem 0.5rem;
  color: var(--apple-tertiary);
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0;
}

.role-card p {
  margin: 0;
  color: var(--apple-secondary);
  font-size: 0.8rem;
  line-height: 1.62;
}

.role-card__scope {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
}

.role-card__scope span {
  border-radius: 999px;
  background: color-mix(in srgb, var(--apple-control) 66%, white);
  padding: 0.3rem 0.55rem;
  color: var(--apple-text);
  font-size: 0.7rem;
  font-weight: 720;
}

.role-card--admin .role-card__scope span {
  background: color-mix(in srgb, var(--apple-blue) 9%, white);
  color: #075fa8;
}

.system-settings-empty {
  display: flex;
  min-height: 24rem;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem;
  text-align: center;
}


/* user_app/styles/duplicate_check_dialog.css */
.duplicate-check-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(35, 48, 66, 0.3);
  backdrop-filter: none;
}

.duplicate-check-modal {
  position: fixed;
  inset: 0;
  z-index: 81;
  display: grid;
  place-items: center;
  padding: 1.25rem;
}

.duplicate-check-shell {
  width: min(44rem, 100%);
  max-height: min(42rem, calc(100vh - 2.5rem));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(35, 48, 66, 0.14);
}

.duplicate-check-header {
  padding: 1.1rem 1.25rem;
}

.duplicate-check-header h3,
.duplicate-check-header p {
  margin: 0;
}

.duplicate-check-header h3 {
  margin-top: 0.35rem;
  color: #34445c;
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: 0;
}

.duplicate-check-header p:last-child {
  margin-top: 0.55rem;
  color: #758093;
  font-size: 0.8rem;
  line-height: 1.65;
}

.duplicate-check-eyebrow {
  color: #758093;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0;
}

.duplicate-check-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  overflow: auto;
  padding: 0 1.25rem 1rem;
}

.duplicate-check-card {
  border: 1px solid #dfe6ef;
  border-radius: 10px;
  background: #fff;
  padding: 1rem;
}

.duplicate-check-card__top,
.duplicate-check-actions,
.duplicate-check-meta,
.duplicate-check-chapters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.duplicate-check-card__top {
  justify-content: space-between;
  gap: 0.75rem;
}

.duplicate-check-card__title {
  color: #34445c;
  font-weight: 600;
}

.duplicate-check-card__reason,
.duplicate-check-preview {
  color: #526986;
  font-size: 0.82rem;
  line-height: 1.75;
}

.duplicate-check-score,
.duplicate-check-meta span,
.duplicate-check-chapters span {
  border-radius: 4px;
  padding: 0.28rem 0.62rem;
  font-size: 0.76rem;
  font-weight: 500;
}

.duplicate-check-score {
  background: #fff6e6;
  color: #946017;
}

.duplicate-check-meta,
.duplicate-check-chapters,
.duplicate-check-preview {
  margin-top: 0.7rem;
}

.duplicate-check-meta span {
  background: #f3f6fa;
  color: #526986;
}

.duplicate-check-chapters span {
  background: #edf4fc;
  color: #285c99;
}

.duplicate-check-preview {
  margin-bottom: 0;
}

.duplicate-check-actions {
  justify-content: flex-end;
  border-top: 1px solid #e5eaf0;
  padding: 0.85rem 1.25rem;
}


/* user_app/styles/question_confirmation_controls.css */
:is(.knowledge-mapping-dialog, .duplicate-check-shell) .soft-btn {
  min-height: 2.25rem;
  padding: .45rem .8rem;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  color: #526986 !important;
  font-size: .78rem;
  font-weight: 500;
  box-shadow: none !important;
  transform: none !important;
}
:is(.knowledge-mapping-dialog, .duplicate-check-shell) .soft-btn:hover:not(:disabled) {
  border-color: #bed1e8 !important;
  background: #f6f9fc !important;
  color: #285c99 !important;
}
:is(.knowledge-mapping-dialog, .duplicate-check-shell) .soft-btn--dark {
  border-color: #285c99 !important;
  background: #285c99 !important;
  color: #fff !important;
}
:is(.knowledge-mapping-dialog, .duplicate-check-shell) .soft-btn--dark:hover:not(:disabled) {
  border-color: #204d84 !important;
  background: #204d84 !important;
  color: #fff !important;
}
:is(.knowledge-mapping-dialog, .duplicate-check-shell) button:focus-visible {
  outline: 2px solid #729bcb !important;
  outline-offset: 2px;
  box-shadow: none !important;
}
.knowledge-mapping-row__target select:focus {
  border-color: #729bcb !important;
  box-shadow: 0 0 0 2px #285c9914 !important;
}
.knowledge-mapping-dialog__close:hover { background: #edf4fc; color: #285c99; }
:is(.knowledge-mapping-dialog, .duplicate-check-shell) .soft-btn:disabled { opacity: .45; cursor: not-allowed; }

/* user_app/styles/question_batch_toolbar_shell.css */
.question-batch-toolbar {
  display: grid;
  gap: 0.95rem;
  border: 0.5px solid color-mix(in srgb, var(--apple-border) 74%, transparent);
  border-radius: 1.35rem;
  background: color-mix(in srgb, var(--apple-card) 92%, var(--apple-bg));
  padding: 0.75rem;
  box-shadow: var(--apple-shadow);
}

.question-batch-toolbar__content {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto;
  align-items: center;
  gap: 1rem;
}


/* user_app/styles/question_batch_shared_alignment.css */
.question-batch-toolbar__summary,
.question-batch-toolbar__actions,
.question-batch-toolbar__group,
.question-batch-select,
.question-batch-panel__actions {
  display: flex;
  align-items: center;
}


/* user_app/styles/question_batch_summary.css */
.question-batch-toolbar__summary {
  gap: 0.7rem;
  color: var(--apple-text);
}

.question-batch-toolbar__summary strong {
  font-size: 0.96rem;
  letter-spacing: 0;
}

.question-batch-toolbar__summary span,
.question-batch-hint {
  color: var(--apple-secondary);
  font-size: 0.84rem;
}


/* user_app/styles/question_batch_action_layout.css */
.question-batch-toolbar__actions,
.question-batch-panel__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}

.question-batch-toolbar__group {
  gap: 0.25rem;
  border-radius: 999px;
  background: var(--apple-control);
  padding: 0.25rem;
  box-shadow: var(--apple-control-shadow);
}


/* user_app/styles/question_batch_toolbar_buttons.css */
.question-batch-toolbar__actions .soft-btn {
  min-height: 2.25rem;
  border-radius: 999px;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 0.85rem;
  color: var(--apple-text) !important;
  font-size: 0.82rem;
  font-weight: 650;
  white-space: nowrap;
}

.question-batch-toolbar__actions .soft-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--apple-control) 68%, var(--apple-border)) !important;
  box-shadow: none !important;
}

.question-batch-toolbar__group--primary .soft-btn:not(:disabled) {
  color: var(--apple-blue) !important;
}

.question-batch-toolbar__group--primary .soft-btn:hover:not(:disabled) {
  background: rgba(0, 102, 204, 0.1) !important;
}

.question-batch-toolbar__actions .soft-btn:disabled {
  opacity: 0.34;
  background: transparent !important;
  box-shadow: none !important;
}


/* user_app/styles/question_batch_panel_buttons.css */
.question-batch-panel__actions .soft-btn {
  min-height: 2.5rem;
  border-radius: 999px;
  padding: 0 1rem;
  font-size: 0.84rem;
  font-weight: 650;
  white-space: nowrap;
}

.question-batch-panel__actions .soft-btn:not(.soft-btn--dark) {
  background: var(--apple-control) !important;
  color: var(--apple-text) !important;
  box-shadow: var(--apple-control-shadow) !important;
}

.question-batch-panel__actions .soft-btn:not(.soft-btn--dark):hover:not(:disabled) {
  background: color-mix(in srgb, var(--apple-control) 78%, var(--apple-border)) !important;
}

.question-batch-panel__actions .soft-btn--dark {
  min-width: 5.5rem;
}

.question-batch-panel__actions .soft-btn:disabled {
  opacity: 0.52;
  transform: none;
}


/* user_app/styles/question_batch_select_control.css */
.question-batch-select {
  gap: 0.4rem;
  border-radius: 999px;
  background: rgba(0, 113, 227, 0.08);
  padding: 0.38rem 0.7rem;
  color: #075fa8;
  font-size: 0.78rem;
  font-weight: 750;
  white-space: nowrap;
}

.question-batch-select input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--apple-blue);
}


/* user_app/styles/question_batch_danger_action.css */
.question-batch-danger {
  min-height: 2.75rem !important;
  background: transparent !important;
  color: var(--apple-danger) !important;
  box-shadow: none !important;
  padding-inline: 0.5rem !important;
}


/* user_app/styles/question_batch_panel_form.css */
.question-batch-panel {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  border-top: 0.5px solid color-mix(in srgb, var(--apple-border) 72%, transparent);
  padding-top: 0.95rem;
}

.question-batch-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.question-batch-grid label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.42rem;
  color: var(--apple-text);
  font-size: 0.8rem;
  font-weight: 750;
}

.question-batch-grid input,
.question-batch-grid select {
  min-height: 2.6rem;
  border-radius: 0.85rem;
  padding: 0 0.8rem;
  font-size: 0.88rem;
  font-weight: 500;
}


/* user_app/styles/responsive_wide_overrides.css */
@media (max-width: 1279px) {
  .workspace-split-layout.workspace-split-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .workspace-split-layout__rail {
    max-width: none;
  }

  .workspace-resizer {
    display: none;
  }

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

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

  .paper-import-review-sidebar {
    position: static;
    max-height: none;
    min-height: 0;
  }

  .paper-import-page-body {
    grid-template-columns: 1fr;
  }

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

  .system-ai-layout__left {
    position: static;
  }

  .admin-users-toolbar,
  .admin-user-row,
  .system-default-models,
  .system-default-model__controls,
  .system-signature-layout {
    grid-template-columns: 1fr;
  }
}

@container system-ai-panel (min-width: 620px) {
  .system-ai-layout {
    grid-template-columns: minmax(16.75rem, 0.82fr) minmax(19.5rem, 1.18fr);
  }

  .system-ai-layout__left {
    position: sticky;
    top: 0.75rem;
  }
}

@container system-ai-panel (min-width: 620px) and (max-width: 859px) {
  .system-settings-grid,
  .system-settings-grid--triple,
  .system-provider-key-row,
  .system-default-model__controls {
    grid-template-columns: 1fr;
  }

  .system-provider-key-row {
    align-items: stretch;
  }

  .system-settings-card {
    padding: 0.9rem;
  }

  .system-model-tab {
    padding-right: 0.34rem;
    padding-left: 0.34rem;
  }

  .system-model-tab span {
    font-size: 0.76rem;
  }
}


/* user_app/styles/responsive_tablet_overrides.css */
@media (max-width: 1023px) {
  .basket-drawer {
    inset: 0;
    padding: 0.75rem;
  }

  .basket-modal__panel {
    width: 100%;
    height: calc(100dvh - 1.5rem);
    max-height: none;
    min-height: 0;
    border-radius: 1.5rem;
  }
}


/* user_app/styles/responsive_mobile_overrides.css */
@media (max-width: 767px) {
  :scope {
    --shell-width: 0rem;
  }

  .questions-workspace > aside .workspace-rail {
    height: auto;
    max-height: none;
  }

  .workspace-frame {
    padding: 1rem !important;
  }

  .module-command-bar {
    padding: 1rem !important;
  }

  .module-command-bar__title-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .module-command-bar__summary {
    margin-top: 0.6rem;
    font-size: 0.9rem;
    line-height: 1.6;
  }

  .module-command-bar__actions {
    width: 100%;
    align-items: stretch;
    justify-content: flex-start;
  }

  .module-command-bar__actions > * {
    flex: 1 1 12rem;
  }

  .workspace-panel-head,
  .dashboard-toolbar,
  .question-import-header {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-toolbar {
    padding-bottom: 0.85rem;
  }

  .question-import-header__tools {
    align-items: stretch;
  }

  .question-import-route {
    min-width: 0;
  }

  .question-import-footer {
    flex-direction: column;
    align-items: stretch;
    padding: 0 0.5rem;
  }

  .workspace-panel-actions,
  .dashboard-toolbar {
    justify-content: flex-start;
  }

  .workspace-panel-actions > *,
  .dashboard-toolbar > button {
    flex: 1 1 12rem;
  }

  .dashboard-refresh-btn {
    justify-content: center;
  }

  .widget-workshop-header-actions .soft-btn {
    flex: 1 1 10rem;
  }

  .basket-fab,
  .app-toast {
    right: 1rem;
  }

  .basket-drawer {
    inset: 0;
    padding: 0.75rem;
  }

  .basket-modal__panel {
    width: 100%;
    height: calc(100dvh - 1.5rem);
    max-height: none;
    min-height: 0;
    border-radius: 1.1rem;
  }

  .basket-drawer__header,
  .basket-list,
  .basket-export-card {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .basket-export-card__actions {
    align-items: stretch;
    justify-content: flex-start;
  }

  .basket-export-card__actions .soft-btn {
    flex: 1 1 10rem;
  }

  .basket-export-card__actions .basket-layout-entry-btn {
    margin-right: 0;
  }

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

  .paper-import-modal {
    padding: 0.75rem;
  }

  .paper-import-shell {
    height: calc(100vh - 1.5rem);
    border-radius: 1.5rem;
  }

  .paper-import-shell__header {
    padding: 1.1rem 1rem 1rem;
  }

  .paper-import-shell__body {
    padding: 0.75rem;
  }

  .paper-import-create-grid,
  .paper-import-meta-grid,
  .paper-import-item-grid,
  .paper-import-meta-compact-grid,
  .paper-import-item-columns,
  .paper-import-item-layout {
    grid-template-columns: 1fr;
  }

  .paper-import-item-side {
    position: static;
  }

  .paper-import-workspace__top,
  .paper-import-workspace__actions,
  .paper-import-paper-bar,
  .paper-import-item-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .paper-import-paper-bar__meta {
    align-items: stretch;
    flex-direction: column;
  }

  .paper-import-meta-dialog__grid {
    grid-template-columns: 1fr;
  }

  .admin-drawer__panel {
    width: 100vw;
    max-width: 100vw;
    border-radius: 1.5rem 0 0 1.5rem;
  }

  .admin-drawer__header,
  .admin-drawer__body,
  .admin-drawer__footer {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .admin-drawer__footer {
    flex-direction: column;
  }

  .admin-drawer__primary,
  .admin-drawer__secondary {
    flex: 0 0 auto;
    width: 100%;
  }

  .resource-card__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .resource-action,
  .page-btn {
    width: 100%;
  }

  .resource-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .question-meta-row,
  .question-actions,
  .resource-toolbar,
  .knowledge-toolbar-intro {
    flex-direction: column;
    align-items: flex-start;
  }

  .question-toggles {
    width: 100%;
    justify-content: flex-start;
  }

  .view-mode-toggle__btn {
    width: 2.2rem;
    height: 2.2rem;
  }

  .system-settings-grid,
  .system-settings-grid--triple {
    grid-template-columns: 1fr;
  }

  .system-settings-secret,
  .system-settings-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .system-provider-key-row,
  .system-default-models,
  .system-default-model__controls,
  .admin-users-toolbar,
  .admin-users-table-head,
  .admin-user-row,
  .admin-user-row__controls,
  .role-matrix,
  .system-signature-layout {
    grid-template-columns: 1fr;
  }

  .system-provider-key-row {
    align-items: stretch;
  }

  .admin-users-table-head {
    display: none;
  }

  .admin-user-mobile-label {
    display: block !important;
    margin-bottom: 0.18rem;
    color: var(--apple-tertiary);
    font-size: 0.68rem;
    font-weight: 760;
  }

  .admin-users-filter-card__head {
    align-items: stretch;
    flex-direction: column;
  }

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

  .question-batch-toolbar__summary,
  .question-batch-toolbar__actions,
  .question-batch-panel__actions {
    justify-content: flex-start;
  }

  .question-batch-toolbar__group {
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .question-batch-toolbar__group::-webkit-scrollbar {
    display: none;
  }

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

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

  .admin-user-row__controls {
    grid-template-columns: 1fr;
  }

  .basket-item {
    flex-direction: column;
  }

  .basket-item__actions {
    width: 100%;
    min-width: 0;
    flex-direction: row;
    flex-wrap: wrap;
  }
}


/* user_app/styles/shared_control_states.css */
.nav-action--primary,
.soft-btn--dark,
.admin-trigger-btn,
.duplicate-check-primary,
.admin-drawer__primary {
  background: var(--apple-blue) !important;
  color: white !important;
  box-shadow: var(--apple-shadow) !important;
}

.nav-action--primary:hover,
.soft-btn--dark:hover,
.admin-trigger-btn:hover,
.duplicate-check-primary:hover:not(:disabled),
.admin-drawer__primary:hover:not(:disabled) {
  background: var(--apple-blue-hover) !important;
}

.admin-drawer__secondary,
.duplicate-check-secondary {
  border: 0 !important;
  background: var(--apple-control) !important;
  color: var(--apple-text) !important;
  box-shadow: var(--apple-control-shadow) !important;
}

.admin-drawer__secondary:hover:not(:disabled),
.duplicate-check-secondary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--apple-control) 78%, var(--apple-border)) !important;
  color: var(--apple-text) !important;
  transform: translateY(-1px);
}

.question-batch-danger,
.question-admin-chip--danger {
  border: 0 !important;
  background: var(--apple-danger-bg) !important;
  color: var(--apple-danger) !important;
  box-shadow: inset 0 0 0 0.5px color-mix(in srgb, var(--apple-danger) 26%, transparent) !important;
}

.question-batch-danger:hover:not(:disabled),
.question-admin-chip--danger:hover {
  background: var(--apple-danger-bg-hover) !important;
  color: var(--apple-danger) !important;
}

.paper-import-job:hover {
  transform: translateY(-1px);
}

.module-pill:focus-visible,
.nav-action:focus-visible,
.soft-btn:focus-visible,
.admin-trigger-btn:focus-visible,
.chip-btn:focus-visible,
.page-btn:focus-visible,
.resource-action:focus-visible,
.question-toggle:focus-visible,
.basket-item__btn:focus-visible,
.auth-tab:focus-visible,
.tree-toggle:focus-visible,
.tree-admin-action:focus-visible,
.paper-assembly-action-btn:focus-visible,
.paper-assembly-preview-btn:focus-visible,
.paper-assembly-dropdown__trigger:focus-visible,
.paper-assembly-dropdown__tag button:focus-visible,
.paper-assembly-selected-tag:focus-visible,
.paper-import-filter-tab:focus-visible,
.paper-import-question-dot:focus-visible,
.paper-import-submit-btn:focus-visible,
.paper-import-job:focus-visible,
.question-action-pill:focus-visible,
.admin-drawer__close:focus-visible,
.basket-close-btn:focus-visible,
.resource-floating-toolbar__btn:focus-visible,
.system-management-tab:focus-visible,
.system-settings-ghost-btn:focus-visible,
.app-toast__action:focus-visible {
  outline: 0 !important;
  box-shadow: var(--apple-focus-ring), var(--apple-control-shadow) !important;
}

.question-batch-toolbar__actions .question-batch-danger {
  background: transparent !important;
  color: var(--apple-danger) !important;
  box-shadow: none !important;
}

.question-batch-toolbar__actions .question-batch-danger:hover:not(:disabled) {
  background: var(--apple-danger-bg) !important;
  color: var(--apple-danger) !important;
  box-shadow: none !important;
}

.question-batch-toolbar__actions .question-batch-danger:disabled {
  background: transparent !important;
  color: var(--apple-danger) !important;
  opacity: 0.28;
}

/* user_app/styles/question_similarity_dialog.css */
.question-similarity-layer {
  position: fixed;
  inset: 0;
  z-index: 1100;
}

.question-similarity-layer[hidden] { display: none; }

.question-similarity-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(35, 48, 66, .3);
  opacity: 0;
  transition: opacity 240ms ease;
}

.question-similarity-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  width: min(80rem, calc(100vw - 2rem));
  max-height: min(58rem, calc(100vh - 2rem));
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  border-radius: 16px;
  background: #f7f9fc;
  box-shadow: 0 18px 56px rgba(35, 48, 66, .16);
  opacity: 0;
  transform: translate(-50%, calc(-50% + 1.25rem)) scale(.975);
  transition: opacity 240ms ease, transform 360ms var(--motion-apple);
}

.question-similarity-layer.is-open .question-similarity-backdrop { opacity: 1; }
.question-similarity-layer.is-open .question-similarity-panel { opacity: 1; transform: translate(-50%, -50%) scale(1); }

.question-similarity-header {
  display: flex;
  min-height: 4rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.35rem 1rem 1.5rem;
  border-bottom: 1px solid #e5eaf0;
  background: #fff;
}

.question-similarity-header h2 { margin: 0; color: #34445c; font-size: 1.05rem; font-weight: 650; }

.question-similarity-close {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid #dfe6ef;
  border-radius: 7px;
  background: #fff;
  color: #526986;
  font-size: 1.35rem;
  line-height: 1;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.question-similarity-close:hover { border-color: #c4d5e9; background: #f3f7fc; color: #285c99; }
.question-similarity-scroll { min-height: 0; overflow-y: auto; padding: 1.15rem 1.25rem 1.4rem; }

.question-similarity-source {
  border: 1px solid #e5eaf0;
  border-radius: 10px;
  background: #fff;
  padding: .9rem 1rem;
}

.question-similarity-source__summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.question-similarity-section-label { display: block; margin-bottom: .5rem; color: #758093; font-size: .72rem; font-weight: 600; }
.question-similarity-meta { display: flex; flex-wrap: wrap; gap: .35rem; }
.question-similarity-panel .question-index-badge { display: none; }

.question-similarity-source__summary > button,
.question-similarity-expand {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: #285c99;
  font-size: .76rem;
  font-weight: 550;
  padding: .45rem .25rem;
}

.question-similarity-source__body {
  max-height: 0;
  overflow: hidden;
  color: var(--apple-text);
  line-height: 1.75;
  opacity: 0;
}

.question-similarity-source.is-expanded .question-similarity-source__body {
  max-height: none;
  margin-top: .85rem;
  border-top: 1px solid #e5eaf0;
  padding-top: .9rem;
  opacity: 1;
}

.question-similarity-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .75rem;
  border-radius: 8px;
  background: var(--question-status-pass-bg);
  color: var(--question-status-pass-text);
  padding: .7rem .85rem;
  font-size: .78rem;
}

.question-similarity-notice[hidden] { display: none; }

.question-similarity-notice button {
  border: 0;
  border-radius: 6px;
  background: white;
  color: inherit;
  font-weight: 550;
  padding: .45rem .75rem;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 16%, transparent);
}

.question-similarity-section-head { display: flex; align-items: end; justify-content: space-between; margin: 1.15rem .15rem .75rem; }
.question-similarity-section-head span { display: block; color: #34445c; font-size: .92rem; font-weight: 650; }
.question-similarity-section-head small { color: #758093; font-size: .72rem; }
.question-similarity-section-head b { color: #526986; font-size: .75rem; }
.question-similarity-list { display: grid; gap: .85rem; }

.question-similarity-panel .question-similarity-card { position: relative; border: 1px solid #e5eaf0 !important; border-radius: 10px !important; background: #fff !important; padding: 1rem 1.05rem 1rem; box-shadow: none !important; }
.question-similarity-panel .question-similarity-card:hover { border-color: #c4d5e9 !important; }
.question-similarity-card .question-meta-row { align-items: center; }
.question-similarity-card .question-meta-row__left { flex-wrap: wrap; gap: .35rem; }
.question-similarity-scoreline { display: flex; flex: 0 1 auto; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem; }

.question-similarity-level {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: .18rem;
  border-radius: 5px;
  font-size: .72rem;
  font-weight: 750;
  padding: .38rem .68rem;
}

.question-similarity-level strong { font-size: .92rem; line-height: 1; }
.question-similarity-level small { font-size: .64rem; font-weight: 700; }
.question-similarity-level em { margin-left: .22rem; font-size: .68rem; font-style: normal; }

.question-similarity-level--high { background: var(--question-status-pass-bg); color: var(--question-status-pass-text); }
.question-similarity-level--medium { background: #edf4fc; color: #285c99; }
.question-similarity-level--related { background: #f3f6fa; color: #526986; }

.question-similarity-card__body {
  position: relative;
  max-height: 11.5rem;
  overflow: hidden;
  margin-top: .8rem;
  mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
}
.question-similarity-card.is-expanded .question-similarity-card__body { max-height: none; mask-image: none; }
.question-similarity-expand { display: block; margin: .15rem auto -.15rem; }
.question-similarity-panel .question-similarity-card .question-actions { flex-flow: row nowrap; align-items: center; padding-top: .75rem; }
.question-similarity-card .question-toggles { width: auto; flex: 0 0 auto; }
.question-similarity-card__tags { min-width: 0; flex: 1 1 auto; }
.question-similarity-card .question-tag-row { margin: 0; }
.question-similarity-reasons { display: flex; flex-wrap: wrap; gap: .32rem; }
.question-similarity-reasons span {
  border-radius: 5px;
  background: #edf4fc;
  color: #285c99;
  font-size: .68rem;
  font-weight: 500;
  padding: .28rem .55rem;
}

.question-similarity-reasons b { margin-right: .28rem; font-weight: 750; }

.question-similarity-panel .question-similarity-use.question-toggle { border: 1px solid #c9dbef; border-radius: 7px; background: #edf4fc !important; color: #285c99 !important; font-size: .75rem; font-weight: 550; box-shadow: none !important; transform: none !important; }
.question-similarity-panel .question-similarity-use:hover:not(:disabled) { border-color: #b6cee8; background: #e2edf9 !important; }
.question-similarity-panel .question-similarity-use.is-basketed:disabled { border-color: #285c99; background: #285c99 !important; color: #fff !important; cursor: default; opacity: 1; }
.question-similarity-panel .question-toggle__dot { display: none; }
.question-similarity-panel button:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; box-shadow: none !important; }

.question-similarity-loading,
.question-similarity-empty { display: grid; min-height: 14rem; place-items: center; align-content: center; color: var(--apple-secondary); text-align: center; }
.question-similarity-loading span { width: 1.5rem; height: 1.5rem; border: 2px solid #d7e7fa; border-top-color: var(--apple-blue); border-radius: 50%; animation: spin 800ms linear infinite; }
.question-similarity-loading p,
.question-similarity-empty p { margin: .65rem 0 0; font-size: .8rem; }

.paper-assembly-item__actions { display: flex; gap: .4rem; }
.paper-assembly-item__actions button:first-child { background: #eaf3ff; color: var(--apple-blue); }

@media (max-width: 720px) {
  .question-similarity-panel { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); border-radius: 12px; }
  .question-similarity-header { min-height: 4.25rem; padding: .85rem 1rem; }
  .question-similarity-scroll { padding: .75rem; }
  .question-similarity-source__summary { align-items: flex-start; }
  .question-similarity-panel .question-similarity-card .question-actions { align-items: stretch; flex-direction: column; }
  .question-similarity-card .question-toggles,
  .question-similarity-use { width: 100%; }
  .question-similarity-use { justify-content: center; }
}

/* user_app/styles/question_overlay_cards.css */
/* Shared question metadata in question overlays and paper assembly. */
:is(.question-similarity-panel, .basket-modal__panel, .paper-assembly-center, .paper-assembly-panel) .question-meta-row { flex-wrap: wrap; gap: .45rem .8rem; }
:is(.question-similarity-panel, .basket-modal__panel, .paper-assembly-center, .paper-assembly-panel) .question-meta-row__left { min-width: 0; align-items: center; gap: .3rem .45rem; }
:is(.question-similarity-panel, .basket-modal__panel, .paper-assembly-center, .paper-assembly-panel) .question-index-badge { width: 1.5rem; min-height: 1.5rem; border-radius: 5px; background: #f3f6fa; color: #526986; box-shadow: none; font-size: .7rem; }
:is(.question-similarity-panel, .basket-modal__panel, .paper-assembly-center, .paper-assembly-panel) .question-meta-chip { min-height: 1.5rem; padding: .15rem .4rem; border-radius: 5px; background: #f5f7fa; color: #64748b; font-size: .69rem; font-weight: 500; line-height: 1.5; }
:is(.question-similarity-panel, .basket-modal__panel, .paper-assembly-center, .paper-assembly-panel) .question-meta-chip--source { max-width: 100%; background: transparent; color: #34445c; overflow-wrap: anywhere; }
:is(.question-similarity-panel, .basket-modal__panel, .paper-assembly-center, .paper-assembly-panel) .question-meta-chip--id { background: transparent; color: #8b97a8; box-shadow: none; }
:is(.question-similarity-panel, .basket-modal__panel) .question-divider { margin: .6rem 0 .75rem; background: #edf0f5; }
:is(.question-similarity-panel, .basket-modal__panel) .question-actions { gap: .7rem; margin-top: .85rem; padding-top: .7rem; border-top-color: #edf0f5; }
:is(.question-similarity-panel, .basket-modal__panel) .question-tag-row { gap: .35rem .7rem; }
:is(.question-similarity-panel, .basket-modal__panel) .question-tag-row .brand-tag { min-height: 1.4rem; padding: 0; gap: .3rem; border-radius: 0; background: transparent; color: #758093; font-size: .7rem; font-weight: 400; line-height: 1.6; box-shadow: none; }
:is(.question-similarity-panel, .basket-modal__panel) .brand-tag--knowledge { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
:is(.question-similarity-panel, .basket-modal__panel) .question-tag-row .brand-tag__icon { width: .9rem; height: .9rem; flex-shrink: 0; border-radius: 0; background: none; color: #8998ab; }

/* Basket sorting retains its existing popup placement and keyboard behavior. */
.basket-drawer__tools .sort-menu__trigger { min-height: 2.35rem; padding: .4rem .65rem; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #526986; font-size: .75rem; font-weight: 500; box-shadow: none; transform: none; }
.basket-drawer__tools .sort-menu__trigger:hover, .basket-drawer__tools .sort-menu__trigger[aria-expanded="true"] { border-color: #bed1e8; background: #f6f9fc; color: #285c99; }
.basket-drawer__tools .sort-menu__dropdown { border: 1px solid #e5eaf0; border-radius: 9px; background: #fff; padding: .3rem; box-shadow: 0 8px 24px #34445c14; backdrop-filter: none; -webkit-backdrop-filter: none; animation: none; }
.basket-drawer__tools .sort-menu__option { border-radius: 5px; padding: .55rem .65rem; color: #526986; font-size: .75rem; transform: none; }
.basket-drawer__tools .sort-menu__option:hover, .basket-drawer__tools .sort-menu__option.is-active { background: #edf4fc; color: #285c99; }
.basket-drawer__tools .sort-menu__badge { border-radius: 4px; background: #edf4fc; color: #285c99; }
.basket-modal__panel button:focus-visible { outline: 2px solid #285c99; outline-offset: 2px; box-shadow: none !important; }
@media (max-width: 1023px) {
  .basket-drawer .basket-modal__panel { border-radius: 12px; }
}

/* user_app/styles/public_question_workspace.css */
.public-question-title { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) {
  --apple-blue: #285c99;
  --apple-text: #34445c;
  --apple-secondary: #758093;
  --apple-control: #f3f6fa;
  --apple-border: #dce4ee;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .questions-workspace {
  grid-template-columns: minmax(320px, var(--workspace-rail-width)) 12px minmax(0, 1fr);
  border: 1px solid #e5eaf0;
  border-radius: 16px;
  background: #fff;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-split-layout__main { container: public-question-results / inline-size; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-split-layout__main > * { margin-top: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel {
  padding: 1.5rem 1.5rem 1.25rem;
  border: 0;
  border-bottom: 1px solid #e5eaf0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#questionsModule[data-bank-scope="public"] .public-question-title { display: inline; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-legacy-title { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-title { color: #243247; font-size: 1.38rem; font-weight: 650; letter-spacing: -.02em; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-hint { margin-top: .4rem; color: #758093; font-size: .75rem; line-height: 1.7; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-head { align-items: flex-start; gap: 1rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions > * { flex: 0 0 auto; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions { flex-shrink: 0; gap: .5rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions > button,
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions .admin-trigger-btn {
  min-height: 2.2rem; padding: .45rem .7rem; border: 1px solid #dce4ee !important; border-radius: 7px !important;
  background: #fff !important; box-shadow: none !important; color: #526783 !important; font-size: .74rem; font-weight: 500;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions .admin-trigger-btn { background: #285c99 !important; border-color: #285c99 !important; color: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-results-bar {
  padding: 1rem 1.5rem; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none; backdrop-filter: none;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-results-bar > div { gap: .65rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-results-bar > div > div { gap: .55rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionList { padding: 0 1.5rem 1.5rem; gap: .9rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #paginationBar { margin: 0; padding: .25rem 1.5rem 1.5rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-resizer { border-left: 1px solid #edf0f4; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-resizer::before { width: 3px; height: 2.5rem; margin-top: 5rem; opacity: .65; transform: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(button, input, select):focus-visible { outline: 2px solid #729bcb !important; outline-offset: 2px; box-shadow: none !important; }
@container public-question-results (max-width: 900px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionList[data-view-mode="grid"] { grid-template-columns: minmax(0, 1fr); }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-head { flex-wrap: wrap; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions { flex-wrap: wrap; }
}
@media (max-width: 1279px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .questions-workspace { grid-template-columns: minmax(0, 1fr); gap: 0; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-split-layout__rail { border-bottom: 1px solid #e5eaf0; }
}
@media (max-width: 700px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel { padding: 1.15rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-results-bar { padding: 1rem 1.15rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionList { padding: 0 1.15rem 1.15rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-title { font-size: 1.2rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-results-bar > div > div { justify-content: flex-start; }
}

/* user_app/styles/public_question_filters.css */
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: .8rem .65rem; margin-top: 1.2rem;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields > * { min-width: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search { grid-column: 1 / -1; gap: .4rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields > label > span:first-child,
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range > span {
  display: block; color: #758093; font-size: .72rem; font-weight: 500; letter-spacing: 0; line-height: 1.5;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields :is(input, select) {
  width: 100%; min-width: 0; height: 2.3rem; min-height: 2.3rem; margin-top: .4rem; padding: .4rem .65rem;
  border: 1px solid #dce4ee !important; border-radius: 7px !important; background: #f9fafc !important;
  box-shadow: none !important; color: #34445c; font-size: .78rem; transform: none;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields :is(input, select):focus { border-color: #87add7 !important; background: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search input { margin-top: 0; padding-left: 2.3rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search__icon { left: .75rem; color: #8999ad; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range { grid-column: span 2; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range > div { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin-top: .4rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range input { margin-top: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-search-actions { grid-column: span 2; display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-search-actions button {
  min-height: 2.3rem; padding: .45rem .8rem; border: 1px solid #dce4ee !important; border-radius: 7px !important;
  background: #fff !important; color: #61748c !important; box-shadow: none !important; font-size: .76rem; font-weight: 550; transform: none;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #searchBtn { background: #285c99 !important; border-color: #285c99 !important; color: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #searchBtn:hover { background: #204d84 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #clearFiltersBtn:hover { background: #f2f6fb !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #filterSummary { flex-basis: 100%; color: #8995a6; font-size: .7rem; line-height: 1.5; }
@container public-question-results (min-width: 1000px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search { grid-column: span 4; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-search-actions { grid-column: 5 / -1; grid-row: 1; flex-wrap: nowrap; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #filterSummary { flex: 1 1 0; }
}
@media (max-width: 700px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-search-actions { grid-column: 1 / -1; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #filterSummary { flex: 1 1 6rem; }
}

/* user_app/styles/public_question_tree.css */
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-split-layout__rail { top: 1.5rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-rail { height: calc(100dvh - 5rem); min-height: 30rem; padding: 1.5rem 1.2rem; border: 0; border-radius: 16px 0 0 16px; background: #fff; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-rail h3 { color: #34445c; font-size: .85rem; font-weight: 600; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #treeCount { margin-top: .6rem; color: #8995a6; font-size: .72rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-rail > label { margin-top: 1rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-rail > label > span { color: #758093; font-size: .72rem; font-weight: 500; letter-spacing: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #chapterSearchInput { height: 2.3rem; padding: .45rem .65rem; border: 1px solid #dce4ee !important; border-radius: 7px !important; background: #f9fafc !important; box-shadow: none !important; color: #34445c; font-size: .76rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #chapterSearchInput:focus { border-color: #87add7 !important; background: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #chapterTree { margin-top: 1rem; gap: .2rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-row { gap: .3rem; padding: .25rem .2rem; border-radius: 6px; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-row:hover { background: #f3f7fc; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-row:has(.tree-checkbox > input:checked) { background: #eaf2fc; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-row:has(.tree-checkbox > input:checked) .tree-checkbox { color: #285c99; font-weight: 550; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-toggle, #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-leaf { width: 1.5rem; min-width: 1.5rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-toggle { height: 1.7rem; border-radius: 5px; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-checkbox { gap: .5rem; font-size: .78rem; line-height: 1.65; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-children { gap: .2rem; padding-left: .4rem; margin-left: .7rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #treeSelectedCount { margin-top: .85rem; padding-top: .8rem; border-top: 1px solid #edf0f4; color: #758093; font-size: .72rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions-slot .soft-btn { border-radius: 6px !important; background: #f3f6fa !important; box-shadow: none !important; font-size: .72rem; }
@media (max-width: 1279px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-rail { height: auto; min-height: 0; border-radius: 16px 16px 0 0; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #chapterTree { flex: 0 1 auto; max-height: clamp(7rem, 14dvh, 10rem); }
}
@media (max-width: 700px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-rail { padding: 1.15rem; }
}

/* user_app/styles/question_bank_tree_controls.css */
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(.knowledge-tree-actions__trigger, .tree-admin-more, .tree-admin-action) {
  border-radius: 7px; color: #526986; box-shadow: none !important;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions__trigger {
  min-height: 2rem; border: 1px solid #dfe6ef; background: #fff; font-weight: 500; transform: none;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions__trigger:hover,
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions[open] .knowledge-tree-actions__trigger { border-color: #c4d5e9; background: #f3f7fc; color: #285c99; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions__menu {
  border-color: #e5eaf0; border-radius: 10px; background: #fff; box-shadow: 0 8px 24px #34445c14;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions__menu button { border-radius: 7px; color: #526986; font-size: .75rem; font-weight: 500; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions__menu button:hover { background: #edf4fc; color: #285c99; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-admin-actions { border-radius: 7px; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-admin-actions:is(:hover, :focus-within) { background: #fff; box-shadow: 0 2px 8px #34445c14; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-admin-more { background: #fff; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(.tree-admin-more, .tree-admin-action):is(:hover, :focus-visible) { background: #edf4fc; color: #285c99; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .tree-admin-action--delete:is(:hover, :focus-visible) { background: #fff5f5; color: #aa4a4a; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .knowledge-tree-actions__trigger:focus-visible { outline: 2px solid #729bcb; outline-offset: 2px; }

/* user_app/styles/public_question_cards.css */
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-card { padding: 1rem 1.1rem; border: 1px solid #e5eaf0 !important; border-radius: 10px !important; background: #fff !important; box-shadow: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-meta-row { align-items: flex-start; flex-wrap: wrap; gap: .45rem .8rem; margin-bottom: .45rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-meta-row__left { min-width: 0; align-items: center; gap: .3rem .45rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-meta-row__right { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-left: auto; color: #8b97a8; font-size: .68rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-index-badge { width: 1.5rem; min-height: 1.5rem; border-radius: 5px; background: #f3f6fa; color: #526986; box-shadow: none; font-size: .7rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-meta-chip { min-height: 1.5rem; padding: .15rem .4rem; border-radius: 5px; background: #f5f7fa; color: #64748b; font-size: .69rem; font-weight: 500; line-height: 1.5; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-meta-chip--source { max-width: 100%; background: transparent; color: #34445c; overflow-wrap: anywhere; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-meta-chip--id { background: transparent !important; color: #8b97a8 !important; box-shadow: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-quality-badge { min-height: 1.5rem; padding: .15rem .4rem; border-radius: 5px; font-size: .68rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-quality-rerun { border: 1px solid #e5eaf0; background: #fff !important; color: #758093 !important; box-shadow: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-divider { margin: .6rem 0 .75rem; background: #edf0f5; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-actions { gap: .7rem; margin-top: .85rem; padding-top: .7rem; border-top-color: #edf0f5; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-tag-row { gap: .35rem .7rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-tag-row .brand-tag { min-height: 1.4rem; padding: 0; gap: .3rem; border-radius: 0; background: transparent; color: #758093; font-size: .7rem; font-weight: 400; line-height: 1.6; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .brand-tag--knowledge { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-tag-row .brand-tag__icon { width: .9rem; height: .9rem; flex-shrink: 0; border-radius: 0; background: none; color: #8998ab; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-toggles { gap: .4rem; justify-content: flex-start; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-toggles > .question-admin-actions { gap: .25rem; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(.question-toggle, .question-admin-chip) { min-height: 2.1rem; padding: .35rem .65rem; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff !important; color: #526986 !important; font-size: .72rem; font-weight: 500; line-height: 1.35; gap: .35rem; box-shadow: none !important; transform: none !important; transition: color 150ms, background-color 150ms, border-color 150ms; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-toggle__dot { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-admin-chip { border-color: transparent; color: #758093 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-admin-chip__icon, #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-admin-chip__icon svg { width: .85rem; height: .85rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(.question-toggle, .question-admin-chip):hover:not(:disabled) { border-color: #c4d5e9; background: #f3f7fc !important; color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(.question-toggle.is-active, .question-toggle.is-my-bank, .question-admin-chip--active) { border-color: #cedff3; background: #edf4fc !important; color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-toggle[data-action="toggle-basket"] { border-color: #c9dbef; background: #edf4fc !important; color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-toggle.is-basketed[data-action="toggle-basket"] { border-color: #285c99; background: #285c99 !important; color: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-toggle.is-basketed[data-action="toggle-basket"]:hover:not(:disabled) { border-color: #204d84; background: #204d84 !important; color: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-admin-chip--danger:hover:not(:disabled) { border-color: #f0d9d9; background: #fff5f5 !important; color: #aa4a4a !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-card :is(.soft-btn, .question-toggle):active { transform: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-card .soft-btn:hover { transform: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-card :is(.soft-btn, .question-toggle):focus-visible { outline: 2px solid #285c99 !important; outline-offset: 2px; box-shadow: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-card :is(.soft-btn, .question-toggle):disabled { opacity: .45; cursor: not-allowed; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-select { min-height: 1.5rem; padding: .2rem .35rem; border-radius: 5px; background: #f3f7fc; color: #526986; font-size: .69rem; font-weight: 500; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-select input { width: .85rem; height: .85rem; accent-color: #285c99; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-extra { margin-top: .85rem; padding-top: .85rem; border-top-color: #e5eaf0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-extra h4 { color: #526986; font-size: .8rem; font-weight: 600; }
@media (max-width: 700px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-card { padding: .9rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-meta-row__right { margin-left: 0; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(.question-toggle, .question-admin-chip) { width: auto; min-height: 2.25rem; }
}

/* user_app/styles/public_question_results.css */
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionCount { display: inline; width: auto; height: auto; padding: 0; border-radius: 0; background: transparent !important; color: #285c99 !important; font-size: .95rem; font-weight: 650; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #basketInlineMeta { color: #8995a6; font-size: .72rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionViewModeRoot .view-mode-toggle { gap: 2px; padding: 3px; border: 1px solid #e5eaf0; border-radius: 7px; background: #f5f7fa; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionViewModeRoot .view-mode-toggle__btn { width: 1.8rem; height: 1.8rem; border-radius: 4px; color: #8995a6; box-shadow: none; transform: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionViewModeRoot .view-mode-toggle__btn.is-active { background: #fff; color: #285c99; box-shadow: 0 1px 3px #233a5712; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__trigger { min-height: 2.25rem; padding: .4rem .65rem; border: 1px solid #dfe6ef; border-radius: 7px; background: #fff; color: #526986; font-size: .75rem; font-weight: 500; box-shadow: none; transform: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__trigger:hover, #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__trigger[aria-expanded="true"] { border-color: #bed1e8; background: #f6f9fc; color: #285c99; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__dropdown { border: 1px solid #e5eaf0; border-radius: 9px; background: #fff; padding: .3rem; box-shadow: 0 8px 24px #34445c14; backdrop-filter: none; animation: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__option { border-radius: 5px; padding: .55rem .65rem; color: #526986; font-size: .75rem; transform: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__option:hover, #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__option.is-active { background: #edf4fc; color: #285c99; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionSortRoot .sort-menu__badge { border-radius: 4px; background: #edf4fc; color: #285c99; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar { gap: .75rem; padding: .75rem .9rem; border: 1px solid #e5eaf0; border-radius: 9px; background: #f9fafc; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__content { grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__summary { flex-wrap: wrap; gap: .4rem; color: #34445c; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__summary strong { font-size: .8rem; font-weight: 600; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__summary span, #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-hint { color: #758093; font-size: .72rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__actions { gap: .45rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__group { gap: .25rem; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__actions .soft-btn { min-height: 2rem !important; padding: .3rem .55rem !important; border: 1px solid #dfe6ef; border-radius: 6px; background: #fff !important; color: #64748b !important; font-size: .71rem; font-weight: 500; box-shadow: none !important; transform: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__actions .soft-btn:hover:not(:disabled) { border-color: #c4d5e9; background: #edf4fc !important; color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__group--primary .soft-btn:not(:disabled) { color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__actions .question-batch-danger:not(:disabled) { border-color: transparent; background: transparent !important; color: #aa4a4a !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__actions .soft-btn:disabled { opacity: .4; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-panel { gap: .7rem; padding-top: .75rem; border-top-color: #e5eaf0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-grid label { gap: .35rem; color: #758093; font-size: .72rem; font-weight: 500; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-grid :is(input, select) { min-height: 2.25rem; padding: .4rem .6rem; border: 1px solid #dfe6ef; border-radius: 6px; background: #fff; color: #34445c; font-size: .75rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-panel__actions .soft-btn { min-height: 2.15rem; padding: .35rem .7rem; border: 1px solid #dfe6ef; border-radius: 6px; background: #fff !important; color: #526986 !important; font-size: .73rem; font-weight: 500; box-shadow: none !important; transform: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-panel__actions .soft-btn--dark { border-color: #285c99; background: #285c99 !important; color: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #paginationBar { flex-wrap: wrap; gap: .4rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #paginationBar :is(.page-btn, .pagination-jump__btn) { width: auto; min-height: 2.15rem; padding: .35rem .65rem; border: 1px solid #dfe6ef; border-radius: 6px; background: #fff !important; color: #64748b !important; font-size: .75rem; font-weight: 500; box-shadow: none !important; transform: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #paginationBar :is(.page-btn, .pagination-jump__btn):hover:not(:disabled), #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #paginationBar .page-btn.is-current { border-color: #c9dbef; background: #edf4fc !important; color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #paginationBar :is(.pagination-summary, .pagination-jump) { min-height: 2.15rem; padding: .2rem .4rem; border-radius: 0; background: transparent; color: #758093; font-size: .72rem; font-weight: 400; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #paginationBar .pagination-jump__input { border: 1px solid #dfe6ef !important; border-radius: 6px; background: #fff !important; color: #34445c !important; font-size: .75rem; font-weight: 500; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(#questionViewModeRoot, #questionSortRoot, .question-batch-toolbar, #paginationBar) button:focus-visible { outline: 2px solid #285c99 !important; outline-offset: 2px; box-shadow: none !important; }
@media (max-width: 1100px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__content { grid-template-columns: minmax(0, 1fr); }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-batch-toolbar__actions { justify-content: flex-start; }
}

/* user_app/styles/question_bank_typography.css */
/* Keep question text at one reading size without flattening KaTeX's inner metrics. */
#questionsModule :is(.question-content, .question-solution) {
  font-size: 1rem;
  line-height: 1.85;
}

#questionsModule :is(.question-content, .question-solution) :is(p, li, .content-block, .text-sm, .text-base, .markdown-math-block__inner, .latex-table, .markdown-table th, .markdown-table td):not(.katex *) {
  font-size: inherit;
  line-height: inherit;
}

#questionsModule :is(.question-content, .question-solution) .options-block li > span {
  line-height: inherit;
}

/* A small optical adjustment matches the math font to adjacent Chinese text. */
#questionsModule :is(.question-content, .question-solution) .katex {
  font-size: 1.05em;
}

/* user_app/styles/question_bank_filter_layout.css */
.personal-question-title, .personal-question-filters { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-split-layout__main { container: public-question-results question-bank-filter-results / inline-size; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem 1.2rem;
  padding: 1.4rem; border: 1px solid #e0e7f0; border-radius: 14px; background: #fff; box-shadow: none;
}
#questionsModule[data-bank-scope="mine"] .personal-question-title { display: inline; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-legacy-title { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-head { grid-column: 1 / -1; grid-row: 1; order: 0; align-items: flex-start; gap: 1rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-title { color: #243247; font-size: 1.38rem; font-weight: 650; letter-spacing: -.02em; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-hint { margin-top: .4rem; color: #758093; font-size: .75rem; line-height: 1.7; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields { display: contents; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields > label:not(.question-fulltext-search) { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search { grid-column: 1; grid-row: 2; order: 1; align-self: end; gap: .4rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search__label { color: #758093; font-size: .72rem; font-weight: 500; letter-spacing: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-query-fields input {
  min-width: 0; height: 2.35rem; min-height: 2.35rem; padding: .4rem .65rem;
  border: 1px solid #dce4ee !important; border-radius: 7px !important; background: #f9fafc !important;
  box-shadow: none !important; color: #34445c; font-size: .78rem; transform: none;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search input { padding-left: 2.2rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-fulltext-search__icon { left: .7rem; color: #8999ad; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-question-filters { display: grid; grid-column: 1 / -1; grid-row: 3; order: 2; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range { display: flex; grid-column: 1; grid-row: 4; order: 3; align-items: center; gap: .65rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range > span { color: #758093; font-size: .72rem; font-weight: 500; letter-spacing: 0; white-space: nowrap; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin: 0; max-width: 13rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-search-actions { display: flex; grid-column: 2; grid-row: 4; order: 3; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .4rem .7rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #searchBtn { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #filterSummary { flex-basis: 100%; color: #8995a6; font-size: .68rem; text-align: right; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :where(#clearFiltersBtn, .workspace-panel-actions > button, .admin-trigger-btn) {
  min-height: 2.15rem; padding: .4rem .7rem; border: 1px solid #dce4ee !important; border-radius: 7px !important;
  background: #fff !important; color: #526986 !important; box-shadow: none !important; font-size: .74rem; font-weight: 500; transform: none !important;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions .admin-trigger-btn { background: #285c99 !important; border-color: #285c99 !important; color: #fff !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions { flex-wrap: wrap; gap: .5rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-actions > * { flex: 0 0 auto; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-toolbar { grid-column: 2; grid-row: 2; order: 1; align-self: end; display: flex; align-items: flex-end; gap: .7rem; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-toolbar__copy { flex-shrink: 0; padding-bottom: .65rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-toolbar__copy span { color: #758093; font-size: .72rem; font-weight: 500; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-toolbar__copy small { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-controls { display: flex; flex: 1; min-width: 0; gap: .4rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-controls :is(select, button) { height: 2.35rem; min-height: 2.35rem; padding: .4rem .6rem; border: 1px solid #dce4ee !important; border-radius: 7px !important; background: #fff !important; color: #526986 !important; box-shadow: none !important; font-size: .74rem; transform: none !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionBankCollectionSelect { flex: 1; min-width: 0; width: auto; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #questionBankCollectionCreate { flex: 0 0 auto; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel :is(button, input, select):focus-visible { outline: 2px solid #729bcb !important; outline-offset: 2px; }
@container question-bank-filter-results (max-width: 650px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-head { flex-wrap: wrap; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel { grid-template-columns: minmax(0, 1fr); }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) :is(.question-fulltext-search, .question-bank-collection-toolbar, .public-question-year-range, .public-question-search-actions) { grid-column: 1; grid-row: auto; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-toolbar { order: 3; align-items: stretch; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-search-actions { justify-content: flex-start; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) #filterSummary { flex: 1; text-align: left; }
}
@media (max-width: 700px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel { padding: 1rem; gap: .8rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .workspace-panel-title { font-size: 1.2rem; }
}
#questionsModule[data-bank-scope="public"] #questionBankCollectionControls { display: none; }
#questionsModule[data-bank-scope="public"] .question-fulltext-search { grid-column: 1 / -1; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel { border: 0; border-bottom: 1px solid #e5eaf0; border-radius: 0; }

/* user_app/styles/question_bank_filter_choices.css */
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-row { display: grid; grid-template-columns: 4.4rem minmax(0, 1fr); align-items: start; gap: .5rem; padding: .65rem 0; border-top: 1px solid #edf0f5; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-row:last-child { border-bottom: 1px solid #edf0f5; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-label { padding-top: .45rem; color: #758093; font-size: .75rem; font-weight: 500; line-height: 1.5; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-options { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem .35rem; min-width: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-chip {
  display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 2rem; padding: .35rem .65rem;
  border: 1px solid transparent; border-radius: 6px !important; background: transparent !important; color: #61748c !important;
  font-size: .76rem; font-weight: 500; line-height: 1.4; box-shadow: none !important; transform: none !important; cursor: pointer;
  transition: background-color 120ms, color 120ms, border-color 120ms;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-chip:hover { background: #f4f7fb !important; color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-chip[aria-pressed="true"] { border-color: #cddff5; background: #eaf2fc !important; color: #285c99 !important; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-number { display: inline-flex; align-items: center; justify-content: center; width: 1.05rem; font-size: .71rem; font-weight: 650; font-variant-numeric: tabular-nums; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-more { position: relative; display: inline-flex; align-items: center; min-height: 2rem; max-width: 12rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-more > span { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-more select { width: 100%; max-width: 12rem; height: 2rem; min-height: 2rem; padding: .3rem 1.4rem .3rem .6rem; border: 1px solid #e0e7f0 !important; border-radius: 6px !important; background-color: #fff !important; color: #61748c !important; font-size: .74rem; box-shadow: none !important; cursor: pointer; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-more select.is-active { border-color: #cddff5 !important; background-color: #eaf2fc !important; color: #285c99 !important; }
@media (max-width: 700px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-row { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-label { padding: 0; font-size: .7rem; }
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-filter-chip { min-height: 2.15rem; padding-inline: .55rem; }
}

/* user_app/styles/question_bank_sticky_search.css */
#questionsModule .workspace-split-layout__main > :is(.question-bank-filter-heading, .question-bank-search-toolbar, .public-question-filter-panel) { margin-top: 0; }
#questionsModule .question-bank-filter-heading { padding: 1.4rem 1.4rem 1rem; border: 1px solid #e0e7f0; border-bottom: 0; border-radius: 14px 14px 0 0; background: #fff; }
#questionsModule .question-bank-search-toolbar {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: .8rem;
  min-height: 4rem; padding: .65rem 1.4rem; border: 1px solid #e0e7f0; border-top: 0;
  background: #fff; box-shadow: 0 3px 7px #34445c08;
}
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-search-toolbar__field { display: block; flex: 1; order: 0; align-self: center; min-width: 0; margin: 0; }
#questionsModule .question-bank-search-toolbar__field .question-fulltext-search__label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#questionsModule .question-bank-search-toolbar .question-fulltext-search__control { display: block; position: relative; }
#questionsModule .question-bank-search-toolbar #questionKeywordInput {
  display: block; width: 100%; min-width: 0; height: 2.4rem; min-height: 2.4rem; margin: 0; padding: .45rem .75rem .45rem 2.2rem;
  border: 1px solid #dce4ee !important; border-radius: 7px !important; background: #f9fafc !important;
  color: #34445c; font-size: .8rem; box-shadow: none !important; transform: none !important;
}
#questionsModule .question-bank-search-toolbar #questionKeywordInput:focus { border-color: #87add7 !important; background: #fff !important; outline: 2px solid #eaf2fc; outline-offset: 1px; }
#questionsModule .question-bank-search-toolbar__count { flex-shrink: 0; color: #758093; font-size: .73rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
#questionsModule .question-bank-search-toolbar__clear { flex-shrink: 0; min-height: 2.25rem; padding: .4rem .7rem; border: 1px solid #dce4ee !important; border-radius: 7px !important; background: #fff !important; color: #526986 !important; font-size: .74rem; font-weight: 500; white-space: nowrap; box-shadow: none !important; transform: none !important; }
#questionsModule .question-bank-search-toolbar__clear:hover { background: #f2f6fb !important; color: #285c99 !important; }
#questionsModule .question-bank-search-toolbar__clear:focus-visible { outline: 2px solid #729bcb !important; outline-offset: 2px; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel { border-top: 0; border-radius: 0 0 14px 14px; padding-top: .4rem; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .personal-question-filters { grid-row: 1; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-year-range { grid-row: 2; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-toolbar { grid-row: 2; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-search-actions { display: none; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-filter-heading { border: 0; border-radius: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-search-toolbar { border-left: 0; border-right: 0; }
#questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .public-question-filter-panel { border-radius: 0; }
#mainScroll:has(#questionsModule.module-stage--active) { scroll-padding-top: 4.5rem; }
@container question-bank-filter-results (max-width: 650px) {
  #questionsModule:is([data-bank-scope="public"], [data-bank-scope="mine"]) .question-bank-collection-toolbar { grid-row: 3; }
}
@media (max-width: 767px) {
  #questionsModule .question-bank-search-toolbar { top: 4rem; gap: .45rem; padding-inline: .8rem; }
  #questionsModule .question-bank-search-toolbar__clear { padding-inline: .5rem; }
  #questionsModule .question-bank-search-toolbar__clear span { display: none; }
  #questionsModule .question-bank-search-toolbar__count { font-size: .68rem; }
  #questionsModule .question-bank-filter-heading { padding: 1rem 1rem .75rem; }
  #mainScroll:has(#questionsModule.module-stage--active) { scroll-padding-top: 8.5rem; }
}

/* user_app/styles/paper_assembly_bundle.css */
/* user_app/styles/paper_assembly_surface_controls.css */
/* Local controls share the question bank palette without changing global forms. */
:is(.paper-assembly-center, .paper-assembly-panel) :is(input:not([type="checkbox"]):not([type="radio"]), select) {
  min-width: 0;
  min-height: 2.5rem;
  border: 1px solid #dfe6ef !important;
  border-radius: 7px;
  background: #fff !important;
  color: #34445c !important;
  box-shadow: none;
}

:is(.paper-assembly-center, .paper-assembly-panel) :is(input:not([type="checkbox"]):not([type="radio"]), select):focus {
  border-color: #729bcb !important;
  outline: 0;
  box-shadow: 0 0 0 2px rgba(40, 92, 153, .12) !important;
}

:is(.paper-assembly-center, .paper-assembly-panel) :is(input, select):disabled {
  background: #f4f7fb !important;
  color: #75849a !important;
  cursor: not-allowed;
}

:is(.paper-assembly-center, .paper-assembly-panel) input[type="checkbox"] {
  flex: 0 0 auto;
  accent-color: #285c99;
}

:is(.paper-assembly-center, .paper-assembly-panel) :is(button, [role="button"]):focus-visible {
  outline: 2px solid #729bcb !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

.paper-assembly-action-btn,
.paper-assembly-preview-btn {
  flex: 0 0 auto;
  border: 1px solid #dfe6ef;
  white-space: nowrap;
}

.paper-assembly-action-btn--primary,
.paper-assembly-action-btn--accent,
.paper-assembly-preview-btn--primary {
  border-color: #285c99;
}

.paper-assembly-preview-btn--danger { border-color: #f0cecc; }

.paper-assembly-preview-btn:not(.paper-assembly-preview-btn--primary):not(.paper-assembly-preview-btn--danger):hover:not(:disabled) {
  border-color: #c4d5e9;
  background: #f4f7fb;
  color: #285c99;
}

.paper-assembly-panel .paper-assembly-item__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.paper-assembly-panel .paper-assembly-item__actions button {
  border: 1px solid #f0cecc;
  white-space: nowrap;
  font-weight: 600;
}

.paper-assembly-panel .paper-assembly-item__actions button:first-child {
  border-color: #dfe6ef;
  background: #fff;
  color: #526986;
}

.paper-assembly-panel .paper-assembly-item__actions button:first-child:hover {
  border-color: #c4d5e9;
  background: #f4f7fb;
  color: #285c99;
}

.paper-assembly-panel .paper-assembly-item__actions button:not(:first-child):hover {
  background: #fde8e7;
}

.paper-assembly-difficulty-grid > label:first-child { grid-column: 1 / -1; }
.paper-assembly-difficulty-grid > label,
.paper-assembly-year-grid > label { min-width: 0; }
.paper-assembly-dropdown__option:hover { background: #f4f7fb; }
.paper-assembly-dropdown__option:has(input:checked) { background: #edf3fb; color: #285c99; }
.paper-assembly-dropdown__option span,
.paper-assembly-switch span,
.paper-assembly-hint,
.paper-assembly-status,
.paper-assembly-warnings span { min-width: 0; overflow-wrap: anywhere; line-height: 1.6; }
.paper-assembly-dropdown__tag button { flex: 0 0 auto; border: 0; border-radius: 4px; }
.paper-assembly-dropdown__tag button:hover { background: #edf3fb; color: #285c99; }
.paper-assembly-selected-tag { background: #f3f7fc; border-color: #d8e4f2; color: #285c99; }
.paper-assembly-selected-tag span:first-child { white-space: normal; overflow-wrap: anywhere; text-align: left; }
.paper-assembly-check { border: 1px solid #dfe6ef; }
.paper-assembly-check:has(input:checked) { border-color: #bfd2e8; background: #edf3fb; color: #285c99; }
.paper-assembly-card { border: 1px solid #e5eaf0; }
.paper-assembly-close { border: 1px solid #dfe6ef; }
.paper-assembly-search { margin-top: .75rem; }
.paper-assembly-tree-card > .paper-assembly-hint { margin-top: .75rem; }
.paper-assembly-tree-card .tree-label-text { color: #526986; font-size: .8rem; }
.paper-assembly-tree-card .tree-row { border-radius: 5px; }
.paper-assembly-tree-card .tree-row:hover { background: #f3f7fc; }
.paper-assembly-tree-card .tree-toggle { color: #75849a; }
.paper-assembly-preview-header { flex-wrap: wrap; gap: .75rem; }
.paper-assembly-preview-header p { line-height: 1.6; }
.paper-assembly-preview-item .question-content { margin-top: .75rem; font-size: 1rem; line-height: 1.85; }
.paper-assembly-preview-item .question-content .katex { font-size: 1.05em; }
:is(.paper-assembly-center, .paper-assembly-panel) .question-quality-badge { min-height: 1.5rem; padding: .15rem .4rem; border-radius: 5px; font-size: .68rem; }
.paper-assembly-preview-actions { border-top: 1px solid #e5eaf0; padding-top: .75rem; }

.paper-assembly-layout > :is(.paper-assembly-tree-card, .paper-assembly-rules-card, .paper-assembly-preview-card) {
  min-width: 0;
  scrollbar-width: thin;
  scrollbar-color: #bdcbdc transparent;
}

/* user_app/styles/paper_assembly_compact_layout.css */
@media (max-width: 600px) {
  .paper-assembly-panel { padding: 1rem; }
  .paper-assembly-preview-item { padding: .85rem; }
  .paper-assembly-preview-actions { gap: .5rem; }
  .paper-assembly-preview-btn { padding-inline: .7rem; }
  .paper-assembly-item { grid-template-columns: minmax(0, 1fr); }
  .paper-assembly-item__content { white-space: normal; overflow-wrap: anywhere; }
  .paper-assembly-panel .paper-assembly-item__actions { justify-content: flex-start; }
  .paper-assembly-actions { gap: .5rem; }
  .paper-assembly-actions > .paper-assembly-status { flex-basis: 100%; }
}

/* user_app/styles/paper_assembly_studio_layout.css */
/* Persistent knowledge scope beside compact setup and question results. */
.paper-assembly-center.paper-assembly-studio {
  display: flex;
  height: calc(100dvh - 3rem);
  min-height: 0;
  flex-direction: column;
  gap: 1rem;
}

.paper-assembly-studio .paper-assembly-layout {
  flex: 1 1 auto;
  grid-template-columns: clamp(280px, var(--paper-assembly-tree-width), 360px) 12px minmax(0, 1fr);
  min-height: 0;
  border: 1px solid #e5eaf0; border-radius: 16px; background: #fff;
}
.assembly-main-column { display: flex; min-width: 0; min-height: 0; flex-direction: column; overflow: hidden; }
.paper-assembly-setup {
  display: flex;
  flex: 0 0 auto;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  border: 0; border-bottom: 1px solid #e5eaf0;
  border-radius: 0;
  background: #fff;
}
.assembly-setup-scroll { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 0 1.5rem 1.25rem; scrollbar-width: thin; scrollbar-color: #bdcbdc transparent; }
.paper-assembly-studio .paper-assembly-resizer { display: block; min-height: 0; border-left: 1px solid #edf0f4; }
.paper-assembly-studio .paper-assembly-resizer::before { width: 3px; height: 2.5rem; margin-top: 3rem; opacity: .55; transform: none; }
.paper-assembly-studio .paper-assembly-preview-card {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border: 0; border-radius: 0; background: #fff;
}

@media (max-width: 1279px) {
  .paper-assembly-center.paper-assembly-studio { height: auto; }
  .paper-assembly-studio .paper-assembly-layout { grid-template-columns: minmax(0, 1fr); gap: 0; overflow: hidden; }
  .paper-assembly-studio .paper-assembly-resizer { display: none; }
  .assembly-main-column,
  .paper-assembly-setup,
  .paper-assembly-studio .paper-assembly-preview-card { overflow: visible; }
  .paper-assembly-studio .paper-assembly-preview-card { flex: 0 0 auto; }
}

/* user_app/styles/paper_assembly_studio_header.css */
/* The title belongs to the results column, matching both question banks. */
.assembly-studio-header {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  background: #fff;
  padding: 1.5rem 1.5rem 1rem;
}
.assembly-studio-copy { min-width: 0; }
.assembly-studio-header h2 { margin: 0; color: #243247; font-size: 1.38rem; font-weight: 650; line-height: 1.4; letter-spacing: -.02em; }
.assembly-studio-header p { margin: .4rem 0 0; color: #758093; font-size: .75rem; line-height: 1.7; }
.assembly-source-switch { display: inline-flex; flex: 0 0 auto; gap: .15rem; border: 1px solid #e5eaf0; border-radius: 7px; background: #f5f7fa; padding: .2rem; }
.assembly-source-switch button { min-height: 2rem; border: 1px solid transparent; border-radius: 5px; background: transparent; padding: .35rem .75rem; color: #758093; font-size: .75rem; font-weight: 550; white-space: nowrap; transition: background-color 140ms ease, color 140ms ease; }
.assembly-source-switch button:hover { background: #edf4fc; color: #285c99; }
.assembly-source-switch button[aria-pressed="true"] { border-color: #cbdced; background: #fff; color: #285c99; }

@media (max-width: 700px) {
  .assembly-studio-header { gap: .9rem; padding: 1.15rem; }
  .assembly-studio-header h2 { font-size: 1.2rem; }
  .assembly-source-switch button { padding-inline: .6rem; }
}

/* user_app/styles/paper_assembly_studio_setup.css */
.assembly-setup-header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: .75rem; padding: .25rem 1.5rem .85rem; }
.assembly-setup-header h3 { margin: 0; color: #34445c; font-size: .88rem; font-weight: 600; }
.assembly-setup-header > div:first-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .75rem; }
.assembly-setup-header p { margin: 0; color: #8b97a8; font-size: .73rem; line-height: 1.5; }
.assembly-setup-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .75rem; }
.assembly-setup-actions > button { min-height: 2.35rem; font-size: .8rem; }
.assembly-setup-plan { padding-right: .75rem; border-right: 1px solid #e5eaf0; color: #75849a; font-size: .73rem; white-space: nowrap; }
.assembly-setup-plan strong { color: #285c99; font-size: .95rem; font-weight: 600; }

/* Every setting shares one baseline; narrow workspaces scroll the control row. */
.assembly-primary-controls { display: flex; width: max-content; min-width: 100%; flex-wrap: nowrap; align-items: flex-end; gap: .75rem; padding: .25rem 0 .4rem; }
.paper-assembly-studio .paper-assembly-rules { flex: 0 0 16rem; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin: 0; }
.paper-assembly-studio .paper-assembly-rule { display: grid; min-width: 0; justify-content: stretch; gap: .45rem; border: 0; background: transparent; padding: 0; }
.paper-assembly-studio .assembly-primary-controls :is(.paper-assembly-rule > span, .paper-assembly-filter-block > span, .paper-assembly-difficulty-grid span, .paper-assembly-year-grid span) { margin: 0; color: #64758b; font-size: .75rem; line-height: 1.25rem; font-weight: 500; white-space: nowrap; }
.paper-assembly-studio .paper-assembly-rule input { width: 100%; max-width: none; min-width: 0; padding: .5rem .55rem; text-align: left; font-size: .9rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.assembly-primary-controls > .paper-assembly-filter-block { display: grid; flex: 0 0 8rem; min-width: 0; gap: .45rem; margin: 0; }
.assembly-primary-controls > .paper-assembly-filter-block:has(.paper-assembly-difficulty-grid) { flex-basis: 15rem; }
.assembly-primary-controls > .paper-assembly-filter-block:has(.paper-assembly-difficulty-grid) > span { display: none; }
.paper-assembly-studio .paper-assembly-difficulty-grid { grid-template-columns: minmax(0, 1.65fr) repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; }
.paper-assembly-studio .paper-assembly-difficulty-grid > label:first-child { grid-column: auto; }
.paper-assembly-studio .assembly-primary-controls :is(.paper-assembly-difficulty-grid label, .paper-assembly-year-grid label) { display: grid; gap: .45rem; }
.paper-assembly-studio .assembly-primary-controls :is(input:not([type="checkbox"]), select) { height: 2.3rem; min-height: 2.3rem; border-radius: 7px; border-color: #dce4ee !important; background: #f9fafc !important; }
.paper-assembly-studio .paper-assembly-difficulty-grid :is(input, select),
.paper-assembly-studio .paper-assembly-year-grid input { padding: .5rem .55rem; font-size: .8rem; }
.assembly-primary-controls .paper-assembly-year-grid { flex: 0 0 11rem; gap: .5rem; margin: 0; }
.assembly-primary-controls .paper-assembly-switch { flex: 0 0 auto; height: 2.3rem; align-items: center; gap: .4rem; margin: 0; font-size: .75rem; white-space: nowrap; }
.assembly-primary-controls .paper-assembly-switch input { margin: 0; }
.assembly-primary-controls .paper-assembly-dropdown__trigger { height: 2.3rem; min-height: 2.3rem; gap: .4rem; padding: .35rem .55rem; font-size: .78rem; border-radius: 7px; border-color: #dce4ee; background: #f9fafc; }
.assembly-primary-controls .paper-assembly-dropdown__value { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.assembly-primary-controls .paper-assembly-dropdown__tag { flex: 0 0 auto; max-width: 100%; padding: .2rem .3rem; font-size: .75rem; }
.paper-assembly-studio .paper-assembly-dropdown__menu:is([popover], .is-positioned) { position: fixed; inset: auto; margin: 0; z-index: 1200; overflow: auto; box-shadow: 0 8px 24px rgba(36, 50, 71, .12); }
.paper-assembly-studio .paper-assembly-dropdown__menu::backdrop { background: transparent; }
.assembly-setup-scroll .paper-assembly-warnings { margin-top: .6rem; }
.paper-assembly-studio .paper-assembly-hint { font-size: .73rem; }
.paper-assembly-studio .paper-assembly-card__title { margin: 0; color: #34445c; font-size: .85rem; }

@media (max-width: 600px) {
  .assembly-setup-header { flex-wrap: wrap; align-items: flex-start; padding: .85rem; }
  .assembly-setup-scroll { padding-inline: .85rem; }
}

/* user_app/styles/paper_assembly_studio_scope.css */
/* The knowledge tree stays visible and scrolls independently of question results. */
.paper-assembly-studio .assembly-scope-panel {
  display: flex;
  min-width: 0;
  min-height: 0;
  height: auto;
  max-width: none;
  margin: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 1.5rem 1.2rem; border: 0; border-radius: 16px 0 0 16px;
}
.assembly-scope-panel__summary { display: flex; flex: 0 0 auto; align-items: baseline; justify-content: space-between; gap: .5rem; }
.assembly-scope-panel__summary h3 { margin: 0; color: #34445c; font-size: .85rem; font-weight: 600; }
.assembly-scope-panel__summary small { color: #75849a; font-size: .7rem; white-space: nowrap; }
.assembly-scope-panel__body { display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column; }
.assembly-scope-panel__body > .paper-assembly-search { flex: 0 0 auto; min-height: 2.4rem; padding: .55rem .7rem; font-size: .78rem; }
.paper-assembly-studio .assembly-tree-list { flex: 1 1 auto; max-height: none; min-height: 0; margin: .75rem 0; overflow: auto; scrollbar-width: thin; scrollbar-color: #bdcbdc transparent; }
.paper-assembly-studio .paper-assembly-selected-block { flex: 0 0 auto; max-height: 7.5rem; margin-top: 0; overflow: auto; border-top: 1px solid #e5eaf0; padding-top: .75rem; }
.paper-assembly-studio .paper-assembly-selected-block > span { display: none; }
.paper-assembly-studio .paper-assembly-selected-tags { gap: .35rem; }
.paper-assembly-studio .paper-assembly-selected-tag { font-size: .72rem; padding: .3rem .5rem; }

@media (max-width: 1279px) {
  .paper-assembly-studio .assembly-scope-panel { border-radius: 16px 16px 0 0; border-bottom: 1px solid #e5eaf0; } .paper-assembly-studio .assembly-tree-list { flex: 0 1 auto; max-height: clamp(7rem, 14dvh, 10rem); }
}
@media (max-width: 600px) {
  .paper-assembly-studio .assembly-scope-panel { padding: 1.15rem; }
}

/* user_app/styles/paper_assembly_tree_nodes.css */
/* Assembly uses the same row geometry and selected state as both question banks. */
.paper-assembly-studio .assembly-scope-panel {
  --apple-blue: #285c99;
  --apple-text: #34445c;
  --apple-secondary: #758093;
  --apple-control: #f3f6fa;
  --apple-border: #dce4ee;
}
.assembly-scope-origin { flex: 0 0 auto; margin: .6rem 0 0; color: #8995a6; font-size: .72rem; line-height: 1.6; }
.paper-assembly-studio .assembly-scope-panel input.paper-assembly-search { height: 2.3rem; min-height: 2.3rem; padding: .45rem .65rem; border-color: #dce4ee !important; background: #f9fafc !important; color: #34445c; font-size: .76rem; box-shadow: none !important; }
.paper-assembly-studio .assembly-scope-panel input.paper-assembly-search:focus { border-color: #87add7 !important; background: #fff !important; box-shadow: none !important; }
.paper-assembly-studio .assembly-scope-panel input.paper-assembly-search:focus-visible { outline: 2px solid #729bcb !important; outline-offset: 2px; }
.paper-assembly-studio .assembly-tree-list { gap: .2rem; margin-top: 1rem; }
.paper-assembly-studio .assembly-tree-list .tree-row { gap: .3rem; padding: .25rem .2rem; border-radius: 6px; }
.paper-assembly-studio .assembly-tree-list .tree-row:hover { background: #f3f7fc; }
.paper-assembly-studio .assembly-tree-list .tree-row:has(.tree-checkbox > input:checked) { background: #eaf2fc; }
.paper-assembly-studio .assembly-tree-list .tree-row:has(.tree-checkbox > input:checked) .tree-checkbox { color: #285c99; font-weight: 550; }
.paper-assembly-studio .assembly-tree-list :is(.tree-toggle, .tree-leaf) { width: 1.5rem; min-width: 1.5rem; }
.paper-assembly-studio .assembly-tree-list .tree-toggle { height: 1.7rem; border-radius: 5px; transform: none; }
.paper-assembly-studio .assembly-tree-list .tree-checkbox { gap: .5rem; padding-right: .2rem; color: #34445c; font-size: .78rem; line-height: 1.65; }
.paper-assembly-studio .assembly-tree-list .tree-label-text { color: inherit; font-size: inherit; }
.paper-assembly-studio .assembly-tree-list .tree-children { gap: .2rem; padding-left: .4rem; margin-left: .7rem; }
.paper-assembly-studio .assembly-tree-list .empty-state { margin: 0; border: 0; border-radius: 0; background: transparent; padding: 1.5rem .65rem; color: #758093; font-size: .78rem; line-height: 1.7; box-shadow: none; }

/* user_app/styles/paper_assembly_studio_preview.css */
.paper-assembly-studio .paper-assembly-preview-header {
  align-items: center;
  gap: .75rem 1rem;
  margin: 0;
  border: 0;
  background: #fff;
  padding: 1rem 1.5rem;
}

.paper-assembly-studio .paper-assembly-preview-header h3 { margin: 0; color: #34445c; font-size: .9rem; font-weight: 600; }
.paper-assembly-studio .paper-assembly-preview-header p { max-width: 34rem; font-size: .75rem; }
.assembly-preview-count { margin-left: .35rem; color: #8b97a8; font-size: .72rem; font-weight: 400; }
.assembly-preview-toolbar { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .5rem; }
.assembly-preview-toolbar .paper-assembly-action-btn { min-height: 2.25rem; padding: 0 .7rem; font-size: .75rem; }
.paper-assembly-studio .paper-assembly-preview-list { padding: 0 1.5rem 1.5rem; gap: .9rem; }
.paper-assembly-studio .paper-assembly-preview-item { width: 100%; max-width: none; margin: 0; padding: 1rem 1.1rem; border-color: #e5eaf0; }

.paper-assembly-studio .assembly-blueprint {
  display: block;
  width: 100%;
  min-height: 0;
  margin: .25rem auto;
  border: 1px dashed #dfe6ef;
  border-radius: 7px;
  background: #f9fafc;
  padding: 1.5rem;
  box-shadow: none;
  text-align: left;
}

.assembly-blueprint__heading { border-bottom: 1px solid #e5eaf0; padding-bottom: .75rem; }
.assembly-blueprint__heading h3 { margin: 0; color: #34445c; font-size: 1.15rem; font-weight: 650; }
.assembly-blueprint__heading p { margin: .5rem 0 0; color: #75849a; font-size: .8rem; line-height: 1.7; }
.assembly-blueprint__structure { display: grid; margin: .65rem 0; }
.assembly-blueprint__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #edf0f5; padding: 1.05rem 0; }
.assembly-blueprint__row span { color: #526986; font-size: .85rem; }
.assembly-blueprint__row strong { flex: 0 0 auto; color: #34445c; font-size: .85rem; font-weight: 600; }
.assembly-blueprint__row small { margin-left: .35rem; color: #75849a; font-size: .7rem; font-weight: 400; }
.assembly-blueprint__row.is-empty { opacity: .55; }
.assembly-blueprint__summary { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .6rem 1rem; padding-top: .85rem; }
.assembly-blueprint__summary strong { color: #285c99; font-size: .9rem; font-weight: 600; }
.assembly-blueprint__summary span { max-width: 100%; color: #75849a; font-size: .75rem; line-height: 1.6; overflow-wrap: anywhere; }
.assembly-blueprint__hint { margin: 1.5rem 0 0; border-radius: 7px; background: #f5f8fc; padding: .85rem 1rem; color: #75849a; font-size: .76rem; line-height: 1.7; }

@media (min-width: 1700px) {
  .paper-assembly-studio .paper-assembly-preview-list { padding: 0 1.5rem 1.5rem; }
  .paper-assembly-studio .assembly-blueprint { margin-block: .75rem; }
}

@media (max-width: 1279px) {
  .paper-assembly-studio .paper-assembly-preview-list { flex: 0 0 auto; overflow: visible; }
}

@media (max-width: 600px) {
  .paper-assembly-studio .paper-assembly-preview-header { padding: .9rem; }
  .paper-assembly-studio .paper-assembly-preview-header > div { flex: 1 1 100%; }
  .assembly-preview-toolbar > button { flex: 1 1 auto; }
  .paper-assembly-studio .paper-assembly-preview-list { padding: .75rem; }
  .paper-assembly-studio .paper-assembly-preview-item { padding: 1rem; }
  .paper-assembly-studio .assembly-blueprint { padding: 1.25rem; margin: 0; }
  .assembly-blueprint__heading h3 { font-size: 1rem; }
  .assembly-blueprint__row { padding: .85rem 0; }
  .assembly-blueprint__hint { margin-top: 1rem; padding: .7rem; }
}



}
