@charset "UTF-8";/*!
* Bootstrap Icons v1.10.5 (https://icons.getbootstrap.com/)
* Copyright 2019-2023 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
*/@font-face{font-display:block;font-family:bootstrap-icons;src:url(/static/assets/bootstrap-icons.woff2?1fa40e8900654d2863d011707b9fb6f2) format("woff2"),url(/static/assets/bootstrap-icons.woff?1fa40e8900654d2863d011707b9fb6f2) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}:root{--color-primary-base: #4A90E2;--color-primary-gradient: linear-gradient(135deg, #4A90E2 0%, #5CB85C 100%);--color-primary-hover: linear-gradient(135deg, #3d7bc8 0%, #4da84a 100%);--color-primary-hover-solid: #3d7bc8;--color-primary-light: rgba(74, 144, 226, .1);--color-primary-dark: #2e5fa0;--color-secondary-base: #6c757d;--color-secondary-gradient: linear-gradient(135deg, #6c757d 0%, #5a6268 100%);--color-secondary-hover: linear-gradient(135deg, #5a6268 0%, #495057 100%);--color-success-base: #28a745;--color-success-gradient: linear-gradient(135deg, #28a745 0%, #20c997 100%);--color-success-hover: linear-gradient(135deg, #218838 0%, #1ea085 100%);--color-success-hover-solid: #218838;--color-success-light: #d4edda;--color-success-lighter: #c3e6cb;--color-success-dark: #155724;--color-warning-base: #ffc107;--color-warning-light: #fff3cd;--color-warning-lighter: #ffeaa7;--color-warning-dark: #856404;--color-encouragement-base: #FFA500;--color-encouragement-light: #fff4e6;--color-encouragement-lighter: #ffe8cc;--color-encouragement-dark: #cc8400;--color-danger-base: #dc3545;--color-danger-gradient: linear-gradient(135deg, #dc3545 0%, #e83e8c 100%);--color-danger-hover: linear-gradient(135deg, #c82333 0%, #d63384 100%);--color-danger-light: #f8d7da;--color-danger-lighter: #f5c6cb;--color-danger-dark: #721c24;--color-info-base: #17a2b8;--color-info-light: #e3f2fd;--color-info-lighter: #bbdefb;--color-info-accent: #90caf9;--color-info-dark: #1976d2;--color-info-darker: #0d47a1;--color-neutral-white: #ffffff;--color-neutral-black: #212529;--color-neutral-gray-50: #f8f9fa;--color-neutral-gray-100: #f1f3f5;--color-neutral-gray-200: #e9ecef;--color-neutral-gray-300: #dee2e6;--color-neutral-gray-400: #ced4da;--color-neutral-gray-500: #adb5bd;--color-neutral-gray-600: #6c757d;--color-neutral-gray-700: #495057;--color-neutral-gray-800: #343a40;--color-neutral-gray-900: #212529;--color-neutral-light-gray: #f8f9fa;--color-neutral-dark-gray: #495057;--color-neutral-darker-gray: #343a40;--color-border-base: #e3e8f0;--color-border-light: #f1f3f4;--color-border-divider: #dee2e6;--color-border-skeleton: #e0e0e0;--color-background-primary: #F8F9FA;--color-background-secondary: #FFFBF0;--color-background-tertiary: #f8f9fa;--color-background-skeleton-base: #f0f0f0;--color-background-skeleton-highlight: #e0e0e0;--color-background-skeleton-container: #f8f8f8;--color-semantic-agent-primary: #8a2be2;--color-semantic-agent-background: rgba(138, 43, 226, .12);--color-semantic-agent-background-light: rgba(138, 43, 226, .1);--color-semantic-agent-border: rgba(138, 43, 226, .2);--color-semantic-agent-dark: #4b0082;--color-semantic-mention-primary: #3370ff;--color-semantic-mention-background: #eaf6fd;--color-semantic-mention-hover: rgba(51, 112, 255, .15);--color-semantic-status-enabled-background: linear-gradient( 135deg, #d4edda 0%, #c3e6cb 100% );--color-semantic-status-enabled-text: #155724;--color-semantic-status-enabled-border: #c3e6cb;--color-semantic-status-disabled-background: linear-gradient( 135deg, #f8d7da 0%, #f5c6cb 100% );--color-semantic-status-disabled-text: #721c24;--color-semantic-status-disabled-border: #f5c6cb;--color-semantic-status-warning-background: linear-gradient( 135deg, #fff3cd 0%, #ffeaa7 100% );--color-semantic-status-warning-text: #856404;--color-semantic-status-warning-border: #ffeaa7;--color-semantic-text-primary: #333333;--color-semantic-text-secondary: #666666;--color-semantic-text-tertiary: #999999;--color-semantic-text-muted: #6c757d;--color-semantic-text-dark: #2d3a4b;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 40px;--spacing-4xl: 64px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 50%;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .25);--shadow-primary-sm: 0 4px 12px rgba(74, 144, 226, .3);--shadow-primary-md: 0 6px 20px rgba(74, 144, 226, .4);--shadow-success-sm: 0 4px 12px rgba(40, 167, 69, .3);--shadow-success-md: 0 6px 20px rgba(40, 167, 69, .4);--shadow-danger-sm: 0 4px 12px rgba(220, 53, 69, .3);--shadow-danger-md: 0 6px 20px rgba(220, 53, 69, .4);--shadow-secondary-sm: 0 4px 12px rgba(108, 117, 125, .3);--shadow-secondary-md: 0 6px 20px rgba(108, 117, 125, .4);--font-family-sans: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 15px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-lineHeight-tight: 1.4;--font-lineHeight-normal: 1.5;--font-lineHeight-relaxed: 1.75;--font-lineHeight-loose: 1.8;--animation-duration-instant: .1s;--animation-duration-fast: .15s;--animation-duration-normal: .25s;--animation-duration-slow: .4s;--animation-duration-legacy-fast: .2s;--animation-duration-legacy-normal: .3s;--animation-duration-legacy-slow: .5s;--animation-easing-standard: cubic-bezier(.4, 0, .2, 1);--animation-easing-decelerate: cubic-bezier(0, 0, .2, 1);--animation-easing-accelerate: cubic-bezier(.4, 0, 1, 1);--animation-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--animation-easing-legacy-ease-out: cubic-bezier(0, 0, .2, 1);--animation-easing-legacy-ease-in: cubic-bezier(.4, 0, 1, 1);--animation-easing-legacy-ease-in-out: cubic-bezier(.4, 0, .2, 1);--animation-transition-fast: .2s ease;--animation-transition-normal: .3s ease;--animation-transition-slow: .5s ease;--breakpoint-xs: 575.98px;--breakpoint-sm: 767.98px;--breakpoint-md: 991.98px;--breakpoint-lg: 1199.98px;--breakpoint-xl: 1399.98px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modal-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes streaming-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:.8}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes page-transition{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes message-appear{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(2);opacity:0}}@keyframes button-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes list-item-appear{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes success-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hover-lift{0%{transform:translateY(0);box-shadow:var(--shadow-sm)}to{transform:translateY(-2px);box-shadow:var(--shadow-md)}}@keyframes active-press{0%{transform:scale(1)}to{transform:scale(.98)}}@keyframes focus-ring{0%{box-shadow:0 0 #4a90e266}to{box-shadow:0 0 0 4px #4a90e21a}}@keyframes streaming-typing{0%,to{opacity:1}50%{opacity:.7}}@keyframes message-appear-smooth{0%{opacity:0;transform:translateY(15px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes button-hover-lift{0%{transform:translateY(0)}to{transform:translateY(-2px)}}@keyframes card-appear{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;margin:0;padding:0;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;display:none}*::-webkit-scrollbar-track{display:none}*::-webkit-scrollbar-thumb{display:none}::selection{background:#667eea33;color:var(--color-neutral-dark-gray, #495057)}::-moz-selection{background:#667eea33;color:var(--color-neutral-dark-gray, #495057)}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--font-lineHeight-relaxed);color:var(--color-semantic-text-primary);background:var(--color-background-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}.image-container,.image-wrapper,.image-preview,.chat-image-preview,.question-image-wrapper,.image-message-container{max-width:100%;overflow:hidden}.image-container img,.image-wrapper img,.image-preview img,.chat-image-preview img,.question-image-wrapper img,.image-message-container img{width:100%;height:auto;object-fit:contain}.skip-to-main-content{position:absolute;top:-40px;left:0;background:var(--color-primary-base);color:var(--color-neutral-white);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;z-index:10000;border-radius:0 0 var(--radius-xs) 0;transition:top var(--animation-duration-fast)}.skip-to-main-content:focus{top:0}.main-layout{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr;min-height:100vh;height:100vh;background:var(--color-background-primary);overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0}@media (max-width: 1198.98px){.main-layout{grid-template-columns:1fr}}main#main-content,main[role=main]{width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0;display:flex;flex-direction:column}.left-panel{display:flex;flex-direction:column;width:260px;height:100vh;background:var(--color-neutral-white);border-right:1px solid var(--color-border-base);padding:20px var(--spacing-md) var(--spacing-md) var(--spacing-md);box-sizing:border-box;transition:transform var(--animation-duration-normal) var(--easing-decelerate),width var(--animation-duration-normal) var(--easing-decelerate);box-shadow:2px 0 8px #3370ff0a;overflow:hidden;will-change:transform}@media (min-width: 1199.98px) and (max-width: 1398.98px){.left-panel{width:240px}}@media (max-width: 1198.98px){.left-panel{width:min(320px,85vw)}}.center-panel{--right-panel-width: 0px;display:grid;grid-template-columns:1fr var(--right-panel-width);grid-template-rows:1fr;min-width:0;min-height:0;height:100vh;background:var(--color-background-primary);overflow-y:auto;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1);padding:0;margin:0;scrollbar-width:thin;scrollbar-color:var(--color-border-base) transparent}@media (max-width: 1198.98px){.center-panel{grid-template-columns:1fr;margin-top:56px;height:calc(100vh - 56px)}}.center-panel>*{grid-column:1}.center-panel>*{width:100%;max-width:100%;height:100%;min-width:0;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0}.center-panel router-view,.center-panel>router-view{width:100%;max-width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0}.center-panel{scrollbar-width:thin;scrollbar-color:var(--color-border-base) transparent}.center-panel::-webkit-scrollbar{width:8px}.center-panel::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-sm)}.center-panel::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--radius-sm)}.center-panel::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.content-body{width:100%;max-width:1400px;margin:0 auto;padding:0;background:var(--color-neutral-white);border-radius:0;box-sizing:border-box;box-shadow:none;border:none;position:relative;min-height:100%;display:flex;flex-direction:column}@media (max-width: 1398.98px){.content-body{max-width:100%;margin:0}}.content-inner{flex:1;padding:var(--spacing-lg) var(--spacing-md);width:100%;box-sizing:border-box}@media (min-width: 1399.98px){.content-inner{max-width:1400px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-2xl)}}.content-body--padded{padding:var(--spacing-lg) var(--spacing-md)}.content-body>.content-header:first-child{padding-left:0;padding-right:0;padding-top:var(--spacing-xl)}.content-body:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--color-primary-gradient);border-radius:0}.content-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border-light);width:100%;box-sizing:border-box}.content-header h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-gray-800);margin:0;background:var(--color-primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.content-container{width:100%;margin:0;padding:0}.content-container-inner{padding:0}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.content-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.content-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.content-card{background:var(--color-neutral-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);border:1px solid var(--color-border-light);transition:transform var(--animation-duration-normal) var(--easing-standard),box-shadow var(--animation-duration-normal) var(--easing-standard);will-change:transform,box-shadow}.content-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.content-card-header{margin-bottom:var(--spacing-md);padding-bottom:12px;border-bottom:1px solid var(--color-border-light)}.content-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-800);margin:0}.content-card-body{color:var(--color-neutral-gray-600);line-height:var(--font-lineHeight-relaxed)}.info-section{background:var(--color-background-tertiary);border-radius:var(--radius-md);padding:20px;margin-bottom:var(--spacing-lg);border:1px solid var(--color-neutral-gray-300)}.info-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);margin-bottom:12px;display:flex;align-items:center;gap:var(--spacing-sm)}.info-section-title:before{content:"";width:4px;height:16px;background:var(--color-primary-gradient);border-radius:2px}.info-section-content{color:var(--color-neutral-gray-600);line-height:var(--font-lineHeight-normal)}.status-indicator{display:inline-flex;align-items:center;gap:6px;padding:var(--spacing-xs) 12px;border-radius:20px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.status-indicator.enabled{background:var(--color-semantic-status-enabled-background);color:var(--color-semantic-status-enabled-text);border:1px solid var(--color-semantic-status-enabled-border)}.status-indicator.disabled{background:var(--color-semantic-status-disabled-background);color:var(--color-semantic-status-disabled-text);border:1px solid var(--color-semantic-status-disabled-border)}.status-indicator.warning{background:var(--color-semantic-status-warning-background);color:var(--color-semantic-status-warning-text);border:1px solid var(--color-semantic-status-warning-border)}.status-indicator.danger{background:var(--color-semantic-status-disabled-background);color:var(--color-semantic-status-disabled-text);border:1px solid var(--color-semantic-status-disabled-border)}.toast-container{position:fixed;top:0;right:0;padding:1rem;z-index:9999;pointer-events:none}.toast-container .toast{pointer-events:auto;min-width:300px;max-width:500px;margin-bottom:.5rem;background-color:#fff;border:1px solid rgba(0,0,0,.1);border-radius:.5rem;box-shadow:0 .5rem 1rem #00000026;opacity:1;display:block;overflow:hidden}.toast-container .toast.show{display:block;opacity:1}.toast-container .toast .toast-header{display:flex;align-items:center;padding:.75rem 1rem;color:#fff;background-color:#6c757d;border-bottom:1px solid rgba(0,0,0,.1);border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px);font-weight:600}.toast-container .toast .toast-header.bg-success{background-color:#28a745!important}.toast-container .toast .toast-header.bg-danger{background-color:#dc3545!important}.toast-container .toast .toast-header.bg-warning{background-color:#ffc107!important;color:#212529!important}.toast-container .toast .toast-header.bg-info{background-color:#17a2b8!important;color:#fff!important}.toast-container .toast .toast-header .me-auto{margin-right:auto;font-weight:600;font-size:.875rem;letter-spacing:.025em}.toast-container .toast .toast-header .btn-close{padding:.25rem;margin-left:.5rem;background:transparent;border:0;border-radius:.25rem;opacity:.7;cursor:pointer;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,background-color .2s ease}.toast-container .toast .toast-header .btn-close:hover{opacity:1;background-color:#0000001a}.toast-container .toast .toast-header .btn-close:before{content:"×";font-size:1.5rem;line-height:1;font-weight:300}.toast-container .toast .toast-header .btn-close.btn-close-white{color:#fff}.toast-container .toast .toast-body{padding:1rem;color:#212529;word-wrap:break-word;line-height:1.6;font-size:.9375rem;background-color:#fff}.toast-slide-enter-active{animation:slideInRight var(--animation-duration-normal) var(--easing-bounce);will-change:transform,opacity}.toast-slide-leave-active{animation:slideInRight var(--animation-duration-fast) var(--easing-accelerate) reverse;will-change:transform,opacity}.toast-slide-enter-from{opacity:0;transform:translate(100%)}.toast-slide-enter-to,.toast-slide-leave-from{opacity:1;transform:translate(0)}.toast-slide-leave-to{opacity:0;transform:translate(100%)}.toast-list-enter-active,.toast-list-leave-active{transition:all .3s ease}.toast-list-enter-from,.toast-list-leave-to{opacity:0;transform:translate(100%)}.toast-list-move{transition:transform .3s ease}.toast-container-wrapper{z-index:9999}button,.btn,input[type=button],input[type=submit],input[type=reset]{border-radius:var(--radius-sm);transition:transform var(--animation-duration-fast) var(--easing-standard),box-shadow var(--animation-duration-fast) var(--easing-standard),background-color var(--animation-duration-fast) var(--easing-standard)}button:active:not(:disabled),.btn:active:not(:disabled),input[type=button]:active:not(:disabled),input[type=submit]:active:not(:disabled),input[type=reset]:active:not(:disabled){transform:scale(.96)}@media (hover: hover) and (pointer: fine){button:hover:not(:disabled),.btn:hover:not(:disabled),input[type=button]:hover:not(:disabled),input[type=submit]:hover:not(:disabled),input[type=reset]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-primary-sm)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:all var(--animation-duration-fast) var(--easing-standard);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;min-width:80px;max-width:140px;height:36px;-webkit-user-select:none;user-select:none;font-family:inherit;white-space:nowrap;text-overflow:ellipsis;will-change:transform,box-shadow}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--animation-duration-slow)}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary-sm)}.btn:active{transform:translateY(0) scale(.96);box-shadow:var(--shadow-sm)}.btn:focus{outline:none;box-shadow:0 0 0 3px #667eea33}.btn:focus-visible{outline:2px solid var(--color-primary-base);outline-offset:2px;box-shadow:0 0 0 3px #667eea33,0 0 0 5px #667eea1a;animation:focus-ring .2s ease-out}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.btn-primary{background:var(--color-primary-gradient);color:var(--color-neutral-white);box-shadow:var(--shadow-primary-sm);border:none}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary-md)}.btn-secondary{background:var(--color-secondary-gradient);color:var(--color-neutral-white);box-shadow:var(--shadow-secondary-sm)}.btn-secondary:hover{background:var(--color-secondary-hover);box-shadow:var(--shadow-secondary-md)}.btn-success{background:var(--color-success-gradient);color:var(--color-neutral-white);box-shadow:var(--shadow-success-sm)}.btn-success:hover{background:var(--color-success-hover);box-shadow:var(--shadow-success-md)}.btn-success.simple{background:var(--color-success-base);color:var(--color-neutral-white);border:none}.btn-success.simple:hover{background:var(--color-success-hoverSolid);opacity:.9}.btn-danger{background:var(--color-danger-gradient);color:var(--color-neutral-white);box-shadow:var(--shadow-danger-sm)}.btn-danger:hover{background:var(--color-danger-hover);box-shadow:var(--shadow-danger-md)}.btn-warning{background:linear-gradient(135deg,var(--color-warning-base) 0%,var(--color-warning-dark) 100%);color:var(--color-neutral-black);box-shadow:var(--shadow-warning-sm)}.btn-warning:hover{background:linear-gradient(135deg,var(--color-warning-dark) 0%,var(--color-warning-dark) 100%);box-shadow:var(--shadow-warning-md)}.btn-info{background:linear-gradient(135deg,var(--color-info-base) 0%,var(--color-semantic-agent-primary) 100%);color:var(--color-neutral-white);box-shadow:var(--shadow-secondary-sm)}.btn-info:hover{background:linear-gradient(135deg,var(--color-info-darker) 0%,var(--color-semantic-agent-dark) 100%);box-shadow:var(--shadow-secondary-md)}.btn-outline-primary{background:var(--color-neutral-white);color:var(--color-primary-base);border:2px solid var(--color-primary-base);box-shadow:var(--shadow-sm)}.btn-outline-primary:hover{background:var(--color-primary-base);color:var(--color-neutral-white);border-color:var(--color-primary-base);box-shadow:var(--shadow-primary-sm)}.btn-outline-info{background:var(--color-neutral-white);color:var(--color-info-base);border:2px solid var(--color-info-base);box-shadow:var(--shadow-sm)}.btn-outline-info:hover{background:var(--color-info-base);color:var(--color-neutral-white);border-color:var(--color-info-base);box-shadow:var(--shadow-secondary-sm)}.btn-outline-danger{background:var(--color-neutral-white);color:var(--color-danger-base);border:2px solid var(--color-danger-base);box-shadow:var(--shadow-sm)}.btn-outline-danger:hover{background:var(--color-danger-base);color:var(--color-neutral-white);border-color:var(--color-danger-base);box-shadow:var(--shadow-danger-sm)}.btn-outline-secondary{background:var(--color-neutral-white);color:var(--color-secondary-base);border:1px solid var(--color-secondary-base);box-shadow:none}.btn-outline-secondary:hover{background:var(--color-secondary-base);color:var(--color-neutral-white);border-color:var(--color-secondary-base)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);min-width:60px;height:32px}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);min-width:120px;height:48px}.btn-xs{padding:2px var(--spacing-xs);font-size:9px;min-width:32px;height:20px}.btn-icon,.btn-icon-only{padding:6px;min-width:44px;min-height:44px;max-width:none;width:44px;height:44px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:0;transition:all var(--animation-duration-fast)}.btn-icon i,.btn-icon i.bi,.btn-icon-only i,.btn-icon-only i.bi{font-family:bootstrap-icons;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;font-size:var(--font-size-base);text-align:center;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn-icon.btn-sm,.btn-icon-only.btn-sm{width:30px;height:30px;padding:5px}.btn-icon.btn-sm i,.btn-icon.btn-sm i.bi,.btn-icon-only.btn-sm i,.btn-icon-only.btn-sm i.bi{font-size:15px}.btn-icon.btn-xs,.btn-icon-only.btn-xs{width:24px;height:24px;padding:3px}.btn-icon.btn-xs i,.btn-icon.btn-xs i.bi,.btn-icon-only.btn-xs i,.btn-icon-only.btn-xs i.bi{font-size:var(--font-size-sm)}.btn-outline-primary.btn-icon i,.btn-outline-primary.btn-icon i.bi,.btn-outline-primary.btn-icon-only i,.btn-outline-primary.btn-icon-only i.bi{color:var(--color-primary-base)}.btn-outline-primary.btn-icon:hover i,.btn-outline-primary.btn-icon:hover i.bi,.btn-outline-primary.btn-icon-only:hover i,.btn-outline-primary.btn-icon-only:hover i.bi{color:var(--color-neutral-white)}.btn-outline-danger.btn-icon i,.btn-outline-danger.btn-icon i.bi,.btn-outline-danger.btn-icon-only i,.btn-outline-danger.btn-icon-only i.bi{color:var(--color-danger-base)}.btn-outline-danger.btn-icon:hover i,.btn-outline-danger.btn-icon:hover i.bi,.btn-outline-danger.btn-icon-only:hover i,.btn-outline-danger.btn-icon-only:hover i.bi{color:var(--color-neutral-white)}.btn-outline-info.btn-icon i,.btn-outline-info.btn-icon i.bi,.btn-outline-info.btn-icon-only i,.btn-outline-info.btn-icon-only i.bi{color:var(--color-info-base)}.btn-outline-info.btn-icon:hover i,.btn-outline-info.btn-icon:hover i.bi,.btn-outline-info.btn-icon-only:hover i,.btn-outline-info.btn-icon-only:hover i.bi{color:var(--color-neutral-white)}.btn-outline-secondary.btn-icon i,.btn-outline-secondary.btn-icon i.bi,.btn-outline-secondary.btn-icon-only i,.btn-outline-secondary.btn-icon-only i.bi{color:var(--color-secondary-base)}.btn-outline-secondary.btn-icon:hover i,.btn-outline-secondary.btn-icon:hover i.bi,.btn-outline-secondary.btn-icon-only:hover i,.btn-outline-secondary.btn-icon-only:hover i.bi{color:var(--color-neutral-white)}.btn-outline-success.btn-icon i,.btn-outline-success.btn-icon i.bi,.btn-outline-success.btn-icon-only i,.btn-outline-success.btn-icon-only i.bi{color:var(--color-success-base)}.btn-outline-success.btn-icon:hover i,.btn-outline-success.btn-icon:hover i.bi,.btn-outline-success.btn-icon-only:hover i,.btn-outline-success.btn-icon-only:hover i.bi{color:var(--color-neutral-white)}.btn-icon:hover:not(:disabled),.btn-icon-only:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-icon:active:not(:disabled),.btn-icon-only:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-group{display:inline-flex;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}.btn-group .btn{border-radius:0;box-shadow:none;border-right:1px solid rgba(255,255,255,.2)}.btn-group .btn:first-child{border-radius:0}.btn-group .btn:last-child{border-radius:0;border-right:none}.btn-group .btn:hover{transform:none;box-shadow:none}.btn-group .btn:active{transform:none;box-shadow:inset 0 2px 4px #00000026}.btn-group-vertical{flex-direction:column;align-items:stretch}.action-buttons,.action-buttons-group{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;margin-bottom:var(--spacing-lg)}.action-buttons .btn,.action-buttons-group .btn{display:inline-flex;align-items:center;vertical-align:middle}.action-buttons .btn-icon-only,.action-buttons .btn-icon,.action-buttons-group .btn-icon-only,.action-buttons-group .btn-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0}.action-buttons .btn-icon-only i,.action-buttons .btn-icon i,.action-buttons-group .btn-icon-only i,.action-buttons-group .btn-icon i{display:inline-block;line-height:1;vertical-align:middle}.action-buttons-group{justify-content:center}.config-actions-group,.rag-config+.d-flex,.mcp-global-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;align-items:center;padding:var(--spacing-md) 0}.file-item-actions,.wrong-book-actions,.exam-library-actions{display:flex;flex-wrap:nowrap;gap:4px;justify-content:center;align-items:center;width:100%}.file-item-actions .btn-icon,.wrong-book-actions .btn-icon,.exam-library-actions .btn-icon{transition:all var(--animation-duration-fast);border-radius:4px;min-width:0;max-width:none}.file-item-actions .btn-icon:hover,.wrong-book-actions .btn-icon:hover,.exam-library-actions .btn-icon:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.file-item-actions .btn-icon:active,.wrong-book-actions .btn-icon:active,.exam-library-actions .btn-icon:active{transform:translateY(0)}.exam-library-grid .file-item-actions .btn-icon.btn-sm,.exam-library-grid .wrong-book-actions .btn-icon.btn-sm,.exam-library-grid .exam-library-actions .btn-icon.btn-sm,.wrong-book-grid .file-item-actions .btn-icon.btn-sm,.wrong-book-grid .wrong-book-actions .btn-icon.btn-sm,.item-grid .file-item-actions .btn-icon.btn-sm{width:26px;height:26px;padding:0;border-radius:4px;min-width:26px;display:flex;align-items:center;justify-content:center}.exam-library-grid .file-item-actions .btn-icon.btn-sm i,.exam-library-grid .file-item-actions .btn-icon.btn-sm i.bi,.exam-library-grid .wrong-book-actions .btn-icon.btn-sm i,.exam-library-grid .wrong-book-actions .btn-icon.btn-sm i.bi,.exam-library-grid .exam-library-actions .btn-icon.btn-sm i,.exam-library-grid .exam-library-actions .btn-icon.btn-sm i.bi,.wrong-book-grid .file-item-actions .btn-icon.btn-sm i,.wrong-book-grid .file-item-actions .btn-icon.btn-sm i.bi,.wrong-book-grid .wrong-book-actions .btn-icon.btn-sm i,.wrong-book-grid .wrong-book-actions .btn-icon.btn-sm i.bi,.item-grid .file-item-actions .btn-icon.btn-sm i,.item-grid .file-item-actions .btn-icon.btn-sm i.bi{font-size:13px;line-height:1}.exam-library-list .file-item-actions .btn-icon.btn-sm,.exam-library-list .wrong-book-actions .btn-icon.btn-sm,.exam-library-list .exam-library-actions .btn-icon.btn-sm{width:30px;height:30px;padding:5px}.exam-library-list .file-item-actions .btn-icon.btn-sm i,.exam-library-list .file-item-actions .btn-icon.btn-sm i.bi,.exam-library-list .wrong-book-actions .btn-icon.btn-sm i,.exam-library-list .wrong-book-actions .btn-icon.btn-sm i.bi,.exam-library-list .exam-library-actions .btn-icon.btn-sm i,.exam-library-list .exam-library-actions .btn-icon.btn-sm i.bi{font-size:15px}.exam-library-list .list-item-actions .file-item-actions,.exam-library-list .list-item-actions .wrong-book-actions,.exam-library-list .list-item-actions .exam-library-actions{display:flex;flex-wrap:nowrap;gap:3px;justify-content:flex-end}.btn i.bi,.btn i[class*=bi-]{font-family:bootstrap-icons;font-style:normal;font-weight:400;display:inline-block;color:inherit;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn-primary i.bi,.btn-secondary i.bi,.btn-warning i.bi,.btn-danger i.bi,.btn-success i.bi,.btn-info i.bi,.btn-outline-primary i.bi,.btn-outline-secondary i.bi,.btn-outline-warning i.bi,.btn-outline-danger i.bi,.btn-outline-success i.bi,.btn-outline-info i.bi{color:inherit}.card{background:var(--color-neutral-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid var(--color-border-light);transition:transform var(--animation-duration-normal) var(--easing-standard),box-shadow var(--animation-duration-normal) var(--easing-standard),border-color var(--animation-duration-normal) var(--easing-standard);will-change:transform,box-shadow}.card:hover,.card-clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-base)}.card-clickable{cursor:pointer}.card-header{padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-darker-gray);margin:0}.card-body{color:var(--color-neutral-gray-600);line-height:var(--font-lineHeight-normal);padding:var(--spacing-sm) 0}.card-footer{padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.table,.stats-table{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--color-neutral-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border-base)}.table thead th,.stats-table th{background:var(--color-neutral-gray-100);padding:var(--spacing-md) var(--spacing-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:none;letter-spacing:normal;color:var(--color-neutral-gray-700);border-bottom:2px solid var(--color-border-base);position:relative}.table tbody td,.stats-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-base);vertical-align:middle;color:var(--color-semantic-text-dark)}.table tbody tr,.stats-table tbody tr{transition:all var(--animation-duration-normal)}.table tbody tr:hover,.stats-table tbody tr:hover{background:var(--color-info-light)}.table tbody tr.selected,.stats-table tbody tr.selected{background:var(--color-info-lighter);border-left:3px solid var(--color-primary-base)}.table-compact th,.table-compact td{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid var(--color-border-light)}.table-striped tbody tr:nth-child(2n){background:var(--color-neutral-gray-50)}.modal-mask{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1050;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.modal-wrapper{position:relative;z-index:1051;display:flex;align-items:center;justify-content:center;width:100%;max-width:600px}.modal-container{background:var(--color-neutral-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:1052;display:flex;flex-direction:column}.modal-container .modal-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-divider);display:flex;align-items:center;justify-content:space-between;background:var(--color-primary-gradient);color:var(--color-neutral-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-container .modal-header span{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-white)}.modal-container .modal-header .close{background:transparent;border:none;color:var(--color-neutral-white);font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color var(--animation-duration-fast)}.modal-container .modal-header .close:hover{background:#fff3}.modal-container .modal-body{padding:var(--spacing-lg);overflow-y:auto;max-height:calc(90vh - 120px)}.modal-container .modal-body .alert{margin-bottom:var(--spacing-md);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.modal-container .modal-body .alert:last-child{margin-bottom:0}.modal-container .modal-body .alert i{flex-shrink:0;margin-top:2px}.modal-container .modal-body .alert ul{margin-top:var(--spacing-xs);margin-bottom:0;padding-left:var(--spacing-lg)}.modal-container .modal-footer{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-border-divider);display:flex;flex-direction:row;align-items:center;gap:var(--spacing-sm);justify-content:flex-end}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-darker-gray);margin:0}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1050;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.login-modal-content{background:var(--color-neutral-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:400px;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:1051;padding:var(--spacing-xl)}.login-modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:transparent;border:none;color:var(--color-neutral-darker-gray);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color var(--animation-duration-fast);line-height:1}.login-modal-close:hover{background:#0000000d}.login-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-darker-gray);margin:0 0 var(--spacing-lg) 0;text-align:center}.login-form-group{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.login-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color var(--animation-duration-fast)}.login-input:focus{outline:none;border-color:var(--color-primary-base)}.login-msg{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:center;min-height:20px}.login-submit-btn{width:100%;margin-bottom:var(--spacing-md)}.login-modal-footer{text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border-divider)}.login-modal-footer a{color:var(--color-primary-base);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--animation-duration-fast)}.login-modal-footer a:hover{color:var(--color-secondary-base)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.badge-primary{background:var(--color-primary-gradient);color:var(--color-neutral-white)}.badge-secondary{background:var(--color-secondary-base);color:var(--color-neutral-white)}.badge-success{background:var(--color-success-base);color:var(--color-neutral-white)}.badge-danger{background:var(--color-danger-base);color:var(--color-neutral-white)}.badge-warning{background:var(--color-warning-base);color:var(--color-neutral-black)}.badge-info{background:var(--color-info-base);color:var(--color-neutral-white)}.progress{height:8px;background:var(--color-border-base);border-radius:var(--radius-sm);overflow:hidden}.progress-bar{height:100%;background:var(--color-primary-gradient);transition:width var(--animation-duration-slow)}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border:1px solid transparent;display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-medium)}.alert.compact{margin-bottom:0;padding:var(--spacing-sm) var(--spacing-md)}.alert-primary{background:linear-gradient(135deg,var(--color-info-light) 0%,var(--color-info-lighter) 100%);border-color:var(--color-info-lighter);color:var(--color-info-darker)}.alert-success{background:var(--color-semantic-status-enabled-background);border-color:var(--color-semantic-status-enabled-border);color:var(--color-semantic-status-enabled-text)}.alert-danger{background:var(--color-semantic-status-disabled-background);border-color:var(--color-semantic-status-disabled-border);color:var(--color-semantic-status-disabled-text)}.alert-warning{background:var(--color-semantic-status-warning-background);border-color:var(--color-semantic-status-warning-border);color:var(--color-semantic-status-warning-text)}.alert-info{background:linear-gradient(135deg,var(--color-info-light) 0%,var(--color-info-lighter) 100%);border-color:var(--color-info-lighter);color:var(--color-info-darker)}.alert-success.border-left{border-left:4px solid var(--color-success-base)}.alert-danger.border-left{border-left:4px solid var(--color-danger-base)}.alert-warning.border-left{border-left:4px solid var(--color-warning-base)}.alert-info.border-left{border-left:4px solid var(--color-info-base)}.form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-text{font-size:var(--font-size-xs);margin-top:var(--spacing-xs);color:var(--color-neutral-gray-600)}.form-control,.form-select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search],textarea,select{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border-base);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-semantic-text-dark);background:var(--color-neutral-white);transition:all var(--animation-duration-normal);width:100%;box-sizing:border-box;font-family:inherit;margin-bottom:var(--spacing-sm)}.form-select,select{cursor:pointer}.form-control:focus,.form-select:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary-base);box-shadow:0 0 0 3px #667eea33}.form-control-sm,.form-select-sm,input[type=text].form-control-sm,input[type=email].form-control-sm,input[type=password].form-control-sm,input[type=number].form-control-sm,input[type=url].form-control-sm,input[type=search].form-control-sm,textarea.form-control-sm,select.form-control-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.form-control.w-100,input[type=text].w-100,input[type=email].w-100,input[type=password].w-100,input[type=number].w-100,input[type=url].w-100,input[type=search].w-100,textarea.w-100,select.w-100{width:100%;min-width:0;box-sizing:border-box}.form-control-sm.w-100,input[type=text].form-control-sm.w-100,input[type=email].form-control-sm.w-100,input[type=password].form-control-sm.w-100,input[type=number].form-control-sm.w-100,input[type=url].form-control-sm.w-100,input[type=search].form-control-sm.w-100,textarea.form-control-sm.w-100,select.form-control-sm.w-100{width:100%;min-width:0;font-size:var(--font-size-sm);box-sizing:border-box}.skeleton{background:linear-gradient(90deg,var(--color-background-skeleton-base) 25%,var(--color-background-skeleton-highlight) 50%,var(--color-background-skeleton-base) 75%);background-size:200% 100%;animation:skeleton-loading var(--animation-duration-slow) var(--easing-standard) infinite;will-change:background-position;display:inline-block}.skeleton-animated{animation:skeleton-loading var(--animation-duration-slow) var(--easing-standard) infinite;will-change:background-position}.skeleton-text{height:1em;border-radius:var(--radius-xs)}.skeleton-line{height:1em;margin-bottom:var(--spacing-sm);border-radius:var(--radius-xs);background:linear-gradient(90deg,var(--color-background-skeleton-base) 25%,var(--color-background-skeleton-highlight) 50%,var(--color-background-skeleton-base) 75%);background-size:200% 100%;animation:skeleton-loading var(--animation-duration-slow) var(--easing-standard) infinite;will-change:background-position}.skeleton-image{background:linear-gradient(90deg,var(--color-background-skeleton-base) 25%,var(--color-background-skeleton-highlight) 50%,var(--color-background-skeleton-base) 75%);background-size:200% 100%;animation:skeleton-loading var(--animation-duration-slow) var(--easing-standard) infinite;will-change:background-position;border-radius:var(--radius-xs)}.skeleton-rounded{border-radius:var(--radius-sm)}.skeleton-card{padding:var(--spacing-md);border:1px solid var(--color-border-skeleton);border-radius:var(--radius-sm);background:var(--color-neutral-white)}.skeleton-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-list-item{display:flex;align-items:center}.skeleton-content{flex:1}.lazy-image{opacity:0;transition:opacity var(--animation-duration-normal) var(--easing-standard)}.lazy-image.lazy-loaded{opacity:1}.lazy-image.lazy-loading{opacity:.5;background:var(--color-background-skeleton-base)}.lazy-image.lazy-error{opacity:1;background:var(--color-background-skeleton-container)}.section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-semantic-text-dark);margin:0}.section-actions{display:flex;gap:var(--spacing-xs)}.stats-section{background:var(--color-background-tertiary);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm)}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-neutral-white);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}.stat-icon{font-size:var(--font-size-lg);color:var(--color-primary-base)}.stat-content{flex:1}.stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-semantic-text-dark);line-height:1}.stat-label{font-size:var(--font-size-xs);color:var(--color-neutral-gray-600);margin-top:2px}.metadata-grid{display:grid;gap:var(--spacing-xs)}.metadata-item{display:flex;gap:var(--spacing-xs)}.metadata-label{font-weight:var(--font-weight-medium);color:var(--color-semantic-text-dark);font-size:var(--font-size-xs);min-width:60px}.metadata-value{color:var(--color-neutral-gray-600);font-size:var(--font-size-xs);flex:1}.list-item{background:var(--color-neutral-white);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);transition:all var(--animation-duration-fast)}.list-item:hover{border-color:var(--color-primary-base);box-shadow:var(--shadow-sm)}.list-item-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-light)}.list-item-info{display:flex;gap:var(--spacing-sm);align-items:center}.list-item-content{padding-top:var(--spacing-sm)}.list-item-text{font-size:var(--font-size-sm);line-height:var(--font-lineHeight-normal);color:var(--color-semantic-text-dark);white-space:pre-wrap;word-break:break-word}.list-item-metadata{background:var(--color-background-tertiary);border-radius:var(--radius-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.info-badge{font-size:var(--font-size-xs);color:var(--color-info-base);background:var(--color-info-light);padding:2px 6px;border-radius:var(--radius-sm)}.code-text{font-family:Courier New,monospace;font-size:var(--font-size-sm);line-height:var(--font-lineHeight-normal);color:var(--color-semantic-text-dark);white-space:pre-wrap;word-break:break-word;margin:0}.token-stats-tabs{display:flex;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border-base);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.tab-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-neutral-gray-600);border-radius:var(--radius-sm);transition:all var(--animation-duration-normal)}.tab-btn:hover{background:var(--color-neutral-gray-100);color:var(--color-neutral-gray-800)}.tab-btn.active{background:var(--color-primary-gradient);color:var(--color-neutral-white);box-shadow:var(--shadow-sm)}.stats-table-container{overflow-x:auto;margin-top:var(--spacing-md)}h2,.h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-gray-900);margin:0 0 var(--spacing-md) 0;line-height:1.3}h3,.h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-800);margin:0 0 var(--spacing-md) 0;line-height:1.4}h4,.h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-800);margin:0 0 var(--spacing-sm) 0;line-height:1.4}h5,.h5{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);margin:0 0 var(--spacing-sm) 0;line-height:1.4}h6,.h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);margin:0 0 var(--spacing-sm) 0;line-height:1.4}.message-item{position:relative;display:flex;flex-direction:row;width:100%;margin-bottom:20px;animation:messageSlideIn .3s ease-out;will-change:transform,opacity}.message-item:hover .message-actions-wrapper{opacity:1}.message-actions-wrapper{position:absolute;top:8px;opacity:0;transition:opacity .2s ease;z-index:10}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message{display:flex;gap:16px;max-width:75%;animation:messageSlide .3s ease}.message-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.message-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:var(--color-gray-500, #6b7280);gap:8px}.exam-library-container{width:100%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:var(--spacing-md);gap:var(--spacing-md)}.exam-library-container .header-actions{display:flex;gap:12px;align-items:center}.top-control-panel{flex-shrink:0;width:100%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-neutral-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-base);box-sizing:border-box}.filter-section{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;flex:1;min-width:0}.filter-controls{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.filter-item{display:flex;align-items:center;gap:var(--spacing-sm)}.filter-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-semantic-text-dark);white-space:nowrap;margin:0}.checkbox-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:background var(--animation-duration-fast)}.checkbox-item:hover{background:var(--color-neutral-gray-100)}.checkbox-item .form-check-input{margin:0;cursor:pointer}.checkbox-item .form-check-label{margin:0;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-semantic-text-dark);-webkit-user-select:none;user-select:none}.action-section{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.actions-group{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.exam-content-area,.wrong-book-content-area,.lecture-content-area{flex:1;width:100%;min-height:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.exam-content-area>*,.wrong-book-content-area>*,.lecture-content-area>*{width:100%;box-sizing:border-box}.exam-content-area,.wrong-book-content-area,.lecture-content-area{scrollbar-width:thin;scrollbar-color:var(--color-neutral-gray-600) var(--color-neutral-gray-100)}.exam-content-area::-webkit-scrollbar,.wrong-book-content-area::-webkit-scrollbar,.lecture-content-area::-webkit-scrollbar{width:8px}.exam-content-area::-webkit-scrollbar-track,.wrong-book-content-area::-webkit-scrollbar-track,.lecture-content-area::-webkit-scrollbar-track{background:var(--color-neutral-gray-100);border-radius:var(--radius-sm)}.exam-content-area::-webkit-scrollbar-thumb,.wrong-book-content-area::-webkit-scrollbar-thumb,.lecture-content-area::-webkit-scrollbar-thumb{background:var(--color-neutral-gray-600);border-radius:var(--radius-sm)}.exam-content-area::-webkit-scrollbar-thumb:hover,.wrong-book-content-area::-webkit-scrollbar-thumb:hover,.lecture-content-area::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.exam-content-area::-webkit-scrollbar-thumb:hover,.wrong-book-content-area::-webkit-scrollbar-thumb:hover,.lecture-content-area::-webkit-scrollbar-thumb:hover{background:var(--color-semantic-text-dark)}.exam-library-grid,.wrong-book-grid,.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);width:100%;max-width:100%;box-sizing:border-box}.exam-grid-container .mb-4.p-3.border.rounded.bg-light .exam-library-grid{width:100%;padding:0;margin-top:var(--spacing-md);box-sizing:border-box}.exam-library-grid .card,.wrong-book-grid .card,.item-grid .card{display:flex;flex-direction:column;width:100%;max-width:100%;margin-bottom:0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:0;transition:all var(--animation-duration-fast);border:1px solid var(--color-border-base);background:var(--color-neutral-white);height:100%;overflow:hidden;box-sizing:border-box}.exam-library-grid .card:hover,.wrong-book-grid .card:hover,.item-grid .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-base);will-change:transform,box-shadow}.exam-library-grid .card-img-container,.wrong-book-grid .card-img-container,.item-grid .card-img-container{height:120px;min-height:120px;display:flex;align-items:center;justify-content:center;background-color:var(--color-neutral-gray-100);border-bottom:1px solid var(--color-border-base);position:relative;padding:var(--spacing-xs);border-radius:var(--radius-sm) var(--radius-sm) 0 0;overflow:hidden;margin-bottom:0;flex-shrink:0}.exam-library-grid .card-img-container img,.wrong-book-grid .card-img-container img,.item-grid .card-img-container img{max-width:100%;max-height:100%;object-fit:contain;object-position:center;cursor:pointer;transition:transform var(--animation-duration-fast);background:var(--color-neutral-gray-50)}.exam-library-grid .card-img-container img:hover,.wrong-book-grid .card-img-container img:hover,.item-grid .card-img-container img:hover{transform:scale(1.05)}.exam-library-grid .card-img-container img[loading=lazy],.wrong-book-grid .card-img-container img[loading=lazy],.item-grid .card-img-container img[loading=lazy]{opacity:0;animation:fadeIn .3s ease-in forwards}.exam-library-grid .card-body,.wrong-book-grid .card-body,.item-grid .card-body{padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-height:0;overflow:hidden}.exam-library-grid .card-body .card-text,.wrong-book-grid .card-body .card-text,.item-grid .card-body .card-text{font-size:var(--font-size-sm);color:var(--color-semantic-text-dark);margin:0;line-height:1.4;word-break:break-word}.exam-library-grid .card-body .btn-group-container,.wrong-book-grid .card-body .btn-group-container,.item-grid .card-body .btn-group-container{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--color-border-light)}.exam-library-grid .btn-group-container,.wrong-book-grid .btn-group-container,.item-grid .btn-group-container{display:flex!important;flex-wrap:nowrap!important;gap:4px!important;width:100%!important;padding:var(--spacing-xs) 0!important;box-sizing:border-box!important;justify-content:center!important;align-items:center!important;margin-top:auto}.exam-library-grid .btn-group-container .btn,.wrong-book-grid .btn-group-container .btn,.item-grid .btn-group-container .btn{flex-shrink:0;flex-grow:0;min-width:0;max-width:none}.exam-library-grid .btn-group-container .btn i,.wrong-book-grid .btn-group-container .btn i,.item-grid .btn-group-container .btn i{flex-shrink:0}.file-icon{font-size:48px;color:var(--color-neutral-gray-600);cursor:pointer}.file-icon:hover{color:var(--color-primary-base)}.flex-grow-1{flex:1}.wrong-book-grid .card-note-section{margin-top:auto;padding-top:var(--spacing-md)}.wrong-book-grid .card-note-section p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-library-list,.wrong-book-list{padding:var(--spacing-md) 0}.exam-library-list .list-item,.wrong-book-list .list-item{background:var(--color-neutral-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md);display:flex;align-items:center;padding:var(--spacing-md);transition:all var(--animation-duration-fast);border:1px solid var(--color-border-base)}.exam-library-list .list-item:hover,.wrong-book-list .list-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-base)}.exam-grid-container .mb-4.p-3.border.rounded.bg-light{background:var(--color-neutral-white);border:1px solid var(--color-border-base);box-shadow:var(--shadow-sm);transition:all var(--animation-duration-fast)}.exam-grid-container .mb-4.p-3.border.rounded.bg-light:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-base)}.exam-grid-container .mb-4.p-3.border.rounded.bg-light>.d-flex{padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-md)}.list-item-main-content{display:flex;align-items:center;padding:var(--spacing-md);width:100%}.list-item-checkbox{margin-right:var(--spacing-md)}.list-item-icon{font-size:22px;color:var(--color-primary-base);margin-right:var(--spacing-md)}.list-item-info{flex-grow:1;min-width:0}.list-item-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-semantic-text-dark)}.list-item-meta{font-size:var(--font-size-xs);color:var(--color-neutral-gray-600)}.list-item-actions{display:flex;gap:var(--spacing-sm)}.list-item-note-wrapper{background:var(--color-background-tertiary);border-top:1px solid var(--color-border-base)}.list-item-note-content{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-neutral-gray-700)}.wrong-book-note-edit textarea{width:100%;border:1px solid var(--color-border-base);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-size:var(--font-size-sm);resize:vertical;min-height:80px;font-family:inherit}.note-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.batch-cut-row{display:flex;align-items:flex-start;gap:var(--spacing-md)}.batch-preview-image-container{flex:0 0 180px;position:relative;min-height:120px;display:flex;align-items:flex-start}.batch-preview-image{width:180px;height:auto;max-width:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:zoom-in;display:block}.marked-image-wrapper{display:inline-block;position:relative}.marked-image{max-width:100%;max-height:80vh;border-radius:var(--radius-sm);cursor:crosshair;display:block;border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.question-id-label{position:absolute;left:6px;top:4px;font-size:13px;color:var(--color-info-dark);font-weight:var(--font-weight-semibold);z-index:2;letter-spacing:1px;-webkit-user-select:none;user-select:none;background:#ffffffb3;padding:0 4px;border-radius:3px;box-shadow:0 1px 2px #17a2b814}.thumbnail-image{height:120px;object-fit:cover;cursor:zoom-in}.upload-input-limited{max-width:300px}.manual-selection-box{position:absolute;border:2px solid var(--color-info-dark);background:#17a2b82e;border-radius:4px;z-index:20;pointer-events:none;box-shadow:0 0 0 1px #17a2b84d}.auto-question-box{position:absolute;border:2px solid var(--color-info-dark);background:#17a2b81a;border-radius:4px;z-index:10;cursor:pointer;pointer-events:auto;transition:all var(--animation-duration-fast);box-shadow:0 0 0 1px #17a2b833}.auto-question-box:hover{background:#17a2b833;border-color:var(--color-info-darker);box-shadow:0 0 0 2px #17a2b866}.batch-input-panel .panel-content{display:flex;flex-direction:column;padding:0}.batch-input-content{flex:1;overflow-y:auto;padding:20px}.batch-input-footer{flex-shrink:0;background:var(--color-background-tertiary)}.batch-preview-image-wrapper{display:inline-block;position:relative}.batch-preview-marked-image{max-width:100%;max-height:80vh;cursor:crosshair;display:block}.knowledge-analysis-content .row>.col-md-3,.knowledge-analysis-content .row>.col-md-4,.knowledge-analysis-content .row>.col-md-6,.practice-questions-content .row>.col-md-3,.knowledge-explanation-content .row>.col-md-4,.knowledge-explanation-content .row>.col-md-6{margin-bottom:var(--spacing-md)}.knowledge-analysis-content .card{margin-bottom:var(--spacing-md)}.progress-large{height:25px}.progress-icon{width:50px;height:50px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-sm)}.analysis-content-scroll{max-height:200px;overflow-y:auto}@media (max-width: 768px){.exam-library-container{padding:var(--spacing-sm)}.top-control-panel{flex-direction:column;align-items:stretch;padding:var(--spacing-sm)}.filter-section{width:100%;justify-content:space-between}.action-section,.actions-group{width:100%;justify-content:flex-start}.exam-library-grid,.wrong-book-grid,.item-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-sm);padding:var(--spacing-sm)}.exam-library-grid .card-img-container,.wrong-book-grid .card-img-container,.item-grid .card-img-container{height:100px;min-height:100px}.exam-library-grid .card-body,.wrong-book-grid .card-body,.item-grid .card-body{padding:var(--spacing-xs) var(--spacing-sm)}.exam-library-list .list-item,.wrong-book-list .list-item{flex-wrap:wrap;row-gap:var(--spacing-sm)}.exam-library-list .list-item-info,.wrong-book-list .list-item-info{flex-wrap:wrap;gap:var(--spacing-xs)}.exam-library-list .list-item-actions,.wrong-book-list .list-item-actions{flex-basis:100%;padding-left:40px;justify-content:flex-end}.batch-cut-row{flex-direction:column!important;align-items:flex-start!important}.batch-cut-row .me-4{margin-right:0!important;margin-bottom:var(--spacing-md)!important}.batch-cut-row .flex-grow-1{justify-content:flex-start!important}.knowledge-analysis-content .row>.col-md-3,.knowledge-analysis-content .row>.col-md-4,.knowledge-analysis-content .row>.col-md-6,.practice-questions-content .row>.col-md-3,.knowledge-explanation-content .row>.col-md-4,.knowledge-explanation-content .row>.col-md-6{margin-bottom:var(--spacing-md)}.knowledge-analysis-content .card{margin-bottom:var(--spacing-md)}.nav-tabs .nav-link{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.modal-dialog{margin:var(--spacing-sm);max-width:calc(100% - var(--spacing-md))}.modal-body,.modal-container .modal-body{padding:var(--spacing-md)}.exam-btn-group{flex-wrap:wrap;gap:8px}}@media (max-width: 576px){.top-control-panel{padding:var(--spacing-xs)}.filter-controls{flex-direction:column;align-items:stretch;width:100%}.filter-item{width:100%;justify-content:space-between}.actions-group{flex-direction:column;width:100%}.actions-group .btn{width:100%}}@media (max-width: 576px){.nav-tabs{flex-wrap:wrap}.nav-tabs .nav-item{flex:1 1 auto;min-width:0}.nav-tabs .nav-link{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-header .modal-title,.modal-container .modal-header span{font-size:var(--font-size-lg)}}.subject-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:15px;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:background var(--animation-duration-fast)}.subject-label:hover{background:var(--color-neutral-gray-100)}.card-img-height-90{height:90%;max-height:120px;width:100%;object-fit:contain;object-position:center;display:block}.card-checkbox{top:8px!important;left:8px!important;z-index:10;width:20px!important;height:20px!important;background-color:#ffffffe6;border:2px solid var(--color-primary-base);border-radius:4px;cursor:pointer;transition:all var(--animation-duration-fast);box-shadow:var(--shadow-sm)}.card-checkbox:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.card-checkbox:checked{background-color:var(--color-primary-base);border-color:var(--color-primary-base)}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);min-height:24px;flex-wrap:nowrap!important}.max-width-120{max-width:120px!important}.form-select-inline{display:inline-block!important;width:auto!important}.card-meta{flex-wrap:nowrap!important}.exam-btn-group{margin:0;width:auto;justify-content:flex-end;gap:2px;display:flex;align-items:center}.exam-btn-group .exam-btn-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:0;font-size:.8rem}.exam-btn-group .exam-btn-icon i{pointer-events:none}.analysis-progress-container{padding:0}.progress-section{padding:.5rem 0}.progress-section .progress{transition:all var(--animation-duration-normal)}.status-card{background:linear-gradient(135deg,var(--color-background-tertiary) 0%,var(--color-neutral-white) 100%);border:1px solid var(--color-border-divider);transition:all var(--animation-duration-normal)}.status-card:hover{box-shadow:var(--shadow-sm)}.stages-section{padding:1.5rem 0}.stages-track{padding:0 1rem}.stage-item{position:relative;flex:1;min-width:0}.stage-item:not(:last-child):after{content:"";position:absolute;top:24px;left:calc(50% + 24px);right:calc(-50% + 24px);height:2px;background-color:var(--color-border-divider);z-index:1;transition:all var(--animation-duration-normal)}.stage-item.active:not(:last-child):after{background-color:var(--color-info-dark)}.stage-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.stage-icon{width:48px;height:48px;border-radius:50%;font-size:1.25rem;transition:all var(--animation-duration-normal);position:relative;z-index:2;box-shadow:var(--shadow-sm);background-color:var(--color-neutral-white)}.stage-icon.bg-primary{box-shadow:var(--shadow-primary-sm);transform:scale(1.05)}.stage-icon.bg-light{border:2px solid var(--color-border-divider)}.stage-connector{display:none}.stage-label{transition:all var(--animation-duration-normal);white-space:nowrap}.stage-item.active .stage-label{font-weight:600}.content-preview-section{margin-top:1rem}.content-preview-section .card{border-radius:8px;overflow:hidden}.content-preview-section .card-header{cursor:pointer;transition:background-color .2s ease}.content-preview-section .card-header:hover{background-color:var(--color-background-tertiary)!important}.analysis-progress-wrapper{padding:.5rem 0}.analysis-complete{display:flex;flex-direction:column;height:100%;min-height:0}.analysis-complete h5{flex-shrink:0;margin-bottom:1rem}.analysis-complete>*:last-child{flex:1;min-height:0;display:flex;flex-direction:column}.analysis-panel .result-content,.wrong-book-analysis-panel .result-content,.exam-analysis-panel .result-content,.single-question-analysis-panel .result-content{padding-right:.5rem;min-height:100%;display:flex;flex-direction:column}.analysis-panel .result-content>*:last-child,.wrong-book-analysis-panel .result-content>*:last-child,.exam-analysis-panel .result-content>*:last-child,.single-question-analysis-panel .result-content>*:last-child{margin-bottom:0!important}.analysis-panel .result-content::-webkit-scrollbar,.wrong-book-analysis-panel .result-content::-webkit-scrollbar,.exam-analysis-panel .result-content::-webkit-scrollbar,.single-question-analysis-panel .result-content::-webkit-scrollbar{width:6px}.analysis-panel .result-content::-webkit-scrollbar-track,.wrong-book-analysis-panel .result-content::-webkit-scrollbar-track,.exam-analysis-panel .result-content::-webkit-scrollbar-track,.single-question-analysis-panel .result-content::-webkit-scrollbar-track{background:var(--color-neutral-gray-100);border-radius:3px}.analysis-panel .result-content::-webkit-scrollbar-thumb,.wrong-book-analysis-panel .result-content::-webkit-scrollbar-thumb,.exam-analysis-panel .result-content::-webkit-scrollbar-thumb,.single-question-analysis-panel .result-content::-webkit-scrollbar-thumb{background:var(--color-neutral-gray-400);border-radius:3px}.analysis-panel .result-content::-webkit-scrollbar-thumb:hover,.wrong-book-analysis-panel .result-content::-webkit-scrollbar-thumb:hover,.exam-analysis-panel .result-content::-webkit-scrollbar-thumb:hover,.single-question-analysis-panel .result-content::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-500)}.analysis-panel .knowledge-summary,.wrong-book-analysis-panel .knowledge-summary,.exam-analysis-panel .knowledge-summary{margin-bottom:1.5rem}.analysis-panel .knowledge-summary>h6,.wrong-book-analysis-panel .knowledge-summary>h6,.exam-analysis-panel .knowledge-summary>h6{font-size:1rem;font-weight:600;color:var(--color-semantic-text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--color-border-divider);display:flex;align-items:center}.analysis-panel .knowledge-summary>h6 i,.wrong-book-analysis-panel .knowledge-summary>h6 i,.exam-analysis-panel .knowledge-summary>h6 i{color:var(--color-info-dark);font-size:1.1rem}.analysis-panel .knowledge-list,.wrong-book-analysis-panel .knowledge-list,.exam-analysis-panel .knowledge-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.analysis-panel .knowledge-item,.wrong-book-analysis-panel .knowledge-item,.exam-analysis-panel .knowledge-item{background:var(--color-neutral-white);border:1px solid var(--color-border-divider);border-radius:var(--radius-md);padding:1rem;transition:all var(--animation-duration-normal);box-shadow:var(--shadow-sm)}.analysis-panel .knowledge-item:hover,.wrong-book-analysis-panel .knowledge-item:hover,.exam-analysis-panel .knowledge-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-info-dark)}.analysis-panel .knowledge-item-header,.wrong-book-analysis-panel .knowledge-item-header,.exam-analysis-panel .knowledge-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.analysis-panel .knowledge-item-header h6,.wrong-book-analysis-panel .knowledge-item-header h6,.exam-analysis-panel .knowledge-item-header h6{font-size:.95rem;font-weight:600;color:var(--color-neutral-black);margin:0;flex:1}.analysis-panel .knowledge-item-header .badge,.wrong-book-analysis-panel .knowledge-item-header .badge,.exam-analysis-panel .knowledge-item-header .badge{font-size:.75rem;padding:.35em .65em;font-weight:500}.analysis-panel .knowledge-item p,.wrong-book-analysis-panel .knowledge-item p,.exam-analysis-panel .knowledge-item p{color:var(--color-neutral-gray-600);font-size:.875rem;line-height:1.5;margin-bottom:.75rem}.analysis-panel .knowledge-item .row,.wrong-book-analysis-panel .knowledge-item .row,.exam-analysis-panel .knowledge-item .row{margin-bottom:.75rem}.analysis-panel .knowledge-item small,.wrong-book-analysis-panel .knowledge-item small,.exam-analysis-panel .knowledge-item small{font-size:.8rem;color:var(--color-neutral-gray-600)}.analysis-panel .weak-points,.wrong-book-analysis-panel .weak-points,.exam-analysis-panel .weak-points{margin-bottom:1.5rem}.analysis-panel .weak-points>h6,.wrong-book-analysis-panel .weak-points>h6,.exam-analysis-panel .weak-points>h6{font-size:1rem;font-weight:600;color:var(--color-semantic-text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--color-border-divider);display:flex;align-items:center}.analysis-panel .weak-points>h6 i,.wrong-book-analysis-panel .weak-points>h6 i,.exam-analysis-panel .weak-points>h6 i{color:var(--color-warning-base);font-size:1.1rem}.analysis-panel .weak-points-list,.wrong-book-analysis-panel .weak-points-list,.exam-analysis-panel .weak-points-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.analysis-panel .weak-point-item,.wrong-book-analysis-panel .weak-point-item,.exam-analysis-panel .weak-point-item{background:var(--color-warning-light);border-left:3px solid var(--color-warning-base);border-radius:6px;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;transition:all var(--animation-duration-fast)}.analysis-panel .weak-point-item:hover,.wrong-book-analysis-panel .weak-point-item:hover,.exam-analysis-panel .weak-point-item:hover{background:var(--color-warning-lighter);transform:translate(4px)}.analysis-panel .weak-point-item i,.wrong-book-analysis-panel .weak-point-item i,.exam-analysis-panel .weak-point-item i{color:var(--color-warning-base);font-size:1.1rem;flex-shrink:0}.analysis-panel .weak-point-item span,.wrong-book-analysis-panel .weak-point-item span,.exam-analysis-panel .weak-point-item span{color:var(--color-warning-dark);font-size:.9rem;line-height:1.5}.analysis-panel .recommendations,.wrong-book-analysis-panel .recommendations,.exam-analysis-panel .recommendations{margin-bottom:1.5rem}.analysis-panel .recommendations>h6,.wrong-book-analysis-panel .recommendations>h6,.exam-analysis-panel .recommendations>h6{font-size:1rem;font-weight:600;color:var(--color-semantic-text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--color-border-divider);display:flex;align-items:center}.analysis-panel .recommendations>h6 i,.wrong-book-analysis-panel .recommendations>h6 i,.exam-analysis-panel .recommendations>h6 i{color:var(--color-success-base);font-size:1.1rem}.analysis-panel .recommendations-list,.wrong-book-analysis-panel .recommendations-list,.exam-analysis-panel .recommendations-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.analysis-panel .recommendation-item,.wrong-book-analysis-panel .recommendation-item,.exam-analysis-panel .recommendation-item{background:var(--color-success-light);border-left:3px solid var(--color-success-base);border-radius:6px;padding:.75rem 1rem;display:flex;align-items:flex-start;gap:.75rem;transition:all var(--animation-duration-fast)}.analysis-panel .recommendation-item:hover,.wrong-book-analysis-panel .recommendation-item:hover,.exam-analysis-panel .recommendation-item:hover{background:var(--color-success-lighter);transform:translate(4px)}.analysis-panel .recommendation-item i,.wrong-book-analysis-panel .recommendation-item i,.exam-analysis-panel .recommendation-item i{color:var(--color-success-base);font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.analysis-panel .recommendation-item span,.wrong-book-analysis-panel .recommendation-item span,.exam-analysis-panel .recommendation-item span{color:var(--color-success-dark);font-size:.9rem;line-height:1.6}.analysis-panel .knowledge-mapping,.wrong-book-analysis-panel .knowledge-mapping,.exam-analysis-panel .knowledge-mapping{margin-bottom:1.5rem}.analysis-panel .knowledge-mapping>h6,.wrong-book-analysis-panel .knowledge-mapping>h6,.exam-analysis-panel .knowledge-mapping>h6{font-size:1rem;font-weight:600;color:var(--color-semantic-text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--color-border-divider);display:flex;align-items:center}.analysis-panel .knowledge-mapping>h6 i,.wrong-book-analysis-panel .knowledge-mapping>h6 i,.exam-analysis-panel .knowledge-mapping>h6 i{color:var(--color-info-accent);font-size:1.1rem}.analysis-panel .knowledge-mapping .accordion,.wrong-book-analysis-panel .knowledge-mapping .accordion,.exam-analysis-panel .knowledge-mapping .accordion{margin-top:1rem}.analysis-panel .knowledge-mapping .accordion-item,.wrong-book-analysis-panel .knowledge-mapping .accordion-item,.exam-analysis-panel .knowledge-mapping .accordion-item{border:1px solid var(--color-border-divider);border-radius:var(--radius-md);margin-bottom:.75rem;overflow:hidden;transition:all var(--animation-duration-fast)}.analysis-panel .knowledge-mapping .accordion-item:hover,.wrong-book-analysis-panel .knowledge-mapping .accordion-item:hover,.exam-analysis-panel .knowledge-mapping .accordion-item:hover{box-shadow:var(--shadow-sm)}.analysis-panel .knowledge-mapping .accordion-button,.wrong-book-analysis-panel .knowledge-mapping .accordion-button,.exam-analysis-panel .knowledge-mapping .accordion-button{background:var(--color-background-tertiary);border:none;padding:.875rem 1rem;font-weight:500;color:var(--color-neutral-black);transition:all var(--animation-duration-fast)}.analysis-panel .knowledge-mapping .accordion-button:not(.collapsed),.wrong-book-analysis-panel .knowledge-mapping .accordion-button:not(.collapsed),.exam-analysis-panel .knowledge-mapping .accordion-button:not(.collapsed){background:var(--color-info-light);color:var(--color-info-dark)}.analysis-panel .knowledge-mapping .accordion-button:focus,.wrong-book-analysis-panel .knowledge-mapping .accordion-button:focus,.exam-analysis-panel .knowledge-mapping .accordion-button:focus{box-shadow:none;border-color:var(--color-info-dark)}.analysis-panel .knowledge-mapping .accordion-body,.wrong-book-analysis-panel .knowledge-mapping .accordion-body,.exam-analysis-panel .knowledge-mapping .accordion-body{padding:1rem;background:var(--color-neutral-white)}.analysis-panel .knowledge-mapping .question-list,.wrong-book-analysis-panel .knowledge-mapping .question-list,.exam-analysis-panel .knowledge-mapping .question-list{display:flex;flex-direction:column;gap:.75rem}.analysis-panel .knowledge-mapping .question-item,.wrong-book-analysis-panel .knowledge-mapping .question-item,.exam-analysis-panel .knowledge-mapping .question-item{background:var(--color-background-tertiary);border:1px solid var(--color-border-divider);border-radius:6px;padding:.75rem;transition:all var(--animation-duration-fast)}.analysis-panel .knowledge-mapping .question-item:hover,.wrong-book-analysis-panel .knowledge-mapping .question-item:hover,.exam-analysis-panel .knowledge-mapping .question-item:hover{background:var(--color-neutral-gray-200);border-color:var(--color-info-dark)}.analysis-panel .knowledge-mapping .question-item img,.wrong-book-analysis-panel .knowledge-mapping .question-item img,.exam-analysis-panel .knowledge-mapping .question-item img{border-radius:4px;transition:transform .2s ease}.analysis-panel .knowledge-mapping .question-item img:hover,.wrong-book-analysis-panel .knowledge-mapping .question-item img:hover,.exam-analysis-panel .knowledge-mapping .question-item img:hover{transform:scale(1.02)}.analysis-panel .subject-statistics,.wrong-book-analysis-panel .subject-statistics,.exam-analysis-panel .subject-statistics{margin-bottom:0}.analysis-panel .subject-statistics>h6,.wrong-book-analysis-panel .subject-statistics>h6,.exam-analysis-panel .subject-statistics>h6{font-size:1rem;font-weight:600;color:var(--color-semantic-text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--color-border-divider);display:flex;align-items:center}.analysis-panel .subject-statistics>h6 i,.wrong-book-analysis-panel .subject-statistics>h6 i,.exam-analysis-panel .subject-statistics>h6 i{color:var(--color-semantic-agent-primary);font-size:1.1rem}.analysis-panel .subject-stats-list,.wrong-book-analysis-panel .subject-stats-list,.exam-analysis-panel .subject-stats-list{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.analysis-panel .subject-stat-item,.wrong-book-analysis-panel .subject-stat-item,.exam-analysis-panel .subject-stat-item{background:var(--color-neutral-white);border:1px solid var(--color-border-divider);border-radius:var(--radius-md);padding:1rem;transition:all var(--animation-duration-normal);box-shadow:var(--shadow-sm)}.analysis-panel .subject-stat-item:hover,.wrong-book-analysis-panel .subject-stat-item:hover,.exam-analysis-panel .subject-stat-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-semantic-agent-primary)}.analysis-panel .subject-stat-header,.wrong-book-analysis-panel .subject-stat-header,.exam-analysis-panel .subject-stat-header{padding-bottom:.75rem;border-bottom:1px solid var(--color-border-light);margin-bottom:.75rem}.analysis-panel .subject-stat-header .badge,.wrong-book-analysis-panel .subject-stat-header .badge,.exam-analysis-panel .subject-stat-header .badge{font-size:.75rem;padding:.35em .65em}.analysis-panel .knowledge-tags,.analysis-panel .weak-areas,.wrong-book-analysis-panel .knowledge-tags,.wrong-book-analysis-panel .weak-areas,.exam-analysis-panel .knowledge-tags,.exam-analysis-panel .weak-areas{margin-top:.5rem}.analysis-panel .knowledge-tags small,.analysis-panel .weak-areas small,.wrong-book-analysis-panel .knowledge-tags small,.wrong-book-analysis-panel .weak-areas small,.exam-analysis-panel .knowledge-tags small,.exam-analysis-panel .weak-areas small{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-neutral-gray-600)}.analysis-panel .knowledge-tags .badge,.analysis-panel .weak-areas .badge,.wrong-book-analysis-panel .knowledge-tags .badge,.wrong-book-analysis-panel .weak-areas .badge,.exam-analysis-panel .knowledge-tags .badge,.exam-analysis-panel .weak-areas .badge{font-size:.75rem;padding:.35em .65em;margin-right:.5rem;margin-bottom:.25rem}.analysis-panel .mistake-tags,.wrong-book-analysis-panel .mistake-tags,.exam-analysis-panel .mistake-tags{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border-light)}.analysis-panel .mistake-tags small,.wrong-book-analysis-panel .mistake-tags small,.exam-analysis-panel .mistake-tags small{display:block;margin-bottom:.5rem;font-weight:500}.analysis-panel .mistake-tags .badge,.wrong-book-analysis-panel .mistake-tags .badge,.exam-analysis-panel .mistake-tags .badge{font-size:.75rem;padding:.35em .65em;margin-right:.5rem;margin-bottom:.25rem}.main-content-area{background:var(--color-neutral-white)!important}.card-button-container{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;width:100%!important;padding:4px!important;box-sizing:border-box!important;border:1px solid var(--color-border-divider)!important;border-radius:0!important;background-color:var(--color-background-tertiary)!important}.card-button-container .btn:nth-child(3){grid-column:1/-1!important}@media (max-width: 768px){.card-button-container{grid-template-columns:1fr!important}.card-button-container .btn:nth-child(3){grid-column:1!important}}.wrong-book-analysis-panel{transition:width var(--animation-duration-normal)}.wrong-book-analysis-panel.collapsed{width:60px}.analysis-progress{height:25px}.analysis-progress-fill{height:100%;background-color:var(--color-primary-base);transition:width var(--animation-duration-normal)}.analysis-icon{width:50px;height:50px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.wrongbook-preview-img{max-height:70vh;cursor:pointer}.wrongbook-card-img{height:120px;object-fit:cover;cursor:zoom-in}.wrongbook-thumbnail{width:180px;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:zoom-in}.wrongbook-large-img{max-width:100%;max-height:80vh;cursor:crosshair;display:block}.wrongbook-question-number{position:absolute;left:6px;top:4px;font-size:13px;color:var(--color-info-dark);font-weight:var(--font-weight-semibold);z-index:2;letter-spacing:1px;-webkit-user-select:none;user-select:none;background:#ffffffb3;padding:0 4px;border-radius:3px;box-shadow:0 1px 2px #17a2b814}.wrongbook-btn-small{min-width:60px;margin-bottom:6px;font-weight:var(--font-weight-medium);font-size:13px;padding:.375rem .75rem}.wrongbook-btn-medium{min-width:80px;margin-bottom:6px;font-weight:var(--font-weight-medium);font-size:13px;padding:.375rem .75rem}.wrongbook-btn-large{min-width:140px;font-weight:var(--font-weight-medium);font-size:13px;padding:.375rem .75rem}.wrongbook-file-name{font-size:16px;font-weight:var(--font-weight-bold)}.wrongbook-session-id{font-size:13px;color:var(--color-neutral-gray-600)}.wrongbook-loading-container{height:300px;display:flex;justify-content:center;align-items:center}.wrongbook-clickable{cursor:pointer}.wrongbook-note{cursor:pointer;margin:0}.manual-selection-wrapper{-webkit-user-select:none;user-select:none;display:inline-block;position:relative}.marked-image-manual{pointer-events:auto;cursor:crosshair;max-width:100%}.progress-icon-fixed{width:50px;height:50px}.wrongbook-question-image{max-height:120px;cursor:pointer}.auto-question-box-preview{position:absolute;border:1.5px solid var(--color-info-dark);border-radius:4px;box-sizing:border-box;z-index:10;cursor:pointer;background:#6c757d2e;pointer-events:auto;transition:background .2s}.settings-tab-pane{padding:0}.settings-tab-pane h5{color:var(--color-neutral-gray-800);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border-light)}.settings-tab-pane section{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-neutral-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-border-light);transition:all var(--animation-duration-normal)}.settings-tab-pane section:hover{border-color:var(--color-primary-light);box-shadow:0 2px 8px #0000000d}.settings-tab-pane section:last-child{margin-bottom:0}.card .nav-tabs{border-bottom:2px solid var(--color-border-light);margin-bottom:0;padding:0 var(--spacing-md);background:var(--color-neutral-gray-50);border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.card .nav-tabs .nav-item{margin-bottom:0;flex:0 0 auto}.card .nav-tabs .nav-link{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-neutral-gray-600);background:transparent;cursor:pointer;transition:all var(--animation-duration-normal);display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);position:relative;margin-bottom:0;white-space:nowrap}.card .nav-tabs .nav-link:hover{color:var(--color-primary-base);background:var(--color-neutral-white)}.card .nav-tabs .nav-link.active{color:var(--color-primary-base);background:var(--color-neutral-white);font-weight:var(--font-weight-semibold);box-shadow:0 -2px 8px #0000000d;border-bottom:2px solid var(--color-primary-base)}.card .nav-tabs .nav-link i{font-size:var(--font-size-base);transition:transform var(--animation-duration-fast)}.card .nav-tabs .nav-link:hover i{transform:scale(1.1)}.card .nav-tabs .nav-link.active i{color:var(--color-primary-base)}.card .tab-content{padding:var(--spacing-xl);background:var(--color-neutral-white);border-radius:0 0 var(--radius-md) var(--radius-md);min-height:400px;max-height:calc(100vh - 300px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border-base) transparent}.card .tab-content::-webkit-scrollbar{width:8px}.card .tab-content::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-sm)}.card .tab-content::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--radius-sm)}.card .tab-content::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.card .tab-content>*{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.card .nav-tabs{padding:var(--spacing-sm);gap:var(--spacing-xs)}.card .nav-tabs .nav-link{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.card .nav-tabs .nav-link i{font-size:var(--font-size-sm)}.card .tab-content{padding:var(--spacing-md);max-height:calc(100vh - 250px)}}.profile-info-item{display:flex;align-items:center;padding:.75rem}.profile-label{font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);margin-right:.5rem;min-width:80px;flex-shrink:0}.profile-value{color:var(--color-semantic-text-dark);flex:1}.memory-type-card{text-align:center;padding:1rem}.memory-type-label{font-size:var(--font-size-sm);color:var(--color-neutral-gray-600);margin-bottom:.5rem;font-weight:var(--font-weight-medium)}.memory-type-count{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-primary-base)}.memory-section-header{padding:.75rem 1rem;background:var(--color-background-secondary);border-radius:var(--radius-sm);margin-bottom:.75rem;border-left:3px solid var(--color-primary-base)}.memory-section-header i{color:var(--color-primary-base)}.memory-list{display:flex;flex-direction:column;gap:.75rem}.memory-content{margin-bottom:.75rem}.memory-meta.list-item-meta{background:transparent;padding:0;margin-bottom:0;display:flex;flex-wrap:wrap;gap:1rem}.memory-importance i{color:var(--color-warning-base)}.memory-pagination{padding:.75rem;background:var(--color-background-tertiary);border-radius:var(--radius-sm);border-top:1px solid var(--color-border-light)}.fade-slide-enter-active,.fade-slide-leave-active{transition:all .3s ease-in-out}.fade-slide-enter-from{opacity:0;transform:translate(20px)}.fade-slide-leave-to{opacity:0;transform:translate(-20px)}.fade-slide-enter-to,.fade-slide-leave-from{opacity:1;transform:translate(0)}.content-body>.card{border:1px solid var(--color-border-base);border-radius:var(--radius-lg);box-shadow:0 2px 12px #00000014;overflow:hidden;background:var(--color-neutral-white);display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.content-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border-light)}.content-header h2{color:var(--color-neutral-gray-800);font-weight:var(--font-weight-bold);margin:0}.settings-tab-pane .form-label{font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);margin-bottom:var(--spacing-sm)}.settings-tab-pane .form-control,.settings-tab-pane .form-select{border:1px solid var(--color-border-base);border-radius:var(--radius-sm);transition:all var(--animation-duration-normal)}.settings-tab-pane .form-control:focus,.settings-tab-pane .form-select:focus{border-color:var(--color-primary-base);box-shadow:0 0 0 3px #0d6efd1a;outline:none}.settings-tab-pane .btn-group,.settings-tab-pane .d-flex.gap-2{gap:var(--spacing-sm)}@media (max-width: 576px){.content-header{flex-direction:column;align-items:flex-start!important;gap:var(--spacing-md)}.content-header .d-flex.gap-2{width:100%;justify-content:flex-start}.settings-tab-pane section{padding:var(--spacing-md)}}.config-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-background-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.config-section .config-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border-light)}.config-section .config-item{margin-bottom:var(--spacing-sm)}.config-section .config-item:last-child{margin-bottom:0}.agent-list-container{max-height:60vh;overflow-y:auto;padding:var(--spacing-xs);border-radius:var(--radius-sm);background:var(--color-background-tertiary);scrollbar-width:thin;scrollbar-color:var(--color-border-base) transparent}.agent-list-container::-webkit-scrollbar{width:6px}.agent-list-container::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-sm)}.agent-list-container::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--radius-sm)}.agent-list-container::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.agent-card{padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-neutral-white);cursor:pointer;transition:all var(--animation-duration-normal) var(--easing-standard)}.agent-card:hover{border-color:var(--color-primary-base);background:var(--color-background-secondary);transform:translate(2px)}.agent-card.active{border-color:var(--color-primary-base);background:linear-gradient(135deg,#667eea1a,#764ba21a);box-shadow:0 2px 8px #667eea26}.agent-card .agent-card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-800);margin-bottom:var(--spacing-xs)}.agent-card .agent-card-desc{font-size:var(--font-size-sm);color:var(--color-neutral-gray-600);line-height:1.4}.mcp-tools-selector,.builtin-tools-selector,.vector-databases-selector{max-height:200px;overflow-y:auto;padding:var(--spacing-xs);background:var(--color-background-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border-light);scrollbar-width:thin;scrollbar-color:var(--color-border-base) transparent}.mcp-tools-selector::-webkit-scrollbar,.builtin-tools-selector::-webkit-scrollbar,.vector-databases-selector::-webkit-scrollbar{width:6px}.mcp-tools-selector::-webkit-scrollbar-track,.builtin-tools-selector::-webkit-scrollbar-track,.vector-databases-selector::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-sm)}.mcp-tools-selector::-webkit-scrollbar-thumb,.builtin-tools-selector::-webkit-scrollbar-thumb,.vector-databases-selector::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--radius-sm)}.mcp-tools-selector::-webkit-scrollbar-thumb:hover,.builtin-tools-selector::-webkit-scrollbar-thumb:hover,.vector-databases-selector::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.mcp-tools-selector .form-check,.builtin-tools-selector .form-check,.vector-databases-selector .form-check{margin-bottom:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-xs);transition:background var(--animation-duration-fast)}.mcp-tools-selector .form-check:hover,.builtin-tools-selector .form-check:hover,.vector-databases-selector .form-check:hover{background:var(--color-background-secondary)}.mcp-tools-selector .form-check:last-child,.builtin-tools-selector .form-check:last-child,.vector-databases-selector .form-check:last-child{margin-bottom:0}.settings-group{position:relative;padding-left:var(--spacing-md);margin-bottom:var(--spacing-lg)}.settings-group:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary-base);border-radius:2px}.settings-group .settings-group-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-800);margin-bottom:var(--spacing-md)}.form-compact .form-label{margin-bottom:2px;font-size:var(--font-size-sm)}.form-compact .form-control,.form-compact .form-select{margin-bottom:var(--spacing-xs)}.form-compact .form-text{margin-top:2px;font-size:var(--font-size-xs)}.form-compact .form-group{margin-bottom:var(--spacing-sm)}.agent-editor .card{margin-bottom:0}.agent-editor .card-body{padding:var(--spacing-md)}.empty-agent-editor{padding:var(--spacing-xl);text-align:center;color:var(--color-neutral-gray-500)}.form-row{display:flex;gap:20px;margin-bottom:20px;align-items:flex-end}.form-col{flex:1;display:flex;flex-direction:column}.form-col-2{flex:2;display:flex;flex-direction:column}.form-col-3{flex:3;display:flex;flex-direction:column}.form-row-inline{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;margin-bottom:20px}.form-row-inline .form-label{margin-bottom:0;min-width:120px;flex-shrink:0;white-space:nowrap}.form-row-inline .form-control,.form-row-inline .form-select{flex:1;min-width:200px}.form-switch-row{display:flex;align-items:center;justify-content:space-between;padding:12px var(--spacing-md);background:var(--color-background-tertiary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border:1px solid var(--color-neutral-gray-200);transition:all var(--animation-duration-normal)}.form-switch-row:hover{background:var(--color-neutral-gray-200);border-color:var(--color-primary-base)}.form-switch-label{display:flex;align-items:center;gap:12px;flex:1}.form-switch-label i{font-size:var(--font-size-lg);color:var(--color-primary-base)}.form-switch-description{font-size:13px;color:var(--color-neutral-gray-600);margin-top:var(--spacing-xs);line-height:1.4}.form-switch{position:relative;display:inline-block;width:56px;height:28px;flex-shrink:0;cursor:pointer}.form-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;padding:0;z-index:3;cursor:pointer}.form-switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-neutral-gray-400);transition:all var(--animation-duration-normal);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;align-items:center;padding:0 var(--spacing-xs);z-index:1;pointer-events:none}.form-switch-slider:after{content:"OFF";position:absolute;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-600);left:var(--spacing-sm);top:50%;transform:translateY(-50%);transition:opacity var(--animation-duration-normal);pointer-events:none;-webkit-user-select:none;user-select:none}.form-switch-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;top:50%;transform:translateY(-50%);background-color:#fff;transition:all var(--animation-transition-normal);border-radius:50%;box-shadow:0 2px 4px #0003;z-index:2;pointer-events:none}.form-switch input:checked+.form-switch-slider{background-color:var(--color-success-base);box-shadow:var(--shadow-success-sm)}.form-switch input:checked+.form-switch-slider:after{content:"ON";color:#fff;left:auto;right:8px}.form-switch input:checked+.form-switch-slider:before{transform:translateY(-50%) translate(28px);box-shadow:0 2px 6px #00000040}.form-switch input:focus+.form-switch-slider{box-shadow:0 0 0 3px #4caf5066;outline:2px solid rgba(76,175,80,.6);outline-offset:2px}.form-switch input:checked:focus+.form-switch-slider{box-shadow:0 2px 4px #4caf504d,0 0 0 3px #4caf5066;outline:2px solid rgba(76,175,80,.6);outline-offset:2px}.form-switch-status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:var(--radius-md);margin-left:8px}.form-switch-status.enabled{background:var(--color-semantic-status-enabled-background);color:var(--color-semantic-status-enabled-text)}.form-switch-status.disabled{background:var(--color-semantic-status-disabled-background);color:var(--color-semantic-status-disabled-text)}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px}.config-item{display:flex;flex-direction:column}.config-info-card{display:flex;align-items:center;gap:12px;padding:var(--spacing-md) 20px;background:linear-gradient(135deg,var(--color-info-light) 0%,var(--color-info-lighter) 100%);border-radius:var(--radius-md);margin-bottom:20px;border:1px solid var(--color-info-accent)}.config-info-icon{font-size:var(--font-size-xl);color:var(--color-info-dark)}.config-info-text{font-size:var(--font-size-sm);color:var(--color-info-darker);font-weight:var(--font-weight-medium)}.form-check{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:8px 16px;border-radius:8px;transition:all var(--animation-transition-normal);cursor:pointer}.form-check:hover{background:#667eea0d}.form-check-input{width:18px;height:18px;margin:0;cursor:pointer;flex-shrink:0;accent-color:#4A90E2;transition:all var(--animation-transition-fast)}.form-check-input:hover{transform:scale(1.1)}.form-check-label{font-size:14px;font-weight:500;color:#495057;cursor:pointer;margin:0;flex:1;line-height:1.5;-webkit-user-select:none;user-select:none}.form-check-input:checked+.form-check-label,.form-check-input:checked~.form-check-label{color:#4a90e2;font-weight:600}.form-check.disabled,.form-check-input:disabled{opacity:.6;cursor:not-allowed}.form-check-input:disabled+.form-check-label{cursor:not-allowed;color:#adb5bd}.radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.radio-group-inline{display:flex;flex-wrap:nowrap;gap:16px;margin-bottom:20px;align-items:center}.radio-group-inline .form-check{margin-bottom:0;flex-shrink:0;min-width:80px;white-space:nowrap}.radio-group-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);margin-bottom:12px;display:flex;align-items:center;gap:var(--spacing-sm)}.radio-group-title:before{content:"";width:4px;height:16px;background:var(--color-primary-gradient);border-radius:2px}.radio-option{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid var(--color-neutral-gray-200);border-radius:var(--radius-md);background:var(--color-neutral-white);transition:all var(--animation-transition-normal);cursor:pointer;margin-bottom:8px}.radio-option:hover{border-color:var(--color-primary-base);background:#667eea0d}.radio-option.selected{border-color:var(--color-primary-base);background:linear-gradient(135deg,#667eea1a,#764ba21a)}.radio-option input[type=radio]{width:18px;height:18px;margin:0;cursor:pointer;flex-shrink:0}.radio-option-label{font-size:14px;font-weight:500;color:var(--color-neutral-gray-700);cursor:pointer;margin:0;flex:1;line-height:1.4}.radio-option.selected .radio-option-label{color:var(--color-primary-base);font-weight:600}.form-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:2px solid var(--color-border-light)}@media (max-width: 1198.98px){.form-row{flex-direction:column;gap:16px}.form-row-inline{flex-direction:column;align-items:stretch;gap:12px}.form-row-inline .form-label{min-width:auto}.config-grid{grid-template-columns:1fr;gap:16px}.form-switch-row{flex-direction:column;align-items:flex-start;gap:12px}.form-actions{flex-direction:column;align-items:stretch}.radio-group-inline{flex-direction:column;gap:12px}.radio-group-inline .form-check{min-width:auto}}@media (max-width: 766.98px){.form-switch-row{padding:10px 12px}.config-info-card{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:8px}.radio-group-inline{flex-direction:column;gap:8px}.radio-group-inline .form-check{min-width:auto}.radio-option{padding:10px 12px}.radio-option-label{font-size:13px}}@media (max-width: 767.98px){.form-row{flex-direction:column;gap:16px}.form-group{margin-bottom:20px}.form-label{margin-bottom:8px;font-size:14px;display:block;width:100%}.form-control,.form-select,textarea,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=time],input[type=datetime-local]{width:100%;padding:12px 16px;font-size:16px;min-height:44px;border-radius:12px}.form-control:focus,.form-select:focus,textarea:focus{font-size:16px}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%;margin-bottom:8px}.btn-group .btn:last-child{margin-bottom:0}.form-actions{flex-direction:column;gap:12px}.form-actions .btn{width:100%;margin:0}.form-check{padding:12px 0;min-height:44px;display:flex;align-items:center}.form-check-input{width:20px;height:20px;margin-right:12px;flex-shrink:0}.form-check-label{font-size:16px;line-height:1.5}.form-switch{min-height:44px;padding:12px 0}.form-switch .form-check-input{width:48px;height:24px}.input-group{flex-direction:column}.input-group .form-control,.input-group .form-select{border-radius:12px;margin-bottom:8px}.input-group .input-group-text{border-radius:12px;justify-content:center;min-height:44px}.input-group .btn{border-radius:12px;width:100%}}@media (max-width: 575.98px){.form-control,.form-select,textarea,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number]{padding:10px 14px;font-size:16px}.form-label{font-size:14px}.form-group{margin-bottom:16px}.form-actions{gap:10px;padding-top:20px}}.sidebar-section{margin-bottom:var(--spacing-md)}.sidebar-section.top{flex-shrink:0}.sidebar-user-section{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.user-mode-container{width:100%;margin-bottom:var(--spacing-sm)}.sidebar-user-info{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;margin-top:var(--spacing-sm)}.sidebar-stats-section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.sidebar-menu-section{flex:1;min-height:0}.sidebar-section.middle{flex-grow:1;overflow-y:auto;margin:1rem -16px;padding:0 16px}.sidebar-section.bottom{flex-shrink:0;margin-top:auto;padding-top:8px}.sidebar-divider{border-top:1px solid #e3e8f0;margin:1.2rem 0}.sidebar-title{font-size:18px;font-weight:600;color:#343a40;padding-bottom:var(--spacing-md);letter-spacing:.3px;margin-bottom:var(--spacing-sm)}.user-info{display:flex;align-items:center;justify-content:space-between}.user-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;margin-right:8px;border:2px solid rgba(102,126,234,.3);flex-shrink:0;transition:all var(--animation-transition-fast);cursor:pointer;display:flex;align-items:center;justify-content:center;background:#f1f3f5}.user-avatar:hover{border-color:#4a90e2;transform:scale(1.05);box-shadow:0 2px 8px #667eea33}.user-avatar img{width:100%;height:100%;object-fit:cover;transition:transform var(--animation-transition-fast)}.user-avatar:hover img{transform:scale(1.1)}.user-avatar .bi{font-size:36px;color:#4a90e2}.sidebar-username{font-weight:700;font-size:16px;color:#4a90e2;flex:1;margin-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-actions{display:flex;align-items:center;gap:4px}.sidebar-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border:none;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--animation-transition-fast);box-shadow:0 1px 3px #0000001f;position:relative;overflow:hidden;min-width:44px;min-height:44px;width:44px;height:44px;-webkit-user-select:none;user-select:none;font-family:inherit;white-space:nowrap;text-overflow:ellipsis;background:#6c757d;color:#fff}.sidebar-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026;background:linear-gradient(135deg,#6c757d,#495057)}.sidebar-action-btn:active{transform:translateY(0) scale(.95);box-shadow:0 1px 3px #0000001f}.sidebar-action-btn:focus{outline:none;box-shadow:0 0 0 3px #667eea33}.sidebar-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 1px 3px #0000001f}.sidebar-action-btn i{font-size:.95em;vertical-align:middle;line-height:1}.sidebar-item{display:flex;align-items:center;padding:14px;border-radius:8px;margin-bottom:6px;cursor:pointer;transition:all var(--animation-duration-normal) var(--animation-easing-standard);color:#495057;font-weight:600;border:none;width:100%;text-align:left;background-color:transparent;font-size:16px;min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent}.sidebar-item:active{background:var(--color-primary-light, rgba(74, 144, 226, .1));transform:translate(2px) scale(.98);transition:all var(--animation-duration-instant) var(--animation-easing-accelerate)}.sidebar-item:hover,.sidebar-item.active{background:linear-gradient(135deg,#4a90e2,#5cb85c);color:#fff;box-shadow:0 4px 12px #00000026;transform:translate(4px);transition:all var(--animation-duration-fast) var(--animation-easing-decelerate)}.sidebar-item:hover .bi,.sidebar-item.active .bi{color:#fff}.sidebar-item:focus-visible{outline:2px solid #4A90E2;outline-offset:2px;box-shadow:0 0 0 3px #667eea33}.sidebar-item:active{transform:translate(2px) scale(.98);background:linear-gradient(135deg,#4a90e2,#5cb85c);color:#fff}.sidebar-item .bi{margin-right:14px;font-size:1.2em;color:#adb5bd;transition:color var(--animation-transition-normal)}.sidebar-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.sidebar-history-title{font-size:13px;font-weight:600;color:#adb5bd;text-transform:uppercase}.sidebar-history-clear{font-size:13px;cursor:pointer;color:#6c757d;transition:all var(--animation-transition-fast);display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;min-height:44px;min-width:44px;justify-content:center}.sidebar-history-clear:hover{color:#4a90e2;background:#f1f3f5}.sidebar-history-clear:active{transform:scale(.95);background:#4a90e2;color:#fff}.history-actions{display:flex;align-items:center;gap:4px}.sidebar-history-list ul{list-style:none;padding:0;margin:0}.sidebar-history-li{padding:10px 14px;border-radius:8px;cursor:pointer;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .2s,transform .1s;min-height:44px;display:flex;align-items:center}.sidebar-history-li:hover,.sidebar-history-li.active{background-color:#667eea1a}.sidebar-history-li:active{transform:scale(.98);background-color:#667eea26}.collapse-btn{display:none;position:absolute;top:12px;right:12px;background:none;border:none;font-size:26px;color:#adb5bd;cursor:pointer;z-index:1101}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1099}.left-panel{transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform}@media (max-width: 1198.98px){.main-layout{height:100vh;overflow:hidden}.mobile-header{display:flex}.overlay{display:block;opacity:0;animation:fadeIn .2s ease-out forwards}.left-panel{position:fixed;height:100vh;z-index:1100;transform:translate(-100%);top:0;left:0;box-shadow:0 0 15px #00000014;transition:transform .3s cubic-bezier(.4,0,.2,1)}.left-panel .sidebar-item{min-height:48px;padding:12px 16px}.left-panel.show{transform:translate(0);box-shadow:0 0 15px #0000001f}.left-panel.show .collapse-btn{display:block}.center-panel{width:100%;height:calc(100vh - 56px);overflow:hidden}.center-panel.chat-view{height:calc(100vh - 56px);overflow:hidden}.sidebar-user-info{padding:var(--spacing-sm) 0;margin-top:var(--spacing-xs)}.sidebar-section.bottom{position:relative;background:transparent;border-top:none;padding:0;margin-top:0}.sidebar-login{width:100%;padding:12px 14px;font-size:15px;font-weight:600}}@media (max-width: 766.98px){.left-panel{width:min(320px,85vw);transform:translate(-100%);transition:transform .35s ease-out;will-change:transform;box-shadow:4px 0 24px #00000026}.left-panel.show{transform:translate(0)}.left-panel.swiping{transition:none}.sidebar-user-info{padding:var(--spacing-xs) 0;flex-wrap:wrap}.sidebar-section.bottom{padding:0;margin-top:0}.sidebar-login{padding:14px 18px;font-size:16px;font-weight:700;border-radius:10px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.right-panel{position:fixed;top:0;right:0;width:400px;min-width:300px;max-width:80vw;height:100vh;background:var(--color-neutral-white);background-color:var(--color-neutral-white);background-image:none;border-left:1px solid var(--color-border-divider);box-shadow:var(--shadow-md);z-index:9999;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);overflow:hidden;isolation:isolate;will-change:transform,width}.right-panel.collapsed{transform:translate(calc(100% - 60px));width:60px;min-width:60px}.right-panel.collapsed .panel-content{display:none}.right-panel.collapsed .panel-header{padding:16px 8px;justify-content:center}.right-panel.collapsed .panel-title{display:none}.right-panel.collapsed .panel-actions{flex-direction:column;gap:4px}.panel-header{padding:var(--spacing-md) 20px;border-bottom:1px solid var(--color-border-divider);background:var(--color-background-tertiary);background-color:var(--color-background-tertiary);background-image:none;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.panel-title{font-weight:var(--font-weight-semibold);color:var(--color-semantic-text-primary);font-size:var(--font-size-base);display:flex;align-items:center;gap:var(--spacing-sm)}.panel-actions{display:flex;gap:8px}.panel-content{flex:1;overflow-y:auto;padding:20px 20px 0;background:var(--color-neutral-white);background-color:var(--color-neutral-white);background-image:none;position:relative;z-index:1;display:flex;flex-direction:column}.wrong-book-analysis-panel .panel-content,.exam-analysis-panel .panel-content,.single-question-analysis-panel .panel-content{padding-bottom:20px}.wrong-book-analysis-panel .analysis-complete,.exam-analysis-panel .analysis-complete,.single-question-analysis-panel .analysis-complete{flex:1;min-height:0;display:flex;flex-direction:column}.wrong-book-analysis-panel .analysis-complete .result-content,.exam-analysis-panel .analysis-complete .result-content,.single-question-analysis-panel .analysis-complete .result-content{flex:1;min-height:0;overflow-y:auto}.right-panel .resize-handle{position:absolute;left:0;top:0;width:4px;height:100%;background:transparent;cursor:col-resize;z-index:10000;transition:background .2s ease}.right-panel .resize-handle:hover{background:var(--color-primary-base)}.right-panel.collapsed .resize-handle{display:none}.right-panel.collapsed .panel-header{cursor:pointer;position:relative}.right-panel.collapsed .panel-header:after{content:"展开";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg);font-size:12px;color:#666;white-space:nowrap;pointer-events:none}.analysis-progress{text-align:center}.real-time-content{text-align:left}.analysis-error{text-align:center}.analysis-result{text-align:left}.result-header{text-align:center}.stat-item{padding:10px}.stat-number{font-size:24px;font-weight:700;color:var(--color-semantic-mention-primary)}.stat-label{font-size:12px;color:#666;margin-top:4px}.preview-content{text-align:left;height:100%;display:flex;flex-direction:column}.image-preview,.pdf-preview,.audio-preview{text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center}.pdf-preview iframe{flex:1;min-height:0}.unsupported-preview,.no-preview{text-align:center}@media (max-width: 990.98px){.right-panel{width:min(90vw,400px);max-width:90vw;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.right-panel.collapsed{transform:translate(100%)}.right-panel .panel-header{padding:12px 16px}.right-panel .panel-content{padding:16px}}@media (max-width: 766.98px){.right-panel{width:100vw;max-width:100vw;border-radius:0}.right-panel .panel-header{padding:10px 12px}.right-panel .panel-content{padding:12px}.panel-title{font-size:14px}}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6,.markdown-heading{font-weight:600!important;color:#343a40!important;line-height:1.4!important;margin-top:16px!important;margin-bottom:8px!important}.markdown-body h1,.markdown-heading:is(h1){font-size:20px!important;margin-top:24px!important;margin-bottom:16px!important;border-bottom:1px solid #f1f3f4!important;padding-bottom:4px!important}.markdown-body h2,.markdown-heading:is(h2){font-size:18px!important;margin-top:24px!important;margin-bottom:8px!important}.markdown-body h3,.markdown-heading:is(h3){font-size:16px!important;margin-top:16px!important;margin-bottom:8px!important}.markdown-body h4,.markdown-heading:is(h4){font-size:14px!important;margin-top:16px!important;margin-bottom:4px!important}.markdown-body h5,.markdown-heading:is(h5){font-size:14px!important;margin-top:8px!important;margin-bottom:4px!important}.markdown-body h6,.markdown-heading:is(h6){font-size:12px!important;margin-top:8px!important;margin-bottom:4px!important}.markdown-body ul,.markdown-body ol,.markdown-list{margin:8px 0!important;padding-left:24px!important}.markdown-body li{margin:8px 0!important;line-height:1.8!important}.markdown-body pre,.markdown-code-block{background-color:#f8f9fa!important;border:1px solid #f1f3f4!important;border-radius:8px!important;padding:16px!important;margin:16px 0!important;overflow-x:auto!important;font-size:14px!important;line-height:1.45!important;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace!important}.markdown-body code,.markdown-inline-code{background-color:#f8f9fa!important;border:1px solid #f1f3f4!important;border-radius:3px!important;padding:2px 4px!important;font-size:12px!important;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace!important}table,.markdown-content table,.markdown-body table,.message-text table{border-collapse:collapse!important;width:100%!important;margin:16px 0!important;font-size:14px!important;display:table!important;visibility:visible!important;opacity:1!important;border:1px solid #f1f3f4!important;background:#fff!important;position:relative!important;z-index:0!important}table thead,.markdown-content table thead,.markdown-body table thead,.message-text table thead{display:table-header-group!important}table tbody,.markdown-content table tbody,.markdown-body table tbody,.message-text table tbody{display:table-row-group!important}table tr,.markdown-content table tr,.markdown-body table tr,.message-text table tr{display:table-row!important}table th,table td,.markdown-content table th,.markdown-content table td,.markdown-body table th,.markdown-body table td,.message-text table th,.message-text table td{display:table-cell!important;border:1px solid #f1f3f4!important;padding:8px 16px!important;text-align:left!important;word-wrap:break-word!important;overflow-wrap:break-word!important;vertical-align:middle!important}table th,.markdown-content table th,.markdown-body table th,.message-text table th{background-color:#f1f3f5!important;font-weight:600!important;white-space:nowrap!important}table tbody tr:nth-child(2n),.markdown-content table tbody tr:nth-child(2n),.markdown-body table tbody tr:nth-child(2n),.message-text table tbody tr:nth-child(2n){background-color:#f8f9fa!important}table tbody tr:hover,.markdown-content table tbody tr:hover,.markdown-body table tbody tr:hover,.message-text table tbody tr:hover{background-color:#e3f2fd!important;transition:background-color var(--animation-transition-fast)!important}.table-responsive-wrapper{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;margin:16px 0!important;border-radius:8px!important;box-shadow:0 1px 3px #0000001a!important}.table-responsive-wrapper::-webkit-scrollbar{height:8px}.table-responsive-wrapper::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.table-responsive-wrapper::-webkit-scrollbar-thumb{background:#ced4da;border-radius:4px}.table-responsive-wrapper::-webkit-scrollbar-thumb:hover{background:#adb5bd}.table-responsive-wrapper table{margin:0!important;min-width:100%!important;display:table!important;width:100%!important;visibility:visible!important;opacity:1!important;border-collapse:collapse!important}.table-responsive-wrapper table td:first-child,.table-responsive-wrapper table th:first-child{white-space:normal;min-width:120px}.table-responsive-wrapper table td:not(:first-child),.table-responsive-wrapper table th:not(:first-child){white-space:nowrap}@media (max-width: 768px){.markdown-content table,.markdown-body table{font-size:12px!important}.markdown-content table th,.markdown-content table td,.markdown-body table th,.markdown-body table td{padding:4px 8px!important;font-size:12px!important}.markdown-content .table-responsive-wrapper,.markdown-body .table-responsive-wrapper{margin:8px 0}}.katex{font-size:1em;line-height:1.3;color:inherit}.katex.katex-display{margin:8px 0;text-align:left}.katex:not(.katex-display){margin:0 .1em}table .katex{font-size:.95em}.table-responsive-wrapper .katex{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden}.markdown-body blockquote{border-left:4px solid #e3e8f0!important;margin:16px 0!important;padding:0 16px!important;color:#6c757d!important;font-style:italic!important}.markdown-body a{color:#4a90e2!important;text-decoration:none!important;transition:color var(--animation-transition-fast)!important}.markdown-body a:hover{text-decoration:underline!important;color:linear-gradient(135deg,#3d7bc8 0%,#4da84a 100%)!important}.markdown-body strong{font-weight:600!important}.markdown-body em{font-style:italic!important}.markdown-body hr{border:none!important;border-top:1px solid #f1f3f4!important;margin:24px 0!important}.markdown-body p{margin:16px 0!important;line-height:1.8!important}.markdown-body p:first-child{margin-top:0!important}.markdown-body p:last-child{margin-bottom:0!important}.markdown-body img{display:block;margin:12px 0;max-width:100%;height:auto}.markdown-body img+p,.markdown-body img+div,.markdown-body img+span{margin-top:12px}.markdown-body h2,.markdown-body h3{position:relative;padding-left:1rem}.markdown-body h2:before,.markdown-body h3:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:1.2em;background:var(--color-primary-base, #4A90E2);border-radius:2px}.markdown-body p:has-text("提问引导"),.markdown-body .question-guide{background:#f8f9fa!important;padding:.75rem!important;border-left:3px solid #4A90E2!important;border-radius:4px!important;margin:1rem 0!important}.markdown-body.streaming .incomplete-structure{opacity:.7;position:relative}.markdown-body.streaming .incomplete-structure:after{content:"...";animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.markdown-body h2+p,.markdown-body h3+p{margin-top:8px!important}.markdown-body h2+h3,.markdown-body h3+h4{margin-top:16px!important}.markdown-body li+li{margin-top:4px!important}.markdown-body pre{margin-top:16px!important;margin-bottom:16px!important}.markdown-body p+pre,.markdown-body h2+pre,.markdown-body h3+pre{margin-top:8px!important}.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-grid{display:grid!important}.flex-column{flex-direction:column!important}.flex-row{flex-direction:row!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.align-items-center{align-items:center!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.m-0{margin:0!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-muted{color:var(--color-text-secondary, #6c757d)!important}.text-truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-normal{font-weight:400!important}.small{font-size:.875rem!important}.bg-light{background-color:var(--color-neutral-gray-100, #f8f9fa)!important}.bg-white{background-color:var(--color-neutral-white, #fff)!important}.border{border:1px solid var(--color-border-base, #dee2e6)!important}.border-0{border:0!important}.rounded{border-radius:var(--radius-md, .375rem)!important}.rounded-sm{border-radius:var(--radius-sm, .25rem)!important}.rounded-md{border-radius:var(--radius-md, .375rem)!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.w-100{width:100%!important}.h-100{height:100%!important}.cursor-pointer{cursor:pointer!important}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;background:var(--color-primary-gradient);color:var(--color-semantic-text-primary);overflow-x:hidden}.container{min-height:100vh;display:flex;flex-direction:column;padding:24px;max-width:1200px;margin:0 auto}.header{text-align:center;margin-bottom:32px;animation:fadeInDown .8s ease-out}.logo{display:inline-flex;align-items:center;background:#fffffff2;padding:16px 32px;border-radius:50%;box-shadow:0 8px 24px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:24px}.logo-icon{font-size:24px;color:#4a90e2;margin-right:8px}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-semantic-text-primary);letter-spacing:.5px}.tagline{color:#ffffffe6;font-size:16px;font-weight:300;text-shadow:0 2px 4px rgba(0,0,0,.1)}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;max-width:500px;margin:0 auto;width:100%}.login-card{background:#fffffff2;border-radius:20px;padding:32px;box-shadow:0 16px 48px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);animation:fadeInUp .8s ease-out .2s both;width:100%}.login-header{text-align:center;margin-bottom:32px}.login-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-semantic-text-primary);margin-bottom:var(--spacing-xs)}.login-subtitle{color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm)}.form-group{margin-bottom:24px}.login-card .form-control{padding:var(--spacing-md) var(--spacing-lg);border:2px solid var(--color-border-light);background:var(--color-background-tertiary)}.login-card .form-control:focus{background:var(--color-neutral-white)}.login-card .form-control::placeholder{color:var(--color-semantic-text-tertiary)}.switch-mode{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #f1f3f4}.switch-mode a{color:#4a90e2;text-decoration:none;font-weight:500;transition:color var(--animation-transition-normal)}.switch-mode a:hover{color:#6c757d}.alert{border-radius:12px;padding:16px 24px;margin-bottom:24px;font-size:14px;font-weight:500;border:none}.alert-success{background:var(--color-success-light);color:var(--color-success-base);border-left:4px solid var(--color-success-base)}.password-hint{padding:4px 8px;border-radius:8px;font-size:12px;margin-top:4px}.login-card .btn-primary{width:100%;padding:16px 24px;border-radius:12px!important;font-size:16px;font-weight:600;min-width:auto;max-width:none;height:auto;box-shadow:0 4px 12px #667eea4d;transition:all var(--animation-transition-normal)}.login-card .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.login-card .btn-primary:active{transform:translateY(0);box-shadow:0 4px 12px #667eea4d}.loading{opacity:.7;pointer-events:none}.loading .btn-primary{position:relative}.loading .btn-primary:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}.footer{text-align:center;padding:24px;color:#fffc;font-size:14px;margin-top:32px}.footer a{color:#fffc;text-decoration:none;font-size:12px}.footer a:hover{color:#fff;text-decoration:underline}.footer-link{color:#fffc;text-decoration:none;font-size:12px}.footer-link:hover{color:#fff;text-decoration:underline}.footer>div{margin-top:4px}.footer-link-wrapper{margin-top:4px}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 991.98px){.container{padding:24px}.login-card{padding:32px 24px}}@media (max-width: 767.98px){.container{padding:16px}.header{margin-bottom:24px}.logo{padding:8px 24px}.logo-icon{font-size:20px}.logo-text{font-size:18px}.tagline{font-size:14px}.main-content{max-width:100%}.login-card{padding:24px}.login-title{font-size:20px}.login-card .form-control{padding:8px 16px}}@media (max-width: 575.98px){.container{padding:8px}.header{margin-bottom:24px}.logo{padding:4px 16px}.logo-icon{font-size:18px}.logo-text{font-size:16px}.tagline{font-size:12px}.login-card{padding:24px 16px}.login-title{font-size:18px}}.message-item{position:relative;display:flex;flex-direction:row;width:100%;margin-bottom:20px;animation:messageSlideIn var(--animation-duration-normal) var(--animation-easing-decelerate);will-change:transform,opacity;transition:transform var(--animation-duration-fast) var(--animation-easing-standard)}.message-item:hover .message-actions-wrapper{opacity:1;transition:opacity var(--animation-duration-fast) var(--animation-easing-standard)}.message-item:hover{transform:translateY(-1px)}.message-actions-wrapper{position:absolute;top:8px;opacity:0;transition:opacity var(--animation-duration-fast) var(--animation-easing-standard);z-index:10}.message-item-user .message-actions-wrapper{left:8px;right:auto}.message-item-ai .message-actions-wrapper{right:8px;left:auto}.message-item-user{justify-content:flex-end}.message-item-ai{justify-content:flex-start}.message-item-system{justify-content:center}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.message{display:flex;gap:var(--spacing-md);max-width:75%;animation:messageSlide var(--animation-duration-normal) var(--animation-easing-decelerate)}.message.user{flex-direction:row-reverse}.message.ai{flex-direction:row}.message.system{max-width:60%;flex-direction:row}@keyframes messageSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.message-avatar{width:48px;height:48px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);flex-shrink:0;box-shadow:var(--shadow-md)}.message.user .message-avatar{background:var(--color-primary-base);color:#fff;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #667eea4d}.message.ai .message-avatar{background:#ffffffe6;color:var(--color-primary-base);border:2px solid rgba(102,126,234,.2)}.message.system .message-avatar{display:none}.message-content{flex:1;min-width:0}.message-text{background:#fffffff2}@supports (backdrop-filter: blur(10px)){.message-text{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.message-text{padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);word-wrap:break-word;border:1px solid rgba(255,255,255,.2);transform:translateZ(0);will-change:transform;font-size:var(--font-size-base);line-height:var(--font-lineHeight-relaxed);color:var(--color-semantic-text-dark)}.message.user .message-text{background:linear-gradient(135deg,var(--color-primary-base) 0%,rgba(74,144,226,.95) 100%);color:var(--color-neutral-white, #ffffff);border:1px solid var(--color-primary-base);box-shadow:0 2px 8px #4a90e233}.message.user .message-text,.message.user .message-text *{color:var(--color-neutral-white, #ffffff)}.message.user .message-text a{color:#ffffffe6;text-decoration:underline}.message.user .message-text a:hover{color:var(--color-neutral-white, #ffffff)}.message.user .message-text code{background:#fff3;color:#fffffff2;border:1px solid rgba(255,255,255,.3)}.message.user .message-text pre{background:#0000004d;border:1px solid rgba(255,255,255,.2);color:#fffffff2}.message.user .message-text pre code{background:none;border:none;color:inherit}.message.user .message-text blockquote{border-left-color:#ffffff80;background:#ffffff1a;color:#ffffffe6}.message.user .message-text h1,.message.user .message-text h2,.message.user .message-text h3,.message.user .message-text h4,.message.user .message-text h5,.message.user .message-text h6{color:#fffffff2}.message.ai .message-text{background:var(--color-gray-50, #f9fafb);color:var(--color-text-primary, #333);border:1px solid var(--color-gray-200, #e5e7eb)}.message.system .message-text{background:#6c757d1a;color:var(--color-neutral-gray-700, #495057);border:1px solid rgba(108,117,125,.2);font-size:var(--font-size-sm, 13px);text-align:center;padding:var(--spacing-sm, 12px) var(--spacing-md)}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin-top:0;margin-bottom:12px;color:inherit;font-weight:500}.message-text h1{font-size:1.1em;color:var(--color-neutral-gray-700)}.message-text h2{font-size:1.05em;color:var(--color-neutral-gray-700)}.message-text h3{font-size:1.02em;color:var(--color-neutral-gray-700)}.message-text h4,.message-text h5,.message-text h6{font-size:1em;color:var(--color-neutral-gray-700)}.message-text p{font-size:var(--font-size-base);line-height:var(--font-lineHeight-relaxed);margin-bottom:var(--spacing-md);color:var(--color-semantic-text-dark)}.message-text p:first-child{font-weight:var(--font-weight-medium);color:var(--color-neutral-gray-700);margin-bottom:10px}.message-text p:not(:first-child){margin-bottom:var(--spacing-xs)}.message-text p:has(strong){font-weight:var(--font-weight-normal);color:var(--color-neutral-gray-700);margin:var(--spacing-sm, 12px) 0 6px 0}.message-text code{background:#0000000d;color:inherit;padding:2px 6px;border-radius:var(--radius-xs);font-family:Courier New,monospace;font-size:.9em;border:none}.message-text pre{background:#0000000d;padding:var(--spacing-md);border-radius:var(--radius-sm);overflow-x:auto;margin:var(--spacing-md) 0;border:1px solid rgba(0,0,0,.1)}.message-text pre code{background:none;padding:0;border-radius:0;font-size:.9em;line-height:1.5;color:inherit}.message-text ul,.message-text ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-xl)}.message-text li{margin:var(--spacing-sm) 0;line-height:var(--font-lineHeight-relaxed)}.message-text li:has(input[type=checkbox]){list-style:none;margin-left:-24px}.message-text input[type=checkbox]{margin-right:var(--spacing-xs);transform:scale(1.1)}.message-text blockquote{border-left:4px solid var(--color-primary-base);background:#4a90e20d;padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-md) 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic;color:var(--color-neutral-gray-700)}.message-text .katex{font-size:1em;line-height:1.3;color:inherit}.message-text .katex.katex-display{margin:var(--spacing-sm) 0;text-align:left}.message-text .katex:not(.katex-display){margin:0 .1em}.message-text table .katex{font-size:.95em}.message-text .table-responsive-wrapper .katex{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden}.message-text{transition:all var(--animation-transition-normal)}.message-text.streaming{animation:streaming-typing 1.5s ease-in-out infinite}.message-meta{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-gray-500, #6b7280);gap:var(--spacing-xs)}.message-meta .message-time{opacity:.7}.message.user .message-meta{justify-content:flex-end;flex-direction:row-reverse}.message.ai .message-meta{justify-content:flex-start}.message.system .message-meta{justify-content:center}.message-agent{display:flex;align-items:center;gap:4px;font-weight:600;color:var(--color-primary-base)}.workflow-details{background:var(--color-background-primary);border:1px solid var(--color-border-base, var(--color-neutral-gray-200));border-radius:var(--radius-sm);padding:var(--spacing-md);margin-top:var(--spacing-md)}.workflow-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.workflow-header h5{margin:0;color:var(--color-semantic-text-dark)}.workflow-content pre{margin:0;white-space:pre-wrap;font-size:var(--font-size-sm);color:var(--color-neutral-gray-700)}.loading-message .message{opacity:.7}.typing-indicator{display:flex;gap:var(--spacing-xs, 4px);align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--color-primary-base);animation:typing 1.4s infinite ease-in-out}.input-container{padding:var(--spacing-lg, 20px) var(--spacing-lg, 24px);background:#fffffff2}@supports (backdrop-filter: blur(10px)){.input-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.input-container{border-top:1px solid rgba(255,255,255,.2);position:relative;z-index:10}.input-group{display:flex;gap:var(--spacing-md);align-items:flex-end}.input-wrapper{flex:1;position:relative;z-index:1001}.message-input{width:100%;resize:none;border:2px solid rgba(74,144,226,.2);border-radius:var(--radius-xl);padding:var(--spacing-md) var(--spacing-lg, 20px);font-size:var(--font-size-base);line-height:var(--font-lineHeight-relaxed);background:#ffffffe6}@supports (backdrop-filter: blur(10px)){.message-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.message-input{transition:all var(--animation-duration-normal) var(--animation-easing-standard);transform:translateZ(0);will-change:transform}.message-input:focus{outline:none;border-color:var(--color-primary-base);box-shadow:0 0 0 4px #4a90e21a;background:#fff;transform:translateY(-1px) scale(1.01);transition:all var(--animation-duration-fast) var(--animation-easing-decelerate);transform:translateZ(0);will-change:transform}.input-actions{position:absolute;right:var(--spacing-sm, 12px);top:50%;transform:translateY(-50%)}.send-btn{width:48px;height:48px;border-radius:var(--radius-full);border:none;background:var(--color-primary-gradient);color:#fff;cursor:pointer;transition:all var(--animation-duration-fast) var(--animation-easing-standard);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);box-shadow:var(--shadow-primary-sm);position:relative;overflow:hidden}.send-btn:active{transform:scale(.95);transition:transform var(--animation-duration-instant) var(--animation-easing-accelerate)}.send-btn:focus-visible{outline:2px solid var(--color-primary-base);outline-offset:2px;animation:focus-ring var(--animation-duration-normal) var(--animation-easing-decelerate)}.send-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-primary-md);transition:all var(--animation-duration-fast) var(--animation-easing-decelerate)}.send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.attachments-preview{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 12px);margin-bottom:var(--spacing-sm, 12px);padding:var(--spacing-sm, 12px);background:#f8f9faf2;border-radius:var(--radius-md);border:1px solid rgba(102,126,234,.1)}.attachment-item{position:relative;display:flex;align-items:center;background:var(--color-neutral-white);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}.attachment-preview-image{position:relative;display:inline-block}.attachment-preview-image img{width:100px;height:100px;object-fit:cover;display:block}.attachment-preview-file{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm, 12px);min-width:200px}.attachment-preview-file i{font-size:var(--font-size-2xl);color:var(--color-primary-base);flex-shrink:0}.attachment-name{flex:1;font-size:var(--font-size-sm);color:var(--color-semantic-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.attachment-size{font-size:var(--font-size-xs);color:var(--color-semantic-text-secondary);flex-shrink:0}.btn-remove-attachment{position:absolute;top:var(--spacing-xs, 4px);right:var(--spacing-xs, 4px);width:24px;height:24px;border:none;background:#dc3545e6;color:#fff;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);transition:all var(--animation-transition-fast);z-index:10;box-shadow:var(--shadow-sm)}.btn-remove-attachment:hover{background:#dc3545;transform:scale(1.1)}.ai-companion-container .input-container .btn-attach{flex-shrink:0;width:48px;height:48px;border-radius:50%;border:none;background:#667eea1a;color:var(--color-primary-base);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-size:18px;padding:0;min-width:auto;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.ai-companion-container .input-container .btn-attach:active{transform:scale(.95)}.ai-companion-container .input-container .btn-attach:focus-visible{outline:2px solid var(--color-primary-base);outline-offset:2px}.ai-companion-container .input-container .btn-attach i{display:inline-block;visibility:visible;opacity:1;font-size:18px;color:inherit;width:auto;height:auto;line-height:1;margin:0;padding:0}.ai-companion-container .input-container .btn-attach:hover:not(:disabled){background:#667eea33;transform:translateY(-2px)}.ai-companion-container .input-container .btn-attach:disabled{opacity:.5;cursor:not-allowed}.ai-companion-container .input-container .btn-attach,.ai-companion-container .input-container .btn-attach i{font-size:var(--font-size-lg)}.ai-companion-container .input-container .btn-voice{flex-shrink:0;width:48px;height:48px;border-radius:50%;border:none;background:#667eea1a;color:var(--color-primary-base);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-size:18px;padding:0;min-width:auto;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.ai-companion-container .input-container .btn-voice:active{transform:scale(.95)}.ai-companion-container .input-container .btn-voice:focus-visible{outline:2px solid var(--color-primary-base);outline-offset:2px}.ai-companion-container .input-container .btn-voice i{display:inline-block;visibility:visible;opacity:1;font-size:18px;color:inherit;width:auto;height:auto;line-height:1;margin:0;padding:0}.ai-companion-container .input-container .btn-voice:hover:not(:disabled){background:#667eea33;transform:translateY(-2px)}.ai-companion-container .input-container .btn-voice:disabled{opacity:.5;cursor:not-allowed}.ai-companion-container .input-container .btn-voice{margin-right:var(--spacing-xs, 4px)}.ai-companion-container .input-container .btn-voice.recording-btn{background:#dc354526!important;color:var(--color-danger-base)!important;border:2px solid var(--color-danger-base)!important;box-shadow:0 4px 16px #dc35454d,0 0 0 4px #dc35451a;animation:recording-pulse 1.5s ease-in-out infinite;position:relative}.ai-companion-container .input-container .btn-voice.recording-btn:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;background:#dc354533;animation:recording-ripple 1.5s ease-out infinite;pointer-events:none}.ai-companion-container .input-container .btn-voice.recording-btn:hover:not(:disabled){background:#dc354540!important;box-shadow:0 4px 20px #dc354566,0 0 0 4px #dc354526}.ai-companion-container .input-container .btn-voice.recording-btn i.recording-pulse{animation:recording-icon-pulse 1s ease-in-out infinite}@keyframes recording-pulse{0%,to{box-shadow:0 4px 16px #dc35454d,0 0 0 4px #dc35451a}50%{box-shadow:0 4px 20px #dc354580,0 0 0 8px #dc354526}}@keyframes recording-ripple{0%{width:100%;height:100%;opacity:.6}to{width:150%;height:150%;opacity:0}}@keyframes recording-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.file-upload-area{background:#fffffff2}@supports (backdrop-filter: blur(10px)){.file-upload-area{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.file-upload-area{border-top:1px solid rgba(255,255,255,.2);padding:var(--spacing-lg, 20px) var(--spacing-lg, 24px);animation:slideUp var(--animation-duration-normal) ease}.upload-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.upload-header h6{margin:0;color:var(--color-semantic-text-dark);font-weight:600}.btn-close{background:none;border:none;font-size:var(--font-size-lg);cursor:pointer;color:var(--color-neutral-gray-600);padding:var(--spacing-xs, 4px);border-radius:var(--radius-xs);transition:all var(--animation-transition-normal)}.btn-close:hover{background:#0000001a;color:var(--color-semantic-text-dark)}.upload-zone{border:2px dashed rgba(102,126,234,.3);border-radius:var(--radius-md);padding:var(--spacing-4xl, 40px);text-align:center;cursor:pointer;transition:all var(--animation-transition-normal);background:#667eea0d}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--color-primary-base);background:#667eea1a}.upload-prompt i{font-size:var(--font-size-4xl, 48px);color:var(--color-primary-base);margin-bottom:var(--spacing-md)}.upload-prompt p{margin:0 0 var(--spacing-xs) 0;color:var(--color-neutral-gray-700);font-weight:var(--font-weight-semibold)}.upload-prompt small{color:var(--color-neutral-gray-600)}.uploaded-files{margin-top:var(--spacing-md);display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 12px)}.uploaded-file{display:flex;align-items:center;gap:var(--spacing-sm, 12px);padding:var(--spacing-sm, 12px);background:#fffc;border-radius:var(--radius-md);border:1px solid rgba(102,126,234,.2);max-width:300px}.file-preview{width:40px;height:40px;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:#667eea1a}.file-preview img{width:100%;height:100%;object-fit:cover}.file-preview i{font-size:var(--font-size-xl);color:var(--color-primary-base)}.file-info{flex:1;min-width:0}.file-name{display:block;font-weight:var(--font-weight-semibold);color:var(--color-semantic-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{display:block;font-size:var(--font-size-xs);color:var(--color-neutral-gray-600)}.btn-remove{background:none;border:none;color:var(--color-danger-base);cursor:pointer;padding:var(--spacing-xs, 4px);border-radius:var(--radius-xs);transition:all var(--animation-transition-normal)}.btn-remove:hover{background:#e53e3e1a}.chat-wrapper{display:flex;flex-direction:column;height:100%}.chat-image-preview{margin:24px 0;text-align:center}.chat-image-preview img{max-width:100%;max-height:500px;border:1px solid #e3e8f0;border-radius:8px;padding:4px;box-shadow:0 1px 3px #0000001f;transition:transform var(--animation-transition-fast)}.chat-image-preview img:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.message-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#e3e8f0 transparent}.message-container::-webkit-scrollbar{width:8px}.message-container::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-sm)}.message-container::-webkit-scrollbar-thumb{background:#e3e8f0;border-radius:var(--radius-sm)}.message-container::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.chat-main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.message-list{padding:0;margin:0}.message-list-skeleton{padding:var(--spacing-md);min-height:200px}.answer-block{margin:0}.chat-empty-center{padding:32px 16px;justify-content:flex-start;align-items:center;margin:0;background:transparent;border:none;box-shadow:none}.chat-empty-state{display:flex;justify-content:center;align-items:center;width:100%;height:100%;min-height:400px;padding:var(--spacing-xl, 32px) var(--spacing-md, 16px);background:linear-gradient(135deg,#fffffffa,#fff8f0f2)}.image-carousel-container{width:100%;margin:0;padding:16px;display:block;text-align:center;min-height:fit-content}.image-wrapper{position:relative;display:inline-block;max-width:100%;max-height:70vh}.exam-image{max-width:100%;max-height:70vh;width:auto;height:auto;border:1px solid #e3e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;display:block;object-fit:contain}.image-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:8px;background:#f8f9fa;border-radius:8px;margin-top:8px}.image-controls button{padding:4px 8px;border:1px solid #e3e8f0;border-radius:8px;background:#fff;color:#495057;cursor:pointer;transition:all var(--animation-transition-fast)}.image-controls button:hover:not(:disabled){background:#4a90e2;color:#fff;border-color:#4a90e2}.image-controls button:disabled{opacity:.5;cursor:not-allowed}.image-controls span{font-weight:500;color:#495057}.manual-box-number{position:absolute;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-primary-base, #667eea);color:#fff;border-radius:50%;font-size:12px;font-weight:600;z-index:1001;box-shadow:0 2px 4px #0003;pointer-events:none;-webkit-user-select:none;user-select:none}.question-block{margin-bottom:32px;background:var(--color-neutral-gray-50, #f8f9fa);border-radius:var(--radius-md);padding:var(--spacing-lg, 24px);border-left:4px solid var(--color-border-divider, #dee2e6);transition:all var(--animation-transition-normal);animation:slideIn .4s ease}.question-block.question-solved{border-left-color:var(--color-success-base)}.question-block.question-processing{border-left-color:var(--color-warning-base)}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.question-header-left{display:flex;align-items:center;gap:8px}.question-icon{font-size:20px}.question-info{font-weight:600;font-size:16px;color:var(--color-semantic-text-primary)}.question-status{font-size:12px;color:var(--color-semantic-text-secondary)}.question-actions{display:flex;gap:8px}.btn-copy{padding:6px 10px;background:var(--color-neutral-gray-200, #e9ecef);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:all var(--animation-transition-fast)}.btn-wrong-book{padding:6px 12px;font-size:16px;line-height:1;vertical-align:middle;border-radius:50%;border:none;transition:all var(--animation-transition-fast)}.btn-wrong-book:not(.added){background:var(--color-semantic-mention-background);color:var(--color-semantic-mention-primary);cursor:pointer;transform:scale(1)}.btn-wrong-book.added{background:var(--color-success-light);color:var(--color-success-dark);cursor:default;transform:scale(1.1)}.question-actions{margin-top:var(--spacing-lg, 24px);padding-top:var(--spacing-lg, 24px);border-top:1px solid var(--color-border-light, #f1f3f4);display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm, 8px)}.btn-add-wrong-book{min-width:120px;max-width:none;height:36px;gap:var(--spacing-xs, 4px);font-size:var(--font-size-sm, 14px);position:relative;overflow:hidden}.btn-add-wrong-book i{font-size:16px;transition:transform var(--animation-duration-fast) var(--easing-standard);display:inline-flex;align-items:center}.btn-add-wrong-book:active:not(:disabled) i{transform:scale(1.3) rotate(5deg)}.btn-add-wrong-book:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-add-wrong-book:active:not(:disabled):after{width:300px;height:300px}.btn-add-wrong-book.btn-success{cursor:default}.btn-add-wrong-book.btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-success-sm)}.btn-add-wrong-book.btn-success i{animation:checkmark-bounce .4s ease-out}.btn-add-wrong-book.btn-outline-primary:hover:not(:disabled) i{transform:scale(1.1)}.btn-add-wrong-book.btn-loading{cursor:wait;opacity:.8;pointer-events:none}.btn-add-wrong-book.btn-loading .btn-spinner{display:inline-flex;align-items:center;animation:spin 1s linear infinite}.btn-add-wrong-book.btn-loading .btn-spinner i{font-size:14px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmark-bounce{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.btn-knowledge{padding:6px 12px;font-size:16px;line-height:1;vertical-align:middle;background:var(--color-neutral-white) 3cd;color:var(--color-warning-dark);border-radius:50%;border:none;transition:all var(--animation-transition-fast);cursor:pointer}.question-message{display:flex;flex-direction:column;gap:var(--spacing-lg, 24px);padding:var(--spacing-lg, 24px);background:var(--color-neutral-white);border-radius:12px;border:1px solid #e3e8f0;box-shadow:0 1px 3px #0000001f}.question-image{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:16px;flex-shrink:0}.question-image img{max-width:100%;max-height:400px;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #0000001f;border:2px solid var(--color-background-skeleton-base);object-fit:contain;background:var(--color-neutral-gray-50, #fafafa);display:block}.question-image img:hover{transform:scale(1.02);box-shadow:0 6px 24px #0000002e}.question-content{flex:1;display:flex;flex-direction:column;gap:0;min-width:0}.question-image-section{margin-bottom:20px}.question-image-label{font-size:14px;color:var(--color-semantic-text-secondary);margin-bottom:12px;font-weight:500}.question-image-wrapper{position:relative;display:inline-block;max-width:100%}.question-image-overlay{position:absolute;top:8px;right:8px;background:#0009;color:var(--color-neutral-white);padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.question-content-section{margin-bottom:var(--spacing-lg, 24px);padding-bottom:var(--spacing-lg, 24px);border-bottom:1px solid rgba(0,0,0,.06)}.question-content-section:last-of-type{border-bottom:none;padding-bottom:0}.question-content-label{font-size:var(--font-size-sm, 14px);color:var(--color-semantic-text-secondary);margin-bottom:var(--spacing-md, 16px);font-weight:var(--font-weight-semibold, 600)}.reasoning-section{margin-bottom:var(--spacing-lg, 24px);margin-top:var(--spacing-md, 16px);padding:var(--spacing-lg, 24px);background:linear-gradient(135deg,#17a2b80d,#bbdefb14);border-radius:var(--radius-md);border-left:4px solid var(--color-info-base, #17a2b8);position:relative}.message-text .reasoning-section{margin-top:0;padding:var(--spacing-md, 16px);border-left-width:3px}.message-text .reasoning-section:first-child{margin-top:0}.message-text .reasoning-section+.markdown-body{margin-top:var(--spacing-md, 16px);padding-top:var(--spacing-md, 16px);border-top:1px solid rgba(0,0,0,.06)}.reasoning-header{font-size:var(--font-size-md, 15px);color:var(--color-info-dark, #1976d2);margin-bottom:var(--spacing-md, 16px);font-weight:var(--font-weight-semibold, 600);display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.answer-section{margin-bottom:var(--spacing-md, 16px);margin-top:var(--spacing-md, 16px);padding:var(--spacing-lg, 24px);background:var(--color-neutral-white);border-radius:var(--radius-md);border-left:4px solid var(--color-success-base, #28a745);box-shadow:var(--shadow-sm);position:relative}.answer-header{font-size:var(--font-size-md, 15px);color:var(--color-success-dark, #155724);margin-bottom:var(--spacing-md, 16px);font-weight:var(--font-weight-semibold, 600);display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.answer-loading{font-size:var(--font-size-sm);margin-top:var(--spacing-md, 16px);margin-bottom:var(--spacing-sm, 12px);display:flex;align-items:center;gap:var(--spacing-sm, 12px);position:relative;padding:var(--spacing-md, 16px);border-radius:var(--radius-sm);width:100%;box-sizing:border-box;color:var(--color-semantic-mention-primary);background:#667eea0d;border-left:3px solid var(--color-primary-base)}.answer-loading.streaming-indicator .streaming-dots{display:flex;gap:var(--spacing-xs)}.answer-loading.streaming-indicator .streaming-dot{width:6px;height:6px;background:var(--color-semantic-mention-primary);border-radius:50%;animation:streaming-bounce 1.4s ease-in-out infinite}.answer-loading.streaming-indicator .streaming-dot:nth-child(1){animation-delay:0s}.answer-loading.streaming-indicator .streaming-dot:nth-child(2){animation-delay:.2s}.answer-loading.streaming-indicator .streaming-dot:nth-child(3){animation-delay:.4s}.reasoning-section .answer-loading{color:var(--color-info-dark, #1976d2);background:#17a2b80d;border-left-color:var(--color-info-base, #17a2b8)}.reasoning-section .answer-loading .streaming-dot{background:var(--color-info-base, #17a2b8)}.answer-section .answer-loading{color:var(--color-success-dark, #155724);background:#28a7450d;border-left-color:var(--color-success-base, #28a745)}.answer-section .answer-loading .streaming-dot{background:var(--color-success-base, #28a745)}@keyframes streaming-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.question-content-section .markdown-body,.reasoning-section .markdown-body,.answer-section .markdown-body{line-height:var(--font-lineHeight-loose, 1.75)!important;color:var(--color-semantic-text-dark, #2d3a4b)}.question-content-section .markdown-body p,.reasoning-section .markdown-body p,.answer-section .markdown-body p{margin:var(--spacing-md, 16px) 0!important;line-height:var(--font-lineHeight-loose, 1.75)!important}.question-content-section .markdown-body p:first-child,.reasoning-section .markdown-body p:first-child,.answer-section .markdown-body p:first-child{margin-top:0!important}.question-content-section .markdown-body p:last-child,.reasoning-section .markdown-body p:last-child,.answer-section .markdown-body p:last-child{margin-bottom:0!important}.question-content-section .markdown-body ul,.question-content-section .markdown-body ol,.reasoning-section .markdown-body ul,.reasoning-section .markdown-body ol,.answer-section .markdown-body ul,.answer-section .markdown-body ol{margin:var(--spacing-md, 16px) 0!important;padding-left:var(--spacing-xl, 24px)!important}.question-content-section .markdown-body ul li,.question-content-section .markdown-body ol li,.reasoning-section .markdown-body ul li,.reasoning-section .markdown-body ol li,.answer-section .markdown-body ul li,.answer-section .markdown-body ol li{margin:var(--spacing-sm, 12px) 0!important;line-height:var(--font-lineHeight-loose, 1.75)!important}.question-content-section .markdown-body pre,.reasoning-section .markdown-body pre,.answer-section .markdown-body pre{margin:var(--spacing-md, 16px) 0!important;padding:var(--spacing-md, 16px)!important;line-height:var(--font-lineHeight-relaxed, 1.6)!important}.question-content-section .markdown-body h2,.question-content-section .markdown-body h3,.question-content-section .markdown-body h4,.reasoning-section .markdown-body h2,.reasoning-section .markdown-body h3,.reasoning-section .markdown-body h4,.answer-section .markdown-body h2,.answer-section .markdown-body h3,.answer-section .markdown-body h4{margin-top:var(--spacing-lg, 24px)!important;margin-bottom:var(--spacing-md, 16px)!important;line-height:var(--font-lineHeight-tight, 1.4)!important}.question-content-section .markdown-body h2:first-child,.question-content-section .markdown-body h3:first-child,.question-content-section .markdown-body h4:first-child,.reasoning-section .markdown-body h2:first-child,.reasoning-section .markdown-body h3:first-child,.reasoning-section .markdown-body h4:first-child,.answer-section .markdown-body h2:first-child,.answer-section .markdown-body h3:first-child,.answer-section .markdown-body h4:first-child{margin-top:0!important}.reasoning-section .markdown-body strong{color:var(--color-info-dark, #1976d2);font-weight:var(--font-weight-semibold, 600)}.answer-section .markdown-body strong{color:var(--color-success-dark, #155724);font-weight:var(--font-weight-semibold, 600)}.message-item{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.play-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px;min-width:auto;max-width:none;width:30px;height:30px;border:none;border-radius:0;background:transparent;color:#6c757d;cursor:pointer;transition:all var(--animation-transition-fast);box-shadow:none;margin-left:8px;flex-shrink:0}.play-btn:hover:not(:disabled){color:#4a90e2;background:#667eea1a;transform:translateY(-1px);box-shadow:0 1px 3px #0000001f}.play-btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.play-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.play-btn.playing{color:#dc3545}.play-btn.playing:hover:not(:disabled){background:#dc35451a}.play-btn-icon{font-size:15px;line-height:1;display:inline-block}.ai-agent-name-inline{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 10px;margin-right:10px;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-semantic-agent-background) 0%,rgba(75,0,130,.12) 100%);border:1px solid var(--color-semantic-agent-border);border-radius:var(--radius-md);font-size:.85em;font-weight:var(--font-weight-medium);color:var(--color-semantic-agent-primary);vertical-align:middle}.ai-agent-name-inline i{font-size:.9em;color:var(--color-semantic-agent-primary)}.ai-agent-name{display:flex;align-items:center;gap:6px;padding:6px var(--spacing-md);margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-semantic-agent-background-light) 0%,rgba(75,0,130,.1) 100%);border-left:3px solid var(--color-semantic-agent-primary);border-radius:var(--radius-sm);font-size:.9em;font-weight:var(--font-weight-semibold);color:var(--color-semantic-agent-primary)}.ai-agent-name i{font-size:1em;color:var(--color-semantic-agent-primary)}.mention-suggestions{position:absolute;bottom:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:10000;margin-bottom:8px;min-width:200px}.mention-item{padding:10px 15px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.mention-item:hover,.mention-item.active{background-color:var(--color-background-skeleton-base)}.mention-item i{color:var(--color-semantic-agent-primary);font-size:1.1em}.mention-item span{font-weight:500;color:var(--color-semantic-text-primary)}.input-wrapper{position:relative;width:100%}.btn-copy-small{padding:4px 8px;background:var(--color-neutral-gray-200, #e9ecef);border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all var(--animation-transition-fast);margin-left:8px}.image-message-wrapper{display:flex;justify-content:center;margin-bottom:20px}.image-message-container{position:relative;display:inline-block;max-width:80%}.image-message{max-width:100%;max-height:500px;border-radius:12px;box-shadow:0 4px 16px #0000001f;cursor:pointer;transition:all .3s ease;border:2px solid var(--color-background-skeleton-base);object-fit:contain;background:var(--color-neutral-gray-50, #fafafa)}.image-message:hover{transform:scale(1.02);box-shadow:0 6px 24px #0000002e}.image-message-overlay{position:absolute;top:8px;right:8px;background:#0009;color:var(--color-neutral-white);padding:4px 8px;border-radius:var(--radius-sm);font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chat-wrapper .input-container{background:linear-gradient(135deg,#fffffffa,#fff8f0f2);border-top:1px solid rgba(227,232,240,.8);box-shadow:0 -4px 12px #0000000a}.chat-wrapper .message-input{border:2px solid rgba(227,232,240,.8);border-radius:12px;background:#fffffff2;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-wrapper .message-input:focus{border-color:var(--color-primary-base);box-shadow:0 0 0 4px #4a90e21f;background:#fff;transform:translateY(-1px)}.chat-wrapper .message-input::placeholder{color:var(--color-neutral-gray-400)}.chat-wrapper .upload-button{width:48px;height:48px;border-radius:12px;border:2px solid rgba(255,165,0,.2);background:linear-gradient(135deg,#ffa5001a,#ffb84d26);color:var(--color-encouragement-base, #FFA500);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);box-shadow:0 2px 8px #ffa50026}.chat-wrapper .upload-button i{font-size:20px}.chat-wrapper .upload-button:hover:not(:disabled){border-color:var(--color-encouragement-base);background:linear-gradient(135deg,#ffa50033,#ffb84d40);transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #ffa50040}.chat-wrapper .upload-button:active:not(:disabled){transform:translateY(0) scale(.98)}.chat-wrapper .upload-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-wrapper .send-btn{width:48px;height:48px;border-radius:12px;border:none;background:var(--color-primary-gradient);color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);box-shadow:0 4px 12px #4a90e24d;position:relative;overflow:hidden}.chat-wrapper .send-btn i{font-size:18px;position:relative;z-index:1}.chat-wrapper .send-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .4s,height .4s}.chat-wrapper .send-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #4a90e266}.chat-wrapper .send-btn:hover:not(:disabled):before{width:200%;height:200%}.chat-wrapper .send-btn:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px #4a90e24d}.chat-wrapper .send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #0000001a}.mobile-input-container{width:100%}.mobile-input-group{display:flex;align-items:flex-end;gap:8px;background:#fff;border:2px solid #e3e8f0;border-radius:8px;padding:4px;transition:border-color var(--animation-duration-fast, .15s) var(--easing-standard, cubic-bezier(.4, 0, .2, 1)),box-shadow var(--animation-duration-fast, .15s) var(--easing-standard, cubic-bezier(.4, 0, .2, 1));will-change:border-color,box-shadow}.mobile-input-group:focus-within{border-color:#4a90e2;box-shadow:0 0 0 3px #667eea33}.input-container-left-buttons{display:flex;align-items:center;gap:4px;flex-shrink:0}.mobile-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:transparent;color:#6c757d;cursor:pointer;transition:all var(--animation-duration-fast, .15s) var(--easing-standard, cubic-bezier(.4, 0, .2, 1));border-radius:var(--radius-sm);font-size:18px;min-width:44px;min-height:44px}.mobile-button:hover:not(:disabled){color:#4a90e2;background:#667eea1a}.mobile-button:disabled{opacity:.5;cursor:not-allowed}.mobile-button.text-danger{color:#dc3545}.input-container-field{flex:1;position:relative;display:flex;align-items:center}.mobile-textarea{width:100%;border:none;outline:none;resize:none;padding:8px 16px;font-size:16px;line-height:1.5;color:#495057;background:transparent;font-family:inherit;overflow-y:auto;min-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-textarea::placeholder{color:#ced4da}.mobile-textarea:disabled{opacity:.6;cursor:not-allowed}.voice-mode-hint,.recording-hint{margin-top:4px;padding:4px 8px;font-size:14px;color:#6c757d;display:flex;align-items:center;gap:4px}.recording-hint{color:#dc3545}.empty-state--message{padding:60px 20px}.empty-state--message .empty-icon{font-size:48px;margin-bottom:16px}.empty-state--message .empty-content h5{font-size:18px;margin-bottom:8px;font-weight:500}.empty-state--message .empty-content p{font-size:14px}@media (max-width: 991.98px){.user-message-bubble,.ai-message-bubble{max-width:85%;padding:18px}.question-block{padding:18px}.question-message{padding:8px;gap:8px}.question-image{margin-bottom:8px}.question-image img{max-height:350px}.image-message,.chat-image-preview img{max-height:450px}}@media (max-width: 767.98px){.user-message-bubble,.ai-message-bubble{max-width:90%;padding:16px;font-size:14px}.user-message-time,.ai-message-time{font-size:10px}.question-block{padding:16px;margin-bottom:24px}.question-header{flex-direction:column;align-items:flex-start;gap:12px}.question-info{font-size:15px}.question-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:6px}.question-message{padding:8px;gap:4px}.question-image{margin-bottom:4px}.question-image img{max-height:300px}.image-message,.chat-image-preview img{max-height:400px}.image-carousel-container{padding:8px}.image-wrapper,.exam-image{max-height:60vh}.mention-suggestions{max-height:250px;min-width:180px}.mention-item{padding:8px 12px;font-size:13px}.message-empty-state{padding:40px 16px}.message-empty-icon{font-size:40px}.message-empty-title{font-size:16px}.message-empty-text{font-size:13px}.chat-wrapper .input-container{padding:var(--spacing-md, 16px)}.chat-wrapper .message-input{border-radius:10px;padding:var(--spacing-sm, 12px) var(--spacing-md, 16px)}.chat-wrapper .upload-button,.chat-wrapper .send-btn{width:44px;height:44px;border-radius:10px}}@media (max-width: 575.98px){.user-message-bubble,.ai-message-bubble{max-width:95%;padding:12px;font-size:13px;line-height:1.6}.question-block{padding:12px;margin-bottom:20px}.question-header{gap:10px}.question-info{font-size:14px}.question-status{font-size:11px}.question-actions{gap:4px}.btn-copy,.btn-wrong-book,.btn-knowledge{padding:4px 8px;font-size:14px}.question-message{padding:4px;gap:4px}.question-image{margin-bottom:4px}.question-image img{max-height:250px}.image-message,.chat-image-preview img{max-height:350px}.image-carousel-container{padding:4px}.image-wrapper,.exam-image{max-height:50vh}.image-controls{flex-wrap:wrap;gap:4px;padding:4px}.image-controls button{padding:6px 10px;font-size:12px}.reasoning-header,.answer-header{font-size:var(--font-size-sm, 14px)}.mention-suggestions{max-height:200px;min-width:160px;font-size:12px}.mention-item{padding:6px 10px;font-size:12px}.ai-agent-name-inline{font-size:.8em;padding:3px 8px}.message-empty-state{padding:30px 12px}.message-empty-icon{font-size:36px}.message-empty-title{font-size:15px}.message-empty-text{font-size:12px}.chat-wrapper .input-container{padding:var(--spacing-sm, 12px)}.chat-wrapper .input-group{gap:var(--spacing-xs, 8px)}.chat-wrapper .message-input{border-radius:8px;padding:var(--spacing-xs, 8px) var(--spacing-sm, 12px);font-size:var(--font-size-sm, 14px)}.chat-wrapper .upload-button,.chat-wrapper .send-btn{width:40px;height:40px;border-radius:8px;font-size:var(--font-size-base, 16px)}.chat-wrapper .upload-button i,.chat-wrapper .send-btn i{font-size:16px}}.main-layout .content-body{background:transparent;box-shadow:none;border:none;border-radius:0;padding:24px 0 36px}.main-layout .content-body:before{display:none}.documents-table{margin-bottom:24px}.modal-body .alert{margin-bottom:16px}.modal-body .alert:last-child{margin-bottom:0}.document-preview-panel{position:fixed;top:0;right:0;height:100vh;background:#fff;border-left:1px solid #e3e8f0;box-shadow:0 8px 24px #0000002e;z-index:1050;display:flex;flex-direction:column;transition:all var(--animation-transition-normal)}.document-preview-panel.collapsed{width:60px}.document-preview-panel.collapsed .panel-content{display:none}.document-preview-panel.collapsed .panel-title{writing-mode:vertical-rl;text-orientation:mixed}.markdown-display{background:#fff;border-radius:8px;padding:16px;border:1px solid #f1f3f4}.chunks-preview{height:100%;display:flex;flex-direction:column;padding:16px;overflow:hidden}.chunks-info{background:#f8f9fa;border:1px solid #f1f3f4;border-radius:12px;padding:8px}.chunks-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-item-compact{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#fff;border-radius:8px;border:1px solid #f1f3f4;transition:all var(--animation-transition-fast)}.stat-item-compact:hover{border-color:#4a90e2;box-shadow:0 1px 4px #0000000d}.stat-item-compact .stat-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#4a90e21a;border-radius:8px;color:#4a90e2;font-size:16px;flex-shrink:0}.stat-item-compact .stat-content{flex:1;min-width:0}.stat-item-compact .stat-number{font-size:18px;font-weight:600;color:#343a40;line-height:1.2}.stat-item-compact .stat-value{font-size:14px;font-weight:500;color:#343a40;line-height:1.2}.stat-item-compact .stat-label{font-size:12px;color:#6c757d;margin-top:2px;line-height:1.2}.chunks-section{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:#e3e8f0 transparent}.chunks-section::-webkit-scrollbar{width:6px}.chunks-section::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-sm)}.chunks-section::-webkit-scrollbar-thumb{background:#e3e8f0;border-radius:var(--radius-sm)}.chunks-section::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.chunks-list{padding-right:4px;display:flex;flex-direction:column;gap:8px}.chunk-item{border:1px solid #e3e8f0;border-radius:12px;transition:all var(--animation-transition-fast);background:#fff;overflow:hidden}.chunk-item:hover{box-shadow:0 2px 8px #00000014;border-color:#4a90e2}.chunk-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f8f9fa;border-bottom:1px solid #f1f3f4;gap:8px}.chunk-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0;flex-wrap:wrap}.chunk-number{font-weight:600;font-size:14px;color:#4a90e2;background:#4a90e21a;padding:2px 8px;border-radius:8px;white-space:nowrap}.chunk-metadata{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.chunk-meta-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6c757d;background:#fff;padding:2px 6px;border-radius:8px;border:1px solid #f1f3f4;white-space:nowrap}.chunk-meta-badge i{font-size:.7rem;opacity:.7}.chunk-toggle-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#6c757d;border-radius:8px;cursor:pointer;transition:all var(--animation-transition-fast);flex-shrink:0}.chunk-toggle-btn:hover{background:#e9ecef;color:#4a90e2}.chunk-toggle-btn.expanded{color:#4a90e2}.chunk-content{padding:16px;background:#fff;overflow:visible}.chunk-text-content{line-height:1.7;color:#495057;font-size:14px;white-space:pre-wrap;word-wrap:break-word;text-align:justify}.chunk-text-preview{color:#6c757d}.chunk-text-expanded{color:#495057;max-height:500px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#e3e8f0 transparent}.chunk-text-expanded::-webkit-scrollbar{width:6px}.chunk-text-expanded::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-sm)}.chunk-text-expanded::-webkit-scrollbar-thumb{background:#e3e8f0;border-radius:var(--radius-sm)}.chunk-text-expanded::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-600)}.chunk-expand-link{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:4px 8px;font-size:12px;color:#4a90e2;background:transparent;border:none;cursor:pointer;border-radius:8px;transition:all var(--animation-transition-fast)}.chunk-expand-link:hover{background:#4a90e21a;color:#3d7bc8}.chunk-text-content .math-inline{display:inline-block;margin:0 .2em;vertical-align:middle}.chunk-text-content .math-block{display:block;margin:16px 0;text-align:center;overflow-x:auto}.chunk-text-content .katex{display:inline-block!important}.chunk-text-content .katex-display{display:block!important;margin:16px 0!important}@media (max-width: 991.98px){.chunks-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767.98px){.document-preview-panel{width:100%!important;height:50vh;top:auto;bottom:0;border-left:none;border-top:1px solid #e3e8f0}.chunks-stats-grid{grid-template-columns:1fr}.chunk-header{flex-direction:column;align-items:flex-start;gap:4px}.chunk-header-left{width:100%}.chunk-toggle-btn{align-self:flex-end}.chunk-info{flex-wrap:wrap}}.rag-config{border:1px solid #e3e8f0;border-radius:16px;box-shadow:0 4px 12px #00000026;background:#fff;margin-bottom:24px;overflow:hidden}.rag-config .card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #e3e8f0;padding:16px 24px}.rag-config .card-body{background:#fff;padding:24px}.rag-config .card-body>.row.mb-3{margin-left:0;margin-right:0;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.rag-config .card-body>.row.mb-4{margin-left:0;margin-right:0;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.rag-config .card-body>.row:not(.mb-3):not(.mb-4){margin-bottom:16px;padding:24px;background:#fff;border-radius:12px;border:1px solid #e3e8f0;box-shadow:0 1px 3px #0000001f;margin-left:0;margin-right:0;transition:all var(--animation-transition-fast)}.rag-config .card-body>.row:not(.mb-3):not(.mb-4):hover{border-color:#4a90e2;box-shadow:0 4px 12px #00000026}.rag-config .card-body>.row>.col-md-3,.rag-config .card-body>.row>.col-md-4,.rag-config .card-body>.row>.col-12{padding-left:8px;padding-right:8px}.rag-config .card-body .row .mb-3{margin-bottom:16px}.rag-config .form-group .form-label{margin-bottom:8px;display:block}.rag-config .form-group .form-switch{display:inline-block;margin-bottom:0;vertical-align:middle}.rag-config .form-group small.text-muted{display:block;margin-top:8px}.rag-config .radio-group-inline{gap:16px;margin-bottom:8px;padding:4px 0}.rag-config .radio-group-inline .form-check{margin-bottom:0;padding:4px 8px;border-radius:8px;background:#fff;border:1px solid #e3e8f0;transition:all var(--animation-transition-fast);min-width:70px;justify-content:center}.rag-config .radio-group-inline .form-check:hover{background:#f1f3f5;border-color:#4a90e2}.rag-config .radio-group-inline .form-check-input:checked~.form-check-label,.rag-config .radio-group-inline .form-check-input:checked+.form-check-label{color:#4a90e2;font-weight:600}.rag-config .radio-group-inline .form-check-input:checked{background-color:#4a90e2;border-color:#4a90e2}.content-body .admin-card{background:#fff;border:1px solid #e3e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001f;transition:all var(--animation-transition-fast);margin-bottom:24px}.content-body .admin-card:hover{box-shadow:0 4px 12px #00000026;border-color:#4a90e2}.content-body .admin-card .card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:2px solid #e3e8f0;padding:16px 24px}.content-body .admin-card .card-header .card-title{font-size:18px;font-weight:600;color:#343a40;margin:0}.content-body .admin-card .card-body{padding:24px}.rag-config+.d-flex{margin-top:24px}.content-body .config-section{background:#fff;border:1px solid #e3e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001f;padding:24px;margin-bottom:24px}.content-body .config-section .config-section-title{font-size:18px;font-weight:600;color:#343a40;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #f1f3f4;display:flex;align-items:center;gap:8px}.content-body .config-section .config-section-title i{color:#4a90e2}.content-body .config-section .config-item{margin-bottom:16px}.content-body .config-section .config-item:last-child{margin-bottom:0}.content-body .mcp-tools-list{background:#fff;border:1px solid #e3e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001f;padding:16px;margin-bottom:0}.content-body .mcp-tools-list .mcp-tools-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.content-body .mcp-tools-list .mcp-tools-header .config-title{font-size:16px;font-weight:600;color:#343a40;margin-bottom:0;padding-bottom:0;border-bottom:none;display:flex;align-items:center;gap:4px;flex:1}.content-body .mcp-tools-list .mcp-tools-header .config-title i{color:#4a90e2;font-size:.9rem}.content-body .mcp-tools-list .mcp-tools-header .config-title .tools-count-badge{font-size:14px;color:#6c757d;font-weight:400}.content-body .mcp-tools-list .mcp-tools-header .btn-link{color:#6c757d;text-decoration:none}.content-body .mcp-tools-list .mcp-tools-header .btn-link:hover{color:#4a90e2}.content-body .mcp-tools-list .config-content{margin-top:8px;padding-top:8px;border-top:1px solid #f1f3f4}.mcp-service-container{display:flex;flex-direction:column;gap:16px}.mcp-main-config{background:#fff;border:1px solid #e3e8f0;border-radius:16px;box-shadow:0 1px 3px #0000001f;padding:16px;margin-bottom:16px}.mcp-main-config .mcp-global-config,.mcp-main-config .mcp-services-management{background:transparent;border:none;border-radius:0;box-shadow:none;padding:0;margin-bottom:0}.mcp-main-config .mcp-global-config:not(:last-child),.mcp-main-config .mcp-services-management:not(:last-child){padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #f1f3f4}.mcp-main-config .mcp-global-config .config-title,.mcp-main-config .mcp-services-management .config-title{font-size:16px;font-weight:600;color:#343a40;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid #f1f3f4;display:flex;align-items:center;gap:4px}.mcp-main-config .mcp-global-config .config-title i,.mcp-main-config .mcp-services-management .config-title i{color:#4a90e2;font-size:.9rem}.mcp-main-config .mcp-global-config .config-content,.mcp-main-config .mcp-services-management .config-content{margin-top:8px}.mcp-global-actions{padding-top:8px;border-top:1px solid #f1f3f4}.mcp-service-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;background:#f8f9fa;border-radius:12px;border:1px solid #f1f3f4}.mcp-action-group-left{display:flex;gap:8px;align-items:center;flex:0 0 auto}.mcp-action-group-right{display:flex;gap:8px;align-items:center;flex:0 0 auto;margin-left:auto}.mcp-services-management .service-list,#serviceList{margin-top:8px;border:1px solid #e3e8f0;border-radius:12px;overflow:hidden}.mcp-services-management .service-list-header,.mcp-services-management #serviceList .service-list-header{display:grid!important;grid-template-columns:90px 1.5fr 120px 3fr 150px!important;gap:16px;padding:16px;background:#f1f3f5;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #e3e8f0;box-sizing:border-box;width:100%}.mcp-services-management .service-header-item{display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0;margin:0;box-sizing:border-box}.mcp-services-management .service-header-item:last-child{justify-content:flex-end}.mcp-services-management .service-list-body{max-height:600px;overflow-y:auto}.mcp-services-management .empty-state{text-align:center;padding:24px}.mcp-services-management .empty-state .empty-content{display:flex;flex-direction:column;align-items:center;gap:8px}.mcp-services-management .empty-state .empty-content .empty-icon{font-size:2.5rem;color:#6c757d;margin-bottom:4px}.mcp-services-management .empty-state .empty-content h5{color:var(--text-primary);margin:0;font-size:16px}.mcp-services-management .empty-state .empty-content p{color:#6c757d;margin:0;font-size:14px}.mcp-services-management #serviceListBody .service-item{display:block!important;border-bottom:1px solid #f1f3f4;transition:background var(--animation-transition-fast)}.mcp-services-management .service-item:hover{background:#f8f9fa}.mcp-services-management .service-item:last-child{border-bottom:none}.mcp-services-management .service-item-content,.mcp-services-management #serviceListBody .service-item-content{display:grid!important;grid-template-columns:90px 1.5fr 120px 3fr 150px!important;gap:16px;padding:16px;align-items:center;box-sizing:border-box;width:100%}.mcp-services-management .service-item-content>*{box-sizing:border-box}.mcp-services-management .service-item-content>.service-actions{display:flex!important;justify-content:flex-end;align-items:center;width:100%;min-width:0;overflow:visible;padding:0;margin:0}.mcp-services-management .service-status,.mcp-services-management .service-name,.mcp-services-management .service-type,.mcp-services-management .service-url-command,.mcp-services-management .service-actions{display:flex;align-items:center;gap:4px;min-width:0;padding:0;margin:0;box-sizing:border-box}.mcp-services-management .service-status{justify-content:center;align-items:center;width:100%;min-width:80px;display:flex!important}.mcp-services-management .service-status .mcp-switch-container{display:flex;align-items:center;justify-content:center;width:100%;min-width:56px}.mcp-services-management .service-status .form-switch{margin:0;padding:0}.mcp-services-management .service-url-command{min-width:0;overflow:hidden;width:100%}.mcp-services-management .service-actions{display:flex!important;gap:4px;justify-content:flex-end;align-items:center;padding:0;margin:0;width:100%;box-sizing:border-box;visibility:visible!important;opacity:1!important}@media (max-width: 1199.98px){.mcp-service-actions{flex-direction:column;align-items:stretch}.mcp-action-group-left,.mcp-action-group-right{width:100%;justify-content:center;margin-left:0}.mcp-services-management .service-list-header,.mcp-services-management .service-item-content{grid-template-columns:80px 1.2fr 100px 2.5fr 120px!important;gap:8px}}@media (max-width: 767.98px){.mcp-services-management .service-list-header,.mcp-services-management .service-item-content{grid-template-columns:1fr!important;gap:8px}.mcp-services-management .service-header-item{display:none}.mcp-services-management .service-item-content>div:before{content:attr(data-label) ": ";font-weight:600;color:#495057;margin-right:4px}.mcp-services-management .service-status:before{content:"状态: "}.mcp-services-management .service-name:before{content:"服务名称: "}.mcp-services-management .service-type:before{content:"类型: "}.mcp-services-management .service-url-command:before{content:"URL / 命令: "}.mcp-services-management .service-actions:before{content:"操作: "}}.mcp-tools-actions{display:flex;gap:8px;align-items:center;padding:8px;background:#f8f9fa;border-radius:12px;border:1px solid #f1f3f4}.all-tools-list{min-height:200px}.tools-loading{display:flex;align-items:center;justify-content:center;padding:32px;color:var(--text-secondary)}.tools-content{display:block}.tools-section{margin-bottom:16px}.tools-section:last-child{margin-bottom:0}.tools-section-title{display:flex;align-items:center;font-size:1.1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary)}.tools-section-title i{margin-right:8px;color:#4a90e2}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tool-card{background:#fff;border:1px solid #f1f3f4;border-radius:12px;padding:16px;transition:all var(--animation-transition-fast)}.tool-card:hover{box-shadow:0 2px 8px #0000001a;border-color:#4a90e2}.tool-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tool-icon{font-size:1.2rem;color:#4a90e2}.tool-name{font-weight:600;color:var(--text-primary);flex:1}.badge-sm{font-size:.75rem;padding:.25rem .5rem}.tool-card-body{margin-top:8px}.tool-description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:8px}.tool-meta{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#6c757d}.tool-id{font-family:Courier New,monospace;background:#f8f9fa;padding:.2rem .4rem;border-radius:8px}.tool-card-builtin{border-left:3px solid #4A90E2}.tool-card-mcp{border-left:3px solid #28a745}.tool-service-group{margin-bottom:24px;background:#f8f9fa;border-radius:12px;padding:16px;border:1px solid #f1f3f4}.tool-service-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #f1f3f4}.tool-service-header .service-name{font-weight:600;color:var(--text-primary);flex:1}.tool-service-header .tool-count{color:var(--text-secondary);font-size:.9rem}.tool-service-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.tools-empty{text-align:center;padding:24px}.tools-empty .empty-content{display:flex;flex-direction:column;align-items:center;gap:8px}.tools-empty .empty-icon{font-size:3rem;color:#6c757d}.tools-empty h5{color:var(--text-secondary);margin:0}.tools-empty p{color:#6c757d;margin:0}@media (max-width: 767.98px){.tools-grid,.tool-service-tools{grid-template-columns:1fr}}.agent-editor .card-body{padding:16px}.table{margin-bottom:16px}.table thead th{padding:8px 16px;font-size:14px}.table tbody td{padding:8px 16px}.table-responsive{margin-bottom:16px}.config-section .table,.config-section .table-responsive{margin-bottom:8px}.content-body>*{margin-bottom:24px}.content-body>*:last-child{margin-bottom:0}.content-body .user-table,.content-body .feedback-table,.content-body .documents-table{background:#fff;border:1px solid #e3e8f0;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001f;margin-bottom:24px}.content-body .user-table .table-responsive,.content-body .feedback-table .table-responsive,.content-body .documents-table .table-responsive{margin:0}.content-body .user-table .table,.content-body .feedback-table .table,.content-body .documents-table .table{margin-bottom:0}.content-body .user-table .table thead,.content-body .feedback-table .table thead,.content-body .documents-table .table thead{background:#f8f9fa}.content-body .user-table .table thead th,.content-body .feedback-table .table thead th,.content-body .documents-table .table thead th{padding:16px;font-weight:600;font-size:14px;color:#495057;border-bottom:2px solid #e3e8f0;white-space:nowrap;vertical-align:middle}.content-body .user-table .table tbody tr,.content-body .feedback-table .table tbody tr,.content-body .documents-table .table tbody tr{transition:background var(--animation-transition-fast)}.content-body .user-table .table tbody tr:hover,.content-body .feedback-table .table tbody tr:hover,.content-body .documents-table .table tbody tr:hover{background:#f8f9fa}.content-body .user-table .table tbody tr td,.content-body .feedback-table .table tbody tr td,.content-body .documents-table .table tbody tr td{padding:16px;vertical-align:middle;border-bottom:1px solid #f1f3f4}.content-body .user-table .table tbody tr td:last-child .user-actions,.content-body .user-table .table tbody tr td:last-child .document-actions,.content-body .feedback-table .table tbody tr td:last-child .user-actions,.content-body .feedback-table .table tbody tr td:last-child .document-actions,.content-body .documents-table .table tbody tr td:last-child .user-actions,.content-body .documents-table .table tbody tr td:last-child .document-actions{justify-content:flex-end}.content-body .user-table .table tbody tr:last-child td,.content-body .feedback-table .table tbody tr:last-child td,.content-body .documents-table .table tbody tr:last-child td{border-bottom:none}.content-body .user-actions .btn-icon-only,.content-body .user-actions .btn-icon,.content-body .document-actions .btn-icon-only,.content-body .document-actions .btn-icon,.content-body .action-buttons-group .btn-icon-only,.content-body .action-buttons-group .btn-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0}.content-body .user-actions .btn-icon-only i,.content-body .user-actions .btn-icon i,.content-body .document-actions .btn-icon-only i,.content-body .document-actions .btn-icon i,.content-body .action-buttons-group .btn-icon-only i,.content-body .action-buttons-group .btn-icon i{display:inline-block;line-height:1;vertical-align:middle}.content-body .action-buttons{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f1f3f4}.content-body .action-buttons .btn{flex-shrink:0}.content-body .config-actions-group,.content-body .rag-config+.d-flex,.content-body .mcp-global-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:16px 0;margin-top:16px}.content-body .user-actions,.content-body .document-actions,.content-body .action-buttons-group{display:flex;gap:4px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.content-body .admin-card .card-body .btn{margin-top:8px}.content-body .admin-card .card-body .btn:first-child{margin-top:0}.content-body .reset-system{margin-top:32px;padding:24px;background:#f8f9fa;border:1px solid #f1f3f4;border-radius:12px;text-align:center}.content-body .reset-system .btn{margin-bottom:8px}.content-body .reset-system .reset-warning{margin-top:8px;font-size:14px;color:#dc3545}body.homepage-body{background:#fff}#app{background:#fff;width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.homepage-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #f1f3f4;padding:16px 24px 16px 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px #0000000d}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding-left:24px;padding-right:24px;position:relative}.logo-section{position:absolute;left:16px;display:flex;align-items:center;gap:8px}.logo-icon{font-size:24px;color:#4a90e2}.logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-semantic-text-primary);display:none}.header-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.btn-reward{background:linear-gradient(135deg,#ff6b6b,#ff8787);color:var(--color-neutral-white);border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:all var(--animation-duration-normal);display:flex;align-items:center;gap:var(--spacing-xs)}.btn-reward:hover{background:linear-gradient(135deg,#ff5252,#ff6b6b);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b4d}.btn-reward:active{transform:translateY(0)}.btn-reward i{font-size:1.1em}.user-info{display:flex;align-items:center;gap:16px}.username{color:var(--color-semantic-text-primary);font-weight:var(--font-weight-medium)}.homepage-main{width:100%;height:calc(100vh - 80px);padding:0;margin:0;display:flex;flex-direction:column}.homepage-ai-companion-wrapper{flex:1;width:100%;height:100%;background:#fff;border-radius:0;box-shadow:none;overflow:hidden}.homepage-ai-companion-wrapper .ai-companion-container{height:100%;display:flex;flex-direction:column}.loading-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-semantic-text-secondary)}.loading-spinner{font-size:3rem;color:#4a90e2;animation:spin 1s linear infinite;margin-bottom:16px}.modal-backdrop{display:none}.modal:not(.modal--homepage){display:none}body.modal-open{overflow:auto;padding-right:0}.modal--homepage{display:none!important;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10001}.modal--homepage.show{display:flex!important;align-items:center;justify-content:center}.modal--homepage .modal-mask{display:none!important;opacity:0;pointer-events:none;transition:opacity .2s ease-out}.modal--homepage.show .modal-mask{display:flex!important;opacity:1;pointer-events:auto;animation:modal-fadeIn .2s ease-out}.modal--homepage .modal-wrapper{display:none!important}.modal--homepage.show .modal-wrapper{display:flex!important}.modal--homepage .modal-container{display:none!important;max-width:400px;width:90%;animation:modal-slideUp .3s ease-out;background:#fff;border-radius:20px;padding:32px}.modal--homepage.show .modal-container{display:flex!important;flex-direction:column}.modal--homepage .modal-header{background:transparent;color:inherit;border-bottom:none;padding:0;margin-bottom:24px;position:relative}.modal--homepage .modal-header .close{position:absolute;top:0;right:0;width:32px;height:32px;border-radius:50%;background:var(--color-background-skeleton-base);color:var(--color-semantic-text-secondary);border:none}.modal--homepage .modal-header .close:hover{background:var(--color-background-skeleton-highlight)}.modal--homepage .modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-semantic-text-primary);margin:0}.modal--homepage .modal-body{padding:0}.modal--homepage .form-group{margin-bottom:24px}.modal--homepage input{width:100%;padding:16px;border:2px solid #f1f3f4;border-radius:12px;font-size:16px;transition:border-color var(--animation-transition-normal)}.modal--homepage input:focus{outline:none;border-color:#4a90e2}.modal--homepage .btn-primary{width:100%}.modal--homepage .modal-footer{margin-top:24px;text-align:center;border-top:none;padding:0}.modal--homepage .modal-footer a{color:#4a90e2;text-decoration:none;font-size:14px}.modal--homepage .modal-footer a:hover{text-decoration:underline}.password-hint{margin-top:4px;font-size:12px;padding:4px 8px;border-radius:8px}.password-hint.text-success{background:var(--color-success-light);color:var(--color-success-base)}.password-hint.text-danger{background:var(--color-danger-light);color:var(--color-danger-base)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.alert-danger{background:var(--color-danger-light);color:var(--color-danger-base);border-left:4px solid var(--color-danger-base)}.reward-intro{margin-bottom:24px;padding:16px;background:linear-gradient(135deg,#fff5f5,#ffe0e0);border-radius:12px;border-left:4px solid #ff6b6b}.reward-text{margin:0;color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm);line-height:var(--font-lineHeight-relaxed);display:flex;align-items:center;gap:var(--spacing-xs)}.reward-text i{color:#ff6b6b;font-size:1.2em}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--color-semantic-text-primary);font-size:var(--font-size-sm)}.quick-amounts{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.quick-amount-btn{flex:1;min-width:60px;padding:8px 16px;border:2px solid #f1f3f4;border-radius:12px;transition:all var(--animation-transition-normal)}.quick-amount-btn:hover,.quick-amount-btn.active{border-color:#4a90e2;background:#4a90e2;color:#fff}.payment-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:1050;display:flex;align-items:center;justify-content:center;padding:16px}.payment-modal{background:var(--color-neutral-white);border-radius:16px;box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;z-index:1051;display:flex;flex-direction:column}.payment-modal .modal-header{padding:24px;border-bottom:1px solid var(--color-border-divider);display:flex;align-items:center;justify-content:space-between;background:var(--color-primary-gradient);color:var(--color-neutral-white);border-radius:16px 16px 0 0}.payment-modal .modal-title{font-size:20px;font-weight:600;color:var(--color-neutral-white);margin:0}.payment-modal .modal-close-btn{background:transparent;border:none;color:var(--color-neutral-white);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color var(--animation-duration-fast);line-height:1}.payment-modal .modal-close-btn:hover{background:#fff3}.payment-modal .modal-footer-right{padding:16px 24px;border-top:1px solid var(--color-border-divider);display:flex;flex-direction:row;align-items:center;gap:8px;justify-content:flex-end}.payment-modal .form-label{display:block;font-size:16px;font-weight:600;color:var(--color-semantic-text-primary);margin-bottom:8px}.payment-modal .form-textarea{width:100%;min-height:120px;padding:16px;border:2px solid var(--color-border-light);border-radius:12px;font-size:16px;font-family:inherit;resize:vertical;transition:border-color var(--animation-duration-fast)}.payment-modal .form-textarea:focus{outline:none;border-color:#4a90e2}.payment-modal .status-success{width:64px;height:64px;border-radius:50%;background:var(--color-success-light);color:var(--color-success-base);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 16px}.payment-modal .status-title-success{font-size:20px;font-weight:700;color:var(--color-semantic-text-primary);margin-bottom:8px}.payment-modal-container{max-width:450px}.modal-center{text-align:center}.modal-content-section{margin-bottom:24px}.price-label{font-size:16px;color:var(--color-semantic-text-secondary);margin-bottom:8px;font-weight:400}.price-value{font-size:2.5rem;font-weight:700;color:#4a90e2;margin:16px 0}.price-description{color:var(--color-semantic-text-secondary);font-size:14px;margin-top:8px}.payment-qrcode{display:flex;justify-content:center;margin:24px 0}.payment-qrcode img{max-width:250px;width:100%;height:auto;border:2px solid #f1f3f4;border-radius:12px;padding:8px;background:#fff}.status-text{color:var(--color-semantic-text-secondary);font-size:14px;margin-top:16px}.status-text p{margin:4px 0}.payment-status-message{padding:32px 0}.payment-status-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 16px}.payment-status-success{background:var(--color-success-light);color:var(--color-success-base)}.payment-status-error{background:var(--color-danger-light);color:var(--color-danger-base)}.payment-status-warning{background:var(--color-warning-light);color:var(--color-warning-base)}.payment-status-title{font-size:20px;font-weight:700;margin-bottom:8px}.payment-status-description{color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm)}@media (max-width: 767.98px){.homepage-main{padding:0}.homepage-ai-companion-wrapper{height:100%}.header-actions{gap:8px}.btn span{display:none}.btn{padding:8px;min-width:40px}.btn-reward span{display:none}.quick-amounts{gap:4px}.quick-amount-btn{flex:1;min-width:50px;font-size:12px;padding:4px 8px}.payment-modal-container{max-width:90%}.payment-qrcode img{max-width:200px}}.think-marker{background:linear-gradient(135deg,var(--color-info-light) 0%,var(--color-info-lighter) 100%);border:1px solid var(--color-info-dark);border-left:4px solid var(--color-info-dark);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;font-weight:var(--font-weight-semibold);color:var(--color-info-dark);font-size:var(--font-size-sm)}.answer-marker{background:linear-gradient(135deg,var(--color-success-light) 0%,var(--color-success-lighter) 100%);border:1px solid var(--color-success-base);border-left:4px solid var(--color-success-base);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;font-weight:var(--font-weight-semibold);color:var(--color-success-dark);font-size:var(--font-size-sm)}.ai-companion-container{display:flex;flex-direction:column;height:100%;background:var(--color-neutral-white);position:relative;overflow:hidden}.ai-companion-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;pointer-events:none}.ai-companion-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg, 20px) var(--spacing-lg, 24px);background:#fffffff2}@supports (backdrop-filter: blur(10px)){.ai-companion-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.ai-companion-header{border-bottom:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-lg);position:relative;z-index:10}.header-left{display:none}.header-title{display:flex;align-items:center;gap:var(--spacing-sm, 12px)}.header-title h3{margin:0;color:var(--color-semantic-text-dark);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);background:var(--color-primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-title i{font-size:var(--font-size-3xl);color:var(--color-primary-base)}.status-indicator{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border-base);transition:all var(--animation-duration-normal)}.status-indicator.active{background:var(--color-success-base);box-shadow:0 0 8px #4caf5080}.current-agent{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:var(--font-size-sm);padding:var(--spacing-xs, 6px) var(--spacing-sm, 12px);background:#667eea1a;border-radius:var(--radius-xl);border:1px solid rgba(102,126,234,.2)}.agent-name{font-weight:var(--font-weight-semibold)}.action-group{display:flex;gap:var(--spacing-xs)}.btn-icon{width:40px;height:40px;border-radius:var(--radius-full);border:none;background:#667eea1a;color:var(--color-primary-base);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--animation-transition-normal);font-size:var(--font-size-base);position:relative;overflow:hidden}.btn-icon:active{transform:scale(.95)}.btn-icon:focus-visible{outline:2px solid var(--color-primary-base);outline-offset:2px}.btn-icon:hover{background:#667eea33;transform:translateY(-2px)}.btn-icon.active{background:var(--color-primary-base);color:var(--color-neutral-white)}.agent-selector{background:#fffffff2}@supports (backdrop-filter: blur(10px)){.agent-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.agent-selector{border-bottom:1px solid rgba(255,255,255,.2);padding:var(--spacing-md) var(--spacing-lg, 24px);animation:slideDown var(--animation-duration-normal) ease}.agent-options{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.agent-option{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm, 12px) var(--spacing-md);background:#fffc;border-radius:var(--radius-md);cursor:pointer;transition:all var(--animation-transition-normal);border:2px solid transparent}.agent-option:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.agent-option i{font-size:var(--font-size-lg)}.agent-option span{font-weight:var(--font-weight-semibold);color:var(--color-semantic-text-dark)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.chat-container{flex:1;overflow-y:auto;padding:var(--spacing-lg, 20px) var(--spacing-lg, 24px);display:flex;flex-direction:column;gap:var(--spacing-lg, 20px)}.message-list{padding:var(--spacing-lg, 20px) var(--spacing-lg, 24px);display:flex;flex-direction:column;gap:var(--spacing-lg, 20px)}.empty-chat{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}.welcome-card{border-radius:var(--radius-lg, 24px);padding:var(--spacing-4xl, 40px);text-align:center;max-width:clamp(400px,85vw,1200px);width:100%}.welcome-icon{font-size:var(--font-size-4xl, 80px);color:var(--color-primary-base);margin-bottom:var(--spacing-lg, 24px)}.welcome-content h4{color:var(--color-semantic-text-dark);margin-bottom:var(--spacing-md);font-size:var(--font-size-3xl, 28px);font-weight:var(--font-weight-bold)}.welcome-content p{color:var(--color-neutral-gray-600);margin-bottom:var(--spacing-xl, 32px);font-size:var(--font-size-lg);line-height:var(--font-lineHeight-relaxed)}.quick-actions{margin-bottom:var(--spacing-xl, 32px)}.quick-actions h5{color:var(--color-neutral-gray-700);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-sm, 12px)}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:#667eea1a;border:2px solid transparent;border-radius:var(--radius-xl, 16px);cursor:pointer;transition:all var(--animation-transition-normal);color:var(--color-primary-base)}.quick-action-btn:hover{background:#667eea33;border-color:#667eea4d;transform:translateY(-4px);box-shadow:var(--shadow-primary-md)}.quick-action-btn i{font-size:var(--font-size-2xl)}.quick-action-btn span{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.example-questions h5{color:var(--color-neutral-gray-700);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.question-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 12px);justify-content:center}.question-chip{padding:var(--spacing-sm, 12px) var(--spacing-lg, 20px);background:#fffc;border:1px solid rgba(102,126,234,.2);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--animation-transition-normal);color:var(--color-neutral-gray-700);font-size:var(--font-size-sm)}.question-chip:hover{background:#667eea1a;border-color:var(--color-primary-base);transform:translateY(-2px);box-shadow:0 8px 25px #667eea26}.header-actions{display:flex;flex-direction:row;gap:var(--spacing-xs);align-items:center;flex-wrap:nowrap}.ai-companion-header .header-actions .btn-icon{width:auto;min-width:44px;min-height:44px;height:44px;padding:0 var(--spacing-sm, 12px);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-xs, 6px);white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-primary-base)}.ai-companion-header .header-actions .btn-icon i{flex-shrink:0;font-size:var(--font-size-base);display:inline-block;opacity:1;visibility:visible;line-height:1;color:inherit}.ai-companion-header .header-actions .btn-icon .btn-label{font-size:var(--font-size-sm, 13px);font-weight:var(--font-weight-medium);display:inline-block;opacity:1;visibility:visible;line-height:1;margin:0;padding:0;color:inherit}.header-actions .btn-icon.active{background:#667eea33;color:var(--color-primary-base)}.status-message{display:flex;align-items:center;gap:var(--spacing-sm, 12px);padding:var(--spacing-sm, 12px) var(--spacing-md);background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:var(--radius-md);margin:var(--spacing-xs) 0}.status-indicator{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.spinner{width:16px;height:16px;border:2px solid rgba(102,126,234,.3);border-top:2px solid var(--color-primary-base);border-radius:50%;animation:spin var(--animation-duration-normal) linear infinite}.status-text{color:var(--color-primary-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);flex:1}.message.status{background:#667eea0d;border-left:4px solid var(--color-primary-base);margin:var(--spacing-xs) 0}.message.status .message-avatar{background:#667eea1a;color:var(--color-primary-base)}.message.status .message-content{padding:var(--spacing-xs) 0}.message-sources{margin-top:var(--spacing-sm, 12px);padding:var(--spacing-sm, 12px) var(--spacing-md);background:linear-gradient(135deg,#667eea14,#667eea0d);border:1px solid rgba(102,126,234,.2);border-radius:var(--radius-md);border-left:4px solid var(--color-primary-base)}.sources-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm, 10px);font-size:var(--font-size-sm, 13px);font-weight:var(--font-weight-semibold);color:var(--color-primary-base)}.sources-header i{font-size:var(--font-size-base)}.sources-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.source-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm, 12px);background:#ffffffb3;border-radius:var(--radius-sm);font-size:var(--font-size-sm, 13px);transition:all var(--animation-transition-fast);cursor:pointer}.source-item:hover{background:#ffffffe6;transform:translate(2px);box-shadow:0 2px 8px #667eea26}.source-item:focus-visible{outline:2px solid var(--color-primary-base);outline-offset:2px}.source-item i{color:var(--color-danger-base);font-size:var(--font-size-sm);flex-shrink:0}.source-filename{flex:1;color:var(--color-semantic-text-dark);font-weight:var(--font-weight-medium);word-break:break-all}.source-meta{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.source-page{color:var(--color-success-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 6px;background:#28a7451a;border-radius:var(--radius-xs)}.source-score{color:var(--color-primary-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.source-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009}@supports (backdrop-filter: blur(4px)){.source-preview-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.source-preview-modal{display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn var(--animation-transition-fast) ease}.source-preview-content{background:var(--color-neutral-white);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp var(--animation-duration-normal) ease}.source-preview-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg, 20px) var(--spacing-lg, 24px);border-bottom:1px solid var(--color-border-base, var(--color-neutral-gray-200));background:linear-gradient(135deg,var(--color-neutral-gray-50) 0%,var(--color-neutral-gray-200) 100%);border-radius:var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0}.source-preview-header h4{margin:0;color:var(--color-semantic-text-dark);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-sm, 10px)}.source-preview-header h4 i{color:var(--color-danger-base);font-size:var(--font-size-xl)}.source-preview-header .close-btn{background:transparent;border:none;font-size:var(--font-size-2xl);color:var(--color-neutral-gray-600);cursor:pointer;padding:var(--spacing-xs, 4px) var(--spacing-xs);border-radius:var(--radius-xs);transition:all var(--animation-transition-fast);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.source-preview-header .close-btn:hover{background:#6c757d1a;color:var(--color-neutral-gray-700)}.source-preview-body{padding:var(--spacing-lg, 24px);overflow-y:auto;flex:1}.snippets-list{display:flex;flex-direction:column;gap:var(--spacing-lg, 20px)}.snippet-item{border:1px solid var(--color-border-base, var(--color-neutral-gray-200));border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--color-neutral-gray-50);transition:all var(--animation-transition-fast)}.snippet-item:hover{border-color:var(--color-primary-base);box-shadow:0 4px 12px #667eea26}.snippet-header{display:flex;align-items:center;gap:var(--spacing-sm, 12px);margin-bottom:var(--spacing-sm, 12px);padding-bottom:var(--spacing-sm, 12px);border-bottom:1px solid var(--color-border-base, #dee2e6)}.snippet-number{font-weight:var(--font-weight-semibold);color:var(--color-neutral-gray-700);font-size:var(--font-size-sm)}.snippet-page{color:var(--color-success-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs, 2px) var(--spacing-xs);background:#28a7451a;border-radius:var(--radius-xs)}.snippet-score{color:var(--color-primary-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-left:auto}.snippet-content{color:var(--color-semantic-text-dark);font-size:var(--font-size-sm);line-height:var(--font-lineHeight-relaxed, 1.7);background:var(--color-neutral-white);padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-border-base, var(--color-neutral-gray-200))}.no-snippets{text-align:center;padding:var(--spacing-4xl, 40px);color:var(--color-neutral-gray-600)}@media (max-width: 768px){.source-preview-content{width:95%;max-height:90vh}.source-preview-header{padding:var(--spacing-md) var(--spacing-lg, 20px)}.source-preview-body{padding:var(--spacing-md)}}.message-skeleton{display:flex;gap:16px;margin-bottom:20px;animation:skeletonPulse 1.5s ease-in-out infinite}.message-skeleton .skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--color-neutral-gray-200) 25%,var(--color-neutral-gray-100) 50%,var(--color-neutral-gray-200) 75%)}.main-content-wrapper{display:flex;flex:1;position:relative;overflow:hidden}.chat-container{flex:1;overflow-y:auto;transition:margin-right .3s ease}.chat-container.with-blackboard{margin-right:1020px}.blackboard-panel{position:absolute;right:0;top:0;bottom:0;width:1000px;background:var(--color-neutral-white);box-shadow:-4px 0 16px #0000001a;z-index:50;display:flex;flex-direction:column;overflow:hidden;animation:slideInFromRight .3s ease;border-left:1px solid var(--color-border-base, var(--color-neutral-gray-200))}@media (min-width: 769px) and (max-width: 1024px){.blackboard-panel{width:60%;max-width:800px;min-width:600px}.chat-container.with-blackboard{margin-right:clamp(620px,60% + 20px,820px)}}.image-generating-hint{display:flex;align-items:center;gap:var(--spacing-sm, 12px);padding:var(--spacing-sm, 12px) var(--spacing-md);margin-top:var(--spacing-sm, 12px);background:linear-gradient(135deg,#667eea1a,#667eea0d);border:1px solid rgba(102,126,234,.2);border-radius:var(--radius-md);animation:fadeIn var(--animation-duration-normal) ease}.generating-spinner{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--color-primary-base);animation:spin var(--animation-duration-normal) linear infinite}.generating-spinner i{font-size:var(--font-size-xl)}.generating-text{color:var(--color-primary-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);flex:1}@media (max-width: 768px){.blackboard-panel{width:100%;left:0;right:0;z-index:100;box-shadow:0 -4px 16px #00000026}.chat-container.with-blackboard{margin-right:0}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.tool-calls{margin-bottom:var(--spacing-md);border:1px solid rgba(102,126,234,.2);border-radius:var(--radius-md);background:#667eea0d;overflow:hidden}.tool-calls-header{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm, 12px) var(--spacing-md);background:#667eea1a;border-bottom:1px solid rgba(102,126,234,.2);font-weight:var(--font-weight-semibold);color:var(--color-primary-base);font-size:var(--font-size-sm)}.tool-calls-header i{font-size:var(--font-size-base)}.tool-calls-content{padding:var(--spacing-md);background:#fffc}.tool-call-item{margin-bottom:var(--spacing-md);border:1px solid rgba(102,126,234,.2);border-radius:var(--radius-sm);background:#ffffffe6;overflow:hidden;transition:all var(--animation-transition-normal)}.tool-call-item:last-child{margin-bottom:0}.tool-call-item.calling{border-color:var(--color-warning-base);background:#ffa5000d;animation:pulse var(--animation-duration-slow, 1.5s) ease-in-out infinite}.tool-call-item.completed{border-color:var(--color-success-base);background:#28a7450d}.tool-call-item.error{border-color:var(--color-danger-base);background:#dc35450d}.tool-calls-status{margin-bottom:var(--spacing-sm, 12px);margin-top:var(--spacing-xs)}.tool-call-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm, 12px) var(--spacing-md);background:#667eea1a;border-bottom:1px solid rgba(102,126,234,.2);margin-bottom:var(--spacing-xs, 4px)}.tool-call-icon{color:var(--color-primary-base);font-size:var(--font-size-sm)}.tool-call-name{font-weight:var(--font-weight-semibold);color:var(--color-semantic-text-primary);font-size:var(--font-size-sm);flex:1}.tool-call-spinner{color:var(--color-warning-base);animation:spin var(--animation-duration-normal) linear infinite}.tool-call-check{color:var(--color-success-base)}.tool-call-error{color:var(--color-danger-base)}.tool-call-message{font-size:var(--font-size-sm, 13px);color:var(--color-semantic-text-secondary);margin-left:var(--spacing-lg, 22px)}.tool-name{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary-base);font-size:var(--font-size-sm)}.tool-name i{font-size:var(--font-size-base)}.tool-status{display:flex;align-items:center;gap:var(--spacing-xs, 6px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-calling{color:var(--color-warning-base)}.status-calling i{animation:spin var(--animation-duration-normal) linear infinite}.status-completed{color:var(--color-success-base)}.status-error{color:var(--color-danger-base)}.tool-arguments{margin:var(--spacing-sm, 12px) var(--spacing-md);border:1px solid rgba(102,126,234,.2);border-radius:var(--radius-xs, 6px);background:#667eea0d}.arguments-header{display:flex;align-items:center;gap:var(--spacing-xs, 6px);padding:var(--spacing-xs) var(--spacing-sm, 12px);background:#667eea1a;border-bottom:1px solid rgba(102,126,234,.2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary-base)}.arguments-content{padding:var(--spacing-sm, 12px)}.arguments-content pre{margin:0;font-size:var(--font-size-xs);line-height:var(--font-lineHeight-tight);color:var(--color-neutral-gray-700);background:#fffc;border:1px solid rgba(102,126,234,.1);border-radius:var(--radius-xs);padding:var(--spacing-xs);overflow-x:auto}.tool-result{margin:var(--spacing-sm, 12px) var(--spacing-md);border:1px solid rgba(40,167,69,.2);border-radius:var(--radius-xs, 6px);background:#28a7450d}.result-header{display:flex;align-items:center;gap:var(--spacing-xs, 6px);padding:var(--spacing-xs) var(--spacing-sm, 12px);background:#28a7451a;border-bottom:1px solid rgba(40,167,69,.2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success-base)}.result-content{padding:var(--spacing-sm, 12px);font-size:var(--font-size-sm, 13px);line-height:var(--font-lineHeight-normal);color:var(--color-neutral-gray-700);background:#fffc}.result-content code{background:#28a7451a;color:var(--color-success-base);padding:var(--spacing-xs, 2px) var(--spacing-xs, 6px);border-radius:var(--radius-xs);font-family:Fira Code,Courier New,monospace;font-size:.9em}.result-content pre{background:#0000000d;padding:var(--spacing-xs);border-radius:var(--radius-xs);overflow-x:auto;margin:var(--spacing-xs) 0;border:1px solid rgba(0,0,0,.1)}.result-content pre code{background:none;padding:0;border-radius:0}.tool-timing{padding:var(--spacing-xs) var(--spacing-md);background:#667eea0d;border-top:1px solid rgba(102,126,234,.2);color:var(--color-neutral-gray-600);font-size:var(--font-size-xs, 11px)}.tool-timing i{margin-right:var(--spacing-xs, 4px)}.blackboard-container{display:flex;flex-direction:column;height:100%;background:var(--color-neutral-white);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.blackboard-header{display:flex;align-items:center;justify-content:flex-end;padding:var(--spacing-md) 20px;background:var(--color-primary-gradient);color:var(--color-neutral-white);border-bottom:1px solid rgba(255,255,255,.2);flex-shrink:0;min-height:64px;gap:12px}.blackboard-header h3{margin:0;display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;flex-shrink:0;white-space:nowrap}.image-count{font-size:14px;opacity:.9;font-weight:400}.blackboard-controls{display:flex;flex-direction:row;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;min-width:0;width:100%}.blackboard-header .blackboard-controls .btn-icon{background:#fff3;border:none;color:var(--color-neutral-white);width:auto;min-width:32px;height:32px;padding:0 var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-xs);transition:all var(--animation-duration-fast);font-size:var(--font-size-sm);white-space:nowrap;flex-shrink:0}.blackboard-header .blackboard-controls .btn-icon i{font-size:var(--font-size-base);flex-shrink:0;color:var(--color-neutral-white)}.blackboard-header .blackboard-controls .btn-icon .btn-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);opacity:.95;display:inline-block;color:var(--color-neutral-white)}.blackboard-header .blackboard-controls .btn-icon:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px)}.blackboard-header .blackboard-controls .btn-icon:disabled{opacity:.5;cursor:not-allowed}.blackboard-header .blackboard-controls .btn-icon.active{background:#fff6;box-shadow:0 2px 8px #0003}.control-divider{width:1px;height:24px;background:#ffffff4d;margin:0 4px}.blackboard-content{flex:1;position:relative;overflow:hidden;background:var(--color-neutral-white);min-height:300px}.blackboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;color:var(--color-neutral-gray-600);gap:16px;padding:40px;position:relative}.empty-icon{font-size:64px;opacity:.5;color:var(--color-neutral-gray-500)}.blackboard-empty p{margin:0;font-size:16px}.empty-hint{font-size:13px;opacity:.7;text-align:center;max-width:300px}.blackboard-viewport{width:100%;height:100%;position:relative;overflow:auto;cursor:grab;background:var(--color-neutral-white)}.blackboard-viewport.panning{cursor:grabbing}.blackboard-viewport.drawing{cursor:crosshair}.blackboard-image-wrapper{position:absolute;top:50%;left:50%;transform-origin:center center;transition:transform .05s ease-out;border:2px solid transparent;border-radius:8px;padding:8px;background:var(--color-neutral-white);box-shadow:0 4px 12px #00000026;cursor:grab;max-width:calc(100% - 32px);box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.blackboard-image-wrapper:active{cursor:grabbing}.blackboard-viewport.panning .blackboard-image-wrapper{transition:none}.image-container{position:relative;display:block;max-width:100%;width:100%;box-sizing:border-box}.blackboard-image-wrapper.active{border-color:var(--color-primary-base);box-shadow:0 6px 20px #667eea4d}.blackboard-image{max-width:100%;max-height:calc(100vh - 200px);width:auto;height:auto;display:block;-webkit-user-select:none;user-select:none;pointer-events:none;border-radius:4px;object-fit:contain}.drawing-canvas{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair;pointer-events:auto;border-radius:4px;z-index:10}.blackboard-image-wrapper.drawing-active .image-overlay{pointer-events:none;opacity:0}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;flex-direction:column;justify-content:space-between;padding:12px;opacity:0;transition:opacity .2s ease;border-radius:6px;pointer-events:none}.blackboard-image-wrapper:hover .image-overlay{opacity:1;pointer-events:auto}.image-info{color:var(--color-neutral-white);font-size:12px}.image-name{font-weight:600;display:block;margin-bottom:4px}.image-description{opacity:.9;font-size:11px;line-height:1.4}.image-actions{display:flex;gap:8px;justify-content:flex-end}.btn-small{background:#fff3;border:none;color:var(--color-neutral-white);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:14px}.btn-small:hover{background:#ffffff4d;transform:scale(1.1)}.btn-small.btn-danger:hover{background:#dc3545cc}.image-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-danger-base);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;background:#ffffffe6;padding:16px;border-radius:8px}.image-error i{font-size:24px}.blackboard-thumbnails{display:flex;gap:8px;padding:12px;background:var(--color-neutral-gray-50);border-top:1px solid var(--color-border-divider);overflow-x:auto;flex-shrink:0}.blackboard-thumbnails::-webkit-scrollbar{height:6px}.blackboard-thumbnails::-webkit-scrollbar-track{background:var(--color-neutral-gray-200);border-radius:3px}.blackboard-thumbnails::-webkit-scrollbar-thumb{background:var(--color-neutral-gray-500);border-radius:3px}.blackboard-thumbnails::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-gray-500)}.thumbnail-item{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease;flex-shrink:0;background:var(--color-neutral-white)}.thumbnail-item:hover{border-color:var(--color-primary-base);transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.thumbnail-item.active{border-color:var(--color-primary-base);box-shadow:0 4px 12px #667eea66}.thumbnail-item img{width:100%;height:100%;object-fit:cover}.thumbnail-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.thumbnail-item:hover .thumbnail-overlay{opacity:1}.thumbnail-number{color:var(--color-neutral-white);font-weight:600;font-size:18px}.thumbnail-remove{position:absolute;top:4px;right:4px;background:#dc3545e6;border:none;color:var(--color-neutral-white);width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;opacity:0;transition:opacity .2s ease}.thumbnail-item:hover .thumbnail-remove{opacity:1}.thumbnail-remove:hover{background:#dc3545;transform:scale(1.1)}@media (min-width: 769px) and (max-width: 1024px){.blackboard-header{padding:14px 18px}.blackboard-controls{gap:4px}.blackboard-header .blackboard-controls .btn-icon{padding:0 6px;min-width:28px;height:28px;font-size:13px}.blackboard-header .blackboard-controls .btn-icon .btn-label{font-size:11px}.blackboard-image{max-height:calc(100vh - 180px)}}@media (max-width: 768px){.blackboard-header{padding:12px 16px;flex-wrap:wrap;gap:8px;min-height:auto}.blackboard-header h3{font-size:16px;width:100%;margin-bottom:8px}.blackboard-controls{width:100%;justify-content:flex-start;gap:4px}.blackboard-header .blackboard-controls .btn-icon{padding:0 6px;min-width:28px;height:28px;font-size:12px}.blackboard-header .blackboard-controls .btn-icon .btn-label{display:none}.control-divider{height:20px;margin:0 2px}.blackboard-content{min-height:250px}.blackboard-image{max-width:95vw;max-height:calc(100vh - 240px)}.blackboard-empty{padding:30px 20px}.empty-icon{font-size:48px}.blackboard-empty p{font-size:14px}.blackboard-thumbnails{padding:8px;gap:6px}.thumbnail-item{width:60px;height:60px}}@media (max-width: 480px){.blackboard-header{padding:10px 12px;gap:6px}.blackboard-controls{gap:3px}.blackboard-header .blackboard-controls .btn-icon{padding:0 4px;min-width:24px;height:24px}.blackboard-header .blackboard-controls .btn-icon i{font-size:14px}.blackboard-image{max-width:98vw;max-height:calc(100vh - 220px)}.thumbnail-item{width:50px;height:50px}}.study-plan-container{width:100%;height:100%;display:flex;flex-direction:column;background:var(--color-background-primary);padding:0;margin:0}.control-bar{background:var(--color-neutral-white);border-bottom:1px solid var(--color-border-base);padding:var(--spacing-sm) var(--spacing-md);box-shadow:0 1px 2px #0000000d;flex-shrink:0;position:sticky;top:0;z-index:100}.control-bar-content{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:100%}.control-bar-section{display:flex;align-items:center;gap:8px;flex-shrink:0}.control-bar-section.config-section{flex:1;justify-content:center;min-width:0}.control-bar-section.actions-section{justify-content:flex-end}.control-bar .btn{height:32px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:400;border-radius:var(--radius-sm);transition:all .15s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent}.control-bar .btn i{font-size:var(--font-size-sm);line-height:1}.control-bar .btn.active{background:var(--color-primary-base);color:var(--color-neutral-white);border-color:var(--color-primary-base);font-weight:500}.control-bar .btn-outline-secondary{background:var(--color-neutral-white);color:var(--color-neutral-gray-700);border-color:var(--color-border-base)}.control-bar .btn-outline-secondary:hover:not(.active){background:var(--color-neutral-gray-50);border-color:var(--color-border-base);color:var(--color-neutral-gray-800)}.control-bar .btn-outline-primary{background:var(--color-neutral-white);color:var(--color-primary-base);border-color:var(--color-primary-base)}.control-bar .btn-outline-primary:hover:not(.active){background:var(--color-primary-light);border-color:var(--color-primary-base);color:var(--color-primary-base)}.control-bar .btn-primary{background:var(--color-primary-base);color:var(--color-neutral-white);border-color:var(--color-primary-base)}.control-bar .btn-primary:hover:not(.active){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-neutral-white)}.control-bar .btn:focus{outline:none;box-shadow:0 0 0 3px #3370ff1a}.control-bar .btn:disabled{opacity:.5;cursor:not-allowed}.main-content-wrapper{flex:1;display:flex;overflow:hidden;position:relative}.study-plan-content{flex:1;overflow-y:auto;padding:24px;transition:margin-right .3s ease}.study-plan-content.with-side-panel{margin-right:400px}.side-panel{position:fixed;right:0;top:0;width:400px;height:100vh;background:var(--color-neutral-white);border-left:1px solid var(--color-border-base);box-shadow:var(--shadow-md);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.side-panel-content{display:flex;flex-direction:column;height:100%;width:100%}.side-panel-header{padding:var(--spacing-md) 20px;border-bottom:1px solid var(--color-border-base);background:var(--color-neutral-white);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.side-panel-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-semantic-text-dark);display:flex;align-items:center;gap:var(--spacing-sm)}.side-panel-body{flex:1;overflow-y:auto;padding:var(--spacing-md)}.side-panel-footer{padding:var(--spacing-md) 20px;border-top:1px solid var(--color-border-base);background:var(--color-neutral-white);display:flex;justify-content:flex-end;gap:var(--spacing-sm);flex-shrink:0}.schedule-calendar{width:100%;background:var(--color-neutral-white);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.calendar-header{background:var(--color-background-tertiary);border-bottom:2px solid var(--color-border-base);padding:12px 0}.weekday-labels{display:grid;grid-template-columns:120px repeat(7,1fr);gap:8px;padding:0 16px}.weekday-label{text-align:center;font-weight:600;color:var(--color-semantic-text-dark);font-size:var(--font-size-sm);padding:8px}.weekday-label:first-child{text-align:left}.weekday-date{font-size:var(--font-size-xs);color:var(--color-neutral-gray-600);font-weight:400;margin-top:4px}.calendar-body{padding:8px}.time-row{display:grid;grid-template-columns:120px repeat(7,1fr);gap:8px;margin-bottom:8px;min-height:80px}.time-slot{padding:8px;background:#f8f9fa;border:1px solid #e3e8f0;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-neutral-gray-600);position:relative}.time-slot.editing{background:#e7f3ff;border-color:var(--color-semantic-mention-primary)}.time-display{display:flex;align-items:center;justify-content:space-between;width:100%}.time-edit-btn{opacity:0;transition:opacity .2s}.time-slot:hover .time-edit-btn{opacity:1}.time-edit-container{width:100%;display:flex;flex-direction:column;gap:8px}.time-edit-inputs{display:flex;align-items:center;gap:4px}.time-edit-input{flex:1;padding:4px 8px;border:1px solid #e3e8f0;border-radius:var(--radius-xs);font-size:var(--font-size-xs)}.time-separator{padding:0 4px}.time-edit-actions{display:flex;gap:4px;justify-content:flex-end}.schedule-cell{position:relative;min-height:80px;padding:4px;border:1px solid #e3e8f0;border-radius:var(--radius-xs);background:#fff}.schedule-item-calendar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px;border-radius:var(--radius-xs);cursor:pointer;transition:all .2s;height:100%;display:flex;flex-direction:column;justify-content:space-between}.schedule-item-calendar:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.schedule-subject{font-weight:600;font-size:var(--font-size-sm);margin-bottom:4px}.schedule-teacher{font-size:var(--font-size-xs);opacity:.9}.schedule-actions-calendar{display:flex;gap:4px;margin-top:4px;opacity:0;transition:opacity .2s}.schedule-item-calendar:hover .schedule-actions-calendar{opacity:1}.empty-schedule-cell{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-neutral-gray-500);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s;border:2px dashed #e3e8f0;border-radius:var(--radius-xs)}.empty-schedule-cell:hover{background:#f8f9fa;border-color:var(--color-semantic-mention-primary);color:var(--color-semantic-mention-primary)}.empty-schedule-cell.non-edit-mode{cursor:default;border:none}.empty-schedule-cell.non-edit-mode:hover{background:transparent;border-color:transparent;color:var(--color-neutral-gray-500)}.add-course-text{margin-top:4px}.tasks-container-below{margin-top:4px;display:flex;flex-direction:column;gap:4px}.task-item-schedule-below{background:#fff3cd;border:1px solid var(--color-warning-base);border-radius:var(--radius-xs);padding:4px 8px;font-size:11px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.task-item-schedule-below:hover{background:#ffeaa7;transform:translate(2px)}.task-item-schedule-below.task-priority-high{background:#f8d7da;border-color:var(--color-danger-base)}.task-item-schedule-below.task-priority-medium{background:#fff3cd;border-color:var(--color-warning-base)}.task-item-schedule-below.task-priority-low{background:#d1ecf1;border-color:var(--color-info-base)}.task-item-schedule-below.task-completed{opacity:.6;text-decoration:line-through}.task-content{flex:1;min-width:0}.task-title{font-weight:500;color:var(--color-semantic-text-dark);margin-bottom:2px}.task-subject{font-size:10px;color:var(--color-neutral-gray-600)}.task-completion-badge{margin-left:4px}.task-actions-calendar{display:flex;gap:4px;opacity:0;transition:opacity .2s}.task-item-schedule-below:hover .task-actions-calendar{opacity:1}.subject-form-container{margin-bottom:20px}.subject-form-input-group{display:flex;gap:8px}.subject-form-input-group .form-input{flex:1;padding:8px 12px;border:1px solid #e3e8f0;border-radius:var(--radius-xs)}.subject-list-section{margin-top:20px}.subject-list-title{font-size:16px;font-weight:600;margin-bottom:12px;color:var(--color-semantic-text-dark)}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm)}.subject-item{background:#f8f9fa;border:1px solid #e3e8f0;border-radius:var(--radius-sm);padding:12px;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.subject-item:hover{background:#e9ecef;border-color:var(--color-semantic-mention-primary)}.subject-item-default{background:#e7f3ff;border-color:var(--color-semantic-mention-primary)}.subject-item-info{display:flex;flex-direction:column;gap:4px}.subject-name{font-weight:500;color:var(--color-semantic-text-dark)}.subject-default-badge{font-size:10px;color:var(--color-semantic-mention-primary);background:#fff;padding:2px 6px;border-radius:10px;width:fit-content}.form-label-bold{font-weight:600;font-size:var(--font-size-sm);color:var(--color-semantic-text-dark);margin-bottom:12px;display:block}.export-format-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-bottom:12px}.export-format-grid>div{display:flex;align-items:center;padding:12px;border:2px solid #e3e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.export-format-grid>div:hover{border-color:var(--color-semantic-mention-primary);background:#f0f5ff}.export-format-grid input[type=radio]{margin-right:8px;cursor:pointer}.export-format-grid input[type=radio]:checked+label,.export-format-grid input[type=radio]:checked~label{color:var(--color-semantic-mention-primary);font-weight:600}.export-format-grid label{cursor:pointer;margin:0;flex:1;display:flex;align-items:center}.format-description{font-size:var(--font-size-xs);color:var(--color-neutral-gray-600);margin-top:8px;padding:8px;background:#f8f9fa;border-radius:var(--radius-xs)}.form-input{width:100%;padding:8px 12px;border:1px solid #e3e8f0;border-radius:var(--radius-xs);font-size:var(--font-size-sm);transition:all .2s}.form-input:focus{outline:none;border-color:var(--color-semantic-mention-primary);box-shadow:0 0 0 3px #3370ff1a}.filename-preview{font-size:var(--font-size-xs);color:var(--color-neutral-gray-600);margin-top:8px;padding:8px;background:#f8f9fa;border-radius:var(--radius-xs)}.export-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.export-preview-item{padding:12px;background:#f8f9fa;border-radius:var(--radius-sm);display:flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-semantic-text-dark)}.export-message{padding:12px;border-radius:var(--radius-sm);margin-top:16px;display:flex;align-items:center;font-size:var(--font-size-sm)}.export-message-success{background:#d1f2eb;color:var(--color-info-dark);border:1px solid var(--color-success-base)}.export-message-error{background:#fde8e8;color:var(--color-danger-dark);border:1px solid #ff4d4f}.milestone-item{background:#f8f9fa;border-radius:var(--radius-xs);padding:4px}@media (max-width: 1200px){.study-plan-content.with-side-panel{margin-right:0}.side-panel{width:100%;max-width:400px}}@media (max-width: 1200px){.control-bar-section.config-section{flex:0 1 auto}}@media (max-width: 1198.98px){.control-bar{padding:10px 16px}.control-bar-content{gap:var(--spacing-sm)}.control-bar-section{gap:6px}.control-bar .btn{font-size:var(--font-size-xs);padding:5px 10px;height:30px}.control-bar .btn i{font-size:13px}}@media (max-width: 768px){.control-bar{padding:10px 12px}.control-bar-content{flex-direction:column;align-items:stretch;gap:10px}.control-bar-section{width:100%;justify-content:flex-start;flex-wrap:wrap}.control-bar-section.config-section,.control-bar-section.actions-section{justify-content:flex-start}.control-bar .btn{flex:0 1 auto;min-width:auto}.weekday-labels{grid-template-columns:80px repeat(7,1fr);font-size:var(--font-size-xs)}.time-row{grid-template-columns:80px repeat(7,1fr)}.side-panel{width:100%;max-width:100%}}@media (max-width: 480px){.control-bar .btn{font-size:11px;padding:4px 8px;height:28px}.control-bar .btn i{font-size:var(--font-size-xs)}}.progress-height-6{height:6px}.stat-card-text{font-size:.85rem;white-space:nowrap;margin:0}.side-panel-body .tab-content{display:block}.goals-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.goal-item{width:100%}.exam-grid-container,.exam-list-container{width:100%;max-width:100%;height:100%;overflow-y:auto;box-sizing:border-box;display:block}.exam-group-container{width:100%;margin-bottom:24px;padding:16px;border:1px solid #e3e8f0;border-radius:12px;background:#fffbf0;box-sizing:border-box}.exam-grid-container .mb-4.p-3.border.rounded.bg-light{display:block;width:100%;max-width:100%;margin-bottom:24px;margin-left:0;margin-right:0;padding:16px;border:1px solid #e3e8f0;border-radius:12px;background:#fffbf0;box-sizing:border-box}.exam-grid-container .mb-4.p-3.border.rounded.bg-light>.d-flex{width:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center;box-sizing:border-box}.group-title{font-weight:700;font-size:18px;margin-right:16px;color:#495057}.font-size-13{font-size:13px!important}.font-size-15{font-size:15px!important}.font-size-16{font-size:16px!important}.font-size-18{font-size:18px!important}.group-row{transition:background var(--animation-transition-fast);border-radius:8px;cursor:pointer}.group-row:hover{background:#f1f3f5}.session-id-text{font-size:12px;color:#6c757d}.exam-group-header{display:flex;align-items:center;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #e3e8f0}.exam-group-title{font-weight:700;font-size:18px;margin-right:16px;color:#495057}.exam-group-subject{font-size:14px;color:#6c757d;display:flex;align-items:center;gap:4px;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background var(--animation-transition-fast)}.exam-group-subject:hover{background:#f1f3f5}.exam-group-subject .bi{font-size:12px}.exam-group-date{margin-left:auto;font-size:12px;color:#6c757d}.exam-list-container .group-row{padding:16px 24px;margin:0}.exam-list-container .group-row .session-id-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}@media (max-width: 768px){.exam-library-container .header-actions{flex-direction:column;align-items:stretch;gap:16px}.exam-library-container .header-actions .d-flex{justify-content:center;flex-wrap:wrap;gap:8px}.exam-list-container .group-row{flex-wrap:wrap;gap:4px}.exam-list-container .group-row .session-id-text{max-width:100%}}.essay-grading-container{padding:16px;background:#fff;width:100%;flex:1;min-height:0;box-sizing:border-box;display:flex;flex-direction:column}.upload-area{border:2px dashed #e3e8f0;border-radius:8px;padding:32px;text-align:center;cursor:pointer;background-color:#f8f9fa;transition:all var(--animation-transition-normal)}.upload-area:hover{border-color:#4a90e2;background-color:#667eea0d}.upload-icon{font-size:2.25rem;color:#adb5bd;margin-bottom:8px}.upload-text{font-size:16px;color:#6c757d;margin-bottom:4px;font-weight:500}.upload-hint{font-size:12px;color:#adb5bd}.image-selection-container{max-width:300px;margin:0 auto;position:relative;display:inline-block}.image-wrapper{position:relative;display:inline-block}.image-selection-container img{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:auto;display:block;max-width:100%;height:auto}.cursor-crosshair{cursor:crosshair}.selection-box{position:absolute!important;border:3px solid var(--color-danger-base)!important;background-color:#dc35454d!important;pointer-events:none!important;z-index:9999!important;min-width:10px!important;min-height:10px!important}.selection-info{position:absolute;top:-25px;left:0;background-color:#4a90e2;color:#fff;padding:2px 6px;font-size:12px;border-radius:3px;white-space:nowrap}.allow-text-selection{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.recognition-result{animation:slideInDown .5s ease-out}.manual-selection{animation:slideInUp .5s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.essay-chatbar{position:fixed;left:300px;right:24px;bottom:16px;z-index:900}.essay-chatbar-inner{display:flex;align-items:center;gap:8px;background:#fffffff5;border:1px solid #e3e8f0;border-radius:12px;padding:10px 12px;box-shadow:0 8px 24px #0000002e}.essay-chatbar-inner input[type=text]{flex:1;border:none;outline:none;background:transparent}.essay-chatbar-inner button{border:none;background:#4a90e2;color:#fff;border-radius:10px;padding:8px 12px;cursor:pointer}.essay-chatbar-inner button[disabled]{background:#adb5bd;cursor:not-allowed}.essay-chat-list{max-height:50vh;overflow-y:auto;padding-right:6px;padding-bottom:72px}.essay-chat-row{display:flex;align-items:flex-end;margin:10px 0}.essay-chat-row.left{flex-direction:row}.essay-chat-row.right{flex-direction:row-reverse}.essay-chat-row .avatar{width:32px;height:32px;border-radius:50%;margin:0 8px}.essay-chat-row .bubble{max-width:70%;background:#f1f3f5;border-radius:12px;padding:10px 12px;box-shadow:0 1px 3px #0000001f}.essay-chat-row.right .bubble{background:#667eea1a}.essay-chat-row .time{font-size:12px;color:#adb5bd;margin-top:6px;text-align:right}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#4a90e2;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.detail-grid{display:grid;grid-template-columns:1fr;gap:24px}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.detail-title{font-weight:600;color:#495057}.detail-score{display:flex;align-items:baseline}.score-value{font-size:24px;font-weight:700;color:#4a90e2;margin-right:4px}.content-comparison{border-left:4px solid #4A90E2;background-color:#667eea0d}.content-original{border-left:4px solid #e3e8f0;background-color:#f8f9fa}@media (min-width: 768px){.detail-grid{grid-template-columns:1fr 1fr;gap:24px}.detail-grid .detail-card:first-child{grid-column:1;min-height:300px}.detail-grid .detail-card:nth-child(2){grid-column:2;min-height:300px;flex:1}.detail-grid .detail-card.chat-span-2{grid-column:1/span 2}}@media (min-width: 1024px){.detail-grid{gap:32px;grid-template-columns:1fr 1fr}.detail-card{padding:24px}.detail-grid .detail-card:nth-child(2){width:100%;max-width:none}}@media (min-width: 1280px){.detail-grid{gap:40px;grid-template-columns:1fr 1fr}.detail-card{padding:32px}}@media (max-width: 767px){.detail-grid{grid-template-columns:1fr;gap:16px}.detail-card{padding:16px}}@media (max-width: 1600px){.essay-chatbar{left:280px;right:16px}}@media (max-width: 1200px){.essay-chatbar{left:16px;right:16px}}@media (max-width: 768px){.essay-chatbar-inner{flex-direction:column;gap:8px}}.wrong-book-analysis-panel .result-header{padding:.75rem;background:var(--color-primary-gradient);border-radius:10px;margin-bottom:1.25rem;box-shadow:var(--shadow-primary-sm)}.wrong-book-analysis-panel .result-header .row{gap:.5rem;margin:0}.wrong-book-analysis-panel .result-header .col-3{padding:0 .25rem}.wrong-book-analysis-panel .result-header .stat-item{background:#fffffff2;border-radius:6px;padding:.5rem .375rem!important;transition:all .2s ease;box-shadow:0 1px 4px #00000014;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.wrong-book-analysis-panel .result-header .stat-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-neutral-white)}.wrong-book-analysis-panel .result-header .stat-item .stat-number{font-size:1.25rem!important;font-weight:var(--font-weight-bold)!important;color:var(--color-primary-base)!important;line-height:1.2!important;margin-bottom:.125rem!important;margin-top:0!important}.wrong-book-analysis-panel .result-header .stat-item .stat-label{font-size:.75rem!important;color:var(--color-neutral-gray-600)!important;font-weight:var(--font-weight-medium)!important;line-height:1.2!important;margin-top:.125rem!important}.wrong-book-analysis-panel .result-content>.knowledge-summary:last-child,.wrong-book-analysis-panel .result-content>.weak-points:last-child,.wrong-book-analysis-panel .result-content>.recommendations:last-child,.wrong-book-analysis-panel .result-content>.knowledge-mapping:last-child,.wrong-book-analysis-panel .result-content>.subject-statistics:last-child{margin-bottom:0}@media (max-width: 768px){.wrong-book-analysis-panel .result-header{padding:.5rem}.wrong-book-analysis-panel .result-header .stat-item{padding:.4rem .25rem!important}.wrong-book-analysis-panel .result-header .stat-item .stat-number{font-size:1.1rem!important}.wrong-book-analysis-panel .result-header .stat-item .stat-label{font-size:.7rem!important}.wrong-book-analysis-panel .knowledge-item,.wrong-book-analysis-panel .subject-stat-item{padding:.75rem}.wrong-book-analysis-panel .knowledge-item-header h6{font-size:.875rem}.wrong-book-analysis-panel .weak-point-item,.wrong-book-analysis-panel .recommendation-item{padding:.625rem .875rem;font-size:.85rem}}.exam-analysis-panel .result-header{padding:.75rem;background:linear-gradient(135deg,#4a90e2,#5cb85c);border-radius:10px;margin-bottom:1.25rem;box-shadow:0 3px 10px #667eea40}.exam-analysis-panel .result-header .row{gap:.5rem;margin:0}.exam-analysis-panel .result-header .col-4{padding:0 .25rem}.exam-analysis-panel .result-header .stat-item{background:#fffffff2;border-radius:6px;padding:.5rem .375rem!important;transition:all .2s ease;box-shadow:0 1px 4px #00000014;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.exam-analysis-panel .result-header .stat-item:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001f;background:#fff}.exam-analysis-panel .result-header .stat-item .stat-number{font-size:1.25rem!important;font-weight:700!important;color:#4a90e2!important;line-height:1.2!important;margin-bottom:.125rem!important;margin-top:0!important}.exam-analysis-panel .result-header .stat-item .stat-label{font-size:.75rem!important;color:#6c757d!important;font-weight:500!important;line-height:1.2!important;margin-top:.125rem!important}.exam-analysis-panel .questions-list{display:flex;flex-direction:column;gap:1rem}.exam-analysis-panel .question-item{background:#fff;border:1px solid #dee2e6!important;border-radius:8px;transition:all var(--animation-transition-normal);box-shadow:0 1px 3px #0000000d}.exam-analysis-panel .question-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px);border-color:#4a90e2!important}.exam-analysis-panel .question-header{padding-bottom:.5rem;border-bottom:1px solid #dee2e6}.exam-analysis-panel .question-number{font-weight:600;color:#343a40;font-size:16px}.exam-analysis-panel .question-content{margin-top:.75rem}.exam-analysis-panel .question-content strong{color:#495057;font-weight:600;font-size:.9rem}.exam-analysis-panel .question-text,.exam-analysis-panel .student-answer,.exam-analysis-panel .correct-answer,.exam-analysis-panel .explanation{margin-top:.25rem;padding:.5rem;background:#f8f9fa;border-radius:4px;color:#495057;line-height:1.6;font-size:.9rem}.exam-analysis-panel .student-answer{background:#ffc1071a;border-left:3px solid #ffc107}.exam-analysis-panel .correct-answer{background:#28a7451a;border-left:3px solid #28a745}.exam-analysis-panel .explanation{background:#17a2b81a;border-left:3px solid #17a2b8}@media (max-width: 768px){.exam-analysis-panel .result-header{padding:.5rem}.exam-analysis-panel .result-header .stat-item{padding:.4rem .25rem!important}.exam-analysis-panel .result-header .stat-item .stat-number{font-size:1.1rem!important}.exam-analysis-panel .result-header .stat-item .stat-label{font-size:.7rem!important}.exam-analysis-panel .question-item{padding:.75rem!important}.exam-analysis-panel .question-content{font-size:.85rem}}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;background:var(--color-neutral-white);border-bottom:1px solid var(--color-border-base);z-index:1100;align-items:center;padding:0 var(--spacing-md);box-shadow:var(--shadow-sm)}.mobile-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-semantic-text-dark);margin-left:56px}.mobile-menu-btn{display:flex;position:fixed;top:var(--spacing-md);left:var(--spacing-md);z-index:1101;background-color:var(--color-neutral-white);border:1px solid var(--color-border-base);border-radius:var(--radius-md, 8px);width:48px;height:48px;min-width:48px;min-height:48px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;cursor:pointer;transition:all var(--animation-duration-normal, .2s) var(--easing-standard, ease);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-menu-btn i{transition:transform var(--animation-duration-normal, .2s) var(--easing-standard, ease);font-size:1.25rem}@media (min-width: 1199.98px){.mobile-menu-btn{display:none!important}}.mobile-menu-btn:hover{background:var(--color-background-tertiary, #f5f5f5);transform:scale(1.05);box-shadow:var(--shadow-md)}.mobile-menu-btn:active{transform:scale(.95);background:var(--color-background-tertiary, #f5f5f5)}.mobile-menu-btn:focus-visible{outline:2px solid var(--color-primary-base);outline-offset:2px;box-shadow:0 0 0 3px #667eea33}.collapse-btn{display:none;position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-neutral-gray-600);cursor:pointer;z-index:1101;transition:color var(--animation-duration-fast)}.collapse-btn:hover{color:var(--color-semantic-text-primary)}.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1099;display:none;animation:fadeIn var(--animation-duration-normal, .25s) var(--easing-decelerate, cubic-bezier(0, 0, .2, 1));will-change:opacity}@media (max-width: 1198.98px){.card{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.form-group{margin-bottom:var(--spacing-sm)}.config-section{padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.content-grid,.content-grid-2,.content-grid-3{grid-template-columns:1fr;gap:var(--spacing-md)}.content-container,.content-container-inner{padding:0}.form-row{flex-direction:column;gap:var(--spacing-md)}.form-row-inline{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.form-row-inline .form-label{min-width:auto}.config-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.form-switch-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.form-actions{flex-direction:column;align-items:stretch}.radio-group-inline{flex-direction:column;gap:var(--spacing-sm)}.radio-group-inline .form-check{min-width:auto}}@media (min-width: 991.98px) and (max-width: 1198.98px){.left-panel{width:240px}.content-body{width:100%;padding:0}.content-inner{padding:var(--spacing-lg) var(--spacing-lg)}.content-body--padded{padding:var(--spacing-xl) 0}.content-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.content-grid-2{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-lg)}.content-grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}}@media (max-width: 990.98px) and (orientation: landscape){.content-body{padding:var(--spacing-md) var(--spacing-md)}.modal-content,.modal-container{max-height:80vh}}@media (max-width: 766.98px){.left-panel{width:90vw;padding:var(--spacing-sm)}.sidebar-section.bottom{padding:var(--spacing-sm) 0;margin-top:var(--spacing-sm)}.user-info{padding:var(--spacing-sm) var(--spacing-xs);min-height:52px;background:var(--color-neutral-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.sidebar-username{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.sidebar-login{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);border-radius:var(--radius-md)}.mobile-header{padding:0 var(--spacing-sm)}.mobile-title{font-size:var(--font-size-base)}.mobile-menu-btn{width:40px;height:40px;top:var(--spacing-md);left:var(--spacing-md)}.right-panel .panel-header{padding:var(--spacing-xs) var(--spacing-sm)}.right-panel .panel-content{padding:var(--spacing-sm)}.panel-title{font-size:var(--font-size-sm)}.content-body{width:100%;padding:0;margin-bottom:0}.content-inner{padding:var(--spacing-md) var(--spacing-sm)}.content-body--padded{padding:var(--spacing-md) var(--spacing-sm);margin-bottom:var(--spacing-md)}.content-header h2{font-size:var(--font-size-2xl)}.content-card,.info-section{padding:var(--spacing-md)}.form-switch-row{padding:var(--spacing-xs) var(--spacing-sm)}.config-info-card{padding:var(--spacing-sm) var(--spacing-md);flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.radio-group-inline{flex-direction:column;gap:var(--spacing-xs)}.radio-group-inline .form-check{min-width:auto}.radio-option{padding:var(--spacing-xs) var(--spacing-sm)}.radio-option-label{font-size:var(--font-size-sm)}.card{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.config-section{padding:var(--spacing-sm);margin-bottom:var(--spacing-md)}.config-item{margin-bottom:var(--spacing-xs)}.row.g-3 .col-md-4,.row.g-3 .col-md-8{margin-bottom:var(--spacing-md)}.mcp-tools-selector,.builtin-tools-selector,.vector-databases-selector{max-height:150px;padding:var(--spacing-xs)}.table{font-size:var(--font-size-sm);min-width:600px}.table thead th{padding:var(--spacing-sm) var(--spacing-xs);font-size:var(--font-size-xs)}.table tbody td{padding:var(--spacing-sm) var(--spacing-xs);font-size:var(--font-size-sm)}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}.table-responsive:after{content:"← 滑动查看更多 →";position:absolute;top:50%;right:var(--spacing-xs);transform:translateY(-50%);font-size:var(--font-size-xs);color:var(--color-neutral-gray-500);pointer-events:none;opacity:.6;animation:fadeInOut 2s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:.8}}.table-mobile-card{display:block}.table-mobile-card thead{display:none}.table-mobile-card tbody tr{display:block;margin-bottom:var(--spacing-md);border:1px solid var(--color-border-base);border-radius:var(--radius-sm);padding:var(--spacing-sm);background:var(--color-neutral-white);box-shadow:var(--shadow-sm);transition:transform var(--animation-duration-fast) var(--animation-easing-standard),box-shadow var(--animation-duration-fast) var(--animation-easing-standard)}.table-mobile-card tbody tr:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.table-mobile-card tbody td{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border:none;border-bottom:1px solid var(--color-border-light);min-height:44px}.table-mobile-card tbody td:last-child{border-bottom:none}.table-mobile-card tbody td:before{content:attr(data-label);font-weight:var(--font-weight-semibold);margin-right:var(--spacing-sm);color:var(--color-neutral-gray-700);min-width:80px;flex-shrink:0}.modal-content{margin:var(--spacing-xs);max-width:calc(100% - var(--spacing-md))}.modal-header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm) var(--spacing-md)}.modal-body{padding:var(--spacing-md)}.modal-footer{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md) var(--spacing-md);flex-direction:column}.modal-container{max-width:calc(100% - var(--spacing-md));margin:var(--spacing-xs)}.modal-container .modal-header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm) var(--spacing-md)}.modal-container .modal-body{padding:var(--spacing-md)}.modal-container .modal-footer{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md) var(--spacing-md);flex-direction:column}}@media (max-width: 320px){.content-inner,.content-body--padded{padding:var(--spacing-sm) 0}.content-header h2{font-size:var(--font-size-xl)}.form-control,.form-select{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}}@media (max-width: 990.98px){.btn{min-width:44px;min-height:44px;padding:var(--spacing-sm) var(--spacing-md)}.btn.btn-icon{width:48px;height:48px;min-width:48px;min-height:48px;padding:0}.btn.btn-sm{min-width:44px;min-height:44px;padding:var(--spacing-xs) var(--spacing-sm)}.form-control,.form-select,textarea{min-height:44px;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md)}a,button,[role=button],[tabindex="0"],.sidebar-item,.menu-item{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md)}.btn-close{width:44px;height:44px;padding:0}.btn-remove-attachment{min-width:44px;min-height:44px}}@media (max-width: 990.98px) and (max-width: 766.98px){.modal-container{max-width:100%;max-height:90vh;margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:fixed;bottom:0;left:0;right:0;animation:slideUp var(--animation-duration-normal) ease-out}}@supports (padding: max(0px)){.mobile-header,.input-container,.modal-footer,.bottom-action-bar{padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom))}.main-layout{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 990.98px){.input-container{position:sticky;bottom:0;background:var(--color-neutral-white);padding:var(--spacing-sm) var(--spacing-md);padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom));border-top:1px solid var(--color-border-base);z-index:100}}@media (max-width: 990.98px) and (max-height: 500px){.main-content-wrapper{max-height:calc(100vh - 200px)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width: 1399.98px){.content-body{width:100%;padding:0}.content-inner{padding:var(--spacing-xl) 0 var(--spacing-xl) 0}.content-container{width:100%;padding:0}.content-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.content-grid-2{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}.content-grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media print{.left-panel,.mobile-menu-btn,.collapse-btn,.overlay,.btn,.form-actions{display:none!important}.main-layout{display:block}.center-panel{width:100%;height:auto}.content-body{box-shadow:none;border:1px solid #000;margin:0;padding:var(--spacing-md)}.card{box-shadow:none;border:1px solid #000;break-inside:avoid}.table{break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.btn{border:2px solid currentColor}.card,.form-control,.form-select,.table{border:2px solid #000}.table thead th{background:#000;color:var(--color-neutral-white)}}@media (prefers-color-scheme: dark){:root{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--text-primary: #ffffff;--text-secondary: #cccccc;--border-color: #404040}body{background:var(--bg-primary);color:var(--text-primary)}.left-panel{background:var(--bg-secondary);border-color:var(--border-color)}.center-panel{background:var(--bg-primary)}.content-body,.card{background:var(--bg-secondary);border-color:var(--border-color)}.form-control,.form-select{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.table{background:var(--bg-secondary);border-color:var(--border-color)}.table thead th{background:var(--bg-primary);color:var(--text-primary)}.table tbody td{color:var(--text-primary);border-color:var(--border-color)}}@media (hover: none) and (pointer: coarse){.btn,.btn-icon,.mobile-menu-btn,.collapse-btn{min-height:44px;min-width:44px}.btn+.btn,.btn-group .btn+.btn{margin-left:var(--spacing-xs)}.error-state-quick-actions .btn+.btn,.error-state-actions .btn+.btn{margin-left:var(--spacing-xs)}.btn:active,.btn-icon:active,.mobile-menu-btn:active{transform:scale(.96);opacity:.9;transition:transform var(--animation-duration-fast) var(--animation-easing-standard),opacity var(--animation-duration-fast) var(--animation-easing-standard)}.btn,.btn-icon,.mobile-menu-btn{position:relative;overflow:hidden}.btn:after,.btn-icon:after,.mobile-menu-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#667eea33;transform:translate(-50%,-50%);transition:width var(--animation-duration-fast) var(--animation-easing-standard),height var(--animation-duration-fast) var(--animation-easing-standard);will-change:width,height}.btn:active:after,.btn-icon:active:after,.mobile-menu-btn:active:after{width:300px;height:300px}.form-control,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],textarea,select{font-size:var(--font-size-base);min-height:44px}a,.clickable,.cursor-pointer{min-height:44px;display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm)}*{-webkit-overflow-scrolling:touch}.btn:hover,.card:hover,.content-card:hover{transform:none}.btn:active,.card:active{background-color:#0000000d}}@media (hover: hover) and (pointer: fine){.btn:hover,.card:hover,.content-card:hover{transform:translateY(-2px)}}
