.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-variant:normal;text-rendering:auto;font-style:normal;line-height:1}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-fw{text-align:center;width:1.25em}.fa-ul{margin-left:var(--fa-li-margin,2.5em);padding-left:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width,2em)*-1);text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-iteration-count:1;animation-delay:-1ms}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1)translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{vertical-align:middle;width:2.5em;height:2em;line-height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto);position:absolute;left:0}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(./fa-brands-400-B8Wb4MVL.woff2)format("woff2")}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:""}.fa-500px:before{content:""}.fa-accessible-icon:before{content:""}.fa-accusoft:before{content:""}.fa-adn:before{content:""}.fa-adversal:before{content:""}.fa-affiliatetheme:before{content:""}.fa-airbnb:before{content:""}.fa-algolia:before{content:""}.fa-alipay:before{content:""}.fa-amazon:before{content:""}.fa-amazon-pay:before{content:""}.fa-amilia:before{content:""}.fa-android:before{content:""}.fa-angellist:before{content:""}.fa-angrycreative:before{content:""}.fa-angular:before{content:""}.fa-app-store:before{content:""}.fa-app-store-ios:before{content:""}.fa-apper:before{content:""}.fa-apple:before{content:""}.fa-apple-pay:before{content:""}.fa-artstation:before{content:""}.fa-asymmetrik:before{content:""}.fa-atlassian:before{content:""}.fa-audible:before{content:""}.fa-autoprefixer:before{content:""}.fa-avianex:before{content:""}.fa-aviato:before{content:""}.fa-aws:before{content:""}.fa-bandcamp:before{content:""}.fa-battle-net:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-bilibili:before{content:""}.fa-bimobject:before{content:""}.fa-bitbucket:before{content:""}.fa-bitcoin:before{content:""}.fa-bity:before{content:""}.fa-black-tie:before{content:""}.fa-blackberry:before{content:""}.fa-blogger:before{content:""}.fa-blogger-b:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-bootstrap:before{content:""}.fa-bots:before{content:""}.fa-btc:before{content:""}.fa-buffer:before{content:""}.fa-buromobelexperte:before{content:""}.fa-buy-n-large:before{content:""}.fa-buysellads:before{content:""}.fa-canadian-maple-leaf:before{content:""}.fa-cc-amazon-pay:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-apple-pay:before{content:""}.fa-cc-diners-club:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-cc-visa:before{content:""}.fa-centercode:before{content:""}.fa-centos:before{content:""}.fa-chrome:before{content:""}.fa-chromecast:before{content:""}.fa-cloudflare:before{content:""}.fa-cloudscale:before{content:""}.fa-cloudsmith:before{content:""}.fa-cloudversify:before{content:""}.fa-cmplid:before{content:""}.fa-codepen:before{content:""}.fa-codiepie:before{content:""}.fa-confluence:before{content:""}.fa-connectdevelop:before{content:""}.fa-contao:before{content:""}.fa-cotton-bureau:before{content:""}.fa-cpanel:before{content:""}.fa-creative-commons:before{content:""}.fa-creative-commons-by:before{content:""}.fa-creative-commons-nc:before{content:""}.fa-creative-commons-nc-eu:before{content:""}.fa-creative-commons-nc-jp:before{content:""}.fa-creative-commons-nd:before{content:""}.fa-creative-commons-pd:before{content:""}.fa-creative-commons-pd-alt:before{content:""}.fa-creative-commons-remix:before{content:""}.fa-creative-commons-sa:before{content:""}.fa-creative-commons-sampling:before{content:""}.fa-creative-commons-sampling-plus:before{content:""}.fa-creative-commons-share:before{content:""}.fa-creative-commons-zero:before{content:""}.fa-critical-role:before{content:""}.fa-css3:before{content:""}.fa-css3-alt:before{content:""}.fa-cuttlefish:before{content:""}.fa-d-and-d:before{content:""}.fa-d-and-d-beyond:before{content:""}.fa-dailymotion:before{content:""}.fa-dashcube:before{content:""}.fa-deezer:before{content:""}.fa-delicious:before{content:""}.fa-deploydog:before{content:""}.fa-deskpro:before{content:""}.fa-dev:before{content:""}.fa-deviantart:before{content:""}.fa-dhl:before{content:""}.fa-diaspora:before{content:""}.fa-digg:before{content:""}.fa-digital-ocean:before{content:""}.fa-discord:before{content:""}.fa-discourse:before{content:""}.fa-dochub:before{content:""}.fa-docker:before{content:""}.fa-draft2digital:before{content:""}.fa-dribbble:before{content:""}.fa-dribbble-square:before{content:""}.fa-dropbox:before{content:""}.fa-drupal:before{content:""}.fa-dyalog:before{content:""}.fa-earlybirds:before{content:""}.fa-ebay:before{content:""}.fa-edge:before{content:""}.fa-edge-legacy:before{content:""}.fa-elementor:before{content:""}.fa-ello:before{content:""}.fa-ember:before{content:""}.fa-empire:before{content:""}.fa-envira:before{content:""}.fa-erlang:before{content:""}.fa-ethereum:before{content:""}.fa-etsy:before{content:""}.fa-evernote:before{content:""}.fa-expeditedssl:before{content:""}.fa-facebook:before{content:""}.fa-facebook-f:before{content:""}.fa-facebook-messenger:before{content:""}.fa-facebook-square:before{content:""}.fa-fantasy-flight-games:before{content:""}.fa-fedex:before{content:""}.fa-fedora:before{content:""}.fa-figma:before{content:""}.fa-firefox:before{content:""}.fa-firefox-browser:before{content:""}.fa-first-order:before{content:""}.fa-first-order-alt:before{content:""}.fa-firstdraft:before{content:""}.fa-flickr:before{content:""}.fa-flipboard:before{content:""}.fa-fly:before{content:""}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:""}.fa-fonticons:before{content:""}.fa-fonticons-fi:before{content:""}.fa-fort-awesome:before{content:""}.fa-fort-awesome-alt:before{content:""}.fa-forumbee:before{content:""}.fa-foursquare:before{content:""}.fa-free-code-camp:before{content:""}.fa-freebsd:before{content:""}.fa-fulcrum:before{content:""}.fa-galactic-republic:before{content:""}.fa-galactic-senate:before{content:""}.fa-get-pocket:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-git:before{content:""}.fa-git-alt:before{content:""}.fa-git-square:before{content:""}.fa-github:before{content:""}.fa-github-alt:before{content:""}.fa-github-square:before{content:""}.fa-gitkraken:before{content:""}.fa-gitlab:before{content:""}.fa-gitter:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-gofore:before{content:""}.fa-golang:before{content:""}.fa-goodreads:before{content:""}.fa-goodreads-g:before{content:""}.fa-google:before{content:""}.fa-google-drive:before{content:""}.fa-google-pay:before{content:""}.fa-google-play:before{content:""}.fa-google-plus:before{content:""}.fa-google-plus-g:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-wallet:before{content:""}.fa-gratipay:before{content:""}.fa-grav:before{content:""}.fa-gripfire:before{content:""}.fa-grunt:before{content:""}.fa-guilded:before{content:""}.fa-gulp:before{content:""}.fa-hacker-news:before{content:""}.fa-hacker-news-square:before{content:""}.fa-hackerrank:before{content:""}.fa-hashnode:before{content:""}.fa-hips:before{content:""}.fa-hire-a-helper:before{content:""}.fa-hive:before{content:""}.fa-hooli:before{content:""}.fa-hornbill:before{content:""}.fa-hotjar:before{content:""}.fa-houzz:before{content:""}.fa-html5:before{content:""}.fa-hubspot:before{content:""}.fa-ideal:before{content:""}.fa-imdb:before{content:""}.fa-instagram:before{content:""}.fa-instagram-square:before{content:""}.fa-instalod:before{content:""}.fa-intercom:before{content:""}.fa-internet-explorer:before{content:""}.fa-invision:before{content:""}.fa-ioxhost:before{content:""}.fa-itch-io:before{content:""}.fa-itunes:before{content:""}.fa-itunes-note:before{content:""}.fa-java:before{content:""}.fa-jedi-order:before{content:""}.fa-jenkins:before{content:""}.fa-jira:before{content:""}.fa-joget:before{content:""}.fa-joomla:before{content:""}.fa-js:before{content:""}.fa-js-square:before{content:""}.fa-jsfiddle:before{content:""}.fa-kaggle:before{content:""}.fa-keybase:before{content:""}.fa-keycdn:before{content:""}.fa-kickstarter:before{content:""}.fa-kickstarter-k:before{content:""}.fa-korvue:before{content:""}.fa-laravel:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-leanpub:before{content:""}.fa-less:before{content:""}.fa-line:before{content:""}.fa-linkedin:before{content:""}.fa-linkedin-in:before{content:""}.fa-linode:before{content:""}.fa-linux:before{content:""}.fa-lyft:before{content:""}.fa-magento:before{content:""}.fa-mailchimp:before{content:""}.fa-mandalorian:before{content:""}.fa-markdown:before{content:""}.fa-mastodon:before{content:""}.fa-maxcdn:before{content:""}.fa-mdb:before{content:""}.fa-medapps:before{content:""}.fa-medium-m:before,.fa-medium:before{content:""}.fa-medrt:before{content:""}.fa-meetup:before{content:""}.fa-megaport:before{content:""}.fa-mendeley:before{content:""}.fa-microblog:before{content:""}.fa-microsoft:before{content:""}.fa-mix:before{content:""}.fa-mixcloud:before{content:""}.fa-mixer:before{content:""}.fa-mizuni:before{content:""}.fa-modx:before{content:""}.fa-monero:before{content:""}.fa-napster:before{content:""}.fa-neos:before{content:""}.fa-nimblr:before{content:""}.fa-node:before{content:""}.fa-node-js:before{content:""}.fa-npm:before{content:""}.fa-ns8:before{content:""}.fa-nutritionix:before{content:""}.fa-octopus-deploy:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-old-republic:before{content:""}.fa-opencart:before{content:""}.fa-openid:before{content:""}.fa-opera:before{content:""}.fa-optin-monster:before{content:""}.fa-orcid:before{content:""}.fa-osi:before{content:""}.fa-padlet:before{content:""}.fa-page4:before{content:""}.fa-pagelines:before{content:""}.fa-palfed:before{content:""}.fa-patreon:before{content:""}.fa-paypal:before{content:""}.fa-perbyte:before{content:""}.fa-periscope:before{content:""}.fa-phabricator:before{content:""}.fa-phoenix-framework:before{content:""}.fa-phoenix-squadron:before{content:""}.fa-php:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-pied-piper-hat:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-square:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-p:before{content:""}.fa-pinterest-square:before{content:""}.fa-pix:before{content:""}.fa-playstation:before{content:""}.fa-product-hunt:before{content:""}.fa-pushed:before{content:""}.fa-python:before{content:""}.fa-qq:before{content:""}.fa-quinscape:before{content:""}.fa-quora:before{content:""}.fa-r-project:before{content:""}.fa-raspberry-pi:before{content:""}.fa-ravelry:before{content:""}.fa-react:before{content:""}.fa-reacteurope:before{content:""}.fa-readme:before{content:""}.fa-rebel:before{content:""}.fa-red-river:before{content:""}.fa-reddit:before{content:""}.fa-reddit-alien:before{content:""}.fa-reddit-square:before{content:""}.fa-redhat:before{content:""}.fa-renren:before{content:""}.fa-replyd:before{content:""}.fa-researchgate:before{content:""}.fa-resolving:before{content:""}.fa-rev:before{content:""}.fa-rocketchat:before{content:""}.fa-rockrms:before{content:""}.fa-rust:before{content:""}.fa-safari:before{content:""}.fa-salesforce:before{content:""}.fa-sass:before{content:""}.fa-schlix:before{content:""}.fa-scribd:before{content:""}.fa-searchengin:before{content:""}.fa-sellcast:before{content:""}.fa-sellsy:before{content:""}.fa-servicestack:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-shopify:before{content:""}.fa-shopware:before{content:""}.fa-simplybuilt:before{content:""}.fa-sistrix:before{content:""}.fa-sith:before{content:""}.fa-sitrox:before{content:""}.fa-sketch:before{content:""}.fa-skyatlas:before{content:""}.fa-skype:before{content:""}.fa-slack-hash:before,.fa-slack:before{content:""}.fa-slideshare:before{content:""}.fa-snapchat-ghost:before,.fa-snapchat:before{content:""}.fa-snapchat-square:before{content:""}.fa-soundcloud:before{content:""}.fa-sourcetree:before{content:""}.fa-speakap:before{content:""}.fa-speaker-deck:before{content:""}.fa-spotify:before{content:""}.fa-square-font-awesome:before{content:""}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:""}.fa-squarespace:before{content:""}.fa-stack-exchange:before{content:""}.fa-stack-overflow:before{content:""}.fa-stackpath:before{content:""}.fa-staylinked:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-steam-symbol:before{content:""}.fa-sticker-mule:before{content:""}.fa-strava:before{content:""}.fa-stripe:before{content:""}.fa-stripe-s:before{content:""}.fa-studiovinari:before{content:""}.fa-stumbleupon:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-superpowers:before{content:""}.fa-supple:before{content:""}.fa-suse:before{content:""}.fa-swift:before{content:""}.fa-symfony:before{content:""}.fa-teamspeak:before{content:""}.fa-telegram-plane:before,.fa-telegram:before{content:""}.fa-tencent-weibo:before{content:""}.fa-the-red-yeti:before{content:""}.fa-themeco:before{content:""}.fa-themeisle:before{content:""}.fa-think-peaks:before{content:""}.fa-tiktok:before{content:""}.fa-trade-federation:before{content:""}.fa-trello:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-twitch:before{content:""}.fa-twitter:before{content:""}.fa-twitter-square:before{content:""}.fa-typo3:before{content:""}.fa-uber:before{content:""}.fa-ubuntu:before{content:""}.fa-uikit:before{content:""}.fa-umbraco:before{content:""}.fa-uncharted:before{content:""}.fa-uniregistry:before{content:""}.fa-unity:before{content:""}.fa-unsplash:before{content:""}.fa-untappd:before{content:""}.fa-ups:before{content:""}.fa-usb:before{content:""}.fa-usps:before{content:""}.fa-ussunnah:before{content:""}.fa-vaadin:before{content:""}.fa-viacoin:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-viber:before{content:""}.fa-vimeo:before{content:""}.fa-vimeo-square:before{content:""}.fa-vimeo-v:before{content:""}.fa-vine:before{content:""}.fa-vk:before{content:""}.fa-vnv:before{content:""}.fa-vuejs:before{content:""}.fa-watchman-monitoring:before{content:""}.fa-waze:before{content:""}.fa-weebly:before{content:""}.fa-weibo:before{content:""}.fa-weixin:before{content:""}.fa-whatsapp:before{content:""}.fa-whatsapp-square:before{content:""}.fa-whmcs:before{content:""}.fa-wikipedia-w:before{content:""}.fa-windows:before{content:""}.fa-wirsindhandwerk:before,.fa-wsh:before{content:""}.fa-wix:before{content:""}.fa-wizards-of-the-coast:before{content:""}.fa-wodu:before{content:""}.fa-wolf-pack-battalion:before{content:""}.fa-wordpress:before{content:""}.fa-wordpress-simple:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpexplorer:before{content:""}.fa-wpforms:before{content:""}.fa-wpressr:before{content:""}.fa-xbox:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-y-combinator:before{content:""}.fa-yahoo:before{content:""}.fa-yammer:before{content:""}.fa-yandex:before{content:""}.fa-yandex-international:before{content:""}.fa-yarn:before{content:""}.fa-yelp:before{content:""}.fa-yoast:before{content:""}.fa-youtube:before{content:""}.fa-youtube-square:before{content:""}.fa-zhihu:before{content:""}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url(./fa-regular-400-BtQPhu7h.woff2)format("woff2")}.fa-regular,.far{font-family:"Font Awesome 6 Free";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url(./fa-solid-900-DByUvYfa.woff2)format("woff2")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:swap;font-weight:400;src:url(./fa-brands-400-B8Wb4MVL.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:swap;font-weight:900;src:url(./fa-solid-900-DByUvYfa.woff2)format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:swap;font-weight:400;src:url(./fa-regular-400-BtQPhu7h.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:swap;src:url(./fa-solid-900-DByUvYfa.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:swap;src:url(./fa-brands-400-B8Wb4MVL.woff2)format("woff2")}@font-face{font-family:FontAwesome;font-display:swap;src:url(./fa-regular-400-BtQPhu7h.woff2)format("woff2");unicode-range:U+F003,U+F006,U+F014,U+F016-F017,U+F01A-F01B,U+F01D,U+F022,U+F03E,U+F044,U+F046,U+F05C-F05D,U+F06E,U+F070,U+F087-F088,U+F08A,U+F094,U+F096-F097,U+F09D,U+F0A0,U+F0A2,U+F0A4-F0A7,U+F0C5,U+F0C7,U+F0E5-F0E6,U+F0EB,U+F0F6-F0F8,U+F10C,U+F114-F115,U+F118-F11A,U+F11C-F11D,U+F133,U+F147,U+F14E,U+F150-F152,U+F185-F186,U+F18E,U+F190-F192,U+F196,U+F1C1-F1C9,U+F1D9,U+F1DB,U+F1E3,U+F1EA,U+F1F7,U+F1F9,U+F20A,U+F247-F248,U+F24A,U+F24D,U+F255-F25B,U+F25D,U+F271-F274,U+F278,U+F27B,U+F28C,U+F28E,U+F29C,U+F2B5,U+F2B7,U+F2BA,U+F2BC,U+F2BE,U+F2C0-F2C1,U+F2C3,U+F2D0,U+F2D2,U+F2D4,U+F2DC}.ts-control{z-index:1;box-sizing:border-box;width:100%;box-shadow:none;border:1px solid #d0d0d0;border-radius:3px;flex-wrap:wrap;padding:8px;display:flex;position:relative;overflow:hidden}.ts-wrapper.multi.has-items .ts-control{padding:calc(6px - 0) 8px calc(3px - 0)}.full .ts-control{background-color:#fff}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;color:#303030;background:#f2f2f2;border:0 solid #d0d0d0;margin:0 3px 3px 0;padding:2px 6px}.ts-wrapper.multi .ts-control>div.active{color:#303030;background:#e8e8e8;border:0 solid #cacaca}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#7d7d7d;background:#fff;border:0 solid #fff}.ts-control>input{flex:auto;min-width:7rem;text-indent:0!important;max-width:100%!important;min-height:0!important;max-height:none!important;line-height:inherit!important;-webkit-user-select:auto!important;user-select:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important;display:inline-block!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:none!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:15px;right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{opacity:.5;background-color:#fafafa}.input-hidden .ts-control>input{opacity:0;position:absolute;left:-10000px}.ts-dropdown{z-index:10;box-sizing:border-box;background:#fff;border:1px solid #d0d0d0;border-top:0;border-radius:0 0 3px 3px;width:100%;margin:.25rem 0 0;position:absolute;top:100%;left:0;box-shadow:0 1px 3px #0000001a}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:#7da8d033;border-radius:1px}.ts-dropdown .option,.ts-dropdown .optgroup-header,.ts-dropdown .no-results,.ts-dropdown .create{padding:5px 8px}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0}.ts-dropdown .optgroup-header{color:#303030;cursor:default;background:#fff}.ts-dropdown .active{color:#495c68;background-color:#f5fafd}.ts-dropdown .active.create{color:#495c68}.ts-dropdown .create{color:#30303080}.ts-dropdown .spinner{width:30px;height:30px;margin:5px 8px;display:inline-block}.ts-dropdown .spinner:after{content:" ";border:5px solid #d0d0d0;border-color:#d0d0d0 #0000;border-radius:50%;width:24px;height:24px;margin:3px;animation:1.2s linear infinite lds-dual-ring;display:block}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ts-dropdown-content{scroll-behavior:smooth;max-height:200px;overflow:hidden auto}.ts-wrapper.plugin-drag_drop .ts-dragging{color:#0000!important}.ts-wrapper.plugin-drag_drop .ts-dragging>*{visibility:hidden!important}.plugin-checkbox_options:not(.rtl) .option input{margin-right:.5rem}.plugin-checkbox_options.rtl .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button:1em}.plugin-clear_button .clear-button{opacity:0;cursor:pointer;transition:opacity .5s;position:absolute;top:50%;right:2px;transform:translateY(-50%);background:0 0!important;margin-right:0!important}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret), 8px)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{background:color-mix(#fff, #d0d0d0, 85%);border-bottom:1px solid #d0d0d0;border-radius:3px 3px 0 0;padding:10px 8px;position:relative}.ts-wrapper .dropdown-header-close{color:#303030;opacity:.4;margin-top:-12px;line-height:20px;position:absolute;top:50%;right:8px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid #d0d0d0}.plugin-dropdown_input .dropdown-input{box-shadow:none;background:0 0;border:0 solid #d0d0d0;border-bottom-width:1px;width:100%;padding:8px;display:block}.plugin-dropdown_input .items-placeholder{width:100%;box-shadow:none!important;border:0!important}.plugin-dropdown_input.has-items .items-placeholder,.plugin-dropdown_input.dropdown-active .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:#0000}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-top:0;border-right:1px solid #f2f2f2;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0}.ts-wrapper.plugin-remove_button .item{align-items:center;display:inline-flex}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;vertical-align:middle;box-sizing:border-box;border-radius:0 2px 2px 0;padding:0 6px;text-decoration:none;display:inline-block}.ts-wrapper.plugin-remove_button .item .remove:hover{background:#0000000d}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:0 0}.ts-wrapper.plugin-remove_button .remove-single{font-size:23px;position:absolute;top:0;right:0}.ts-wrapper.plugin-remove_button:not(.rtl) .item{padding-right:0!important}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #d0d0d0;margin-left:6px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:#cacaca}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item{padding-left:0!important}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #d0d0d0;margin-right:6px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:#cacaca}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#fff}:root{--ts-pr-clear-button:0;--ts-pr-caret:0;--ts-pr-min:.75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control:not(.rtl){padding-right:max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-control.rtl{padding-left:max(var(--ts-pr-min), var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper{position:relative}.ts-dropdown,.ts-control,.ts-control input{color:#303030;font-family:inherit;font-size:13px;line-height:18px}.ts-control,.ts-wrapper.single.input-active .ts-control{cursor:text;background:#fff}.ts-hidden-accessible{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.dnd-poly-drag-image{opacity:.5!important}.dnd-poly-drag-image.dnd-poly-snapback{transition-property:transform!important;transition-duration:.25s!important;transition-timing-function:ease-out!important}:root{--bg-color:#f0f2f5;--bg-main:#f0f2f5;--surface-bg:#fff;--card-bg:#fff;--card-bg-rgb:255, 255, 255;--text-main:#2b2d42;--text-sub:#666;--text-color:#2b2d42;--text-muted:#666;--surface-bg-subtle:#f8fafc;--input-bg:#f8fafc;--code-bg:#0000000d;--border-color:#dee2e6;--header-bg:#f8f9fa;--hover-bg:#f1f3f5;--shadow-color:#0000000d;--sidebar-width:320px;--control-width:280px;--primary:#4361ee;--warning:#f39c12;--danger:#e74c3c;--text-danger:#c62828;--success:#2ecc71;--c-required:#dc2626;--c-elective:#059669;--c-general:#d97706;--c-common:#7c3aed;--c-pe:#ea580c;--c-default:#2563eb;--mobile-nav-height:75px;--scrollbar-thumb:#00000038;--scrollbar-thumb-hover:#00000061;--scrollbar-track:transparent}[data-theme=dark]{--bg-color:#18191a;--bg-main:#18191a;--surface-bg:#242526;--surface-bg-subtle:#1e1f20;--input-bg:#18191a;--code-bg:#ffffff14;--card-bg:#242526;--card-bg-rgb:36, 37, 38;--text-main:#e4e6eb;--text-sub:#b0b3b8;--text-color:#e4e6eb;--text-muted:#b0b3b8;--border-color:#3e4042;--header-bg:#3a3b3c;--hover-bg:#303031;--shadow-color:#0000004d;--text-danger:#ff6b6b;--c-required:#f87171;--c-elective:#34d399;--c-general:#fbbf24;--c-common:#a78bfa;--c-pe:#fb923c;--c-default:#60a5fa;--scrollbar-thumb:#ffffff38;--scrollbar-thumb-hover:#ffffff61;--scrollbar-track:transparent}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:6px;transition:background-color .2s}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:0 0}body{background-color:var(--bg-color);height:100dvh;color:var(--text-main);margin:0;padding:0;font-family:Segoe UI,Microsoft JhengHei,sans-serif;transition:background-color .3s,color .3s;display:flex;overflow:hidden}#left-sidebar,#right-sidebar{background:var(--surface-bg);z-index:10;white-space:nowrap;flex-direction:column;height:100%;transition:transform .3s,background-color .3s,width .3s,padding .3s,opacity .3s;display:flex;position:relative;overflow:hidden}#left-sidebar{width:var(--sidebar-width);border-right:1px solid var(--border-color);box-shadow:2px 0 5px var(--shadow-color)}#right-sidebar{width:var(--control-width);border-left:1px solid var(--border-color);box-shadow:-2px 0 5px var(--shadow-color)}.main-subview{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.home-subview{background:var(--bg-color);flex-direction:column;align-items:center;padding:60px 0;display:flex;overflow-y:auto}.home-hero{text-align:center;max-width:800px;margin-bottom:50px}.home-hero h1{background:linear-gradient(135deg, var(--primary), #7209b7);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:15px;font-size:clamp(2rem,5vw,3rem);font-weight:800}.home-stats{flex-wrap:wrap;justify-content:center;gap:30px;margin-bottom:16px;display:flex}.stat-card{background:var(--surface-bg);box-shadow:0 10px 30px var(--shadow-color);text-align:center;border:1px solid var(--border-color);border-radius:20px;min-width:200px;padding:30px 40px;transition:transform .3s}.stat-card:hover{transform:translateY(-5px)}.stat-value{color:var(--primary);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:2.8rem;font-weight:800}.stat-label{color:var(--text-sub);text-transform:uppercase;letter-spacing:1px;font-size:.95rem;font-weight:600}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;width:100%;max-width:1100px;padding:0 20px 60px;display:grid}.feature-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:20px;padding:30px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:hover{box-shadow:0 15px 40px var(--shadow-color);border-color:var(--primary);transform:translateY(-8px)}.feature-card i{color:var(--primary);margin-bottom:20px;font-size:2rem;display:block}.home-btn{background:var(--hover-bg);color:var(--primary);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.home-btn:hover{background:var(--primary);color:#fff;transform:scale(1.05)}#main-area{flex-direction:column;flex:1;padding:0;display:flex;position:relative;overflow:hidden}.main-subview{flex-direction:column;flex:1;padding:20px;display:flex;position:relative;overflow:hidden}#subview-search{background-color:var(--bg-color);padding:0}#subview-official-query.active,#subview-official-selection.active{flex-direction:column;padding:0!important;display:flex!important}.full-frame{background:#fff;border:none;flex:1;width:100%;display:block}.sidebar-header{color:#fff;text-align:center;background:#2b2d42;padding:15px}.sidebar-tab-toggle{background:var(--surface-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;display:flex}.sidebar-tab-toggle button{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:10px 0;font-size:.95rem;font-weight:700;transition:all .2s}.sidebar-tab-toggle button.active{color:var(--primary);border-bottom-color:var(--primary)}.sidebar-tab-toggle button:hover:not(.active){background:var(--hover-bg)}.sidebar-slider-wrapper{flex:1;position:relative;overflow:hidden}.sidebar-slider-track{width:200%;height:100%;transition:transform .3s cubic-bezier(.25,.8,.25,1);display:flex}.sidebar-pane{flex-direction:column;width:50%;height:100%;display:flex}.filter-section{background:var(--surface-bg);border-bottom:1px solid var(--border-color);padding:10px 15px;transition:background-color .3s,border-color .3s}.filter-label{color:var(--text-sub);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:.8rem;font-weight:700;display:flex}.filter-row{gap:8px;margin-bottom:8px;display:flex}.filter-row:last-child{margin-bottom:0}.filter-select{border:1px solid var(--border-color);background:var(--surface-bg);width:100%;color:var(--text-main);border-radius:4px;padding:6px;font-size:.85rem}.filter-select:focus{outline:2px solid var(--primary);border-color:#0000}#course-stats-bar{background:var(--header-bg);color:var(--text-main);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:8px 15px;font-size:.85rem;display:flex}[data-theme=dark] #course-stats-bar{background:#2a2b2c}.list-container{flex:1;padding:10px;overflow-y:auto}.course-card{background:var(--surface-bg);border:1px solid var(--border-color);border-left:4px solid var(--primary);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:6px;margin-bottom:8px;padding:10px;transition:transform .2s,box-shadow .2s}.course-card:hover{box-shadow:0 4px 8px var(--shadow-color);transform:translateY(-2px)}.course-card.is-scheduled{opacity:.5;background:var(--header-bg);cursor:default;filter:grayscale();border-left-color:#ccc}.card-info-row{color:var(--text-sub);flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;font-size:.8rem;display:flex}.card-info-row .csp-course-list-type{background:var(--header-bg,#f1f5f9);color:var(--text-sub,#64748b);border:1px solid var(--border-color,#e2e8f0)}[data-theme=dark] .card-info-row .csp-course-list-type{color:var(--text-sub,#b0b3b8);border-color:var(--border-color,#3e4042);background:#ffffff14}#left-sidebar.delete-zone-active{background-color:#ffeef0;border-right:2px dashed #ff4d4d}[data-theme=dark] #left-sidebar.delete-zone-active{background-color:#3e2024}#left-sidebar.delete-zone-active:after{content:"放開以移除課程";color:#ff4d4d;pointer-events:none;text-align:center;width:100%;font-size:1.5rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.course-pane-title-label{color:var(--text-main);align-items:center;gap:6px;margin-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.course-pane-title-label i{color:var(--primary)}.filter-control-row{align-items:center;gap:8px;width:100%;margin-bottom:8px;display:flex}#school-semester-zone{flex:1;align-items:center;min-width:0;display:flex}#school-semester-zone .filter-select{background:var(--surface-bg);border:1px solid var(--border-color);width:100%;height:36px;color:var(--text-main);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:.85rem;font-weight:600;transition:border-color .2s,outline .2s}.btn-advanced-filter{background:var(--surface-bg);border:1px solid var(--border-color);height:36px;color:var(--text-main);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.btn-advanced-filter:hover{background:var(--hover-bg,#6366f114);border-color:var(--primary,#3b82f6);color:var(--primary,#3b82f6);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.btn-advanced-filter:active{transform:translateY(0)}.btn-advanced-filter.has-filters{border-color:var(--primary,#3b82f6);color:var(--primary,#3b82f6);background:#3b82f61f}.filter-active-badge{background:var(--primary,#3b82f6);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.filter-search-row{width:100%}.filter-search-row .filter-select{border-radius:8px;width:100%;height:36px;padding:6px 12px;font-size:.85rem}.csp-course-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.csp-course-card-top .csp-course-list-name{word-break:break-word;flex:1;min-width:0}.btn-course-takers{color:var(--primary,#4361ee);cursor:pointer;background:#4361ee14;border:1px solid #4361ee38;border-radius:12px;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:.72rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-course-takers:hover{background:var(--primary,#4361ee);color:#fff;border-color:var(--primary,#4361ee);transform:translateY(-1px);box-shadow:0 2px 6px #4361ee40}[data-theme=dark] .btn-course-takers{color:#93c5fd;background:#4361ee29;border-color:#4361ee59}[data-theme=dark] .btn-course-takers:hover{background:var(--primary,#4361ee);color:#fff}.course-sort-badge{letter-spacing:.02em;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;border-radius:9999px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;line-height:1.3;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 1px 3px #0000000a}.course-sort-badge i{font-size:.74rem;transition:transform .22s}.course-sort-badge span{font-variant-numeric:tabular-nums;margin-right:1px;font-weight:800}.course-card:hover .course-sort-badge{transform:translateY(-1px);box-shadow:0 3px 8px #00000014}.course-card:hover .course-sort-badge i{transform:scale(1.15)}.course-sort-badge.badge-sweet{color:#b45309;background:linear-gradient(135deg,#fef3c7f2,#fde68abf);border-color:#f59e0b59}.course-sort-badge.badge-sweet i{color:#d97706}[data-theme=dark] .course-sort-badge.badge-sweet{color:#fde68a;background:linear-gradient(135deg,#f59e0b38,#d9770626);border-color:#f59e0b66;box-shadow:0 1px 4px #f59e0b26}[data-theme=dark] .course-sort-badge.badge-sweet i{color:#fbbf24}.course-card:hover .course-sort-badge.badge-sweet{border-color:#f59e0b;box-shadow:0 2px 10px #f59e0b4d}.course-sort-badge.badge-chill{color:#0369a1;background:linear-gradient(135deg,#e0f2fef2,#bae6fdbf);border-color:#0ea5e959}.course-sort-badge.badge-chill i{color:#0284c7}[data-theme=dark] .course-sort-badge.badge-chill{color:#bae6fd;background:linear-gradient(135deg,#0ea5e938,#0284c726);border-color:#0ea5e966;box-shadow:0 1px 4px #0ea5e926}[data-theme=dark] .course-sort-badge.badge-chill i{color:#38bdf8}.course-card:hover .course-sort-badge.badge-chill{border-color:#0ea5e9;box-shadow:0 2px 10px #0ea5e94d}.course-sort-badge.badge-practical{color:#047857;background:linear-gradient(135deg,#d1fae5f2,#a7f3d0bf);border-color:#10b98159}.course-sort-badge.badge-practical i{color:#059669}[data-theme=dark] .course-sort-badge.badge-practical{color:#a7f3d0;background:linear-gradient(135deg,#10b98138,#05966926);border-color:#10b98166;box-shadow:0 1px 4px #10b98126}[data-theme=dark] .course-sort-badge.badge-practical i{color:#34d399}.course-card:hover .course-sort-badge.badge-practical{border-color:#10b981;box-shadow:0 2px 10px #10b9814d}.course-sort-badge.badge-reviews{color:#6d28d9;background:linear-gradient(135deg,#f3e8fff2,#e9d5ffbf);border-color:#8b5cf659}.course-sort-badge.badge-reviews i{color:#7c3aed}[data-theme=dark] .course-sort-badge.badge-reviews{color:#ddd6fe;background:linear-gradient(135deg,#8b5cf638,#7c3aed26);border-color:#8b5cf666;box-shadow:0 1px 4px #8b5cf626}[data-theme=dark] .course-sort-badge.badge-reviews i{color:#c4b5fd}.course-card:hover .course-sort-badge.badge-reviews{border-color:#8b5cf6;box-shadow:0 2px 10px #8b5cf64d}.course-sort-badge.badge-popular{color:#dc2626;background:linear-gradient(135deg,#fee2e2f2,#fecacabf);border-color:#ef444459}.course-sort-badge.badge-popular i{color:#ef4444}[data-theme=dark] .course-sort-badge.badge-popular{color:#fca5a5;background:linear-gradient(135deg,#ef444438,#dc262626);border-color:#ef444466;box-shadow:0 1px 4px #ef444426}[data-theme=dark] .course-sort-badge.badge-popular i{color:#f87171}.course-card:hover .course-sort-badge.badge-popular{border-color:#ef4444;box-shadow:0 2px 10px #ef44444d}.course-sort-badge.badge-friends{color:#4338ca;background:linear-gradient(135deg,#e0e7fff2,#c7d2febf);border-color:#6366f159}.course-sort-badge.badge-friends i{color:#4f46e5}[data-theme=dark] .course-sort-badge.badge-friends{color:#c7d2fe;background:linear-gradient(135deg,#6366f138,#4f46e526);border-color:#6366f166;box-shadow:0 1px 4px #6366f126}[data-theme=dark] .course-sort-badge.badge-friends i{color:#a5b4fc}.course-card:hover .course-sort-badge.badge-friends{border-color:#6366f1;box-shadow:0 2px 10px #6366f14d}.friend-course-toggle-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-sub,#64748b);align-items:center;gap:8px;font-size:.82rem;font-weight:500;transition:color .2s;display:inline-flex}.friend-course-toggle-wrap:hover{color:var(--primary,#4361ee)}.friend-course-toggle-wrap .friend-toggle-text{align-items:center;gap:5px;display:inline-flex}.friend-course-toggle-wrap .friend-toggle-switch{width:34px;height:18px}.friend-course-toggle-wrap .friend-toggle-switch .slider{border-radius:18px}.friend-course-toggle-wrap .friend-toggle-switch .slider:before{width:12px;height:12px;bottom:3px;left:3px}.friend-course-toggle-wrap .friend-toggle-switch input:checked+.slider{background-color:var(--primary,#4361ee)}.friend-course-toggle-wrap .friend-toggle-switch input:checked+.slider:before{transform:translate(16px)}.sidebar-title-area{text-align:center;flex-shrink:0;padding:15px 15px 10px}.scrollable-content{flex-direction:column;flex:1;gap:5px;padding:0 15px 10px;display:flex;overflow-y:auto}.sidebar-footer{text-align:center;color:var(--text-sub);border-top:1px solid var(--border-color);background:var(--surface-bg);flex-shrink:0;margin-top:auto;padding:5px 10px;font-size:.85rem}.sidebar-footer a{color:var(--primary);font-weight:700;text-decoration:none}.sidebar-footer a:hover{text-decoration:underline}.control-group{margin-bottom:12px}.control-group h3{color:var(--text-main);margin-bottom:5px;font-size:.9rem;border-bottom:none!important;padding-bottom:0!important}.auth-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color);border-radius:12px;margin-top:5px;padding:15px;transition:all .3s}.auth-card.guest-mode{text-align:center;background:linear-gradient(to bottom right, var(--surface-bg), var(--hover-bg))}.auth-icon-circle{width:50px;height:50px;color:var(--primary);background:#4361ee1a;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 10px;font-size:1.5rem;display:flex}.auth-title{color:var(--text-main);margin-bottom:5px;font-size:1rem;font-weight:700}.auth-desc{color:var(--text-sub);word-break:break-all;font-size:.8rem;line-height:1.5}.user-profile-header{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;margin-bottom:15px;padding-bottom:15px;display:flex}#sidebar-user-avatar{border:2px solid var(--bg-color);border-radius:50%;width:45px;height:45px;box-shadow:0 2px 5px #0000001a}.user-info{flex:1;overflow:hidden}.user-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.user-email{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.sync-actions{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.sync-actions .btn-action{flex-direction:column;flex:1;gap:5px;padding:10px 5px;font-size:.85rem}#btn-cloud-new{flex:100%}.last-sync-info{color:var(--text-sub);text-align:center;background:var(--bg-color);border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:6px;font-size:.7rem;display:flex}[data-theme=dark] .auth-card{background:var(--header-bg)}[data-theme=dark] .auth-icon-circle{background:#ffffff0d}[data-theme=dark] .last-sync-info{background:#0003}.stats-grid{grid-template-columns:1fr 1fr;gap:5px;margin-bottom:5px;display:grid}.stat-item{background:var(--surface-bg);border:1px solid var(--border-color);text-align:center;border-radius:6px;padding:4px}.clickable-stat{cursor:pointer;transition:background-color .2s,transform .1s}.clickable-stat:hover{background-color:var(--hover-bg);border-color:#aaa}.stat-val{color:var(--text-main);font-size:.9rem;font-weight:700;display:block}.stat-label{color:var(--text-sub);font-size:.65rem}.total-stat{background:var(--primary);color:#fff;text-align:center;border-radius:6px;padding:6px;box-shadow:0 4px 6px #4361ee33}.total-val{font-size:1.4rem;font-weight:700;line-height:1}.total-label{opacity:.9;font-size:.75rem}.file-section-header{background:var(--bg-color);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;padding:10px;transition:background .2s;display:flex}.file-section-header:hover{background:var(--hover-bg)}.file-section-header.active .section-arrow{transform:rotate(90deg)}.section-arrow{color:var(--text-sub);font-size:.8rem;transition:transform .2s}.section-delete-btn{color:var(--text-sub);border-radius:4px;padding:5px;transition:all .2s}.section-delete-btn:hover{color:var(--danger);background:#e74c3c1a}.collapsible-file-list{border:1px solid var(--border-color);background:var(--surface-bg);border-top:none;border-radius:0 0 6px 6px;max-height:200px;margin-top:-2px;overflow-y:auto;box-shadow:inset 0 2px 4px #00000005}.collapsible-file-list .file-item{padding-left:15px}.collapsible-content{opacity:0;max-height:0;transition:max-height .3s ease-out,opacity .3s ease-out,margin .3s;overflow:hidden}.collapsible-content.show{opacity:1;max-height:500px;margin-top:5px}#main-internal-nav{background:var(--surface-bg);border-top:1px solid var(--border-color);z-index:50;flex-shrink:0;height:50px;display:flex;box-shadow:0 -2px 10px #0000000d}.internal-nav-item{cursor:pointer;color:var(--text-sub);border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:8px;font-size:.95rem;transition:all .2s;display:flex}.internal-nav-item:hover{background-color:var(--hover-bg);color:var(--text-main)}.internal-nav-item.active{color:var(--primary);border-bottom:3px solid var(--primary);font-weight:700}#header-user-wrapper{z-index:100;position:absolute;top:15px;right:15px}#header-user-avatar{cursor:pointer;object-fit:cover;background:#ccc;border:2px solid #fff;border-radius:50%;width:36px;height:36px;transition:transform .2s,border-color .2s;box-shadow:0 2px 5px #0003}#header-user-avatar:hover{border-color:var(--primary);transform:scale(1.05)}[data-theme=dark] #header-user-avatar{border-color:#444}[data-theme=dark] #header-user-avatar:hover{border-color:var(--primary)}.user-dropdown{background:var(--surface-bg);border:1px solid var(--border-color);z-index:101;border-radius:8px;flex-direction:column;width:140px;display:none;position:absolute;top:45px;right:0;overflow:hidden;box-shadow:0 4px 15px #00000026}.user-dropdown.show{animation:.2s ease-out fadeInDropdown;display:flex}.menu-item{color:var(--text-main);cursor:pointer;align-items:center;gap:10px;padding:10px 15px;font-size:.9rem;transition:background .2s;display:flex}.menu-item:hover{background:var(--hover-bg);color:var(--primary)}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-hero{background:var(--surface-bg);text-align:center;border-bottom:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);padding:12px 15px}.search-hero h2{color:var(--text-main);margin:0 0 4px;font-size:1.2rem}.search-box-container{justify-content:center;gap:0;width:100%;max-width:600px;margin:8px auto;display:flex}#review-search-input{border:2px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-right:none;border-radius:50px 0 0 50px;outline:none;flex:1;padding:8px 15px;font-size:.95rem;transition:border-color .2s}#review-search-input:focus{border-color:var(--primary);background:var(--surface-bg)}.platform-select{flex-wrap:wrap;justify-content:center;gap:15px;margin-top:8px;display:flex}.radio-container{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-main);background:var(--bg-color);border:1px solid var(--border-color);border-radius:20px;align-items:center;padding:4px 12px;font-size:.85rem;transition:all .2s;display:flex}.radio-container:hover{background:var(--hover-bg)}.radio-container input{display:none}.radio-container input:checked~.radio-checkmark{background-color:var(--primary);border-color:var(--primary)}.radio-container input:checked~i{color:var(--primary)}.radio-container input:checked+.radio-checkmark:after{display:block}.radio-container:has(input:checked){border-color:var(--primary);background:#4361ee0d}.radio-checkmark{border:2px solid var(--text-sub);background-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:8px;position:relative}.radio-checkmark:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;display:none;position:absolute;top:3px;left:3px}#review-result-container{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.timetable-unified-banner{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 2px 10px var(--shadow-color);z-index:100;border-radius:50px;justify-content:space-between;align-items:center;width:100%;height:40px;margin:0 auto;padding:0 6px;transition:all .25s;display:flex;position:relative}.banner-settings-btn{border:1px solid var(--border-color);background:var(--bg-main,#f8f9fa);width:32px;height:32px;color:var(--text-sub);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:6px;font-size:.95rem;transition:all .25s;display:flex}.banner-quick-review-btn{font-size:.92rem;margin-left:0!important;margin-right:6px!important}.banner-settings-btn:hover,.banner-quick-review-btn:hover{color:var(--primary);background:var(--hover-bg);border-color:var(--primary)}.banner-settings-btn:hover{transform:rotate(30deg)}.banner-quick-review-btn:hover{transform:scale(1.1)}.banner-settings-btn.active{background:var(--primary);border-color:var(--primary);color:#fff!important}.banner-settings-btn.active #legend-gear-icon,.banner-settings-btn.active i{color:#fff!important}@keyframes reviewDropPulse{0%{transform:scale(1);box-shadow:0 0 #4361eeb3}50%{background:#4361ee26;transform:scale(1.22);box-shadow:0 0 0 12px #4361ee00}to{transform:scale(1);box-shadow:0 0 #4361ee00}}.banner-quick-review-btn i{pointer-events:none;transition:transform .2s}.banner-quick-review-btn.drag-active,.timetable-quick-review-btn.drag-active{z-index:105;animation:1.1s ease-in-out infinite reviewDropPulse;border-color:var(--primary)!important;color:var(--primary)!important;background:var(--surface-bg)!important}.banner-quick-review-btn.drag-over,.timetable-quick-review-btn.drag-over{z-index:110;background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;animation:none!important;transform:scale(1.35)!important;box-shadow:0 0 24px #4361eee6,0 0 0 4px #4361ee4d!important}.banner-quick-review-btn.drag-over i,.timetable-quick-review-btn.drag-over i{transform:scale(1.2)rotate(-15deg);color:#fff!important}.merged-header-bar{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color);z-index:100;border-radius:50px;align-items:center;width:100%;height:38px;margin:0 auto;display:flex}.header-bar-btn{width:40px;height:100%;color:var(--text-sub);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.header-bar-btn:hover{color:var(--primary);background:var(--hover-bg)}.header-bar-btn.left-btn{border-right:1px solid var(--border-color);border-top-left-radius:50px;border-bottom-left-radius:50px}.header-bar-btn.right-btn{border-left:1px solid var(--border-color);border-top-right-radius:50px;border-bottom-right-radius:50px}.legend-container{z-index:100;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}#legend-bar{opacity:0;pointer-events:none;width:100%;color:var(--text-main);background:0 0;flex-wrap:nowrap;justify-content:center;align-items:center;min-width:0;height:36px;padding:0 10px;transition:opacity .3s,background .15s;display:flex;position:relative}#legend-bar.show{opacity:1;pointer-events:auto;cursor:pointer}#legend-bar.show:active{background:var(--hover-bg)}.legend-gear-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px 8px;font-size:1.1rem;transition:color .2s,transform .3s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.legend-gear-btn:hover{color:var(--primary)}#legend-gear-icon{transition:transform .3s,color .2s}#legend-gear-icon.active{transform:rotate(90deg)}.visual-settings-dropdown{background:var(--surface-bg);border:1px solid var(--border-color);width:320px;max-width:95vw;box-shadow:0 12px 32px var(--shadow-color);z-index:101;transform-origin:100% 0;-webkit-backdrop-filter:blur(12px);border-radius:16px;flex-direction:column;gap:12px;padding:16px;animation:.25s cubic-bezier(.16,1,.3,1) dropdownFadeIn;display:flex;position:absolute;top:calc(100% + 10px);right:0}.visual-settings-header{color:var(--text-main);border-bottom:1px solid var(--border-color);align-items:center;padding-bottom:8px;font-size:.9rem;font-weight:700;display:flex}.visual-settings-header i{color:var(--primary);margin-right:6px}.visual-settings-item-row{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.visual-settings-item-row .item-label{color:var(--text-main);align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.visual-settings-item-row .item-icon{color:var(--text-sub);text-align:center;width:18px;font-size:.95rem}.visual-settings-divider{background:var(--border-color);height:1px;margin:2px 0}.setting-switch{cursor:pointer;flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.setting-switch input{opacity:0;width:0;height:0}.setting-switch .slider{cursor:pointer;background-color:var(--border-color,#ccc);border-radius:24px;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.setting-switch .slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:3px;left:3px;box-shadow:0 2px 4px #0003}.setting-switch input:checked+.slider{background-color:var(--primary,#4361ee)}.setting-switch input:checked+.slider:before{transform:translate(20px)}.setting-segmented-control{background:var(--bg-main,#eef1f6);border:1px solid var(--border-color);border-radius:8px;padding:3px;display:inline-flex}.setting-segmented-control .seg-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:.8rem;font-weight:600;transition:all .2s}.setting-segmented-control .seg-btn.active{background:var(--surface-bg,#fff);color:var(--primary,#4361ee);box-shadow:0 2px 6px #0000001a}.header-theme-toggle-btn,#theme-btn.header-theme-toggle-btn{cursor:pointer;z-index:100;width:36px;height:36px;transition:transform .2s,border-color .2s,background .2s,color .2s;position:absolute;top:15px;left:15px;background:var(--surface-bg,#fff)!important;text-align:center!important;color:var(--text-main)!important;box-sizing:border-box!important;border:2px solid #fff!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:0!important;font-size:1rem!important;line-height:1!important;display:inline-flex!important;box-shadow:0 2px 5px #0003!important}.header-theme-toggle-btn i,#theme-btn.header-theme-toggle-btn i{pointer-events:none;text-align:center!important;justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;font-size:1rem!important;line-height:1!important;display:flex!important}[data-theme=dark] .header-theme-toggle-btn,[data-theme=dark] #theme-btn.header-theme-toggle-btn{border-color:#fff3!important}.header-theme-toggle-btn:hover,#theme-btn.header-theme-toggle-btn:hover{transform:scale(1.08)rotate(15deg);border-color:var(--primary)!important;color:var(--primary)!important;background:var(--hover-bg)!important}.header-theme-toggle-btn:active,#theme-btn.header-theme-toggle-btn:active{transform:scale(.95)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.legend-label{color:var(--text-main);white-space:nowrap;font-size:.9rem;font-weight:700}.legend-content{flex-wrap:nowrap;align-items:center;gap:12px;display:flex}@media (width<=540px){#legend-bar{padding:0 46px!important}.legend-content{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;max-width:100%;overflow-x:auto}.legend-content::-webkit-scrollbar{display:none}.legend-item{padding:1px 4px!important;font-size:.72rem!important}}.legend-item{white-space:nowrap;color:var(--text-main);align-items:center;gap:4px;font-size:.82rem;font-weight:700;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}#timetable-container{background:var(--bg-color);-webkit-overflow-scrolling:touch;flex:1;display:block;position:relative;overflow:auto}body.view-mode #timetable-container{overflow:hidden!important}#timetable-wrapper{background:var(--surface-bg);box-shadow:0 4px 15px var(--shadow-color);transform-origin:0 0;border-radius:12px;min-width:fit-content;padding:20px;position:relative;overflow:visible!important}body.view-mode #timetable-wrapper{overflow:visible}.timetable-header-row{z-index:100;flex-direction:column;flex-shrink:0;gap:6px;width:100%;padding:4px 0 12px;display:flex;position:relative}.grid-top-left-btn{z-index:60;background:var(--surface-bg);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-sub);cursor:pointer;box-shadow:0 2px 5px var(--shadow-color);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.grid-top-left-btn:hover{color:var(--primary);background:var(--hover-bg)}.grid-top-right-btn{z-index:60;background:var(--surface-bg);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-sub);cursor:pointer;box-shadow:0 2px 5px var(--shadow-color);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.grid-top-right-btn:hover{color:var(--primary);background:var(--hover-bg)}table.timetable{border-collapse:separate;border-spacing:0;table-layout:fixed;background-color:var(--surface-bg);width:100%;min-width:600px;min-height:100%}.timetable th{z-index:50;background:var(--header-bg);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);color:var(--text-main);border-left:none;padding:12px;font-weight:700;position:sticky;top:0;box-shadow:0 2px 5px #0000000d}.timetable td{border:1px solid var(--border-color);vertical-align:top;background-color:var(--surface-bg);border-top:none;border-left:none;height:65px;padding:2px;transition:all .2s;position:relative}.timetable th:first-child,.timetable td:first-child{border-left:1px solid var(--border-color);width:85px}.timetable tr:first-child th{border-top:1px solid var(--border-color)}.timetable th:first-child{border-top-left-radius:8px}.timetable th:last-child{border-top-right-radius:8px}.timetable tr:last-child td:first-child{border-bottom-left-radius:8px}.timetable tr:last-child td:last-child{border-bottom-right-radius:8px}.timetable tr:last-child td{border-bottom:1px solid var(--border-color)}.timetable td.period-col{background-color:var(--header-bg);text-align:center;vertical-align:middle;padding:5px 2px}.period-num{color:var(--primary);font-size:1.1rem;font-weight:700;line-height:1}.period-time{color:var(--text-sub);margin-top:4px;font-family:Courier New,monospace;font-size:.65rem}.timetable td.cell-droppable:hover{background-color:var(--hover-bg);cursor:pointer}.timetable td.hint-valid{cursor:copy;box-shadow:inset 0 0 0 2px #2ecc71;background-color:#2ecc7126!important}.timetable td.hint-invalid{cursor:no-drop;opacity:.5;background-color:#00000008!important}[data-theme=dark] .timetable td.hint-invalid{background-color:#ffffff0d!important}.timetable td.drag-hover-target{transition:transform .1s;transform:scale(.98);background-color:var(--hover-bg)!important}.schedule-item{cursor:grab;z-index:5;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;border:1px solid #0000000d;border-radius:6px;flex-direction:column;justify-content:space-between;width:95%;height:95%;margin:0 auto;padding:2px 4px;font-size:.75rem;transition:all .2s;display:flex;position:relative;top:50%;transform:translateY(-50%);box-shadow:0 2px 5px #00000026}.schedule-item:active{cursor:grabbing}.schedule-item.is-dragging{opacity:.5;transform:translateY(-50%)scale(.9)}.location-badge{text-align:right;white-space:nowrap;text-overflow:ellipsis;background:#fff6;border-radius:4px;justify-content:flex-end;align-items:center;gap:2px;margin-top:auto;padding:1px 3px;font-size:.65rem;display:flex;overflow:hidden}[data-theme=dark] .location-badge{background:#0000004d}.identity-badges{z-index:6;pointer-events:none;gap:1px;display:flex;position:absolute;top:1px;right:2px}.identity-badge{color:#fff;letter-spacing:-.5px;white-space:nowrap;text-shadow:0 .5px 1px #0003;border-radius:3px;padding:1px 2.5px;font-size:.5rem;font-weight:700;line-height:1}.identity-badge.ib-double-major{background:#7c3aed}.identity-badge.ib-minor{background:#2563eb}.identity-badge.ib-teacher-edu{background:#ea580c}.identity-badge.ib-program{background:#059669}.category-override-dot{background:var(--warning);z-index:6;pointer-events:none;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;left:3px;box-shadow:0 0 2px #0000004d}@keyframes shake{0%,to{transform:translate(0)}25%,75%{transform:translate(-5px)}50%{transform:translate(5px)}}.shake-animation{animation:.4s ease-in-out shake;background-color:#e74c3c33!important}@keyframes popInSuccess{0%{opacity:0;transform:translateY(-50%)scale(.5)}60%{opacity:1;transform:translateY(-50%)scale(1.05)}to{opacity:1;transform:translateY(-50%)scale(1)}}.pop-in-effect{animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards popInSuccess}@keyframes fadeInCourse{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}to{opacity:.95;transform:translate(-50%,-50%)scale(1)}}.conflict-old-item{pointer-events:none;transition:opacity .3s;opacity:.2!important;filter:grayscale()!important}.conflict-old-item-dimmed{filter:grayscale();opacity:.3!important}.conflict-preview-item{z-index:15;opacity:0;pointer-events:none;border:2px solid #fff;border-radius:8px;flex-direction:column;justify-content:space-between;width:85%;height:80%;padding:3px 5px;font-size:.75rem;animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards fadeInCourse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95);box-shadow:0 4px 10px #0003}.conflict-pending-zone{border:2px dashed var(--danger)!important;background-image:repeating-linear-gradient(45deg,#fffc,#fffc 10px,#ffebeecc 10px 20px)!important}[data-theme=dark] .conflict-pending-zone{background-image:repeating-linear-gradient(45deg,#323232cc,#323232cc 10px,#643232cc 10px 20px)!important}.holding-dropzone{background:var(--hover-bg);border:2px dashed var(--border-color);border-radius:8px;align-items:center;gap:10px;min-height:80px;max-height:150px;padding:10px;transition:all .2s;display:flex;overflow-x:auto}.holding-dropzone.drag-hover-target{border-color:var(--primary);background:#4361ee1a}.holding-placeholder{color:var(--text-sub);text-align:center;pointer-events:none;width:100%;font-size:.8rem}.holding-item{background:var(--surface-bg);border:1px solid var(--border-color);border-left:3px solid var(--warning);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:4px;flex-shrink:0;min-width:140px;max-width:180px;padding:6px 10px;font-size:.8rem;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 2px 5px #0000000d}.holding-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.holding-item:active{cursor:grabbing}.period-header-container{justify-content:center;align-items:center;width:100%;padding:0 4px;display:flex}.heatmap-toggle-btn{color:var(--text-sub);cursor:pointer;border-radius:4px;padding:3px 5px;font-size:11px;transition:all .2s}.heatmap-toggle-btn:hover{color:var(--primary);background:var(--hover-bg)}.th-day-container{flex-direction:column;justify-content:space-between;align-items:center;width:100%;display:flex}.day-title{padding-bottom:2px}.heatmap-bar-wrapper{opacity:1;background:#00000014;border-radius:4px;width:80%;min-width:32px;max-width:64px;height:5px;max-height:10px;margin-top:4px;transition:max-height .25s,margin-top .25s,opacity .25s;overflow:hidden}[data-theme=dark] .heatmap-bar-wrapper{background:#ffffff1f}.heatmap-bar-wrapper.hidden{opacity:0;max-height:0;margin-top:0}.heatmap-inner{opacity:0;background-color:#10b981;border-radius:4px;width:0%;height:100%;transition:width .35s cubic-bezier(.4,0,.2,1),background-color .35s,opacity .3s}#timetable-container.has-timetable-bg #timetable-wrapper,#timetable-container.has-timetable-bg table.timetable,#timetable-container.has-timetable-bg .timetable td{background-color:#0000!important}#timetable-wrapper.with-bg{background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important}.timetable-friends-bar{flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.timetable-user-avatar-chip{border-color:var(--primary,#4f46e5);background:#4f46e51a;position:relative}.timetable-user-avatar-chip.is-viewing-friend{border-color:var(--primary,#4f46e5);opacity:.95;background:#4f46e514}.timetable-user-avatar-chip.is-active-self{border-color:var(--primary,#4f46e5);box-shadow:0 0 0 1.5px var(--primary,#4f46e5);background:#4f46e529}.timetable-friends-divider{background:var(--border-color);flex-shrink:0;width:1px;height:18px;margin:0 2px}.timetable-friends-chips{scrollbar-width:none;align-items:center;gap:6px;max-width:100%;padding:0 2px;display:flex;overflow-x:auto}.timetable-friends-chips::-webkit-scrollbar{display:none}.timetable-friend-avatar-chip{background:var(--surface-bg,#fff);border:1.5px solid var(--border-color,#0000001a);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:border-color .2s,box-shadow .2s,background-color .2s;display:inline-flex}.timetable-friend-avatar-chip:hover,.timetable-friend-avatar-chip:active,.timetable-friend-avatar-chip.is-active-friend{border-color:var(--primary,#4f46e5);box-shadow:0 0 0 1.5px var(--primary,#4f46e5);background:#4f46e51f;transform:none!important}.friend-chip-avatar-wrap{background:var(--surface-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex;overflow:hidden}.friend-chip-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.friend-chip-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:.82rem;font-weight:600;overflow:hidden}.banner-friends-btn{border:1px solid var(--border-color);background:var(--bg-main,#f8f9fa);width:32px;height:32px;color:var(--text-sub);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;transition:border-color .2s,box-shadow .2s,color .2s;display:flex}.banner-friends-btn:hover,.banner-friends-btn:active{color:var(--primary,#4f46e5);background:var(--hover-bg);border-color:var(--primary,#4f46e5);box-shadow:0 0 0 1px var(--primary,#4f46e5);transform:none!important}.timetable-friend-login-hint,.timetable-friend-empty-hint{color:var(--text-sub);background:var(--hover-bg,#0000000a);border:1px dashed var(--border-color);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:3px 10px;font-size:.82rem;transition:all .2s;display:flex}.timetable-friend-login-hint:hover,.timetable-friend-empty-hint:hover{border-color:var(--primary,#4f46e5);color:var(--primary,#4f46e5);background:#4f46e50f}.friend-schedule-inspect-banner{-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#4f46e514 0%,#6366f11f 100%);border:1px solid #4f46e533;border-radius:12px;align-items:center;padding:7px 14px;animation:.3s ease-out fadeInSlideDown;display:flex;box-shadow:0 4px 14px #4f46e514}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.inspect-banner-main-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.inspect-banner-status{color:var(--text-main);align-items:center;gap:8px;font-size:.9rem;font-weight:500;display:flex}.inspect-status-icon{background:var(--primary,#4f46e5);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;animation:2s ease-in-out infinite pulseIcon;display:flex;box-shadow:0 0 8px #4f46e559}@keyframes pulseIcon{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.inspect-status-text strong{color:var(--primary,#4f46e5);font-weight:700}.inspect-project-picker-group{align-items:center;gap:6px;max-width:320px;display:flex}.inspect-project-label{color:var(--text-sub);white-space:nowrap;align-items:center;gap:4px;font-size:.82rem;font-weight:600;display:flex}.friend-project-select{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-main);cursor:pointer;border-radius:8px;outline:none;flex:1;padding:4px 8px;font-size:.82rem;font-weight:500;transition:all .2s}.friend-project-select:hover,.friend-project-select:focus{border-color:var(--primary,#4f46e5);box-shadow:0 0 0 2px #4f46e526}.btn-disabled-friend-view{opacity:.45!important;cursor:not-allowed!important}.timetable-all-friends-modal-box{background:var(--surface-bg);width:92vw;max-width:520px;max-height:85vh;box-shadow:0 10px 35px var(--shadow-color);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.timetable-friends-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.timetable-friends-modal-search-wrap{border-bottom:1px solid var(--border-color,#0000000f);padding:12px 20px 8px;position:relative}.timetable-friends-modal-search-wrap .search-icon{color:var(--text-sub);font-size:.9rem;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.timetable-friends-modal-search-wrap input{border:1px solid var(--border-color);background:var(--bg-main,#f8f9fa);width:100%;color:var(--text-main);border-radius:10px;outline:none;padding:8px 12px 8px 36px;font-size:.9rem;transition:all .2s}.timetable-friends-modal-search-wrap input:focus{border-color:var(--primary,#4f46e5);background:var(--surface-bg,#fff);box-shadow:0 0 0 3px #4f46e51f}.timetable-friends-modal-body{flex:1;min-height:240px;max-height:55vh;padding:16px 20px;overflow-y:auto}.timetable-friends-modal-grid{flex-direction:column;gap:8px;display:flex}.timetable-friend-card{background:var(--bg-main,#f8f9fa);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.timetable-friend-card:hover{background:var(--surface-bg);border-color:var(--primary,#4f46e5);transform:translateY(-2px);box-shadow:0 4px 14px #4f46e51f}.friend-card-avatar-wrap{border:2px solid var(--primary,#4f46e5);background:var(--surface-bg);border-radius:50%;flex-shrink:0;width:42px;height:42px;overflow:hidden}.friend-card-avatar{object-fit:cover;width:100%;height:100%}.friend-card-content{flex:1;min-width:0}.friend-card-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.friend-card-dept{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8rem;overflow:hidden}.friend-card-action{flex-shrink:0}.btn-view-friend-schedule{border:1px solid var(--primary,#4f46e5);color:var(--primary,#4f46e5);cursor:pointer;background:#4f46e514;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.timetable-friend-card:hover .btn-view-friend-schedule{background:var(--primary,#4f46e5);color:#fff}.timetable-friend-card.is-private-schedule{opacity:.62;background:var(--bg-main,#f8f9fa);cursor:default;border-style:dashed}.timetable-friend-card.is-private-schedule:hover{opacity:.85;border-color:var(--border-color);box-shadow:none;transform:none}.btn-private-friend-schedule{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-sub);border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:500;display:flex}.timetable-friends-empty-state{text-align:center;color:var(--text-sub);flex-direction:column;justify-content:center;align-items:center;padding:30px 20px;display:flex}.timetable-friends-empty-state .empty-icon{color:var(--text-sub);opacity:.6;margin-bottom:10px;font-size:2.4rem}.timetable-friends-empty-state .empty-text{color:var(--text-main);margin-bottom:6px;font-size:1.05rem;font-weight:600}.timetable-friends-empty-state .empty-sub{max-width:280px;margin-bottom:16px;font-size:.85rem;line-height:1.5}.timetable-friends-empty-state .btn-go-social{border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;display:flex}.friend-chip-initial,.friend-card-initial{color:#fff;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:.78rem;font-weight:700;display:flex}.friend-card-initial{font-size:1.05rem}.app-global-toast{bottom:calc(75px + env(safe-area-inset-bottom,0px));color:#fff;z-index:10000;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(8px);background:#0f172aeb;border:1px solid #ffffff26;border-radius:25px;align-items:center;gap:8px;padding:9px 18px;font-size:.88rem;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 24px #00000040}.app-global-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.btn-action{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#3f37c9}.btn-instagram{color:#fff;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border:none;font-weight:700;box-shadow:0 2px 8px #dc274338}.btn-instagram:hover{background:linear-gradient(45deg,#e08322 0%,#d5572b 25%,#cb1632 50%,#bb1255 75%,#ab0777 100%);transform:translateY(-1px);box-shadow:0 4px 14px #dc274361}.btn-instagram:active{transform:translateY(0)}.btn-outline{background:var(--surface-bg);color:var(--text-sub);border:1px solid #ccc}.btn-outline:hover{background:var(--hover-bg);color:var(--text-main);border-color:#aaa}[data-theme=dark] .btn-outline{border-color:#555}.btn-outline:has(.fa-balance-scale):hover{border-color:var(--text-main);color:var(--text-main);background-color:#f8f9fa}[data-theme=dark] .btn-outline:has(.fa-balance-scale):hover{background-color:#3a3b3c}.btn-row{gap:8px;width:100%;display:flex}.btn-row .btn-action{white-space:nowrap;flex:1;padding:8px 5px;font-size:.8rem}.map-dropdown-wrapper{width:100%;position:relative}.map-dropdown-trigger{width:100%}.map-dropdown-menu{background:var(--surface-bg);border:1px solid var(--border-color);z-index:200;border-radius:8px;animation:.15s dropdown-fade-in;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 6px 20px #00000026}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.map-dropdown-item{color:var(--text-main);border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:.88rem;text-decoration:none;transition:background .15s;display:flex}.map-dropdown-item:last-child{border-bottom:none}.map-dropdown-item:hover{background:var(--hover-bg);color:var(--primary)}.map-dropdown-item i{color:var(--primary);text-align:center;width:16px}.btn-search{background:var(--primary);color:#fff;border:2px solid var(--primary);cursor:pointer;border-radius:0 50px 50px 0;padding:8px 20px;font-size:.95rem;font-weight:700;transition:background .2s}.btn-search:hover{background:#3f37c9;border-color:#3f37c9}.google-login-btn{color:#444;border:1px solid var(--border-color);background:#fff;border-radius:50px;justify-content:center;transition:all .2s;box-shadow:0 1px 3px #0000001a}.google-login-btn img{width:18px;height:18px;margin-right:8px}.google-login-btn:hover{background-color:#f8f9fa;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}[data-theme=dark] .google-login-btn{color:#fff;background:#303031;border-color:#555}[data-theme=dark] .google-login-btn:hover{background:#3a3b3c}#mode-btn{background:var(--header-bg);border:2px solid var(--border-color);color:var(--text-main);justify-content:space-between;padding:6px 12px;font-size:.8rem}#mode-btn:hover{background:var(--hover-bg);border-color:#aaa}#restore-physics-btn{color:#fff;background:var(--primary);cursor:pointer;border:2px solid #fff;border-radius:50px;padding:12px 24px;font-size:1rem;font-weight:700;transition:transform .2s,background .2s;position:fixed;bottom:30px;right:30px;box-shadow:0 4px 15px #0000004d;z-index:9999!important;pointer-events:auto!important}#restore-physics-btn:hover{background:#3f37c9;transform:scale(1.05)}.css-switch{width:44px;height:24px;display:inline-block;position:relative}.css-switch input{opacity:0;width:0;height:0}.css-slider{cursor:pointer;background-color:#ccc;border-radius:24px;transition:all .4s;position:absolute;inset:0}.css-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}.css-switch input:checked+.css-slider{background-color:var(--primary)}.css-switch input:checked+.css-slider:before{transform:translate(20px)}.ts-control{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;color:var(--text-main)!important;border-radius:4px!important;font-size:.85rem!important}.ts-dropdown{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;color:var(--text-main)!important;z-index:100000!important;border-radius:4px!important;font-size:.85rem!important}.ts-control{min-height:auto!important;padding:6px 10px!important}.ts-control>input{color:var(--text-main)!important;font-size:.85rem!important}.ts-control input::placeholder{color:var(--text-sub)!important}.ts-dropdown .option{color:var(--text-main)!important}.ts-dropdown .option:hover,.ts-dropdown .option.active{background:var(--hover-bg)!important;color:var(--primary)!important}.ts-control .clear-button{opacity:.5;right:10px!important}.ts-control .clear-button:hover{opacity:1}.modal-overlay,.central-modal-overlay{z-index:2100;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.central-modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009}.modal,.central-modal{background:var(--surface-bg);color:var(--text-main);border-radius:12px;flex-direction:column;animation:.3s popIn;display:flex}.modal{width:400px;max-width:90%;max-height:80vh;padding:20px}.central-modal{text-align:center;width:320px;padding:25px;box-shadow:0 10px 30px #0000004d}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}#surprise-modal .central-modal{width:auto;max-width:90%;box-shadow:none;background:0 0;padding:10px}#surprise-modal img{border-radius:10px;max-width:100%;box-shadow:0 10px 30px #00000080}.modal-scroll-content::-webkit-scrollbar{width:6px}.modal-scroll-content::-webkit-scrollbar-track{background:0 0}.modal-scroll-content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}[data-theme=dark] .modal-scroll-content::-webkit-scrollbar-thumb{background-color:#fff3}.modal-scroll-content::-webkit-scrollbar-thumb:hover{background-color:#0006}[data-theme=dark] .modal-scroll-content::-webkit-scrollbar-thumb:hover{background-color:#fff6}#detail-modal .modal{width:450px;max-width:90%;max-height:85vh;padding:0;overflow:hidden}#detail-modal .modal>div:first-child{border-bottom:1px solid #0000;flex-shrink:0;padding:20px 20px 10px;margin-bottom:0!important}#detail-content{color:var(--text-main);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;padding:5px 20px 15px;line-height:1.6;overflow-y:auto}#detail-content::-webkit-scrollbar{width:6px}#detail-content::-webkit-scrollbar-track{background:0 0}#detail-content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}#detail-content::-webkit-scrollbar-thumb:hover{background-color:#0006}[data-theme=dark] #detail-content::-webkit-scrollbar-thumb{background-color:#fff3}[data-theme=dark] #detail-content::-webkit-scrollbar-thumb:hover{background-color:#fff6}#detail-modal .modal>div:last-child{border-top:1px solid var(--border-color);background:var(--surface-bg);z-index:10;flex-direction:column;flex-shrink:0;gap:10px;padding:15px 20px 20px;display:flex;margin-top:0!important}#disclaimer-modal .central-modal{border-top:5px solid var(--text-sub);max-width:95%}#disclaimer-modal div::-webkit-scrollbar{width:6px}#disclaimer-modal div::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}#disclaimer-modal p{margin-bottom:15px}#disclaimer-modal b{color:var(--text-main)}#session-expired-modal,#generic-confirm-modal,#alert-modal,#profile-threshold-modal,#confirm-modal,#overwrite-modal,#clear-modal,#delete-single-modal{z-index:50000!important}#tutorial-mask{z-index:99990;background:0 0;width:100%;height:100%;display:none;position:fixed;top:0;left:0}#tutorial-highlight{border:2px solid var(--primary);pointer-events:none;z-index:99991;border-radius:12px;transition:all .4s cubic-bezier(.16,1,.3,1);animation:2s infinite alternate tut-pulse;position:absolute;box-shadow:0 0 0 9999px #000000a6,0 0 20px #4361ee66}@keyframes tut-pulse{0%{border-color:var(--primary);box-shadow:0 0 0 9999px #000000a6,0 0 15px #4361ee66}to{border-color:var(--warning);box-shadow:0 0 0 9999px #000000a6,0 0 25px #f39c1280}}#tutorial-dialog{-webkit-backdrop-filter:blur(16px);color:var(--text-main);box-sizing:border-box;z-index:99992;background:#ffffffe6;border:1px solid #ffffff59;border-radius:16px;width:350px;max-width:calc(100vw - 20px);padding:22px 18px 18px;transition:all .4s cubic-bezier(.16,1,.3,1);position:absolute;overflow:hidden;box-shadow:0 20px 45px #0000002e,0 1px 3px #0000000d}[data-theme=dark] #tutorial-dialog{background:#242526d9;border-color:#ffffff14;box-shadow:0 20px 45px #0006,0 1px 3px #0003}.tut-chapter-badge{color:var(--primary);letter-spacing:.3px;background:#3b82f61f;border:1px solid #3b82f640;border-radius:20px;align-items:center;gap:4px;margin-bottom:6px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}[data-theme=dark] .tut-chapter-badge{color:#93c5fd;background:#3b82f633;border-color:#3b82f666}#tutorial-dialog h3{color:var(--text-main);align-items:center;gap:6px;margin:4px 0 8px;font-size:1.12rem;font-weight:700;display:flex}#tutorial-dialog p{color:var(--text-sub);margin:0 0 18px;font-size:.88rem;line-height:1.6}.tut-progress-bar-container{background:var(--hover-bg);width:100%;height:5px;position:absolute;top:0;left:0}#tut-progress-bar{background:linear-gradient(90deg, var(--primary) 0%, var(--warning) 100%);width:0%;height:100%;transition:width .35s cubic-bezier(.16,1,.3,1)}.tut-footer{box-sizing:border-box;gap:6px;width:100%;margin-top:15px;white-space:nowrap!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;display:flex!important}.tut-steps{color:var(--text-sub);font-variant-numeric:tabular-nums;padding:0 2px;font-size:.78rem;font-weight:600;white-space:nowrap!important;flex-shrink:0!important}.tut-nav-btn{white-space:nowrap!important;border-radius:8px!important;flex-shrink:0!important;align-items:center!important;gap:4px!important;padding:6px 10px!important;font-size:.8rem!important;font-weight:600!important;transition:all .2s!important;display:inline-flex!important}#tutorial-demo-layer{pointer-events:none;z-index:99995;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.tut-demo-cursor{pointer-events:none;z-index:99999;will-change:transform, left, top, opacity;justify-content:center;align-items:center;display:flex;position:absolute}.tut-demo-cursor.cursor-mouse{color:#fff;filter:drop-shadow(0 3px 8px #00000073);transform-origin:0 0;width:28px;height:28px;font-size:1.3rem;transition:transform .15s}.tut-demo-cursor.cursor-mouse.is-down{color:var(--primary,#3b82f6);transform:scale(.85)}.tut-demo-cursor.cursor-touch{background:#3b82f68c;border:2.5px solid #fff;border-radius:50%;width:36px;height:36px;transition:transform .2s,background-color .2s;transform:translate(-50%,-50%);box-shadow:0 0 20px #3b82f6b3,inset 0 0 8px #ffffff80}.tut-demo-cursor.cursor-touch.is-down{background:#ef4444a6;transform:translate(-50%,-50%)scale(.9);box-shadow:0 0 24px #ef4444cc,inset 0 0 10px #ffffffb3}.tut-demo-touch-ripple{border:2px solid var(--primary,#3b82f6);opacity:1;pointer-events:none;border-radius:50%;width:20px;height:20px;animation:.8s ease-out infinite tutTouchRipple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}@keyframes tutTouchRipple{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(3.2)}}.tut-demo-floating-card{color:#fff;pointer-events:none;z-index:99997;will-change:transform, left, top, opacity;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#3b82f6f2,#2563ebf2);border-radius:10px;flex-direction:column;gap:3px;width:140px;padding:8px 10px;font-size:.78rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%)rotate(2.5deg)scale(1.05);box-shadow:0 12px 28px #00000047,0 0 0 1px #ffffff4d}.tut-demo-card-title{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.tut-demo-card-sub{opacity:.88;align-items:center;gap:4px;font-size:.68rem;display:flex}.tut-demo-target-glow{pointer-events:none;z-index:99994;background:#10b9812e;border:2px dashed #10b981;border-radius:8px;animation:1.2s infinite alternate tutTargetGlow;position:absolute}@keyframes tutTargetGlow{0%{border-color:#10b981;box-shadow:0 0 10px #10b98166}to{border-color:#34d399;box-shadow:0 0 25px #34d399bf}}.tut-nav-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #4361ee26}.quick-review-modal-box{background:var(--surface-bg);width:720px;max-width:95vw;height:86vh;max-height:820px;box-shadow:0 16px 40px var(--shadow-color);border-radius:20px;flex-direction:column;transition:max-height .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.quick-review-modal-box.is-empty-state{width:580px;height:auto;max-height:420px;padding-bottom:20px}.quick-review-modal-box.is-empty-state .quick-review-panel,.quick-review-modal-box.is-empty-state .quick-review-external-cards-grid{display:none!important}.quick-review-modal-box.is-empty-state .quick-review-modal-header{border-bottom:none;padding-bottom:2px}.quick-review-center-hero{text-align:center;justify-content:center;align-items:center;padding:0 20px 16px;display:none}.quick-review-modal-box.is-empty-state .quick-review-center-hero{display:flex}.quick-review-center-hero p{color:var(--text-sub);justify-content:center;align-items:center;gap:6px;margin:0;font-size:.8rem;line-height:1.4;display:inline-flex}.quick-review-center-hero p i{color:var(--primary);font-size:.82rem}.quick-review-modal-box.is-empty-state .quick-review-search-bar{padding:12px 20px 10px}.quick-review-modal-box.is-empty-state .quick-review-input-wrapper input{box-shadow:0 4px 14px var(--shadow-color);border-radius:12px;padding:9px 34px;font-size:.95rem}.quick-review-modal-box.is-empty-state .btn-quick-review-search{border-radius:12px;padding:9px 18px;font-size:.95rem}.quick-review-modal-box.is-empty-state .quick-review-external-cards-grid{padding:4px 20px 12px}.quick-review-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px 10px;display:flex}.quick-review-header-title-group{align-items:center;gap:12px;display:flex}.quick-review-icon-circle{background:linear-gradient(135deg, var(--primary) 0%, #3a0ca3 100%);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex;box-shadow:0 2px 8px #4361ee4d}.quick-review-modal-header h3{color:var(--text-main);margin:0;font-size:1.12rem;font-weight:700}.quick-review-modal-subtitle{color:var(--text-sub);margin-top:2px;font-size:.78rem}.quick-review-search-bar{flex-shrink:0;gap:8px;padding:8px 16px 6px;display:flex}.quick-review-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.quick-review-input-icon{color:var(--text-sub);pointer-events:none;font-size:.85rem;position:absolute;left:10px}.quick-review-input-wrapper input{border:1px solid var(--border-color);background:var(--bg-main);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:6px 30px;font-size:.88rem;transition:all .2s}.quick-review-input-wrapper input:focus{border-color:var(--primary);background:var(--surface-bg);box-shadow:0 0 0 3px #4361ee26}.quick-review-input-clear{color:var(--text-sub);cursor:pointer;background:0 0;border:none;padding:3px;font-size:.85rem;position:absolute;right:8px}.quick-review-input-clear:hover{color:var(--text-main)}.btn-quick-review-search{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 14px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.btn-quick-review-search:hover{background:var(--primary-hover,#3651d4);transform:translateY(-1px)}.quick-review-external-cards-grid{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:6px;padding:0 16px 8px;display:grid}.quick-external-pill-btn{border:1.5px solid var(--border-color);background:var(--bg-main);min-width:0;height:32px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.quick-external-pill-btn:hover{background:var(--hover-bg);border-color:var(--primary);color:var(--primary)}.quick-external-pill-btn.active{background:var(--surface-bg);border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 1.5px var(--primary), 0 2px 6px #4361ee33}.pill-icon{flex-shrink:0;font-size:.85rem}.pill-icon.fb{color:#1877f2}.pill-icon.google{color:#ea4335}.pill-icon.opt{color:#ff7a00}.pill-badge.dcard{color:#fff;background:#006aa6;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65rem;font-weight:800;display:inline-flex}.pill-name{white-space:nowrap;text-overflow:ellipsis;line-height:1;overflow:hidden}.pill-ext{color:var(--text-sub);opacity:.7;flex-shrink:0;font-size:.65rem}.quick-review-panel{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding:8px 20px 16px;display:flex;overflow-y:auto}.quick-review-dcard-header,.quick-review-google-header{border-bottom:1px solid var(--border-color);flex-wrap:nowrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.quick-google-ext-btn{color:var(--primary);background:var(--bg-main);border:1px solid var(--border-color);border-radius:6px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.quick-google-ext-btn:hover{background:var(--hover-bg);border-color:var(--primary)}.quick-review-dcard-stats{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.quick-review-sort-bar{color:var(--text-sub);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-size:.8rem;display:flex}.quick-review-sort-bar select{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-main);border-radius:6px;height:26px;padding:3px 6px;font-size:.78rem}.quick-review-loading{color:var(--text-sub);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;font-size:.95rem;font-weight:500;display:flex}.quick-review-loading i{color:var(--primary);font-size:2.2rem}.quick-review-welcome-hint{text-align:center;color:var(--text-sub);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.quick-review-welcome-hint i{color:var(--primary);opacity:.7;margin-bottom:12px;font-size:2.2rem}.quick-review-welcome-hint p{max-width:380px;margin:0;font-size:.9rem;line-height:1.6}.quick-review-posts-list{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.quick-review-google-iframe{border:1px solid var(--border-color);background:#fff;border-radius:12px;flex:1;width:100%;height:100%;min-height:380px}@media (width<=650px){.quick-review-modal-box{width:calc(100vw - 28px);max-width:540px;height:86vh;max-height:86vh;box-shadow:0 12px 36px var(--shadow-color);border-radius:18px;margin:auto}.quick-review-modal-box.is-empty-state{border-radius:18px;width:calc(100vw - 28px);max-width:500px;height:auto;max-height:80vh;margin:auto;padding-bottom:12px}.quick-review-center-hero{padding:0 14px 14px}.quick-review-center-hero p{font-size:.74rem;line-height:1.4}.quick-review-modal-header{padding:12px 14px 8px}.quick-review-modal-subtitle{display:none}.quick-review-icon-circle{width:30px;height:30px;font-size:.88rem}.quick-review-modal-header h3{font-size:1rem}.quick-review-search-bar{gap:6px;padding:6px 14px}.quick-review-input-wrapper input{padding:6px 28px;font-size:.85rem}.quick-review-input-icon{font-size:.8rem;left:9px}.btn-quick-review-search{padding:6px 12px;font-size:.85rem}.quick-review-external-cards-grid{grid-template-columns:repeat(4,1fr);gap:4px;padding:0 12px 8px}.quick-external-pill-btn{border-radius:6px;justify-content:center;gap:3px;min-width:0;height:30px;padding:0 3px;font-size:.72rem}.pill-icon{font-size:.76rem}.pill-badge.dcard{width:14px;height:14px;font-size:.58rem}.pill-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.72rem;overflow:hidden}.pill-ext,.quick-review-sort-bar>span{display:none}.quick-review-panel{padding:6px 14px 14px}.quick-review-google-iframe{min-height:280px}}.advanced-filter-modal-box{background:var(--surface-bg);border:1px solid var(--border-color);box-sizing:border-box;border-radius:16px;flex-direction:column;width:580px;max-width:94vw;height:82vh;max-height:720px;padding:20px 24px;display:flex;overflow:hidden;box-shadow:0 24px 50px #00000040}.advanced-filter-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.modal-title-with-icon{color:var(--text-main);align-items:center;gap:10px;display:flex}.modal-title-with-icon i{color:var(--primary);font-size:1.15rem}.modal-title-with-icon h3{margin:0;font-size:1.15rem;font-weight:700}.advanced-filter-modal-header-actions{align-items:center;gap:12px;display:flex}.btn-reset-filters-modal{border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-reset-filters-modal:hover{color:var(--danger,#ef4444);border-color:var(--danger,#ef4444);background:#ef444414}.advanced-filter-modal-body{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;flex-direction:column;flex:1;gap:18px;padding:16px 6px 16px 2px;display:flex;overflow:hidden auto}.advanced-filter-modal-body::-webkit-scrollbar{width:6px}.advanced-filter-modal-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.filter-form-group{flex-direction:column;gap:8px;display:flex}.filter-form-label{color:var(--text-main);align-items:center;gap:6px;font-size:.88rem;font-weight:600;display:flex}.filter-form-label i{color:var(--primary);font-size:.85rem}.filter-matrix-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.filter-view-switch{background:var(--hover-bg,#0000000d);border:1px solid var(--border-color);border-radius:8px;gap:2px;padding:2.5px;display:inline-flex}.btn-time-view-tab{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .18s;display:flex}.btn-time-view-tab.active{background:var(--surface-bg,#fff);color:var(--primary,#3b82f6);box-shadow:0 1px 4px #00000014}.btn-time-view-tab:hover:not(.active){color:var(--text-main)}.filter-time-chips-container{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;box-shadow:0 2px 6px #00000008}.filter-form-label-flush{margin-bottom:0!important}.filter-sub-row{align-items:flex-start;gap:12px;display:flex}.filter-sub-row-period{margin-top:10px}.filter-sub-label{color:var(--text-main);min-width:36px;padding-top:4px;font-size:.8rem;font-weight:700}.filter-day-chips,.filter-period-chips{flex-wrap:wrap;flex:1;gap:6px;display:flex}.filter-period-chips .filter-chip{padding:4px 9px;font-size:.78rem}.filter-matrix-wrapper{border:1px solid var(--border-color);background:var(--surface-bg);-webkit-user-select:none;user-select:none;touch-action:pan-y;border-radius:10px;overflow:hidden;box-shadow:0 2px 6px #00000008}.filter-matrix-table{border-collapse:collapse;text-align:center;table-layout:fixed;-webkit-user-select:none;user-select:none;touch-action:pan-y;width:100%;font-size:.8rem}.filter-matrix-table th,.filter-matrix-table td{border:1px solid var(--border-color);box-sizing:border-box;height:25px;padding:0}.matrix-corner-th,.matrix-col-th,.matrix-row-th{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:#7d7d7d0f;font-size:.78rem;font-weight:600;transition:background .15s,color .15s}.matrix-corner-th:hover,.matrix-col-th:hover,.matrix-row-th:hover{color:var(--primary);background:#3b82f626}.matrix-row-th{width:36px;font-size:.75rem}.filter-matrix-cell{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-y;background:0 0;transition:background .12s,box-shadow .12s;position:relative}.filter-matrix-cell:hover:not(.has-scheduled-course):not(.selected){background:#3b82f626}.filter-matrix-cell.has-scheduled-course{opacity:.38}.filter-matrix-cell.has-scheduled-course:hover{opacity:.6}.filter-matrix-cell.selected:not(.has-scheduled-course){animation:.25s ease-out cellHighlight;background:linear-gradient(135deg,#3b82f6,#6366f1)!important}.filter-matrix-cell.selected.has-scheduled-course{opacity:1;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3.5px #0006}.filter-matrix-cell.selected:after{content:"✓";color:#fff;text-shadow:0 1px 3px #000000b3;z-index:2;justify-content:center;align-items:center;height:100%;font-size:.78rem;font-weight:900;animation:.22s cubic-bezier(.175,.885,.32,1.35) forwards checkmarkPop;display:flex;position:relative}@keyframes checkmarkPop{0%{opacity:0;transform:scale(0)rotate(-25deg)}60%{opacity:1;transform:scale(1.35)rotate(6deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes cellHighlight{0%{box-shadow:inset 0 0 0 2px #ffffffbf}to{box-shadow:inset 0 0 #0000}}.filter-modal-divider{background:var(--border-color);width:100%;height:1px;margin:2px 0}.advanced-filter-modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;padding-top:14px;display:flex}.btn-filter-done{border-radius:10px;width:auto;min-width:120px;padding:9px 26px;font-size:.95rem;font-weight:600}@media (width<=576px){.advanced-filter-modal-box{height:88vh;padding:16px 14px}.filter-matrix-table th,.filter-matrix-table td{height:22px;font-size:.75rem}.matrix-row-th{width:30px}}.tut-badge-chip{background:#ffffff40;border-radius:4px;padding:1px 5px}.tut-social-online-status{color:#10b981;font-weight:500}.tut-msg-heart-reaction{transition:transform .25s cubic-bezier(.175,.885,.32,1.275);transform:scale(0)}.tut-demo-rating-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-bottom:12px;padding:14px;animation:.3s fadeIn}.tut-demo-rating-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tut-demo-rating-user{color:var(--text-main);align-items:center;gap:6px;font-weight:700;display:flex}.tut-demo-rating-stars{color:#f59e0b;font-size:.85rem}.tut-demo-rating-time{color:var(--text-sub);font-size:.75rem}.tut-demo-rating-body{color:var(--text-main);font-size:.82rem;line-height:1.5}.tut-demo-rating-tags{gap:6px;margin-top:8px;display:flex}.tut-demo-tag-sweet{color:#10b981;background:#10b9811a;border-radius:4px;padding:2px 6px;font-size:.72rem}.tut-demo-tag-useful{color:#3b82f6;background:#3b82f61a;border-radius:4px;padding:2px 6px;font-size:.72rem}#syllabus-modal{z-index:2200}.syllabus-modal-box{background:var(--bg-main,#fff);box-sizing:border-box;border-radius:18px;flex-direction:column;width:95%;max-width:960px;height:88vh;max-height:920px;padding:16px 18px;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000059}.syllabus-modal-title-group{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.syllabus-modal-icon-circle{color:#fff;background:linear-gradient(135deg,#4361ee 0%,#3a0ca3 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex;box-shadow:0 4px 12px #4361ee4d}.syllabus-modal-title-text-wrap{flex:1;min-width:0}.syllabus-modal-header h3{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.12rem;font-weight:700;overflow:hidden}.syllabus-modal-subtitle{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.8rem;overflow:hidden}.syllabus-modal-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.syllabus-modal-action-btn{background:var(--hover-bg,#f1f5f9);border:1px solid var(--border-color,#e2e8f0);color:var(--text-main,#334155);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.syllabus-modal-action-btn:hover{background:var(--primary,#4361ee);color:#fff;border-color:var(--primary,#4361ee);box-shadow:0 2px 8px #4361ee4d}.syllabus-modal-close-btn:hover{background:var(--danger,#ef4444);color:#fff;border-color:var(--danger,#ef4444);box-shadow:0 2px 8px #ef44444d}[data-theme=dark] .syllabus-modal-action-btn{background:var(--surface-bg,#242526);border-color:var(--border-color,#3e4042);color:var(--text-main,#e4e6eb)}[data-theme=dark] .syllabus-modal-action-btn:hover{background:var(--primary,#4361ee);color:#fff;border-color:var(--primary,#4361ee);box-shadow:0 2px 8px #4361ee66}[data-theme=dark] .syllabus-modal-close-btn:hover{background:var(--danger,#ef4444);color:#fff;border-color:var(--danger,#ef4444);box-shadow:0 2px 8px #ef444466}.syllabus-modal-loading{width:100%;height:100%;color:var(--text-sub);background:var(--bg-main,#fff);z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.95rem;display:flex;position:absolute;top:0;left:0}.syllabus-modal-loading i{color:var(--primary,#4361ee);font-size:2rem}.syllabus-iframe-container{-webkit-overflow-scrolling:touch;border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:12px;flex:1;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.syllabus-modal-iframe{background:#fff;border:none;width:100%;height:100%;display:block}.syllabus-side-zoom-island{z-index:10;-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color,#cbd5e1);-webkit-user-select:none;user-select:none;background:#ffffffeb;border-radius:26px;flex-direction:column;align-items:center;gap:6px;padding:8px 5px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:14px;left:14px;right:auto;box-shadow:0 6px 20px #0000002e}[data-theme=dark] .syllabus-side-zoom-island{background:#1e293beb;border-color:#ffffff26;box-shadow:0 6px 24px #00000073}.syllabus-side-zoom-btn{width:36px;height:36px;color:var(--text-main,#334155);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:0;font-size:.9rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.syllabus-side-zoom-btn:hover,.syllabus-side-zoom-btn:active{background:var(--primary,#4361ee);color:#fff;transform:scale(1.1);box-shadow:0 2px 8px #4361ee59}.syllabus-side-zoom-fit-btn{background:var(--hover-bg,#0000000d);border-color:var(--border-color,#0000001a);border-radius:12px;width:36px;height:auto;min-height:42px;padding:4px 2px;font-size:.72rem;font-weight:700}.syllabus-side-zoom-fit-btn i{margin-bottom:2px;font-size:.78rem}.syllabus-side-zoom-label{font-size:.65rem;font-weight:700;line-height:1.1}.syllabus-ai-fab-btn{z-index:10;cursor:pointer;background:linear-gradient(135deg,#4361ee 0%,#7209b7 100%);border:1.5px solid #ffffff73;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem;transition:all .25s cubic-bezier(.34,1.56,.64,1);animation:3s infinite syllabus-ai-pulse;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 4px 18px #7209b766,0 2px 6px #00000026;color:#fff!important}.syllabus-ai-fab-btn:hover{transform:scale(1.12);box-shadow:0 6px 24px #7209b799,0 3px 8px #0003}.syllabus-ai-fab-btn:active{transform:scale(.94)}@keyframes syllabus-ai-pulse{0%,to{box-shadow:0 0 #7209b766}50%{box-shadow:0 0 0 8px #7209b700}}.syllabus-ai-panel{background:var(--surface-bg,#fff);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color,#cbd5e1);z-index:30;opacity:0;pointer-events:none;border-radius:20px;flex-direction:column;width:min(390px,100% - 28px);height:min(530px,100% - 80px);max-height:560px;transition:all .26s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:66px;right:14px;overflow:hidden;transform:translateY(16px)scale(.96);box-shadow:0 14px 40px #00000040,0 2px 8px #00000014}.syllabus-ai-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}[data-theme=dark] .syllabus-ai-panel{background:#1e293bf5;border-color:#ffffff29;box-shadow:0 16px 48px #0000008c}.syllabus-ai-header{background:var(--bg-hover,#4361ee0f);border-bottom:1px solid var(--border-color,#00000014);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.syllabus-ai-title{color:var(--text-main);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.syllabus-ai-title i{color:var(--primary,#4361ee);font-size:1.1rem}.syllabus-ai-header-actions{align-items:center;gap:6px;display:flex}.syllabus-ai-api-btn{color:var(--primary,#4361ee);cursor:pointer;background:#4361ee1a;border:1px solid #4361ee33;border-radius:12px;align-items:center;gap:5px;padding:4px 10px;font-size:.76rem;font-weight:600;transition:all .2s;display:inline-flex}.syllabus-ai-api-btn:hover{background:var(--primary,#4361ee);color:#fff}.syllabus-ai-close-btn{width:28px;height:28px;color:var(--text-sub,#64748b);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:all .2s;display:flex}.syllabus-ai-close-btn:hover{color:var(--text-main);background:#00000014}.syllabus-ai-messages{scrollbar-width:thin;flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.syllabus-ai-msg{gap:10px;max-width:90%;animation:.2s fadeIn;display:flex}.syllabus-ai-msg-ai{align-self:flex-start}.syllabus-ai-msg-user{flex-direction:row-reverse;align-self:flex-end}.syllabus-ai-avatar{color:#fff;background:linear-gradient(135deg,#4361ee,#7209b7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;display:flex;box-shadow:0 2px 6px #7209b74d}.syllabus-ai-bubble{word-break:break-word;border-radius:14px;padding:10px 14px;font-size:.88rem;line-height:1.5}.syllabus-ai-bubble p{margin:0}.syllabus-ai-bubble-ai{background:var(--bg-hover,#f1f5f9);color:var(--text-main,#1e293b);border:1px solid var(--border-color,#0000000f);border-bottom-left-radius:4px}[data-theme=dark] .syllabus-ai-bubble-ai{background:#1e293b;border-color:#ffffff14}.syllabus-ai-bubble-user{background:var(--primary,#4361ee);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #4361ee40}.syllabus-ai-typing-dots{gap:4px;padding:4px 2px;display:inline-flex}.syllabus-ai-typing-dots span{background:var(--primary,#4361ee);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typingBounce}.syllabus-ai-typing-dots span:first-child{animation-delay:-.32s}.syllabus-ai-typing-dots span:nth-child(2){animation-delay:-.16s}.syllabus-ai-footer{border-top:1px solid var(--border-color,#00000014);background:var(--surface-bg);flex-shrink:0;padding:8px 12px 10px}.syllabus-ai-quick-btns{scrollbar-width:none;gap:6px;margin-bottom:6px;padding-bottom:6px;display:flex;overflow-x:auto}.syllabus-ai-quick-btns::-webkit-scrollbar{display:none}.syllabus-ai-quick-btn{color:var(--text-sub,#475569);background:var(--bg-hover,#0000000a);border:1px solid var(--border-color,#00000014);cursor:pointer;white-space:nowrap;border-radius:12px;flex-shrink:0;padding:4px 9px;font-size:.75rem;font-weight:500;transition:all .15s}.syllabus-ai-quick-btn:hover{background:var(--primary,#4361ee);color:#fff;border-color:var(--primary,#4361ee)}.syllabus-ai-input-row{background:var(--bg-hover,#f8fafc);border:1.5px solid var(--border-color,#e2e8f0);border-radius:14px;align-items:flex-end;gap:8px;padding:4px 6px 4px 10px;transition:border-color .2s;display:flex}.syllabus-ai-input-row:focus-within{border-color:var(--primary,#4361ee);background:var(--surface-bg,#fff)}.syllabus-ai-input{color:var(--text-main);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:80px;padding:4px 0;font-size:.86rem;line-height:1.4}.syllabus-ai-send-btn{background:var(--primary,#4361ee);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.88rem;transition:all .2s;display:flex}.syllabus-ai-send-btn:hover{background:#3b52d4;transform:scale(1.05)}.syllabus-ai-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (width<=768px){.syllabus-modal-box{border-radius:0;width:100%;height:100%;max-height:100vh;padding:12px}.syllabus-modal-action-btn span{display:none}}.course-takers-modal-box{border-radius:18px;flex-direction:column;width:92%;max-width:560px;max-height:85vh;padding:0;display:flex;overflow:hidden;box-shadow:0 16px 40px #00000038}.course-takers-modal-header{border-bottom:1px solid var(--border-color);background:var(--header-bg);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.course-takers-title-group{align-items:center;gap:12px;display:flex}.course-takers-icon-circle{color:#fff;background:linear-gradient(135deg,#4361ee,#4895ef);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.15rem;display:flex;box-shadow:0 4px 10px #4361ee4d}.course-takers-title-text-wrap h3{color:var(--text-main);margin:0;font-size:1.08rem;font-weight:700}.course-takers-modal-subtitle{color:var(--text-sub,#64748b);margin-top:2px;font-size:.8rem}.course-takers-close-btn{color:var(--text-sub,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-size:1.2rem;transition:all .2s}.course-takers-close-btn:hover{color:var(--text-main);background:#0000000f}.course-takers-body{flex-direction:column;flex:1;gap:22px;padding:18px 20px;display:flex;overflow-y:auto}.course-takers-loading{text-align:center;color:var(--primary,#4361ee);flex-direction:column;align-items:center;gap:12px;padding:40px 20px;font-size:.95rem;display:flex}.course-takers-loading i{font-size:2rem}.course-takers-empty-state{text-align:center;color:var(--text-sub,#64748b);padding:40px 20px}.course-takers-empty-state i{opacity:.5;margin-bottom:12px;font-size:2.8rem}.course-takers-empty-state h4{color:var(--text-main);margin:0 0 6px;font-size:1.05rem}.course-takers-empty-state p{margin:0;font-size:.85rem;line-height:1.5}.course-takers-section{flex-direction:column;gap:10px;display:flex}.course-takers-section-header{justify-content:space-between;align-items:center;display:flex}.course-takers-section-title{color:var(--text-main);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.course-takers-list{flex-direction:column;gap:8px;display:flex}.course-takers-sub-empty{color:var(--text-sub,#64748b);text-align:center;background:var(--bg-main,#f8fafc);border:1px dashed var(--border-color);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:14px;font-size:.83rem;display:flex}.course-taker-card{background:var(--bg-main,#f8fafc);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.course-taker-card:hover{border-color:var(--primary,#4361ee);background:var(--surface-bg,#fff);transform:translateY(-2px);box-shadow:0 4px 14px #4361ee1f}.course-taker-card.is-self{border-left:3px solid #10b981}.course-taker-avatar-wrapper{background:#e2e8f0;border-radius:50%;flex-shrink:0;width:42px;height:42px;position:relative;overflow:hidden}.course-taker-avatar-img{object-fit:cover;width:100%;height:100%}.course-taker-avatar-fallback{color:#94a3b8;background:#e2e8f0;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.1rem;display:flex}.course-taker-main-info{flex:1;min-width:0}.course-taker-name-row{align-items:center;gap:6px;display:flex}.course-taker-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.course-taker-self-tag{color:#065f46;background:#d1fae5;border-radius:6px;padding:1px 6px;font-size:.7rem;font-weight:600}.course-taker-friend-tag{color:#3730a3;background:#e0e7ff;border-radius:6px;align-items:center;gap:3px;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-flex}.course-taker-badges-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.course-taker-sem-badge{color:var(--primary,#4361ee);background:#4361ee14;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:.73rem;font-weight:500;display:inline-flex}.course-taker-dept-badge{color:var(--text-sub,#475569);background:#64748b1a;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:.73rem;font-weight:500;display:inline-flex}.course-taker-action-arrow{color:var(--text-sub,#94a3b8);font-size:.85rem;transition:transform .2s}.course-taker-card:hover .course-taker-action-arrow{color:var(--primary,#4361ee);transform:translate(3px)}.csp-btn-detail-takers{color:var(--primary,#4361ee)!important;background:#4361ee14!important;border-color:#4361ee4d!important;font-weight:600!important}.csp-btn-detail-takers:hover{background:var(--primary,#4361ee)!important;color:#fff!important}[data-theme=dark] .course-taker-card{background:#1e293b;border-color:#334155}[data-theme=dark] .course-taker-card:hover{border-color:var(--primary,#4361ee);background:#243247}[data-theme=dark] .course-takers-sub-empty{color:#94a3b8;background:#1e293b;border-color:#334155}[data-theme=dark] .course-taker-avatar-wrapper,[data-theme=dark] .course-taker-avatar-fallback{color:#cbd5e1;background:#334155}[data-theme=dark] .course-taker-friend-tag{color:#c7d2fe;background:#4361ee40}[data-theme=dark] .course-taker-self-tag{color:#6ee7b7;background:#10b98133}[data-theme=dark] .course-taker-dept-badge{color:#cbd5e1;background:#94a3b826}#floating-controls{z-index:100;pointer-events:none;width:56px;height:56px;display:block;position:absolute;bottom:25px;right:25px}.floating-btn{background:var(--surface-bg);border:1px solid var(--border-color);width:50px;height:50px;color:var(--text-main);cursor:pointer;pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 4px 12px #00000026}.floating-btn.btn-danger-fab{background-color:var(--danger);border-color:var(--danger);color:#fff}.floating-btn.btn-danger-fab:hover:not(:disabled){color:#fff;background-color:#d63031;border-color:#d63031}.main-fab{z-index:102;background:var(--primary);color:#fff;border-color:var(--primary);width:56px;height:56px;font-size:1.2rem;position:absolute;bottom:0;right:0;box-shadow:0 6px 16px #4361ee66}#floating-controls.active .main-fab i{transition:transform .3s;transform:rotate(45deg)}.main-fab:hover{background:#3f37c9;transform:scale(1.1)}.fab-menu-items{pointer-events:none;z-index:99;width:100%;height:100%;position:absolute;bottom:0;right:0}#floating-controls.active .fab-menu-items{pointer-events:auto}.fab-menu-items .floating-btn{opacity:0;width:50px;height:50px;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);position:absolute;bottom:3px;right:3px;transform:scale(.5)rotate(-45deg)}.floating-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--primary);box-shadow:0 6px 20px #0003}.floating-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:#f5f5f5}[data-theme=dark] .floating-btn:disabled{color:#666;background:#303031}#floating-controls.active .fab-menu-items .floating-btn:nth-child(4){opacity:1;transform:translateY(-90px)scale(1)}#floating-controls.active .fab-menu-items .floating-btn:nth-child(4):hover{transform:translateY(-90px)scale(1.1)}#floating-controls.active .fab-menu-items .floating-btn:first-child{opacity:1;transform:translate(-64px,-64px)scale(1)}#floating-controls.active .fab-menu-items .floating-btn:first-child:hover{transform:translate(-64px,-64px)scale(1.1)}#floating-controls.active .fab-menu-items .floating-btn:nth-child(3){opacity:1;transform:translate(-95px)scale(1)}#floating-controls.active .fab-menu-items .floating-btn:nth-child(3):hover{transform:translate(-95px)scale(1.1)}#floating-controls.active .fab-menu-items .floating-btn:nth-child(2){opacity:1;transform:translate(-150px)scale(1)}#floating-controls.active .fab-menu-items .floating-btn:nth-child(2):hover{transform:translate(-150px)scale(1.1)}.ai-fab-btn{box-shadow:0 4px 12px #9013fe33}.ai-fab-btn:hover{box-shadow:0 6px 20px #9013fe80!important}.custom-fab{z-index:100;background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;bottom:20px;left:20px;box-shadow:0 4px 12px #0003}.custom-fab:hover{background:#3f37c9;transform:scale(1.1);box-shadow:0 6px 16px #0000004d}@media (width<=768px){.custom-fab{display:none!important}#left-sidebar.active.custom-tab-active .custom-fab{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;z-index:1005!important;display:flex!important;position:fixed!important;left:18px!important;right:auto!important}#left-sidebar.active:has(#btn-tab-custom.active) .custom-fab{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;z-index:1005!important;display:flex!important;position:fixed!important;left:18px!important;right:auto!important}}.course-bubble-wrap{gap:8px;max-width:80%;margin-top:14px;margin-bottom:4px;display:flex;position:relative;overflow:visible}.course-bubble-wrap.mine{flex-direction:row-reverse;align-self:flex-end}.course-bubble-wrap.theirs{flex-direction:row;align-self:flex-start}.course-chat-bubble{word-break:break-word;border-radius:18px;max-width:100%;padding:9px 14px;font-size:.92rem;line-height:1.5;position:relative;box-shadow:0 1px 3px #00000014}.course-bubble-wrap.mine .course-chat-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.course-bubble-wrap.theirs .course-chat-bubble{background:var(--surface-bg);color:var(--text-main);border:1px solid var(--border-color);border-bottom-left-radius:4px}.course-chat-bubble.deleted{word-break:break-all;opacity:.85;box-shadow:none;border-radius:12px;align-items:center;gap:6px;padding:8px 12px;font-style:italic;display:inline-flex;background:var(--header-bg)!important;color:var(--text-sub)!important;border:1px dashed var(--border-color)!important}.course-chat-bubble.deleted i{opacity:.6;font-size:.8rem}.course-bubble-wrap .chat-msg-actions{opacity:0;pointer-events:none;background:var(--surface-bg,#fff);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;border-radius:20px;align-items:center;gap:3px;padding:3px 6px;transition:opacity .18s,transform .18s;display:flex;position:absolute;top:-24px;transform:translateY(4px);box-shadow:0 4px 14px #0000001f}.course-bubble-wrap:hover .chat-msg-actions,.course-bubble-wrap.show-actions .chat-msg-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.course-bubble-wrap.theirs .chat-msg-actions{left:0;right:auto}.course-bubble-wrap.mine .chat-msg-actions{left:auto;right:0}.course-bubble-wrap .chat-time{opacity:.8;text-align:right;margin-top:4px;font-size:.68rem}.course-bubble-wrap.mine .chat-time{color:#ffffffbf}.course-bubble-wrap.theirs .chat-time{color:var(--text-sub)}#rating-list-container{grid-template-columns:repeat(2,1fr);gap:8px;display:grid!important}.rating-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 1px 3px var(--shadow-color);border-radius:8px;padding:8px 10px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.rating-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #4361ee26}.rating-card:has(.is-mine){border-left:3px solid var(--primary)}.rating-card-header{justify-content:space-between;align-items:center;width:100%;display:flex}.rating-card-header>div:first-child{cursor:pointer;flex:1}.rating-card-nickname{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:.9rem;font-weight:700;overflow:hidden}.rating-card-scores{justify-content:space-between;gap:4px;margin-top:8px;display:flex}.score-tag{background:var(--bg-color);text-align:center;color:var(--text-sub);border-radius:6px;flex:1;padding:4px 2px;font-size:.75rem;font-weight:700}.star-rating{gap:5px;display:flex}.star-rating i{color:var(--border-color);cursor:pointer;font-size:1.8rem;transition:color .2s,transform .1s}.star-rating i:hover{transform:scale(1.15)}.star-rating i:active{transform:scale(.9)}.star-rating i.active{color:#f1c40f}.forum-badge{color:#fff;z-index:2;border-radius:20px;padding:3px 8px;font-size:.7rem;font-weight:700;position:absolute;top:10px;right:10px}.active-bg{background-color:#e74c3c}.rated-bg{background-color:#9b59b6}.sweet-bg{background-color:#f1c40f}.chill-bg{background-color:#3498db}.know-bg{background-color:#2ecc71}.forum-home-card{background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;box-shadow:0 2px 5px var(--shadow-color);border-radius:8px;flex-direction:column;gap:6px;padding:15px;transition:all .2s;display:flex;position:relative}.forum-home-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.forum-home-card .course-title{color:var(--text-main);white-space:normal;word-break:break-word;font-size:1.1rem;font-weight:500;line-height:1.4}.forum-home-card .course-meta{color:var(--text-sub);font-size:.85rem}.forum-home-card .course-actions{color:var(--primary);gap:15px;margin-top:8px;font-size:.8rem;font-weight:700;display:flex}.forum-choice-card{background:var(--surface-bg);border:2px solid var(--border-color);cursor:pointer;text-align:center;min-width:250px;max-width:320px;height:220px;box-shadow:0 4px 10px var(--shadow-color);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px;transition:all .2s;display:flex}.forum-choice-card i{margin-bottom:15px;font-size:3.5rem;transition:transform .2s}.forum-choice-card h4{color:var(--text-main);margin:0 0 10px;font-size:1.3rem}.forum-choice-card p{color:var(--text-sub);margin:0;font-size:.9rem;line-height:1.4}.forum-choice-card:hover{border-color:var(--primary);background:#4361ee0d;transform:translateY(-5px);box-shadow:0 8px 20px #4361ee33}.forum-choice-card:hover i{transform:scale(1.1)}[data-theme=dark] .forum-choice-card:hover{background:#4361ee1a}#subview-forum:after{content:" 放開以進入課程討論區";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;height:100%;color:var(--primary);text-shadow:0 4px 15px #fffc;z-index:2000;pointer-events:none;opacity:0;visibility:hidden;background:linear-gradient(135deg,#4361ee40 0%,#74b9ff26 100%);flex-direction:column;justify-content:center;align-items:center;font-family:"Font Awesome 5 Free",Segoe UI,sans-serif;font-size:2rem;font-weight:900;transition:opacity .3s,visibility .3s;display:flex;position:absolute;top:0;left:0}#subview-forum.forum-dropzone-active:after{opacity:1;visibility:visible}[data-theme=dark] #subview-forum:after{color:#a29bfe;text-shadow:0 4px 15px #000c;background:linear-gradient(135deg,#6c5ce74d 0%,#a29bfe1a 100%)}#forum-home-list{background:var(--bg-color);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:20px!important;padding:20px!important}.explore-card{background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;flex-direction:column;min-height:160px;padding:20px;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 10px #0000000a}.explore-card:hover{border-color:#4361ee66;transform:translateY(-5px);box-shadow:0 12px 24px #4361ee1f}.explore-card:before{content:"";background:var(--border-color);width:100%;height:4px;transition:background .3s;position:absolute;top:0;left:0}.explore-card:hover:before{background:var(--primary)}.explore-card .badge{z-index:2;letter-spacing:.5px;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:700;position:absolute;top:16px;right:16px;box-shadow:0 2px 6px #00000026}.explore-card .course-title{color:var(--text-main);white-space:normal;word-break:break-word;margin-bottom:6px;padding-right:85px;font-size:1.15rem;font-weight:500;line-height:1.4}.explore-card .course-meta{color:var(--text-sub);border-bottom:1px dashed var(--border-color);white-space:nowrap;text-overflow:ellipsis;margin-bottom:15px;padding-bottom:12px;font-size:.85rem;overflow:hidden}.explore-card .course-time-location{color:var(--text-sub);flex-direction:column;gap:6px;margin-bottom:20px;font-size:.85rem;display:flex}.explore-card .course-actions{color:var(--primary);opacity:.7;justify-content:space-between;align-items:center;margin-top:auto;font-size:.9rem;font-weight:700;transition:opacity .3s,transform .3s;display:flex}.explore-card:hover .course-actions{opacity:1;transform:translate(4px)}.forum-sticky-header{z-index:50;flex-shrink:0;position:sticky;top:0;box-shadow:0 2px 10px #00000014}.forum-announcement-banner{color:#d63031;background:linear-gradient(90deg,#ff9a9e 0%,#fecfef 99% 100%);flex-shrink:0;align-items:center;gap:10px;padding:8px 15px;font-size:.9rem;font-weight:700;display:flex}[data-theme=dark] .forum-announcement-banner{color:#ff7675;background:linear-gradient(90deg,#2d3436 0%,#000 100%)}.announcement-icon{animation:2s infinite ring}@keyframes ring{0%,to{transform:rotate(0)}10%,30%,50%{transform:rotate(-15deg)}20%,40%{transform:rotate(15deg)}}.announcement-track-container{flex:1;height:1.2rem;position:relative;overflow:hidden}.announcement-track{flex-direction:column;transition:transform .5s ease-in-out;display:flex}.announcement-item{white-space:nowrap;text-overflow:ellipsis;height:1.2rem;line-height:1.2rem;overflow:hidden}.forum-hot-section{background:var(--bg-color);flex-shrink:0;padding:15px}.hot-carousel-wrapper{border-radius:12px;align-items:center;padding:5px 0;display:flex;position:relative;overflow:hidden}.hot-carousel-track{gap:15px;width:100%;margin:0;padding:0;display:flex;overflow:visible}.hot-carousel-track:after{display:none}.hot-carousel-track::-webkit-scrollbar{display:none}.hot-card{scroll-snap-align:none;flex-direction:column;flex-shrink:0;display:flex;position:relative;flex:0 0 calc(33.3333% - 10px)!important;min-width:0!important;max-width:none!important}.carousel-btn{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;z-index:100;opacity:.9;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;box-shadow:0 4px 12px #00000040}.carousel-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);opacity:1;transform:scale(1.1)}.carousel-btn.prev{left:15px}.carousel-btn.next{right:15px}body.readonly-mode{padding-top:50px!important}.sidebar-collapsed-btn,.sidebar-collapsed-brand{display:none}body.iframe-mode #left-sidebar{border-right:none;align-items:center;gap:15px;background:#2b2d42!important;width:60px!important;padding:15px 0!important}body.iframe-mode #left-sidebar>:not(.sidebar-collapsed-btn){display:none!important}body.iframe-mode .sidebar-collapsed-btn{cursor:pointer;color:#fff;background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;padding:8px 0;font-size:.9rem;transition:all .2s;display:flex}body.iframe-mode .sidebar-collapsed-btn:hover{background:#ffffff1a}.vertical-text-box{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:3px;font-size:.95rem;font-weight:700}body.iframe-mode #right-sidebar{border-left:none;justify-content:center;align-items:center;background:var(--primary)!important;width:60px!important;padding:0!important}body.iframe-mode #right-sidebar>:not(.sidebar-collapsed-brand){display:none!important}body.iframe-mode .sidebar-collapsed-brand{color:#fff;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:4px;justify-content:center;align-items:center;height:100%;font-size:1.1rem;font-weight:700;display:flex}#fill-list,.file-list,.stats-list{margin:0;padding:0;list-style:none;overflow-y:auto}#fill-list .course-card{cursor:pointer;margin-bottom:8px;transition:transform .2s,box-shadow .2s}#fill-list .course-card:hover{background:var(--hover-bg);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.file-list{max-height:300px}.file-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:10px;font-size:.9rem;display:flex}.file-item:last-child{border-bottom:none}.stats-list{max-height:400px}.stats-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:10px;display:flex}.stats-row:last-child{border-bottom:none}.stats-dept{color:var(--text-sub);font-weight:700}.stats-credit{color:var(--primary);background:#e8f4fd;border-radius:12px;padding:2px 8px;font-size:.85rem;font-weight:700}[data-theme=dark] .stats-credit{background:#1a2733}.import-option{flex-direction:column;gap:10px;display:flex}.import-btn{border:1px solid var(--border-color);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:15px;padding:15px;transition:all .2s;display:flex}.import-btn:hover{background:var(--header-bg);border-color:var(--primary)}.import-icon{color:var(--primary);font-size:1.5rem}.author-link{color:var(--primary);background:#4361ee1a;border-radius:20px;align-items:center;gap:5px;margin-top:5px;padding:4px 10px;font-size:.8rem;text-decoration:none;transition:background .2s;display:inline-flex}.author-link:hover{background:#4361ee33}.surprise-btn{color:#ccc;cursor:pointer;margin-top:10px;font-size:.7rem;text-decoration:none;transition:color .2s;display:inline-block}.surprise-btn:hover{color:var(--primary)}.welcome-slider-wrapper{width:100%;margin-bottom:20px;position:relative;overflow:hidden}.welcome-slides-track{width:100%;transition:transform .3s cubic-bezier(.25,.8,.25,1);display:flex}.welcome-slide{box-sizing:border-box;opacity:0;flex-direction:column;align-items:center;min-width:100%;padding:0 5px;transition:opacity .3s;display:flex}.welcome-slide.active{opacity:1}.welcome-dots-container{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.welcome-dot{background-color:var(--border-color);border-radius:50%;width:8px;height:8px;transition:all .3s}.welcome-dot.active{background-color:var(--primary);border-radius:10px;width:20px}.welcome-highlight-box{background:var(--header-bg);text-align:left;border-radius:8px;width:100%;margin:10px 0;padding:15px}.profile-header-sec{flex-direction:column;align-items:center;margin-bottom:20px;display:flex}#profile-modal-avatar{border:2px solid var(--primary);border-radius:50%;width:80px;height:80px;margin-bottom:10px}.profile-name-row{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.profile-name-row h2{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:700}.profile-nickname-input{color:var(--text-main);background:var(--bg-card,#ffffff14);border:1.5px solid var(--primary);box-sizing:border-box;text-align:left;border-radius:6px;outline:none;width:120px;max-width:130px;height:28px;padding:3px 8px;font-size:14px;font-weight:600;transition:border-color .2s,box-shadow .2s;box-shadow:0 0 0 2px #6366f126}.profile-nickname-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f140}.profile-name-row i{cursor:pointer;color:var(--primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;transition:all .2s;display:inline-flex}.profile-name-row i:hover{background:#6366f11f;transform:scale(1.08)}#profile-nickname-save-icon{color:#10b981;background:#10b98126;border:1px solid #10b9814d}#profile-nickname-save-icon:hover{color:#fff;background:#10b981;transform:scale(1.08)}.profile-title-badge{letter-spacing:.5px;border:1.5px solid var(--border-color);white-space:nowrap;cursor:default;border-radius:20px;align-items:center;margin-top:2px;padding:3px 14px;font-size:.78rem;font-weight:700;transition:opacity .3s,transform .2s;display:inline-flex;position:relative;overflow:visible;box-shadow:0 2px 8px #0000001f}.profile-title-badge:hover{transform:scale(1.05)}.profile-title-badge:before{content:"";background:inherit;filter:blur(8px);opacity:.55;z-index:-1;border-radius:24px;animation:2.5s ease-in-out infinite alternate badge-glow;position:absolute;inset:-3px}@keyframes badge-glow{0%{opacity:.35;transform:scale(.98)}to{opacity:.65;transform:scale(1.04)}}.badge-legendary{color:#5c2c00!important;text-shadow:0 1px 2px #fff9!important;background:linear-gradient(135deg,#f6d365 0%,#fda085 100%)!important;border:1.5px solid #fa0!important;font-weight:800!important;box-shadow:0 0 8px #fea08599!important}.badge-diamond{color:#0369a1!important;text-shadow:0 1px 2px #fffc!important;background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 30%,#c084fc 100%)!important;border:1.5px solid #38bdf8!important;font-weight:800!important;box-shadow:0 0 8px #c084fc80!important}.badge-silver{color:#334155!important;background:linear-gradient(135deg,#f1f5f9 0%,#cbd5e1 100%)!important;border:1.5px solid #94a3b8!important;font-weight:700!important}.badge-epic{color:#fff!important;text-shadow:0 1px 3px #0000004d!important;background:linear-gradient(135deg,#c084fc 0%,#6366f1 100%)!important;border:1.5px solid #a855f7!important;font-weight:700!important;box-shadow:0 0 8px #6366f180!important}.badge-expert{color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(135deg,#e879f9 0%,#a21caf 100%)!important;border:1.5px solid #d946ef!important;font-weight:700!important}.badge-chief{color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%)!important;border:1.5px solid #0ea5e9!important;font-weight:700!important}.badge-helper{color:#0369a1!important;background:#e0f2fe!important;border:1.5px solid #7dd3fc!important;font-weight:700!important}.badge-veteran{color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(135deg,#4ade80 0%,#15803d 100%)!important;border:1.5px solid #22c55e!important;font-weight:700!important}.badge-potential{color:#15803d!important;background:#dcfce7!important;border:1.5px solid #86efac!important;font-weight:700!important}.badge-freshman{color:#64748b!important;background:#f8fafc!important;border:1.5px solid #cbd5e1!important;font-weight:600!important}.badge-double-major{color:#fff!important;text-shadow:0 1px 2px #00000040!important;background:linear-gradient(135deg,#fb7185 0%,#e11d48 100%)!important;border:1.5px solid #f43f5e!important;font-weight:700!important;box-shadow:0 0 6px #e11d4866!important}.badge-minor{color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(135deg,#60a5fa 0%,#2563eb 100%)!important;border:1.5px solid #3b82f6!important;font-weight:700!important}.badge-teacher-edu{color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(135deg,#34d399 0%,#059669 100%)!important;border:1.5px solid #10b981!important;font-weight:700!important}.badge-program{color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(135deg,#fbcfe8 0%,#db2777 100%)!important;border:1.5px solid #ec4899!important;font-weight:700!important}.badge-all-mighty{color:#4c0519!important;text-shadow:0 1px 2px #ffffffb3!important;background:linear-gradient(135deg,#fef08a 0%,#f472b6 50%,#38bdf8 100%)!important;border:1.5px solid #fb7185!important;font-weight:800!important;box-shadow:0 0 10px #f472b699!important}.badge-collector{color:#fff!important;text-shadow:0 1px 2px #0003!important;background:linear-gradient(135deg,#a78bfa 0%,#6d28d9 100%)!important;border:1.5px solid #8b5cf6!important;font-weight:700!important;box-shadow:0 0 8px #6d28d980!important}.badge-exclusive-gold{position:relative;overflow:hidden;color:#fef08a!important;text-shadow:0 0 6px #fbbf24bf,0 1px 2px #000000e6!important;letter-spacing:.5px!important;background:linear-gradient(135deg,#121215 0%,#1e1910 50%,#0d0d10 100%)!important;border:1.5px solid #fbbf24!important;font-weight:800!important;box-shadow:0 0 12px #f59e0b8c,inset 0 0 6px #fbbf244d!important}.badge-exclusive-gold:before{content:"";pointer-events:none;background:linear-gradient(60deg,#0000 30%,#fef08a40 50%,#0000 70%);width:200%;height:200%;animation:3.5s linear infinite goldShimmer;position:absolute;top:-50%;left:-50%;transform:rotate(25deg)}@keyframes goldShimmer{0%{transform:translate(-100%)rotate(25deg)}to{transform:translate(100%)rotate(25deg)}}.badge-exclusive-flame{color:#fecaca!important;text-shadow:0 0 6px #ef4444cc!important;background:linear-gradient(135deg,#2a0808 0%,#450a0a 50%,#1c0404 100%)!important;border:1.5px solid #ef4444!important;font-weight:800!important;box-shadow:0 0 12px #ef444480,inset 0 0 6px #f871714d!important}.badge-exclusive-diamond{color:#e0f2fe!important;text-shadow:0 0 6px #38bdf8cc!important;background:linear-gradient(135deg,#081a2e 0%,#0c2847 50%,#051324 100%)!important;border:1.5px solid #38bdf8!important;font-weight:800!important;box-shadow:0 0 12px #38bdf880,inset 0 0 6px #bae6fd4d!important}.badge-exclusive-cosmic{color:#f3e8ff!important;text-shadow:0 0 6px #c084fccc!important;background:linear-gradient(135deg,#180828 0%,#2e0854 50%,#11051e 100%)!important;border:1.5px solid #c084fc!important;font-weight:800!important;box-shadow:0 0 12px #c084fc80,inset 0 0 6px #e9d5ff4d!important}.badge-exclusive-rainbow{color:#fff!important;text-shadow:0 0 4px #fff9!important;background-color:#0000!important;background-image:linear-gradient(#18181b,#18181b),linear-gradient(135deg,#f43f5e,#fbbf24,#10b981,#3b82f6,#8b5cf6)!important;background-position:0 0!important;background-repeat:repeat!important;background-size:auto!important;background-attachment:scroll!important;background-origin:border-box!important;background-clip:padding-box,border-box!important;border:1.5px solid #0000!important;font-weight:800!important;box-shadow:0 0 12px #8b5cf673!important}.badge-particles{pointer-events:none}.badge-particle,.badge-star{color:inherit!important}.badge-particles{pointer-events:none;z-index:2;border-radius:20px;position:absolute;inset:0;overflow:visible}.badge-particle{opacity:0;width:5px;height:5px;animation:float-particle var(--dur,2s) var(--delay,0s) ease-in-out infinite;background:radial-gradient(circle,#fff 0%,currentColor 70%,#0000 100%);border-radius:50%;position:absolute}@keyframes float-particle{0%{transform:translate(var(--x0,0px), var(--y0,0px)) scale(.3);opacity:0}30%{opacity:.9}70%{opacity:.6}to{transform:translate(var(--x1,0px), var(--y1,-20px)) scale(0);opacity:0}}.badge-star{opacity:0;pointer-events:none;animation:badge-star-pop var(--dur,1.8s) var(--delay,0s) ease-in-out infinite;z-index:3;font-size:8px;position:absolute}@keyframes badge-star-pop{0%{opacity:0;transform:scale(.4)rotate(0)}40%{opacity:1;transform:scale(1.2)rotate(180deg)}80%{opacity:.4;transform:scale(.8)rotate(300deg)}to{opacity:0;transform:scale(0)rotate(360deg)}}.profile-badges-row{justify-content:center;align-items:center;gap:8px;width:100%;min-height:28px;margin:10px 0 14px;display:flex}.profile-badge-item{cursor:default;animation:.4s both badge-fade-in}@keyframes badge-fade-in{0%{opacity:0;transform:scale(.8)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.profile-points-row{justify-content:center;align-items:center;gap:12px;width:100%;margin-top:4px;display:flex}.profile-edit-titles-btn{border:1.5px solid var(--primary);color:var(--primary);cursor:pointer;white-space:nowrap;box-sizing:border-box;background:0 0;border-radius:20px;align-items:center;gap:5px;height:32px;padding:5px 14px;font-size:.82rem;font-weight:600;transition:background .2s,color .2s,transform .15s;display:inline-flex}.profile-edit-titles-btn:hover{background:var(--primary);color:#fff;transform:scale(1.03)}.social-enrollment-badge{color:#000!important;vertical-align:super!important;white-space:nowrap!important;opacity:.9!important;margin-left:3px!important;font-size:.65rem!important;font-weight:600!important;display:inline-block!important;position:relative!important;top:-.25em!important}[data-theme=dark] .social-enrollment-badge,body.dark-mode .social-enrollment-badge,.dark-mode .social-enrollment-badge{color:#fff!important}#supm-name .social-enrollment-badge,.social-profile-header-banner .social-enrollment-badge{text-shadow:0 1px 2px #00000026;color:#fff!important;opacity:1!important;font-size:.75rem!important;font-weight:600!important;top:-.1em!important}.profile-bio-wrap{box-sizing:border-box;width:100%;margin-top:10px;padding:0 4px}.profile-bio-input-row{background:var(--bg-hover,#ffffff0f);border:1.5px solid var(--border-color);border-radius:20px;align-items:center;gap:8px;padding:6px 12px;transition:border-color .2s;display:flex}.profile-bio-input-row:focus-within{border-color:var(--primary)}.profile-bio-icon{color:var(--text-sub);flex-shrink:0;font-size:.75rem}.profile-bio-input{color:var(--text-color);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:.85rem}.profile-bio-input::placeholder{color:var(--text-sub);opacity:.7}.profile-bio-count{color:var(--text-sub);white-space:nowrap;flex-shrink:0;font-size:.72rem;transition:color .2s}.profile-bio-count--warn{color:var(--warning,#f59e0b);font-weight:600}.supm-bio{color:#fff;opacity:.9;word-break:break-all;background:0 0;border-left:none;margin-top:8px;padding:0;font-size:.72rem;line-height:1.4;display:none}.profile-identity-desc{color:var(--text-sub);margin:0 0 16px;font-size:.85rem;line-height:1.5}.profile-active-identities-list{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.active-identity-row{border:1.5px solid var(--border-color);background:var(--surface-bg);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.active-identity-row:hover{border-color:var(--primary);box-shadow:0 4px 14px var(--shadow-color)}.active-identity-row.d-none{display:none!important}.identity-row-label{flex-shrink:0;align-items:center;gap:12px;min-width:130px;display:flex}.identity-row-badge{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.15rem;transition:all .2s;display:flex}.identity-row-badge.main-major{color:#4361ee;background:#4361ee1f}.identity-row-badge.double-major{color:#f59e0b;background:#f59e0b1f}.identity-row-badge.minor{color:#6366f1;background:#6366f11f}.identity-row-badge.teacher-edu{color:#10b981;background:#10b9811f}.identity-row-badge.program{color:#3b82f6;background:#3b82f61f}.identity-label-info{flex-direction:column;gap:2px;display:flex}.identity-label-title{color:var(--text-main);font-size:.95rem;font-weight:700}.identity-label-desc{color:var(--text-sub);white-space:nowrap;font-size:.75rem}.identity-row-control{flex:1;justify-content:flex-end;align-items:center;min-width:0;display:flex}.identity-row-control .ts-wrapper,.identity-row-control select,.identity-row-control input{max-width:380px;width:100%!important}.identity-status-pill{color:#10b981;background:#10b9811a;border:1px solid #10b98133;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:600;display:inline-flex}#profile-tab-identity.profile-tab-panel{box-sizing:border-box;flex-direction:column;flex:1;min-height:100%;padding-bottom:24px;display:none;position:relative}#profile-tab-identity.profile-tab-panel.active{display:flex!important}#profile-identity-section{flex-direction:column;flex:1;min-height:100%;display:flex;position:relative}.btn-manage-identities-glass{z-index:50;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:30px;justify-content:center;align-items:center;gap:8px;height:42px;margin:auto auto 8px;padding:9px 24px;font-size:.88rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:sticky;bottom:12px;box-shadow:0 8px 24px #4361ee59,0 2px 6px #0000001f;color:#fff!important;background:var(--primary,#4361ee)!important;border:1px solid #ffffff40!important}.btn-manage-identities-glass i{color:#fff;font-size:.95rem}[data-theme=dark] .btn-manage-identities-glass{box-shadow:0 8px 28px #4f46e573,0 2px 6px #00000040;color:#fff!important;background:#4f46e5!important;border:1px solid #fff3!important}.btn-manage-identities-glass:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 10px 28px #4361ee73,0 4px 10px #00000026;background:#3b52d4!important}[data-theme=dark] .btn-manage-identities-glass:hover{box-shadow:0 10px 32px #4f46e58c,0 4px 10px #0000004d;background:#4338ca!important}.btn-manage-identities-glass:active{transform:translateY(0)scale(.97)}@media (width<=768px){.btn-manage-identities-glass{bottom:calc(8px + env(safe-area-inset-bottom,0px));margin-top:auto;margin-left:auto;margin-right:auto;margin-bottom:calc(4px + env(safe-area-inset-bottom,0px));z-index:50;height:40px;padding:9px 22px;font-size:.86rem;position:sticky;box-shadow:0 6px 20px #4361ee59,0 2px 6px #00000026}}.manage-identity-modal-box{width:92vw;max-width:520px}.manage-identity-list{flex-direction:column;gap:10px;max-height:55vh;margin:16px 0;padding-right:4px;display:flex;overflow-y:auto}.manage-identity-item{border:1.5px solid var(--border-color);background:var(--surface-bg);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex;position:relative}.manage-identity-item:hover{border-color:var(--primary);box-shadow:0 3px 10px var(--shadow-color);transform:translateY(-1px)}.manage-identity-item.active{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 6%, var(--surface-bg));box-shadow:0 3px 12px color-mix(in srgb, var(--primary) 12%, transparent)}.manage-identity-item.locked{cursor:default;opacity:.9}.manage-identity-item.locked:hover{border-color:var(--border-color);box-shadow:none;transform:none}.manage-identity-item-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.manage-identity-item-icon.main-major{color:#4361ee;background:#4361ee1f}.manage-identity-item-icon.double-major{color:#f59e0b;background:#f59e0b1f}.manage-identity-item-icon.minor{color:#6366f1;background:#6366f11f}.manage-identity-item-icon.teacher-edu{color:#10b981;background:#10b9811f}.manage-identity-item-icon.program{color:#3b82f6;background:#3b82f61f}.manage-identity-item-info{flex-direction:column;flex:1;gap:2px;display:flex}.manage-identity-name{color:var(--text-main);font-size:.92rem;font-weight:700}.manage-identity-sub{color:var(--text-sub);font-size:.75rem}.manage-identity-status-badge{background:var(--hover-bg);color:var(--text-sub);border:1px solid var(--border-color);border-radius:12px;padding:3px 8px;font-size:.75rem;font-weight:600}.manage-identity-item.active .manage-identity-status-badge{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 20%, transparent)}.manage-identity-status-badge.locked-badge{color:#4361ee;background:#4361ee1a;border-color:#4361ee33}.manage-identity-check{border:1.5px solid var(--border-color);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-left:6px;font-size:.75rem;transition:all .2s;display:flex}.manage-identity-item.active .manage-identity-check{background:var(--primary);border-color:var(--primary);color:#fff}@media (width<=600px){.active-identity-row{flex-direction:column;align-items:flex-start;gap:12px}.identity-row-control{justify-content:stretch;width:100%}.identity-row-control .ts-wrapper,.identity-row-control select,.identity-row-control input{max-width:100%}}.title-picker-container{flex-direction:column;width:90vw;max-width:680px;max-height:85vh;display:flex}.title-picker-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:18px 20px 12px;display:flex}.title-picker-title{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:700}.title-picker-body{flex:1;padding:16px 20px;overflow-y:auto}.title-picker-desc{color:var(--text-sub);margin:0 0 12px;font-size:.83rem;line-height:1.5}.title-picker-hint{color:var(--primary);font-size:.8rem}.title-picker-preview-row{background:var(--hover-bg);border:1.5px dashed var(--border-color);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-height:36px;margin-bottom:16px;padding:8px 12px;display:flex}.title-picker-preview-empty{color:var(--text-sub);font-size:.8rem;font-style:italic}.title-picker-section-label{color:var(--text-sub);letter-spacing:.5px;text-transform:uppercase;margin:12px 0 8px;font-size:.8rem;font-weight:700}.title-picker-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.title-picker-badge-card{border:2px solid var(--border-color);cursor:pointer;background:var(--surface-bg);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 8px;transition:border-color .2s,background .2s,transform .15s,box-shadow .2s;display:flex;position:relative}.title-picker-badge-card:hover{background:var(--hover-bg);transform:scale(1.02)}.title-picker-badge-card.selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface-bg));box-shadow:0 2px 12px color-mix(in srgb, var(--primary) 30%, transparent)}.title-picker-badge-preview{white-space:nowrap;text-overflow:ellipsis;border:1.5px solid;border-radius:16px;align-items:center;max-width:100%;padding:3px 10px;font-size:.75rem;font-weight:700;line-height:1.5;display:inline-flex;overflow:hidden}.title-picker-selected-mark{color:var(--primary);font-size:.85rem;position:absolute;top:4px;right:6px}.title-picker-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px 16px;display:flex}.title-picker-count{color:var(--text-sub);white-space:nowrap;font-size:.82rem}.title-picker-count strong{color:var(--primary);font-size:1rem}.supm-badges-row{flex-wrap:wrap;align-items:center;gap:5px;margin:4px 0;display:flex}.supm-badge-item{cursor:default}.profile-text-input{border:1.5px solid var(--border-color);background:var(--surface-bg);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:8px;padding:8px 12px;font-size:.875rem;transition:border-color .2s}.profile-text-input:focus{border-color:var(--primary);outline:none}.mt-12{margin-top:12px}.profile-points{color:#f39c12;box-sizing:border-box;background:#fdf5e6;border-radius:20px;align-items:center;gap:6px;height:32px;margin-top:0;padding:5px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.profile-settings-sec,.profile-history-sec{border-top:1px solid var(--border-color);margin-top:15px;padding-top:15px}.profile-settings-sec h4,.profile-history-sec h4{color:var(--text-sub);margin:0 0 15px}.setting-row{color:var(--text-main);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;display:flex}.history-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 15px;display:flex}.admin-tab-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:none;padding:12px 20px;font-weight:700;transition:all .2s}.admin-tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-tab-btn:hover:not(.active){background:var(--hover-bg)}.report-card{background:var(--surface-bg);border:1px solid var(--border-color);border-left:4px solid var(--danger);border-radius:8px;padding:15px}.report-card-actions{border-top:1px dashed var(--border-color);gap:8px;margin-top:15px;padding-top:10px;display:flex}#mobile-nav,.mobile-search-header{display:none}@media screen and (width<=900px){html,body{width:100%;height:100dvh;margin:0;overflow:hidden;padding:0!important}body.readonly-mode{padding-top:60px!important}#app-container,.main-layout-container,#main-area,.view-section{overflow:hidden;width:100%!important;height:100dvh!important;box-shadow:none!important;border:none!important;margin:0!important;padding:0!important}.view-section{display:none!important}.view-section.active{flex-direction:column;display:flex!important}#left-sidebar,#right-sidebar{flex-direction:column;display:flex;position:static;overflow:hidden;width:100%!important;height:100dvh!important;margin:0!important;padding:0!important}#left-sidebar .scrollable-content,#right-sidebar .scrollable-content{-webkit-overflow-scrolling:touch;flex:1;width:100%;height:100%;overflow-y:auto;padding:15px 15px calc(88px + env(safe-area-inset-bottom,0px)) 15px!important}.main-subview{flex-direction:column;display:none;overflow:hidden;width:100%!important;height:100dvh!important;margin:0!important;padding:0!important}.main-subview.active{display:flex!important}#subview-timetable{box-sizing:border-box;flex-direction:column;display:flex;overflow:hidden;height:100dvh!important;margin:0!important;padding:0 10px!important}#main-content-wrapper{flex-direction:column;flex:1;width:100%;height:100%;display:flex;overflow:hidden;margin:0!important;padding:0!important}#timetable-container{-webkit-overflow-scrolling:touch;border-radius:12px;flex:1;width:100%;height:100%;overflow:auto;padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}#holding-area-wrapper{transform:translate(-100%);left:0!important;bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;-webkit-backdrop-filter:blur(28px)saturate(190%)!important;backdrop-filter:blur(28px)saturate(190%)!important;z-index:1005!important;background:linear-gradient(135deg,#fffffff2 0%,#f5f7ffe0 100%)!important;border:1.5px solid #ffffffd9!important;border-radius:24px!important;flex-direction:column!important;width:min(340px,100vw - 32px)!important;max-height:min(380px,100vh - 210px)!important;margin:0!important;padding:0!important;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .3s!important;display:flex!important;position:fixed!important;overflow:visible!important;box-shadow:0 16px 45px #0000002e,0 4px 12px #00000014!important}[data-theme=dark] #holding-area-wrapper{background:linear-gradient(135deg,#20232df2 0%,#14161ee6 100%)!important;border:1.5px solid #ffffff2e!important;box-shadow:0 18px 48px #000000a6!important}#holding-side-tab,.holding-side-tab{color:#374151!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;z-index:10!important;pointer-events:auto!important;background:#e5e7eb linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%)!important;border:1.2px solid #0000001a!important;border-left:none!important;border-radius:0 16px 16px 0!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;padding:10px 7px 10px 8px!important;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s!important;display:flex!important;position:absolute!important;top:50%!important;left:100%!important;transform:translateY(-50%)!important;box-shadow:3px 5px 15px #0000001f!important}[data-theme=dark] #holding-side-tab,[data-theme=dark] .holding-side-tab{color:#f3f4f6!important;background:#374151 linear-gradient(135deg,#374151 0%,#1f2937 100%)!important;border:1.2px solid #ffffff26!important;border-left:none!important;box-shadow:3px 5px 16px #00000073!important}#holding-side-tab i.fa-inbox,.holding-side-tab i.fa-inbox{font-size:.95rem;color:#4b5563!important}[data-theme=dark] #holding-side-tab i.fa-inbox,[data-theme=dark] .holding-side-tab i.fa-inbox{color:#cbd5e1!important}#holding-side-tab .tab-vertical-text,.holding-side-tab .tab-vertical-text{writing-mode:vertical-lr;letter-spacing:2px;font-size:.76rem;font-weight:700;line-height:1;color:#374151!important}[data-theme=dark] #holding-side-tab .tab-vertical-text,[data-theme=dark] .holding-side-tab .tab-vertical-text{color:#f3f4f6!important}#holding-side-tab i.tab-arrow,.holding-side-tab i.tab-arrow{opacity:.65;margin-top:2px;font-size:.68rem;transition:transform .3s;color:#4b5563!important}[data-theme=dark] #holding-side-tab i.tab-arrow,[data-theme=dark] .holding-side-tab i.tab-arrow{color:#cbd5e1!important}#holding-side-tab:active,.holding-side-tab:active{transform:translateY(-50%)scale(.94)!important}#holding-area-wrapper.open{transform:translate(calc(50vw + min(340px,100vw - 32px)/-2))!important}#holding-area-wrapper.open #holding-side-tab{opacity:0!important;pointer-events:none!important}#holding-area-wrapper .holding-header{background:rgba(var(--primary-rgb,67, 97, 238), .08);border-bottom:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:24px 24px 0 0;justify-content:space-between;align-items:center;height:46px;min-height:46px;padding:0 14px;display:flex}.holding-header-actions{align-items:center;gap:10px;display:flex}.holding-close-btn{background:var(--bg-color);border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-sub);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex!important}.holding-close-btn:active{background:var(--danger);color:#fff;transform:scale(.9)}#holding-area-wrapper #holding-content{-webkit-overflow-scrolling:touch;flex:1;max-height:280px;padding:12px;overflow-y:auto;display:block!important}#holding-area-wrapper .holding-dropzone{min-height:90px;max-height:260px;overflow-y:auto}#subview-social{overflow:hidden;width:100%!important;height:100dvh!important;margin:0!important;padding:0!important}#social-main{flex:1;display:flex;overflow:hidden;width:100%!important;height:100%!important}#social-left,#social-right{overflow:hidden;width:100%!important;height:100%!important}#social-left .social-content,#social-friends-list,#social-friend-list-wrap,#social-post-list-wrap,.social-main-content{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}#social-chat-messages,#exchange-chat-messages{padding-bottom:20px!important}#social-chat-bottom-area,#exchange-chat-bottom-area{background:var(--surface-bg)!important;border-top:1px solid var(--border-color)!important;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;z-index:90!important;flex-shrink:0!important;position:relative!important;box-shadow:0 -4px 20px #00000014!important}#social-chat-input-container,#exchange-chat-input-container{background:var(--surface-bg)!important;padding:10px 14px!important}#subview-forum{overflow:hidden;width:100%!important;height:100dvh!important;margin:0!important;padding:0!important}.forum-content-container,#forum-home-list{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}#forum-room-messages{padding-bottom:20px!important}#forum-input-container{background:var(--surface-bg)!important;border-top:1px solid var(--border-color)!important;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;z-index:90!important;flex-shrink:0!important;position:relative!important;box-shadow:0 -4px 20px #00000014!important}#subview-home{-webkit-overflow-scrolling:touch;box-sizing:border-box!important;padding:0 10px!important;overflow-y:auto!important}.home-subview{padding:24px 6px calc(88px + env(safe-area-inset-bottom,0px)) 6px!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important}#mobile-nav{-webkit-backdrop-filter:blur(8px)saturate(150%);backdrop-filter:blur(8px)saturate(150%);z-index:1000;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:30px;flex-direction:row;justify-content:space-around;align-items:center;width:calc(100% - 24px);max-width:440px;height:56px;padding:0 6px;transition:transform .25s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s,box-shadow .3s;display:flex;position:fixed;bottom:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 32px #00000014,0 2px 6px #00000008,inset 0 1px 1.5px #fff6,inset 0 -1px 1px #ffffff14;background:linear-gradient(135deg,#ffffff26 0%,#ffffff0a 100%) padding-box padding-box,linear-gradient(#ffffff80 0%,#ffffff2e 45%,#ffffff0a 100%) border-box!important;border:1.2px solid #0000!important}#mobile-nav:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#fff9 50%,#0000 100%);border-radius:50%;height:1px;position:absolute;top:0;left:10%;right:10%}[data-theme=dark] #mobile-nav{-webkit-backdrop-filter:blur(8px)saturate(150%);backdrop-filter:blur(8px)saturate(150%);box-shadow:0 16px 45px #00000080,0 4px 12px #00000040,inset 0 1px 1.5px #ffffff26,inset 0 -1px 1px #00000040;background:linear-gradient(135deg,#191c2633 0%,#0c0e1414 100%) padding-box padding-box,linear-gradient(#ffffff40 0%,#ffffff14 50%,#ffffff05 100%) border-box!important;border:1.2px solid #0000!important}[data-theme=dark] #mobile-nav:before{background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%)}body.readonly-mode #mobile-nav{bottom:12px}.nav-row{z-index:2;justify-content:space-around;align-items:center;width:100%;height:100%;display:flex;position:relative}.nav-item{height:100%;color:var(--text-sub);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:20px;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:4px 2px 2px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.nav-item i{pointer-events:none;filter:drop-shadow(0 1px 2px #0000001a);margin-bottom:2px;font-size:1.18rem;transition:transform .2s cubic-bezier(.16,1,.3,1),color .2s;display:inline-block}.nav-item span{letter-spacing:.2px;pointer-events:none;text-shadow:0 1px 2px #0000000f;font-size:.64rem;font-weight:600;line-height:1;transition:color .2s,font-weight .2s}.nav-item:hover{color:var(--text-main)}.nav-item:active{transform:scale(.9)}.nav-item.active{color:var(--primary)}.nav-item.active i{color:var(--primary);filter:drop-shadow(0 2px 6px #4361ee66);transform:scale(1.15)}.nav-item.active span{color:var(--primary);font-weight:700}.nav-item.active:after{content:"";background:var(--primary);width:4px;height:4px;box-shadow:0 0 8px var(--primary);border-radius:50%;position:absolute;bottom:4px}.nav-item.drag-hover-active{color:var(--primary);transform:scale(1.22)}.nav-item.drag-hover-active i{color:var(--primary);transform:scale(1.25)}.sidebar-footer,#main-internal-nav,.sidebar-collapsed-btn{display:none!important}.mobile-search-header{color:#fff;background:#2b2d42;border-bottom:1px solid #3e4042;gap:10px;padding:10px;display:flex}.mobile-search-header .btn-outline{color:#fff;background:#ffffff1a;border-color:#fff}.mobile-search-header .btn-outline:hover{background:#fff3}body.iframe-mode #left-sidebar,body.iframe-mode #right-sidebar{border-left:none;border-right:none;align-items:stretch;gap:0;background:var(--surface-bg)!important;width:100%!important;padding:0!important}body.iframe-mode #left-sidebar>:not(.sidebar-collapsed-btn),body.iframe-mode #right-sidebar>:not(.sidebar-collapsed-brand){display:block!important}body.iframe-mode #left-sidebar #course-stats-bar,body.iframe-mode #left-sidebar>div[style*=display\:flex],body.iframe-mode #right-sidebar .scrollable-content{display:flex!important}body.iframe-mode #left-sidebar .sidebar-collapsed-btn,body.iframe-mode .sidebar-collapsed-brand{display:none!important}body.iframe-mode #left-sidebar .sidebar-header{padding-top:15px!important;padding-bottom:15px!important}body.iframe-mode #right-sidebar .sidebar-title-area{padding-top:15px!important;padding-bottom:10px!important}.central-modal{width:85%}#disclaimer-modal .central-modal{width:90%;padding:20px}#floating-controls{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;z-index:999!important;position:fixed!important;right:15px!important}#rating-fab-group,#btn-forum-fab-write-review,.community-fab-write-review{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;z-index:1005!important;position:fixed!important;right:18px!important}#subview-forum:has(#forum-layer-3-chat[style*=flex]) #btn-forum-fab-write-review{display:none!important}#subview-forum:has(#forum-layer-3-chat[style*=flex]) .community-fab-write-review{display:none!important}#subview-forum:has(#forum-layer-3-chat:not([style*=none])) #btn-forum-fab-write-review{display:none!important}#subview-forum:has(#forum-layer-3-chat:not([style*=none])) .community-fab-write-review{display:none!important}body:has(#forum-layer-3-chat[style*=flex]) #btn-forum-fab-write-review{display:none!important}body:has(#forum-layer-3-chat[style*=flex]) .community-fab-write-review{display:none!important}.custom-fab{display:none!important}#left-sidebar.active.custom-tab-active .custom-fab{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;z-index:1005!important;display:flex!important;position:fixed!important;left:18px!important;right:auto!important}#left-sidebar.active:has(#btn-tab-custom.active) .custom-fab{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;z-index:1005!important;display:flex!important;position:fixed!important;left:18px!important;right:auto!important}#forum-floating-controls{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;z-index:999!important;position:fixed!important;right:15px!important}#forum-db-popup{bottom:calc(140px + env(safe-area-inset-bottom,0px))!important;position:fixed!important;right:15px!important}#rating-list-container{grid-template-columns:1fr}.course-card{-webkit-user-select:none;user-select:none;touch-action:pan-y!important;cursor:default!important}.schedule-item,.conflict-summary-card,.conflict-expanded-wrapper,.csp-conflict-item-wrapper{-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y!important;cursor:default!important}#forum-layer-1:not([style*=none]),#forum-layer-1{flex-direction:column!important;flex:1!important;height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;overflow:hidden!important}#forum-home-list{flex:none!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:10px!important;overflow-y:visible!important}.forum-hot-section{padding:10px 5px!important}.hot-carousel-track{gap:0!important}.forum-home-card.hot-card{flex:0 0 calc(100% - 60px)!important;margin:0 7.5px!important;padding:12px!important}.explore-card{min-height:120px!important;padding:12px!important}.explore-card .course-title{white-space:normal!important;padding-right:60px!important;line-height:1.4!important}.carousel-btn{opacity:.9!important;z-index:200!important;pointer-events:auto!important;width:38px!important;height:38px!important}.carousel-btn.prev{left:2px!important}.carousel-btn.next{right:2px!important}.forum-choice-card{min-width:100%!important;max-width:100%!important;height:160px!important}}::view-transition-old(root){mix-blend-mode:normal;animation:none;display:block}::view-transition-new(root){mix-blend-mode:normal;animation:none;display:block}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}html.theme-to-light::view-transition-new(root){z-index:9999;animation:.6s cubic-bezier(.25,1,.5,1) forwards mask-slide-y;-webkit-mask-image:linear-gradient(#000 30%,#0000 100%);mask-image:linear-gradient(#000 30%,#0000 100%);-webkit-mask-size:100% 0%;mask-size:100% 0%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}html.theme-to-dark::view-transition-new(root){z-index:9999;animation:.6s cubic-bezier(.25,1,.5,1) forwards mask-slide-y;-webkit-mask-image:linear-gradient(#0000 0%,#000 70%);mask-image:linear-gradient(#0000 0%,#000 70%);-webkit-mask-position:bottom;mask-position:bottom;-webkit-mask-size:100% 0%;mask-size:100% 0%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes mask-slide-y{0%{-webkit-mask-size:100% 0%;mask-size:100% 0%}to{-webkit-mask-size:100% 400%;mask-size:100% 400%}}html.view-transitioning *{transition:none!important}body.touch-dragging-active{overflow:hidden!important}body.touch-dragging-active #left-sidebar:after,body.touch-dragging-active #right-sidebar:after{content:"";z-index:999;pointer-events:none;background:#0006;position:absolute;inset:0}body.touch-dragging-active #main-internal-nav{z-index:1000}.touch-ghost-card{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:none!important;border-left:4px solid var(--primary)!important;cursor:grabbing!important;background:#fffffff2!important;border-radius:8px!important;flex-direction:column!important;gap:4px!important;width:140px!important;padding:8px 12px!important;display:flex!important;box-shadow:0 10px 25px #0003!important}[data-theme=dark] .touch-ghost-card{background:#242526f2!important}.touch-ghost-card .ghost-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--text-main)!important;font-size:.85rem!important;font-weight:700!important}.touch-ghost-card .ghost-subtitle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--text-sub)!important;font-size:.75rem!important}.nav-item.drag-hover-target,.internal-nav-item.drag-hover-target{border-radius:8px;transition:all .2s;transform:scale(1.05);color:var(--primary)!important;background:#4361ee26!important}body.touch-dragging-active #timetable-wrapper{border-radius:12px;box-shadow:0 0 0 3px var(--primary), 0 0 20px #4361ee66!important}.social-nav-item{cursor:pointer;color:var(--text-sub);-webkit-user-select:none;user-select:none;border-bottom:3px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:10px 5px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.social-nav-item i{font-size:1.1rem}.social-nav-item:hover{color:var(--text-main);background:var(--hover-bg)}.social-nav-item.active{color:var(--primary);border-bottom-color:var(--primary)}.social-empty{color:var(--text-sub);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 15px;display:flex}.social-empty i{opacity:.25;font-size:2.5rem}.social-empty p{margin:0;font-size:.9rem;line-height:1.5}.social-loading{color:var(--text-sub);justify-content:center;align-items:center;gap:10px;padding:30px;font-size:.9rem;display:flex}.social-avatar{object-fit:cover;border:2px solid var(--border-color);background:var(--header-bg);border-radius:50%;flex-shrink:0;width:42px;height:42px}.social-avatar-wrap{position:relative}.social-avatar-placeholder{background:var(--hover-bg);border:2px solid var(--border-color);width:42px;height:42px;color:var(--text-sub);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.social-friend-item{border-bottom:1px solid var(--border-color);cursor:pointer;align-items:center;gap:12px;padding:10px 15px;transition:background .15s;display:flex}.social-friend-item:hover{background:var(--hover-bg)}.social-friend-item:hover .social-friend-actions{opacity:1}.social-friend-info{flex:1;min-width:0}.social-friend-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.social-friend-email{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.75rem;overflow:hidden}.social-friend-actions{opacity:0;gap:6px;transition:opacity .15s;display:flex}.social-section-title{color:var(--text-sub);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);align-items:center;gap:6px;margin-bottom:8px;padding:8px 5px;font-size:.75rem;font-weight:700;display:flex}.social-request-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:10px;transition:border-color .2s,box-shadow .2s;display:flex}.social-request-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #4361ee1a}.social-request-info{flex:1;min-width:0}.social-request-btns{flex-shrink:0;gap:6px;display:flex}.social-action-btn{border:1px solid var(--border-color);background:var(--surface-bg);width:32px;height:32px;color:var(--text-sub);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;transition:all .2s;display:flex}.social-action-btn:hover{background:var(--hover-bg);color:var(--primary);border-color:var(--primary)}.social-action-btn.danger:hover{color:var(--danger);border-color:var(--danger);background:#e74c3c0f}.social-accept-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.social-accept-btn:hover{background:#3f37c9;transform:scale(1.03)}.social-decline-btn{border:1px solid var(--border-color);width:30px;height:30px;color:var(--text-sub);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;transition:all .2s;display:flex}.social-decline-btn:hover{border-color:var(--danger);color:var(--danger);background:#e74c3c0f}.social-search-result-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:10px;transition:all .2s;display:flex}.social-search-result-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #4361ee1a}.social-add-btn{border:1px solid var(--primary);color:var(--primary);cursor:pointer;white-space:nowrap;background:#4361ee14;border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.social-add-btn:hover{background:var(--primary);color:#fff}.social-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:.75rem;font-weight:600;display:flex}.social-badge.friend{color:var(--success);background:#2ecc711f;border:1px solid #2ecc714d}.social-badge.pending{color:var(--warning);background:#f39c121f;border:1px solid #f39c124d}.chat-bubble-wrap{max-width:75%;display:flex}.chat-bubble-wrap.mine{flex-direction:row-reverse;align-self:flex-end}.chat-bubble-wrap.theirs{align-self:flex-start}.chat-bubble{word-break:break-word;border-radius:18px;max-width:100%;padding:9px 14px;box-shadow:0 1px 3px #00000014}.chat-bubble-wrap.mine .chat-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble-wrap.theirs .chat-bubble{background:var(--surface-bg);color:var(--text-main);border:1px solid var(--border-color);border-bottom-left-radius:4px}.chat-text{font-size:.9rem;line-height:1.4}.chat-time{opacity:.8;text-align:right;margin-top:4px;font-size:.65rem}.chat-bubble-wrap.mine .chat-time{color:#ffffffb3}.chat-bubble-wrap.mine .chat-time .read-receipt{letter-spacing:.5px;margin-right:6px;font-size:.72rem;font-weight:800}.chat-bubble-wrap.mine .chat-time .read-receipt.read{color:#fffffff2}.chat-bubble-wrap.mine .chat-time .read-receipt.unread{color:#ffffff80}.chat-bubble-wrap.mine .chat-course-card .chat-time .read-receipt.read{color:var(--primary)!important}.chat-bubble-wrap.mine .chat-course-card .chat-time .read-receipt.unread{color:var(--text-sub)!important}.chat-bubble-wrap.theirs .chat-time{color:var(--text-sub)}.chat-link-chip{cursor:pointer;word-break:break-all;text-underline-offset:2px;border-radius:12px;align-items:center;gap:5px;padding:4px 10px;font-size:.82rem;text-decoration:underline;transition:opacity .15s;display:inline-flex}.chat-link-chip:hover{opacity:.75}.chat-bubble-wrap.mine .chat-link-chip{color:#ffffffeb}.chat-bubble-wrap.theirs .chat-link-chip{color:var(--primary)}[data-theme=dark] .social-request-card,[data-theme=dark] .social-search-result-card{background:var(--header-bg)}.chat-bubble-wrap{padding-bottom:2px;position:relative}.chat-msg-actions{opacity:0;pointer-events:none;background:var(--surface-bg,#fff);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;border-radius:20px;align-items:center;gap:3px;padding:3px 6px;transition:opacity .18s,transform .18s;display:flex;position:absolute;top:-24px;transform:translateY(4px);box-shadow:0 4px 14px #0000001f}.chat-bubble-wrap{margin-top:14px;margin-bottom:4px;position:relative;overflow:visible}.chat-bubble-wrap:hover .chat-msg-actions,.chat-bubble-wrap.show-actions .chat-msg-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-bubble-wrap.theirs .chat-msg-actions{left:0;right:auto}.chat-bubble-wrap.mine .chat-msg-actions{left:auto;right:0}.chat-msg-action-btn{cursor:pointer;color:var(--text-sub);background:0 0;border:none;border-radius:4px;padding:4px;font-size:.8rem;transition:all .2s}.chat-msg-action-btn:hover{background:var(--hover-bg);color:var(--primary)}.chat-msg-action-btn.delete:hover{color:var(--danger);background:#e74c3c1a}.chat-msg-meta{opacity:.7;margin-left:6px;font-size:.65rem;display:inline-block}.chat-reply-quote{border-left:3px solid var(--primary);color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;background:#0000000d;border-radius:4px;margin-bottom:4px;padding:4px 8px;font-size:.8rem;overflow:hidden}[data-theme=dark] .chat-reply-quote{background:#ffffff0d}.chat-bubble-wrap.mine .chat-reply-quote{color:#ffffffe6;border-left-color:#fffc}#social-action-preview{background:var(--hover-bg);border-top:1px solid var(--border-color);color:var(--text-sub);justify-content:space-between;align-items:center;padding:8px 15px;font-size:.8rem;display:none}#social-action-preview .close-btn{cursor:pointer;border-radius:50%;padding:4px}#social-action-preview .close-btn:hover{background:#0000001a}.chat-course-card{cursor:pointer;-webkit-user-select:none;user-select:none;min-width:220px;max-width:280px;transition:transform .15s,box-shadow .15s;background:var(--surface-bg)!important;color:var(--text-main)!important;border:1.5px solid var(--primary)!important;border-radius:14px!important}.chat-bubble-wrap.mine .chat-course-card,.chat-bubble-wrap.mine .chat-course-card *{color:var(--text-main)!important}.chat-course-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4361ee33}.chat-bubble-wrap.mine .chat-course-card{border-color:var(--primary)}.chat-bubble-wrap.theirs .chat-course-card{border-color:var(--text-sub)}#social-chat-messages.chat-drop-hover,#exchange-chat-messages.chat-drop-hover{outline:2px dashed var(--primary);outline-offset:-4px;background:#4361ee0f!important}#social-chat-messages.chat-drop-hover:after,#exchange-chat-messages.chat-drop-hover:after{content:"放開以分享課程卡片";background:var(--primary);color:#fff;z-index:10;pointer-events:none;text-align:center;border-radius:20px;justify-content:center;align-items:center;width:fit-content;max-width:90%;margin:0 auto;padding:6px 16px;font-size:.85rem;font-weight:600;display:flex;position:sticky;bottom:10px;box-shadow:0 4px 12px #4361ee4d}.supm-preview-btn{border:1px solid var(--primary);color:var(--primary);cursor:pointer;white-space:nowrap;background:#4361ee14;border-radius:20px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .2s}.supm-preview-btn:hover{background:var(--primary);color:#fff}.course-picker-item{border:1px solid var(--border-color);cursor:pointer;background:var(--surface-bg);border-radius:10px;padding:10px 12px;transition:all .15s}.course-picker-item:hover{border-color:var(--primary);background:#4361ee14;transform:translate(3px)}[data-theme=dark] .course-picker-item{background:var(--header-bg)}#social-main{position:relative}@media screen and (width<=900px){#social-main{position:relative}#social-left{border-right:none!important;width:100%!important;min-width:100%!important;max-width:100%!important;display:flex!important}#social-right{background:var(--bg-color);z-index:10;height:100%;position:absolute;top:0;left:0;width:100%!important;display:none!important}#social-main.chat-active #social-left{display:none!important}#social-main.chat-active #social-right,#social-chat-back,#social-exchange-back{display:flex!important}#social-chat-placeholder{display:none!important}}#ai-assistant-panel{bottom:calc(env(safe-area-inset-bottom,0px) + 20px);background:var(--surface-bg,#fff);z-index:1800;opacity:0;pointer-events:none;border-radius:20px;flex-direction:column;width:min(380px,100vw - 40px);max-height:min(580px,100vh - 120px);transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s;display:flex;position:fixed;right:20px;overflow:hidden;transform:translateY(20px)scale(.97);box-shadow:0 20px 60px #00000040,0 0 0 1px #4361ee26}#ai-assistant-panel.ai-panel-open{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.ai-panel-header{background:linear-gradient(135deg,#e0c3fc 0%,#8ec5fc 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.ai-panel-title{color:#333;align-items:center;gap:10px;font-size:.95rem;font-weight:700;display:flex}.ai-panel-title i{background:linear-gradient(135deg,#7c3aed 0%,#2563eb 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:20px}.ai-header-actions{align-items:center;gap:12px;display:flex}.ai-api-btn{color:#7c3aed;cursor:pointer;background:#7c3aed1a;border:none;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.ai-api-btn:hover{background:#7c3aed33}.ai-modal-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.ai-modal-btn:disabled{opacity:.6;cursor:not-allowed}.ai-modal-btn-outline{color:var(--text-sub);border:1px solid var(--border-color);background:0 0;padding:6px 12px;font-size:.85rem}.ai-modal-btn-outline:hover{background:var(--bg-color);color:var(--text-main)}.ai-modal-btn-danger{color:#ef4444;background:#ef44441a}.ai-modal-btn-danger:hover{background:#ef444433}.ai-modal-btn-primary{background:linear-gradient(135deg, var(--primary), #7209b7);color:#fff;box-shadow:0 4px 10px #7209b733}.ai-modal-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 14px #7209b74d}.ai-close-btn{color:#333;cursor:pointer;background:#0000001a;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;transition:background .2s;display:flex}.ai-close-btn:hover{background:#0003}.ai-messages{background:var(--bg-color,#f8f9fa);scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:14px 12px;display:flex;overflow-y:auto}.ai-msg{gap:8px;animation:.3s ai-msg-in;display:flex}@keyframes ai-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-msg-user{flex-direction:row-reverse}.ai-avatar{box-sizing:border-box;background:linear-gradient(135deg,#e0c3fc,#8ec5fc);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:5px;display:flex}.ai-bubble{border-radius:16px;max-width:85%;padding:10px 13px;font-size:.85rem;line-height:1.5}.ai-bubble p{margin:0}.ai-bubble-user{color:#333;background:linear-gradient(135deg,#e0c3fc,#8ec5fc);border-bottom-right-radius:4px;align-self:flex-end}.ai-bubble-ai{background:var(--surface-bg,#fff);color:var(--text-main,#333);border:1px solid var(--border-color,#e0e0e0);border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000000f}.ai-tool-tags{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.ai-tool-tag{color:var(--primary,#4361ee);background:#4361ee1a;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;display:flex}.ai-tool-tag-count{color:#7209b7;background:#7209b71a}.ai-recs{flex-direction:column;gap:8px;margin-top:10px;display:flex}.ai-course-card{background:var(--bg-color,#f8f9fa);border:1px solid var(--border-color,#e0e0e0);cursor:pointer;border-radius:12px;padding:11px 13px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 4px 12px #0000000d}.ai-course-card:hover{border-color:#4361ee4d;transform:translateY(-2px);box-shadow:0 4px 16px #4361ee26}.ai-course-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:5px;display:flex}.ai-course-name{color:var(--text-main,#333);flex:1;font-size:.9rem;font-weight:700;line-height:1.3}.ai-add-btn{color:#333;cursor:pointer;background:linear-gradient(135deg,#e0c3fc,#8ec5fc);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #4361ee66}.ai-add-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #4361ee99}.ai-course-tag{border-radius:20px;flex-shrink:0;padding:3px 8px;font-size:.72rem}.ai-tag-added{color:#27ae60;background:#2ecc7126}.ai-course-meta{color:var(--text-sub,#888);flex-wrap:wrap;gap:6px;margin-bottom:5px;font-size:.75rem;display:flex}.ai-course-meta span{align-items:center;gap:3px;display:flex}.ai-course-ratings{flex-wrap:wrap;gap:5px;margin-bottom:5px;display:flex}.ai-rating-badge{border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.ai-rating-chill{color:#2980b9;background:#3498db26}.ai-rating-sweet{color:#e67e22;background:#f1c40f26}.ai-rating-know{color:#27ae60;background:#2ecc7126}.ai-rating-count{color:var(--text-sub);align-self:center;font-size:.72rem}.ai-course-reason{color:#7209b7;background:#7209b712;border-radius:8px;align-items:flex-start;gap:6px;padding:5px 9px;font-size:.76rem;display:flex}.ai-typing-dots{align-items:center;gap:4px;padding:2px 0;display:flex}.ai-typing-dots span{background:var(--primary,#4361ee);opacity:.7;border-radius:50%;width:7px;height:7px;animation:1.2s infinite ai-dot-bounce}.ai-typing-dots span:nth-child(2){animation-delay:.2s}.ai-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.ai-panel-footer{border-top:1px solid var(--border-color,#e0e0e0);background:var(--surface-bg,#fff);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.ai-quick-btns{flex-wrap:wrap;gap:5px;display:flex}.ai-quick-btn{border:1px solid var(--border-color,#ddd);background:var(--bg-color,#f8f9fa);color:var(--text-main,#333);cursor:pointer;white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:.75rem;transition:all .2s}.ai-quick-btn:hover{color:var(--primary,#4361ee);background:#4361ee1a;border-color:#4361ee66}.ai-input-row{align-items:flex-end;gap:8px;display:flex}.ai-input{border:1px solid var(--border-color,#ddd);resize:none;background:var(--bg-color,#f8f9fa);color:var(--text-main,#333);border-radius:16px;outline:none;flex:1;max-height:96px;padding:9px 14px;font-family:inherit;font-size:.85rem;line-height:1.4;transition:border-color .2s,box-shadow .2s;overflow-y:auto}.ai-input:focus{border-color:#4361ee99;box-shadow:0 0 0 3px #4361ee1f}.ai-send-btn{color:#333;cursor:pointer;background:linear-gradient(135deg,#e0c3fc,#8ec5fc);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.85rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 3px 10px #4361ee66}.ai-send-btn:hover{transform:scale(1.08);box-shadow:0 5px 15px #4361ee8c}.ai-send-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.ai-footer-note{color:var(--text-sub,#999);text-align:center;font-size:.68rem}.ai-fab-btn{animation:3s infinite ai-btn-pulse;background:linear-gradient(135deg,#4361ee26,#7209b726)!important;border:1px solid #7209b74d!important}@keyframes ai-btn-pulse{0%,to{box-shadow:0 0 #7209b74d}50%{box-shadow:0 0 0 8px #7209b700}}@media (width<=600px){#ai-assistant-panel{bottom:calc(env(safe-area-inset-bottom,0px) + 20px);width:auto;max-height:calc(100vh - env(safe-area-inset-bottom,0px) - 80px);left:10px;right:10px}}.ai-search-toggle{color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff26;border:1px solid #fff3;border-radius:20px;align-items:center;gap:8px;padding:4px 10px;font-size:.75rem;transition:all .2s;display:flex}.ai-search-toggle:hover{background:#ffffff40;border-color:#fff6}.ai-search-toggle input{cursor:pointer;accent-color:#7c3aed}.ai-search-label{letter-spacing:.3px;align-items:center;gap:4px;font-weight:600;display:flex}.ai-search-label i{color:#fff;font-size:.8rem}[data-theme=dark] .ai-search-toggle{background:#0003;border-color:#ffffff1a}[data-theme=dark] .ai-search-toggle:hover{background:#0000004d}.location-badge:hover{opacity:.8;text-decoration:underline}.location-badge{cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.online-pulse{animation:.3s ease-out fadeIn}.notification-dot{border:2px solid var(--surface-bg);z-index:10;pointer-events:none;background-color:#ff4757;border-radius:50%;width:10px;height:10px;display:none;position:absolute;top:5px;right:5px}.notification-dot.active,.notification-dot:not(.csp-hidden):not(.d-none-soft)[id],.social-avatar-wrap .notification-dot:not(.csp-hidden):not(.d-none-soft){display:block!important}.internal-nav-item{position:relative}.internal-nav-item .notification-dot{top:12px;right:12px}.nav-item .notification-dot{border:1.5px solid var(--surface-bg);background-color:#ff4757;border-radius:50%;width:9px;height:9px;top:6px;right:calc(50% - 16px);box-shadow:0 1px 3px #ff475766}.friend-item-avatar-wrap,.social-avatar-wrap{position:relative}.social-avatar-wrap .notification-dot{border:2px solid var(--surface-bg);width:12px;height:12px;top:-2px;right:-2px}.social-avatar-wrap .presence-dot{border:2px solid var(--surface-bg);z-index:5;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px;box-shadow:0 1px 3px #0000001a}.social-avatar-wrap .presence-dot.online{background-color:#10b981}.social-avatar-wrap .presence-dot.offline{background-color:#9ca3af}.timetable th,.timetable td{border-width:var(--grid-thickness,1px)!important}.clickable-stat{-webkit-user-select:none;user-select:none;position:relative;cursor:pointer!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.clickable-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f;background:var(--hover-bg,#3b82f614)!important;border-color:var(--primary)!important}.clickable-stat:active{transform:translateY(0)}#forum-semester-fab{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,background-color .2s!important}#forum-semester-fab:hover{transform:scale(1.1)rotate(15deg)!important;box-shadow:0 6px 20px #4361ee73!important}#forum-semester-fab:active{transform:scale(.95)!important}#forum-db-popup{opacity:0;visibility:hidden;transform:scale(.85)translate(10px,10px);transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .25s,visibility .25s!important}#forum-db-popup.show{opacity:1;visibility:visible;transform:scale(1)translate(0)}@media (width<=768px){#forum-floating-controls{pointer-events:none!important;position:fixed!important;bottom:140px!important;right:15px!important}#forum-db-popup{position:fixed!important;bottom:205px!important;right:15px!important}}#profile-reviews-list{flex-direction:column;gap:6px;display:flex}#profile-reviews-list.show{padding-right:4px}.social-sidebar-toggle-btn{border:1px solid var(--border-color);background:var(--surface-bg);width:24px;height:24px;color:var(--text-sub);cursor:pointer;z-index:35;-webkit-backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.65rem;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;right:-12px;transform:translateY(-50%);box-shadow:0 2px 6px #0000001a,0 1px 2px #0000000f}.social-sidebar-toggle-btn:hover{color:#fff;background:var(--primary);border-color:var(--primary);transform:translateY(-50%)scale(1.15);box-shadow:0 4px 12px #4361ee59}.social-sidebar-toggle-btn:active{transform:translateY(-50%)scale(.95)}.social-friend-item.active{border-left:3px solid var(--primary);background:#4361ee14}@media (width>=901px){#social-left.collapsed{width:72px!important;min-width:72px!important;max-width:72px!important}#social-left.collapsed .social-search-header{flex-direction:column;align-items:center;gap:8px;padding:12px 6px 10px}#social-left.collapsed .social-search-input-wrapper{background:var(--bg-color);border:1px solid var(--border-color);cursor:pointer;border-radius:50%;order:1;justify-content:center;align-items:center;width:42px;height:42px;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}#social-left.collapsed .social-search-input-wrapper:hover{border-color:var(--primary);background:var(--hover-bg);transform:scale(1.06);box-shadow:0 3px 10px #4361ee29}#social-left.collapsed .social-search-input-wrapper i.fa-search{color:var(--text-sub);font-size:.95rem;transition:color .2s;position:static;transform:none}#social-left.collapsed .social-search-input-wrapper:hover i.fa-search{color:var(--primary)}#social-left.collapsed #social-search-input,#social-left.collapsed #social-clear-search-btn{display:none!important}#social-left.collapsed #social-bell-btn{order:2;width:32px;height:32px}#social-left.collapsed #social-friends-title{display:none!important}#social-left.collapsed #social-friends-list{padding:8px 0 70px;overflow-x:hidden}#social-left.collapsed .social-friend-item{border-bottom:none;border-radius:12px;justify-content:center;gap:0;margin:4px 10px;padding:8px 0;transition:background .18s,transform .18s;border-left:none!important}#social-left.collapsed .social-friend-item:hover{background:var(--hover-bg);transform:scale(1.06)}#social-left.collapsed .social-friend-item.active{box-shadow:0 0 0 2px var(--primary);background:#4361ee1f}#social-left.collapsed .social-friend-info,#social-left.collapsed .social-friend-actions,#social-left.collapsed .csp-chat-dots-icon{display:none!important}#social-left.collapsed .social-avatar-wrap{justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto;display:flex;position:relative}#social-left.collapsed .social-avatar,#social-left.collapsed .social-avatar-placeholder{border-radius:50%;width:40px;height:40px}#social-left.collapsed .social-exchange-zone .social-exchange-zone-avatar{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.15rem;display:flex}}@media screen and (width<=900px){.social-sidebar-toggle-btn,#social-sidebar-toggle-btn{display:none!important}}@media screen and (width<=600px){.central-modal{max-height:90vh!important;overflow-y:auto!important}.admin-modal-container{overflow:hidden!important}.admin-tab-content-wrapper{padding:12px!important}.admin-tab-btn{padding:10px 14px!important;font-size:.85rem!important}}#social-action-preview{background:var(--hover-bg);border-top:1px solid var(--border-color);color:var(--text-sub);box-sizing:border-box;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.85rem;animation:.25s cubic-bezier(.16,1,.3,1) slideUpInput;display:none}#social-action-preview div{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}#social-action-preview #social-action-icon{color:var(--primary)}#social-action-preview .close-btn{cursor:pointer;color:var(--text-sub);opacity:.6;font-size:1rem;transition:all .2s}#social-action-preview .close-btn:hover{opacity:1;color:var(--danger);transform:scale(1.1)}@keyframes slideUpInput{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media screen and (width<=900px){body.show-bottom-inputs #forum-input-container,body.show-bottom-inputs #rating-action-container,body.show-bottom-inputs #social-chat-bottom-area,body.show-bottom-inputs #exchange-chat-bottom-area,#social-chat-bottom-area,#exchange-chat-bottom-area{z-index:90!important;background:var(--surface-bg)!important;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;border-top:1px solid var(--border-color)!important;animation:.3s cubic-bezier(.16,1,.3,1) slideUpInput!important;position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;box-shadow:0 -4px 20px #00000014!important}body.show-bottom-inputs #forum-messages,body.show-bottom-inputs #forum-ratings-content{padding-bottom:20px!important}body.show-bottom-inputs #social-chat-messages,body.show-bottom-inputs #exchange-chat-messages,#social-chat-messages,#exchange-chat-messages{padding-bottom:20px!important;transition:padding-bottom .25s cubic-bezier(.16,1,.3,1)!important}body.show-bottom-inputs .rating-fab-group{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;z-index:1002!important;position:fixed!important;right:18px!important}body.show-bottom-inputs #social-chat-messages.has-preview{padding-bottom:40px!important}}#fullscreen-login{z-index:9999;background:linear-gradient(-45deg,#f5f7fb,#eef2f7,#e0e7ff,#f1f5f9) 0 0/400% 400%;justify-content:center;align-items:center;width:100vw;height:100dvh;transition:opacity .6s cubic-bezier(.16,1,.3,1),visibility .6s cubic-bezier(.16,1,.3,1);animation:12s infinite gradientBG;display:flex;position:fixed;top:0;left:0}#login-interactive-bg{z-index:1;pointer-events:auto;width:100%;height:100%;position:absolute;top:0;left:0}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}#fullscreen-login.hidden{opacity:0;visibility:hidden;pointer-events:none}#fullscreen-login .login-card{z-index:2;-webkit-backdrop-filter:blur(20px);text-align:center;color:#2b2d42;background:#ffffffd9;border:1px solid #fff9;border-radius:24px;width:90%;max-width:400px;padding:50px 40px;animation:.8s cubic-bezier(.16,1,.3,1) forwards cardFloatUp;position:relative;transform:translateY(20px);box-shadow:0 20px 50px #4361ee14}@keyframes cardFloatUp{to{transform:translateY(0)}}#fullscreen-login .login-title{letter-spacing:2px;background:linear-gradient(135deg,#4361ee,#7209b7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:2.4rem;font-weight:850}#fullscreen-login .login-subtitle{color:#4361ee;letter-spacing:1px;opacity:.95;margin:0 0 25px;font-size:1.1rem;font-weight:600}#fullscreen-login .login-desc{color:#495057;margin-bottom:35px;font-size:.9rem;line-height:1.6}#fullscreen-login .login-google-btn{color:#2b2d42;cursor:pointer;background:#fff;border:1px solid #dee2e6;border-radius:30px;justify-content:center;align-items:center;gap:12px;width:100%;padding:14px 20px;font-size:1.05rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 15px #0000000a}#fullscreen-login .login-google-btn:hover{background:#f8f9fa;border-color:#ced4da;transform:translateY(-2px);box-shadow:0 6px 20px #4361ee1f}#fullscreen-login .login-google-btn img{width:24px;height:24px}#fullscreen-login .login-footer-text{color:#6c757d;justify-content:center;align-items:center;gap:5px;margin-top:15px;font-size:.75rem;display:flex}#fullscreen-login .login-footer-text label{cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}#fullscreen-login .login-footer-text #login-agree-checkbox{cursor:pointer}#fullscreen-login .login-footer-text span{color:var(--primary);cursor:pointer;text-decoration:underline}@media screen and (width<=480px){#fullscreen-login .login-card{border-radius:20px;width:88%;padding:35px 20px}#fullscreen-login .login-title{letter-spacing:1px;font-size:1.8rem}#fullscreen-login .login-subtitle{margin-bottom:20px;font-size:.95rem}#fullscreen-login .login-desc{margin-bottom:25px;font-size:.8rem;line-height:1.5}#fullscreen-login .login-google-btn{gap:8px;padding:11px 16px;font-size:.95rem}#fullscreen-login .login-google-btn img{width:20px;height:20px}}.inapp-warning-box{color:#b45309;text-align:left;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;align-items:flex-start;gap:8px;margin-top:15px;padding:12px 16px;font-size:.85rem;line-height:1.6;display:flex}.inapp-warning-box i{color:#d97706;margin-top:2px;font-size:1rem}.review-tag-chip{color:var(--primary);-webkit-user-select:none;user-select:none;background:#4361ee14;border-radius:12px;padding:3px 8px;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-block}.tags-select-wrapper{flex-wrap:wrap;gap:8px;max-height:120px;margin-bottom:5px;padding:2px;display:flex;overflow-y:auto}.tag-select-btn{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;padding:5px 12px;font-size:.82rem;font-weight:600;transition:all .15s}.tag-select-btn:hover{border-color:var(--primary);color:var(--primary);background:#4361ee0a}.tag-select-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 6px #4361ee4d}.tag-chip{transition:transform .15s,background-color .15s}.tag-chip:hover{transform:translateY(-1px);background-color:#3f37c9!important}.tag-dropdown-panel::-webkit-scrollbar{width:6px}.tag-dropdown-panel::-webkit-scrollbar-track{background:0 0}.tag-dropdown-panel::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}[data-theme=dark] .tag-dropdown-panel::-webkit-scrollbar-thumb{background-color:#fff3}.tag-dropdown-panel::-webkit-scrollbar-thumb:hover{background-color:#0006}[data-theme=dark] .tag-dropdown-panel::-webkit-scrollbar-thumb:hover{background-color:#fff6}.cloud-tag-btn{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:16px;flex-shrink:0;align-items:center;gap:4px;padding:3px 9px;font-size:.76rem;font-weight:700;transition:all .18s;display:inline-flex}.cloud-tag-btn:hover{border-color:var(--primary);background:#4361ee0d}.cloud-tag-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 6px #4361ee4d}.cloud-tag-btn .tag-count{color:inherit;background:#00000014;border-radius:8px;padding:1px 4px;font-size:.68rem;font-weight:600}[data-theme=dark] .cloud-tag-btn .tag-count{background:#ffffff1f}.cloud-tag-btn.active .tag-count{color:#fff;background:#ffffff40}.forum-tab{color:var(--text-sub);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:6px;padding:12px 16px;font-size:.95rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.forum-tab:hover{color:var(--primary);background:#4361ee0d}.forum-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.rank-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color);cursor:pointer;border-radius:12px;flex-shrink:0;align-items:center;gap:15px;padding:16px;transition:all .25s;display:flex;position:relative;overflow:hidden}.rank-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 18px #4361ee26}.rank-badge{background:var(--bg-color);width:32px;height:32px;color:var(--text-sub);border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex;box-shadow:inset 0 1px 3px #0000000d}.rank-card:first-child .rank-badge{color:#5c3e00!important;background:linear-gradient(135deg,#ffe066 0%,#f5b041 100%)!important;border-color:#f5b041!important;box-shadow:0 2px 8px #f5b04166!important}.rank-card:nth-child(2) .rank-badge{color:#2c3e50!important;background:linear-gradient(135deg,#e5e8e8 0%,#bdc3c7 100%)!important;border-color:#bdc3c7!important;box-shadow:0 2px 8px #bdc3c766!important}.rank-card:nth-child(3) .rank-badge{color:#4a2700!important;background:linear-gradient(135deg,#edd6ca 0%,#ca6f1e 100%)!important;border-color:#ca6f1e!important;box-shadow:0 2px 8px #ca6f1e66!important}.rank-content{flex:1;min-width:0}.rank-title-row{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:4px;display:flex}.rank-title{color:var(--text-main);word-break:break-word;font-size:1rem;font-weight:500;line-height:1.4}.rank-meta{color:var(--text-sub);margin-bottom:6px;font-size:.8rem;line-height:1.4}.rank-stats-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.rank-progress-wrapper{flex-direction:column;gap:3px;display:flex}.rank-progress-label{color:var(--text-sub);justify-content:space-between;font-size:.72rem;display:flex}.rank-progress-bar-bg{background:var(--bg-color);border:1px solid var(--border-color);border-radius:3px;height:6px;overflow:hidden}.rank-progress-bar-fill{border-radius:3px;height:100%;transition:width .4s}.sweet-fill{background:linear-gradient(90deg,#ffd000,#f1c40f)}.chill-fill{background:linear-gradient(90deg,#5dade2,#3498db)}.know-fill{background:linear-gradient(90deg,#58d68d,#2ecc71)}.heat-badge{color:#fff;background:linear-gradient(45deg,#ff7675,#d63031);border-radius:12px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #d6303159}.metric-pill{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-sub);border-radius:6px;padding:2px 6px;font-size:.72rem}.leaderboard-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 3px 10px var(--shadow-color);border-radius:14px;flex-shrink:0;align-items:center;gap:14px;padding:14px 16px;transition:all .22s;display:flex;position:relative;overflow:hidden}.leaderboard-card:before{content:"";background:var(--primary);opacity:0;border-radius:14px 0 0 14px;width:4px;transition:opacity .22s;position:absolute;top:0;bottom:0;left:0}.leaderboard-card:hover:before{opacity:1}.leaderboard-card:first-child{border-left:3px solid #f6d365}.leaderboard-card:nth-child(2){border-left:3px solid #c8d6e5}.leaderboard-card:nth-child(3){border-left:3px solid #ffd200}.leaderboard-rank{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;font-weight:700;display:flex;box-shadow:0 3px 8px #0000001f}#subview-search{position:relative}#subview-search:after{content:" 放開以搜尋此課程評價";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;height:100%;color:var(--primary);text-shadow:0 4px 15px #fffc;z-index:2000;pointer-events:none;opacity:0;visibility:hidden;background:linear-gradient(135deg,#2563eb40 0%,#2563eb1a 100%);flex-direction:column;justify-content:center;align-items:center;font-family:"Font Awesome 5 Free",Segoe UI,sans-serif;font-size:2rem;font-weight:900;transition:opacity .3s,visibility .3s;display:flex;position:absolute;top:0;left:0}#subview-search.search-dropzone-active:after{opacity:1;visibility:visible}[data-theme=dark] #subview-search:after{color:#3b82f6;text-shadow:0 4px 15px #000c;background:linear-gradient(135deg,#2563eb4d 0%,#2563eb1a 100%)}.stats-table-row:hover{background-color:var(--surface-bg)!important}#app-loading-overlay{z-index:99999;color:#1e293b;background:radial-gradient(circle,#f8fafc 0%,#e2e8f0 100%);justify-content:center;align-items:center;width:100vw;height:100dvh;font-family:Outfit,Inter,-apple-system,sans-serif;transition:opacity .5s,visibility .5s;display:none;position:fixed;top:0;left:0}#app-loading-overlay.fade-out{opacity:0;visibility:hidden}#app-loading-overlay .loader-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:90%;max-width:450px;display:flex}#app-loading-overlay .loader-animation{justify-content:center;align-items:center;width:100px;height:100px;margin-bottom:25px;display:flex;position:relative}#app-loading-overlay .loader-icon{color:#818cf8;z-index:2;filter:drop-shadow(0 0 10px #818cf899);font-size:2.5rem;animation:2s ease-in-out infinite loaderIconPulse}#app-loading-overlay .pulse-bubble{z-index:1;opacity:0;background:0 0;border:2px solid #818cf866;border-radius:50%;width:80px;height:80px;animation:2s ease-out infinite loaderBubblePulse;position:absolute}#app-loading-overlay .bubble-1{animation-delay:0s}#app-loading-overlay .bubble-2{animation-delay:.6s}#app-loading-overlay .bubble-3{animation-delay:1.2s}@keyframes loaderIconPulse{0%,to{transform:scale(1)}50%{color:#a5b4fc;transform:scale(1.1)}}@keyframes loaderBubblePulse{0%{opacity:0;transform:scale(.6)}30%{opacity:.6}to{opacity:0;transform:scale(1.4)}}#app-loading-overlay .loader-title{background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);-webkit-text-fill-color:transparent;letter-spacing:1px;-webkit-background-clip:text;background-clip:text;margin-bottom:25px;font-size:1.5rem;font-weight:600}#app-loading-overlay .loader-progress-container{background:#0000000d;border:1px solid #00000005;border-radius:100px;width:100%;height:8px;margin-bottom:15px;position:relative;overflow:visible}#app-loading-overlay .loader-progress-bar{background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:100px;width:0%;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #4f46e54d}#app-loading-overlay .loader-progress-text{color:#4f46e5;font-size:.85rem;font-weight:500;position:absolute;top:-22px;right:0}#app-loading-overlay .loader-details{color:#64748b;min-height:20px;margin-bottom:40px;font-size:.85rem;transition:all .3s}#app-loading-overlay .loader-tips-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #0000000f;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:60px;padding:15px 20px;display:flex;box-shadow:inset 0 1px 1px #ffffffe6,0 4px 12px #00000008}#app-loading-overlay .loader-tips-slider{color:#334155;font-size:.82rem;font-weight:400;line-height:1.6;animation:.5s ease-out loaderTipFade}@keyframes loaderTipFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}#app-loading-overlay .loader-bell-btn{color:#475569;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#ffffffb3;border:1px solid #00000014;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:24px;right:24px;box-shadow:0 4px 12px #0000000d}#app-loading-overlay .loader-bell-btn:hover{color:#4f46e5;background:#fff;border-color:#6366f14d;transform:scale(1.05);box-shadow:0 0 15px #6366f126}#app-loading-overlay .loader-bell-btn:active{transform:scale(.95)}#app-loading-overlay .loader-bell-badge{background:#ef4444;border:2px solid #fff;border-radius:50%;width:10px;height:10px;display:none;position:absolute;top:10px;right:10px;box-shadow:0 0 8px #ef4444}.loader-enter-wrapper{z-index:10;justify-content:center;align-items:center;margin-top:28px;display:inline-flex;position:relative}.loader-enter-wrapper.d-none-soft{display:none!important}#app-loading-overlay .loader-enter-btn{z-index:5;color:#fff;letter-spacing:.03em;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#6366f1 50%,#8b5cf6 100%) 0%/150% 150%;border:none;border-radius:12px;align-items:center;gap:8px;padding:14px 30px;font-size:1rem;font-weight:600;transition:background-position .4s,box-shadow .3s,transform .2s;display:inline-flex;position:relative;box-shadow:0 4px 15px #6366f14d}.enter-btn-arrow{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}#app-loading-overlay .loader-enter-btn:hover{background-position:100%;transform:scale(1.04);box-shadow:0 6px 25px #6366f166,0 0 0 4px #8b5cf626}#app-loading-overlay .loader-enter-btn:hover .enter-btn-arrow{transform:translate(4px)}#app-loading-overlay .loader-enter-btn:active{background-position:50%;transform:scale(.97);box-shadow:0 2px 10px #6366f14d}#announcements-modal{z-index:100000!important}.announcements-modal-content{-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;color:#1e293b!important;background:#ffffffe6!important;border:1px solid #00000014!important;width:90%!important;max-width:650px!important;box-shadow:0 20px 50px #00000026!important}.announcements-header{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.announcements-title{color:#4f46e5;align-items:center;gap:8px;font-size:1.25rem;font-weight:600;display:flex}.announcements-close{cursor:pointer;color:#64748b;font-size:1.5rem;transition:color .2s}.announcements-close:hover{color:#1e293b}.announcements-list{text-align:left;max-height:350px;margin-bottom:20px;padding-right:6px;overflow-y:auto}.announcements-list::-webkit-scrollbar{width:6px}.announcements-list::-webkit-scrollbar-track{background:#00000005;border-radius:4px}.announcements-list::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.announcements-list::-webkit-scrollbar-thumb:hover{background:#0000004d}.sys-announcement-item{background:#00000005;border:1px solid #0000000d;border-radius:10px;margin-bottom:12px;padding:14px;transition:all .2s;white-space:normal!important;height:auto!important;line-height:1.5!important;overflow:visible!important}.sys-announcement-item:hover{background:#0000000a;border-color:#4f46e533;transform:translateY(-1px)}.sys-announcement-item-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.sys-announcement-item-title{color:#0f172a;font-size:.95rem;font-weight:600}.sys-announcement-item-date{color:#64748b;white-space:nowrap;background:#0000000d;border-radius:20px;padding:2px 8px;font-size:.75rem}.sys-announcement-item-content{color:#334155;white-space:pre-wrap;font-size:.85rem;line-height:1.5}.announcements-section-header{color:var(--primary,#4361ee);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px dashed var(--border-color);align-items:center;gap:6px;margin:18px 0 10px;padding-bottom:4px;font-size:.8rem;font-weight:700;display:flex}.announcements-section-header.today-header{color:var(--warning,#e6980a)}.sys-announcement-item.today-announcement{border:1px solid #e6980a33;border-left:4px solid var(--warning,#e6980a);background:#e6980a0a}.sys-announcement-item.today-announcement:hover{background:#e6980a14;border-color:#e6980a59}[data-theme=dark] .sys-announcement-item.today-announcement{border-color:#e6980a4d;border-left-color:var(--warning,#e6980a);background:#e6980a14}[data-theme=dark] .sys-announcement-item.today-announcement:hover{background:#e6980a1f;border-color:#e6980a73}.sys-announcement-item.milestone-announcement{position:relative;background:linear-gradient(135deg,#fef08a38 0%,#fb923c26 50%,#c084fc2e 100%)!important;border:1.5px solid #f59e0b73!important;border-left:5px solid #f59e0b!important;overflow:hidden!important;box-shadow:0 4px 18px #f59e0b26,0 0 0 1px #fed7aa4d!important}.sys-announcement-item.milestone-announcement:hover{transform:translateY(-2px);border-color:#f59e0ba6!important;box-shadow:0 6px 24px #f59e0b40,0 0 0 1px #fed7aa80!important}.sys-announcement-item.milestone-announcement .sys-announcement-item-title{color:#b45309;font-weight:700}.announcement-tag.milestone-tag{vertical-align:middle;letter-spacing:.02em;background:linear-gradient(135deg,#f59e0b 0%,#ec4899 100%);border-radius:12px;align-items:center;gap:4px;margin-right:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #f59e0b59;color:#fff!important}[data-theme=dark] .sys-announcement-item.milestone-announcement{background:linear-gradient(135deg,#f59e0b2e 0%,#d946ef24 50%,#6366f12e 100%)!important;border:1.5px solid #f59e0b80!important;border-left:5px solid #fbbf24!important;box-shadow:0 4px 20px #f59e0b38,0 0 10px #f59e0b1f!important}[data-theme=dark] .sys-announcement-item.milestone-announcement .sys-announcement-item-title{color:#fde047}[data-theme=dark] .sys-announcement-item.milestone-announcement:hover{border-color:#fbbf24bf!important;box-shadow:0 6px 28px #f59e0b59,0 0 15px #f59e0b33!important}.dcard-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);border-radius:8px;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;transition:all .2s;display:flex}.dcard-card:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.external-card-content{transition:all .2s}.external-card-content.external-fb:hover{transform:translateY(-2px);border-color:#1877f2!important;box-shadow:0 4px 12px #1877f226!important}.external-card-content.external-opt:hover{transform:translateY(-2px);border-color:#6c5ce7!important;box-shadow:0 4px 12px #6c5ce726!important}.modal-close-span{cursor:pointer;color:var(--text-sub);transition:color .2s!important}.modal-close-span:hover{color:var(--danger)!important}.forum-avatar-clickable{cursor:pointer;transition:opacity .2s!important}.forum-avatar-clickable:hover{opacity:.8!important}.btn-delete-project{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:all .2s}.btn-delete-project:hover{color:var(--danger)!important;background:#e74c3c1a!important}.btn-delete-credit-adj{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:.85rem;transition:all .2s;display:flex}.btn-delete-credit-adj:hover{color:var(--danger)!important;background:#ef444414!important}.no-period-sidebar{background:var(--surface-bg);border-left:1px solid var(--border-color);z-index:100;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top-left-radius:12px;border-bottom-left-radius:12px;flex-direction:column;width:180px;height:100%;transition:right .4s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:0;right:-180px;overflow:visible;box-shadow:-5px 0 25px #00000014}.no-period-sidebar.open{right:0}.no-period-sidebar.drag-over{background:#4361ee14;border-left:2px dashed #4361ee99}.no-period-sidebar.drag-hover-hint{border-left:2px solid #4361ee80;box-shadow:-5px 0 30px #4361ee26}.no-period-tab{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:28px;height:44px;color:var(--text-main,#374151);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#e5e7eb linear-gradient(135deg,#f0f2f5 0%,#e2e6ea 100%);border:1.2px solid #0000001a;border-right:none;border-top-left-radius:12px;border-bottom-left-radius:12px;justify-content:center;align-items:center;font-size:.9rem;transition:background .3s,left .2s,transform .2s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%);box-shadow:-3px 4px 14px #0000001f}[data-theme=dark] .no-period-tab{color:#f3f4f6;background:#374151 linear-gradient(135deg,#374151 0%,#1f2937 100%);border:1.2px solid #ffffff26;border-right:none}.no-period-tab:hover{left:-30px}.no-period-sidebar.open .no-period-tab i{transform:rotate(180deg)}.no-period-content{flex-direction:column;flex:1;padding:18px 15px;display:flex;overflow:hidden}.no-period-header{color:var(--text-main);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;font-size:.95rem;font-weight:800;display:flex}.no-period-list-container{flex-direction:column;flex:1;gap:12px;padding-right:4px;display:flex;overflow-y:auto}.no-period-list-container::-webkit-scrollbar{width:4px}.no-period-list-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.no-period-card{cursor:grab;-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:6px;flex-direction:column;justify-content:space-between;padding:6px 10px;font-size:.75rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 2px 5px #00000026}.no-period-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.no-period-card:active{cursor:grabbing}.no-period-empty{color:var(--text-sub);text-align:center;opacity:.65;border:1px dashed var(--border-color);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:30px 20px;font-size:.78rem;display:flex}.social-grid{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:25px;width:100%;max-width:900px;padding:0 20px 40px;display:grid}.social-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 10px 30px var(--shadow-color);text-align:left;box-sizing:border-box;border-radius:20px;align-items:flex-start;gap:20px;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.social-card:before{content:"";filter:blur(60px);opacity:.08;z-index:0;pointer-events:none;border-radius:50%;width:150px;height:150px;transition:all .3s;position:absolute;top:-50%;right:-50%}.line-card:before{background:#06c755}.instagram-card:before{background:#dc2743}.social-card:hover{box-shadow:0 15px 35px var(--shadow-color);transform:translateY(-5px)}.line-card:hover{border-color:#06c755}.instagram-card:hover{border-color:#e6683c}.social-card:hover:before{opacity:.15;transform:scale(1.1)}.social-icon-wrapper{color:#fff;z-index:1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.6rem;display:flex}.line-card .social-icon-wrapper{background:#06c755;box-shadow:0 4px 12px #06c75533}.instagram-card .social-icon-wrapper{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);box-shadow:0 4px 12px #dc274333}.social-info{z-index:1;flex-direction:column;flex:1;gap:8px;display:flex}.social-info h4{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:700}.social-info p{color:var(--text-sub);margin:0;font-size:.85rem;line-height:1.5}.social-btn{color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;margin-top:8px;padding:8px 16px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.line-btn{background:#06c755}.line-btn:hover{background:#05b04b;transform:translateY(-2px);box-shadow:0 4px 12px #06c7554d}.instagram-btn{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%)}.instagram-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 4px 12px #dc27434d}@media (width<=768px){.social-grid{grid-template-columns:1fr;padding:0 15px 30px}}@media (width<=600px){.home-stats{gap:12px;margin-bottom:35px;padding:0 10px}.stat-card{min-width:120px;box-shadow:0 6px 20px var(--shadow-color);border-radius:14px;flex:1;padding:16px 12px}.stat-value{margin-bottom:4px;font-size:1.8rem}.stat-label{font-size:.8rem}}.conflict-summary-card{cursor:pointer}.conflict-badge{color:inherit;background:#0000001f;border-radius:10px;padding:1px 5px;font-size:.68rem;font-weight:700}[data-theme=dark] .conflict-badge{color:inherit;background:#ffffff2e}.td-expanded-conflict{min-height:65px;height:auto!important;padding:2px!important;display:block!important}.conflict-expanded-wrapper{box-sizing:border-box;border-radius:6px;flex-direction:column;gap:4px;width:100%;height:100%;min-height:100%;padding:4px;transition:all .2s;display:flex}.conflict-expanded-wrapper .schedule-item{min-height:48px;height:auto!important;margin:0 auto!important;position:relative!important;top:0!important;transform:none!important}.collapsible-profile-sec{margin-bottom:5px}.collapsible-profile-sec .collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 0;transition:color .2s;display:flex}.collapsible-profile-sec .collapsible-header:hover{color:var(--primary)}.collapsible-profile-sec .collapsible-header h4{align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.collapsible-profile-sec .collapsible-content{padding:5px 2px;display:none}.collapsible-profile-sec .collapsible-content.show{display:block}.collapsible-arrow{color:var(--text-sub);transition:transform .3s}#profile-reviews-list .history-card{margin-bottom:10px;transition:all .2s}#profile-reviews-list .history-card:hover{background:var(--surface-bg);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}#profile-modal-scrollable-content::-webkit-scrollbar{width:6px}#profile-modal-scrollable-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.chat-course-card{cursor:pointer;-webkit-user-select:none!important;user-select:none!important}#forum-db-popup .ts-wrapper{width:100%}#forum-db-popup .ts-control{background:var(--bg-color)!important;border:1px solid var(--border-color)!important;color:var(--text-main)!important;min-height:36px!important;box-shadow:none!important;border-radius:8px!important;padding:4px 8px!important;font-size:.85rem!important}#forum-db-popup .ts-control input{color:var(--text-main)!important;font-size:.85rem!important}#forum-db-popup .ts-control input::placeholder{color:var(--text-sub)!important}#forum-db-popup .ts-dropdown{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;color:var(--text-main)!important;z-index:9999!important;border-radius:8px!important;font-size:.85rem!important;box-shadow:0 4px 20px #0003!important}#forum-db-popup .ts-dropdown .option{color:var(--text-main)!important;padding:8px 12px!important}#forum-db-popup .ts-dropdown .option:hover,#forum-db-popup .ts-dropdown .option.active{background:var(--primary)!important;color:#fff!important}#forum-db-popup .ts-dropdown .no-results{color:var(--text-sub);padding:8px 12px}@keyframes ntnu-egg-float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}#map-modal .modal{width:min(900px,95vw);height:min(680px,90vh);padding:0;overflow:hidden}.map-modal-header{border-bottom:1px solid var(--border-color);background:var(--surface-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.map-modal-header-left{align-items:center;gap:10px;display:flex}.map-modal-header-left i{color:var(--primary)}.map-modal-header-right{align-items:center;gap:10px;display:flex}#map-modal-title{color:var(--text-main);font-size:1rem;font-weight:700}#map-modal-ext-link{color:var(--primary);align-items:center;gap:5px;font-size:.8rem;text-decoration:none;display:flex}.map-modal-close-btn{cursor:pointer;color:var(--text-sub);font-size:1.5rem;line-height:1}#map-loading{color:var(--text-sub);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}#map-loading i{color:var(--primary);font-size:2rem}#map-iframe{background:#fff;border:none;flex:1;width:100%}#map-img-container{background:#f0f0f0;flex:1;justify-content:center;align-items:center;overflow:auto}#map-img{max-width:100%;height:auto;display:block}.modal-header-row{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.modal-header-row h3{margin:0}.modal-close-cross{cursor:pointer;font-size:1.5rem}.flex-center-gap-8{align-items:center;gap:8px;display:flex}.font-bold{font-weight:700}.mt-10{margin-top:10px}#detail-btn-group{flex-direction:column;gap:10px;margin-top:20px;display:flex}#fill-modal .modal{width:90%;max-width:500px}.fill-search-container{width:100%;margin-bottom:15px;position:relative}#fill-search{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:20px;outline:none;padding:10px 15px 10px 38px;font-size:.9rem}.fill-search-container .fa-search{color:var(--text-sub);font-size:.9rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}#fill-list{flex-direction:column;gap:8px;max-height:400px;padding-right:4px;display:flex;overflow-y:auto}#file-modal .modal{width:400px}.file-status-label{color:var(--primary);margin-bottom:5px;font-size:.9rem;font-weight:700}#project-info-area{background:var(--bg-color);color:var(--text-sub);border-radius:6px;margin-bottom:15px;padding:10px;font-size:.9rem}.file-section-title{color:var(--text-main);font-size:.9rem;font-weight:700}#import-modal .modal{width:320px}.import-option-desc{color:var(--text-sub);font-size:.8rem}#stats-modal .modal{border-radius:var(--border-radius);background:var(--surface-bg);border:1px solid var(--border-color);width:480px;max-width:95%;padding:20px;box-shadow:0 10px 25px #00000026}.csp-stats-list{flex-direction:column;gap:10px;max-height:400px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.csp-stats-row{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:transform .2s,box-shadow .2s;display:flex}.csp-stats-row:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000000a}.csp-stats-row-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.csp-stats-row-name{color:var(--text-main);word-break:break-all;font-size:.95rem;font-weight:600}.csp-stats-row-meta{color:var(--text-sub);align-items:center;gap:6px;font-size:.8rem;display:flex}.csp-reclass-select{border:1px solid var(--border-color);background-color:var(--surface-bg);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 7px center;background-repeat:no-repeat;background-size:11px;border-left:3px solid #6366f1;border-radius:7px;flex-shrink:0;max-width:140px;height:32px;padding:5px 28px 5px 10px;font-family:inherit;font-size:.82rem;font-weight:500;line-height:1.2;transition:border-color .2s,box-shadow .2s,background-color .2s}.csp-alloc-select{border:1px solid var(--border-color);background-color:var(--surface-bg);color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 7px center;background-repeat:no-repeat;background-size:11px;border-left:3px solid #10b981;border-radius:7px;flex-shrink:0;max-width:140px;height:32px;padding:5px 28px 5px 10px;font-family:inherit;font-size:.82rem;font-weight:500;line-height:1.2;transition:border-color .2s,box-shadow .2s,background-color .2s}.csp-reclass-select:hover{background-color:var(--bg-color);border-color:var(--text-sub)}.csp-reclass-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #646ef026}.csp-no-courses-placeholder{color:var(--text-sub);text-align:center;padding:30px 20px;font-size:.95rem;font-style:italic}.csp-stats-clear-container{justify-content:center;margin-top:16px;display:flex}.csp-stats-clear-btn{border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--surface-bg);width:100%;color:var(--text-sub);cursor:pointer;padding:10px;font-size:.9rem;font-weight:600;transition:background .2s,color .2s}.csp-stats-clear-btn:hover{background:var(--bg-color);color:var(--text-main)}#instruction-modal .central-modal{width:400px}.instruction-icon-wrapper{color:var(--primary);margin-bottom:15px;font-size:3rem}.instruction-title{color:var(--text-main);margin:0 0 10px}.instruction-content{color:var(--text-sub);text-align:left;margin-bottom:20px;font-size:.95rem;line-height:1.6}.instruction-content b{color:var(--text-main)}.modal-btn-row-center{justify-content:center;gap:10px;display:flex}#tutorial-selection-modal .central-modal{width:380px;max-width:90%}.tutorial-cap-wrapper{color:#6c5ce7;text-align:center;margin-bottom:12px;font-size:2.8rem}.tutorial-title{color:var(--text-main);text-align:center;margin:0 0 8px}.tutorial-p{color:var(--text-sub);text-align:center;margin:0 0 20px;font-size:.85rem;line-height:1.4}.tutorial-btn-col{flex-direction:column;gap:10px;width:100%;display:flex}.tutorial-primary-btn{background:var(--primary);justify-content:center;align-items:center;gap:8px;display:flex}.tutorial-guide-item-btn{text-align:left;align-items:center;gap:10px;display:flex}.tutorial-guide-item-btn i{text-align:center;width:18px}.tutorial-close-btn{color:var(--text-sub);margin-top:5px;border:none!important}#feature-guide-modal .central-modal{text-align:left;flex-direction:column;width:480px;max-width:95%;max-height:85vh;display:flex}#guide-modal-title{color:var(--text-main);margin:0;font-size:1.3rem;font-weight:800}#guide-modal-body{color:var(--text-sub);flex:1;padding-right:5px;font-size:.95rem;line-height:1.6;overflow-y:auto}.guide-modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:15px;display:flex}.guide-close-btn{margin:0!important;padding:8px 20px!important}#share-result-modal .central-modal{width:600px;max-width:90vw}.share-result-icon-header{color:var(--primary);margin-bottom:10px;font-size:2rem}.share-result-title{color:var(--text-main);margin:0 0 15px}.share-cards-container{flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:20px;display:flex}.share-card{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;flex:1;min-width:250px;padding:15px}.share-card h4{color:var(--text-main);margin:0 0 10px}.share-card-desc{color:var(--text-sub);margin-bottom:10px;font-size:.8rem}.qr-code-wrapper{background:#fff;border-radius:8px;margin-bottom:10px;padding:10px;display:inline-block}.share-input-row{gap:5px;display:flex}.share-input-row input{border:1px solid var(--border-color);background:var(--surface-bg);width:100%;color:var(--text-main);border-radius:4px;flex:1;padding:6px;font-size:.8rem}.btn-copy-small{width:auto!important;padding:6px 12px!important}#qr-scanner-modal .central-modal{width:450px;max-width:90vw;padding:20px}.qr-scanner-title{color:var(--text-main);margin:0 0 15px}.qr-scanner-desc{color:var(--text-sub);margin-bottom:15px;font-size:.9rem}#qr-reader{border-radius:8px;width:100%;margin-bottom:15px;overflow:hidden}.w-100{width:100%!important}#surprise-modal img{border-radius:8px;width:100%}.alert-modal-icon{margin-bottom:15px;font-size:3rem}.alert-modal-icon.warning{color:var(--warning)}.alert-modal-icon.success{color:var(--success)}.alert-modal-icon.danger{color:var(--danger)}#alert-icon{color:var(--success);margin-bottom:15px;font-size:3rem}.alert-modal-title{color:var(--text-main);margin:0 0 10px}.alert-modal-msg{color:var(--text-sub);margin-bottom:20px;font-size:.95rem;line-height:1.5}#delete-course-name{color:var(--text-sub);margin-bottom:20px;font-size:1rem;font-weight:700;line-height:1.5}.bg-warning{background:var(--warning)!important}.bg-success{background:var(--success)!important}.bg-danger{background:var(--danger)!important}.color-purple{color:#9b59b6!important}.color-orange{color:#e67e22!important}.color-green{color:#27ae60!important}.color-primary{color:var(--primary)!important}.color-success{color:var(--success)!important}.color-warning{color:var(--warning)!important}.color-danger{color:var(--danger)!important}.bd-danger{border-color:var(--danger)!important}.bd-warning{border-color:var(--warning)!important}.loader-progress-bar{width:0%}#readonly-banner{color:#fff;text-align:center;z-index:2000;background:#ff9f43;justify-content:center;align-items:center;gap:15px;width:100%;padding:10px;position:fixed;top:0;left:0;box-shadow:0 2px 5px #0003}#readonly-banner button{color:#ff9f43;cursor:pointer;background:#fff;border:none;border-radius:20px;padding:4px 12px;font-weight:700}#tut-progress-bar{width:0%}.tut-nav-btn{width:auto!important;padding:5px 12px!important}#tut-skip-btn{opacity:.7;border-color:var(--text-sub)!important;color:var(--text-sub)!important}#tut-next-btn{margin-left:8px!important;padding:5px 15px!important}.flex-grow-1{flex:1!important}#left-sidebar .sidebar-header{align-items:center;gap:10px;display:flex}#left-sidebar .sidebar-header h3{flex:1;margin:0}#left-sidebar .sidebar-header button.home-btn:last-of-type{color:var(--text-sub);cursor:pointer;background:0 0;border:none;padding:5px;transition:color .2s}#left-sidebar .sidebar-header button.home-btn:last-of-type:hover{color:var(--primary);background:0 0;transform:none}#left-sidebar .course-pane-title-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 15px 4px;display:flex}#left-sidebar .course-pane-title-label{color:var(--text-main);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:.92rem;font-weight:700;display:flex}#left-sidebar .course-pane-title-label i{color:var(--primary)}#school-semester-zone{flex:1;align-items:center;min-width:0;padding:0;display:flex}#school-semester-zone .filter-select{background:var(--surface-bg);border:1px solid var(--border-color);width:100%;height:32px;color:var(--text-main);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:500}#left-sidebar .filter-section .filter-row{margin-bottom:10px}.advanced-filter-toggle{cursor:pointer;justify-content:space-between;align-items:center;padding:5px 0;display:flex}.advanced-filter-toggle span{color:var(--text-main);font-size:.85rem;font-weight:700}.advanced-filter-toggle-right{align-items:center;gap:10px;display:flex}.advanced-filter-toggle-right span{cursor:pointer;color:var(--primary);font-size:.75rem}#filter-arrow{transition:transform .3s}.advanced-filter-inner-wrapper{flex-direction:column;gap:8px;padding-top:10px;display:flex}.filter-row-dual{gap:8px;width:100%;display:flex}.filter-row-dual .filter-col{flex:1;min-width:0}.filter-row-dual .ts-wrapper{width:100%}.filter-row-dual .ts-control{white-space:nowrap!important;scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;min-height:36px!important;max-height:36px!important;padding:3px 6px!important;font-size:.8rem!important;display:flex!important;overflow:auto hidden!important}.filter-row-dual .ts-control::-webkit-scrollbar{display:none!important}.filter-row-dual .ts-control .item{white-space:nowrap!important;border-radius:4px!important;flex-shrink:0!important;margin:0!important;padding:2px 6px!important;font-size:.75rem!important}.filter-row-dual .ts-control input{flex-shrink:0!important;min-width:25px!important;font-size:.75rem!important}.filter-horizontal-dropdown{z-index:9999!important;background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;max-width:min(340px,92vw)!important;overflow:hidden!important;box-shadow:0 4px 18px #0003!important}.filter-horizontal-dropdown .ts-dropdown-content{scrollbar-width:thin!important;-webkit-overflow-scrolling:touch!important;flex-flow:row!important;gap:6px!important;padding:8px!important;display:flex!important;overflow:auto hidden!important}.filter-horizontal-dropdown .ts-dropdown-content::-webkit-scrollbar{height:4px}.filter-horizontal-dropdown .ts-dropdown-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.filter-horizontal-dropdown .ts-dropdown-content .option{white-space:nowrap!important;text-align:center!important;border:1px solid var(--border-color)!important;background:var(--bg-color)!important;color:var(--text-main)!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;border-radius:6px!important;flex-shrink:0!important;padding:6px 12px!important;font-size:.78rem!important;font-weight:500!important;transition:all .15s!important}.filter-horizontal-dropdown .ts-dropdown-content .option:hover,.filter-horizontal-dropdown .ts-dropdown-content .option.active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.filter-horizontal-dropdown .ts-dropdown-content .option.selected{color:var(--primary)!important;border-color:var(--primary)!important;background:#4361ee26!important;font-weight:600!important}.filter-chip-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.filter-chip-label{color:var(--text-sub);white-space:nowrap;min-width:28px;margin-right:2px;font-size:.75rem;font-weight:600}.filter-chip{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin:0;display:inline-flex}.filter-chip input[type=checkbox]{display:none}.filter-chip span{border:1px solid var(--border-color);background:var(--surface-bg);min-width:28px;height:26px;color:var(--text-sub);border-radius:13px;justify-content:center;align-items:center;padding:0 10px;font-size:.75rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.filter-chip:hover span{border-color:var(--primary);color:var(--primary);background:#4361ee0d}.filter-chip input[type=checkbox]:checked+span{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 6px #4361ee4d}.filter-chip-group-period{gap:3px}.filter-chip-group-period .filter-chip span{min-width:24px;height:24px;padding:0 3px;font-size:.7rem}.course-list-placeholder{text-align:center;color:var(--text-sub);margin-top:30px}.custom-pane{flex-direction:column;height:100%;display:flex;position:relative}.custom-pane-search-row{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:15px 15px 10px}.custom-pane-search-wrapper{position:relative}.custom-pane-search-wrapper i{color:var(--text-sub);font-size:.8rem;position:absolute;top:50%;left:10px;transform:translateY(-50%)}#custom-event-filter{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:20px;padding:8px 8px 8px 30px;font-size:.85rem}.custom-pane-list-wrapper{flex:1;padding:15px 15px 80px;overflow-y:auto}#manage-custom-event-list{flex-direction:column;gap:8px;display:flex}.sidebar-title-area{position:relative}.sidebar-title-area h2{color:var(--primary);margin:0;padding-left:10px}.sidebar-title-area div{color:var(--text-sub);padding-left:10px;font-size:.8rem}.collapsible-header{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.collapsible-header h3{border:none!important;margin:0!important}#cloud-arrow,#tutorial-arrow,.arrow-icon{transition:transform .3s;transform:rotate(0)}.collapsible-header.active #cloud-arrow,.collapsible-header.active #tutorial-arrow,.collapsible-header.active .arrow-icon,.arrow-icon.rotate-180{transform:rotate(180deg)}.project-name-wrapper{margin-bottom:10px}#project-name-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:4px;padding:8px;font-size:.9rem}.sync-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}#btn-cloud-new{grid-column:1/-1;margin-bottom:0}.last-sync-info{margin-top:8px}.sidebar-divider{border-bottom:2px solid var(--border-color);margin-top:5px}.btn-purple{background:#6c5ce7!important}.btn-outline-sub{border-color:var(--text-sub)!important;color:var(--text-sub)!important}#tutorial-content button{margin-top:8px}#tutorial-content button:first-child{margin-top:0}#stats-dept-wrapper h3{margin-bottom:10px}.hint-text{color:var(--text-sub);margin-top:5px;font-size:.75rem}.credit-audit-card{background:var(--header-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;align-items:center;padding:15px 12px 12px;display:flex}.total-progress-wrap{flex-direction:column;justify-content:center;align-items:center;margin:5px 0 15px;display:flex;position:relative}.total-progress-wrap svg{filter:drop-shadow(0 2px 6px #00000014);transform:rotate(-90deg)}.total-progress-wrap circle{cx:60;cy:60;r:50;fill:#0000}.total-progress-wrap circle[stroke="var(--border-color)"]{stroke-width:8px;opacity:.3}#history-credits-ring,#current-credits-ring{stroke-width:9px;stroke-linecap:round;stroke-dasharray:314.16;stroke-dashoffset:314.16px;transform-origin:60px 60px;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}#history-credits-ring{stroke:#3b82f6}#current-credits-ring{stroke:#10b981}.total-progress-center-text{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:absolute}#total-credits{color:var(--text-color);font-size:1.5rem;font-weight:800;line-height:1.1}#total-target-label{color:var(--text-sub);margin-top:2px;font-size:.68rem}.credits-accumulated-badge{color:#3b82f6;background:#3b82f614;border-radius:10px;margin-top:3px;padding:2px 6px;font-size:.62rem;font-weight:700}.current-project-credits-bar{width:100%;color:var(--text-color);box-sizing:border-box;background:#10b9810f;border:1px solid #10b9811f;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-top:-5px;margin-bottom:12px;padding:8px 10px;font-size:.8rem;font-weight:700;display:flex}.current-project-credits-label{flex-shrink:1;align-items:center;gap:5px;min-width:0;display:flex}.current-project-credits-label i{color:#10b981}.current-project-credits-value{color:#10b981;flex-shrink:0;font-size:.9rem}.stats-grid-width-100{width:100%!important;margin-bottom:0!important}.stat-item .stat-val{font-weight:700}#stat-req{color:var(--c-required)}#stat-ele{color:var(--c-elective)}#stat-gen{color:var(--c-general)}#stat-common{color:var(--c-common)}#stat-pe{color:var(--c-pe)}#stat-other{color:var(--text-sub)}.stat-item .stat-label i{opacity:.6;font-size:.6rem}.credit-adjustments-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:6px;display:flex}.credit-adjustments-header h3{border:none;align-items:center;gap:6px;margin:0;font-size:1.05rem;display:flex}.credit-adjustments-header h3 i{color:var(--primary)}.credit-adjustments-header button{background:var(--primary)!important;border-radius:6px!important;width:auto!important;margin:0!important;padding:4px 10px!important;font-size:.8rem!important}#credit-adj-list-container{flex-direction:column;gap:8px;display:flex}.credit-adj-empty-notice{text-align:center;color:var(--text-sub);border:1px dashed var(--border-color);border-radius:8px;padding:12px;font-family:Segoe UI,Microsoft JhengHei,sans-serif;font-size:.82rem;font-weight:500}.csp-credit-adj-item{border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-family:Segoe UI,Microsoft JhengHei,sans-serif;transition:all .2s ease-in-out;display:flex}.csp-credit-adj-item.positive{background:#2ecc7114;border:1px solid #2ecc7126}[data-theme=dark] .csp-credit-adj-item.positive{background:#2ecc711f;border:1px solid #2ecc7140}.csp-credit-adj-item.negative{background:#e74c3c14;border:1px solid #e74c3c26}[data-theme=dark] .csp-credit-adj-item.negative{background:#e74c3c1f;border:1px solid #e74c3c40}.csp-credit-adj-content{flex:1;min-width:0;margin-right:8px}.csp-credit-adj-reason{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;display:block;overflow:hidden}.csp-flex-center-gap8-shrink0{flex-shrink:0;align-items:center;gap:8px;display:flex}.csp-credit-adj-val{white-space:nowrap;font-size:.85rem;font-weight:600}.csp-credit-adj-item.positive .csp-credit-adj-val{color:#27ae60}[data-theme=dark] .csp-credit-adj-item.positive .csp-credit-adj-val{color:#2ecc71}.csp-credit-adj-item.negative .csp-credit-adj-val{color:#c0392b}[data-theme=dark] .csp-credit-adj-item.negative .csp-credit-adj-val{color:#e74c3c}.btn-external-link{margin-bottom:8px;text-decoration:none;color:var(--primary)!important;border-color:var(--primary)!important}.map-dropdown-trigger{justify-content:center;align-items:center;position:relative;color:var(--primary)!important;border-color:var(--primary)!important;display:flex!important}.map-chevron{font-size:.75rem;transition:transform .25s;position:absolute;right:15px}.action-btn-row-flex{gap:8px;margin-bottom:8px;display:flex}#btn-share-link{flex:1;margin-bottom:0;border-color:var(--primary)!important;color:var(--primary)!important;padding:8px 5px!important}#btn-scan-qr{flex:1;margin-bottom:0;border-color:var(--success)!important;color:var(--success)!important;padding:8px 5px!important}#action-control-group .btn-row button{width:100%!important}#local-cache-group{margin-top:-5px}#local-cache-group>div{background:var(--header-bg);color:var(--text-sub);border-radius:8px;align-items:center;gap:8px;padding:10px;font-size:.8rem;display:flex}.right-sidebar-footer-btn-group{text-align:center;margin-top:10px;padding-bottom:10px}#credit-adjustments-block{margin-top:15px}.d-none-soft{display:none}#main-content-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}#subview-home{position:relative}#home-particles{pointer-events:none;z-index:0;opacity:.6;width:100%;height:100%;position:absolute;top:0;left:0}.home-subview{z-index:1;box-sizing:border-box;background:0 0;flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.home-hero p{color:var(--text-sub);font-size:1.1rem;line-height:1.6}[id="3d-planet-wrapper"]{z-index:5;box-sizing:border-box;background:radial-gradient(circle at 50% 38%,#141d33 0%,#0c1222 55%,#050811 100%);border:1px solid #ffffff29;border-radius:28px;flex-direction:column;justify-content:space-between;align-self:stretch;align-items:center;width:100%;max-width:1300px;height:560px;min-height:450px;margin-top:20px;margin-bottom:25px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px -12px #00000073,0 0 0 1px #ffffff14,inset 0 1.5px 2px #ffffff47,inset 0 -1px 2px #00000080,inset 0 0 60px #0009}[data-theme=light] [id="3d-planet-wrapper"]{background:radial-gradient(circle at 50% 38%,#151e36 0%,#0c1222 55%,#040711 100%);border:1px solid #ffffff38;box-shadow:0 20px 48px -10px #0f172a59,0 0 0 1px #6366f12e,0 0 35px -5px #38bdf81f,inset 0 1.5px 2px #ffffff61,inset 0 -1px 2px #00000080,inset 0 0 60px #0009}@media screen and (width<=1024px){[id="3d-planet-wrapper"]{border-radius:22px;height:480px;min-height:380px}}@media screen and (width<=600px){[id="3d-planet-wrapper"]{border-radius:18px;height:360px;min-height:300px}}[id="3d-planet-container"]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;flex:1;align-self:stretch;width:100%;height:100%;min-height:300px;position:relative}[id="3d-planet-container"]:active{cursor:grabbing}[id="3d-planet-container"] canvas{touch-action:none;-webkit-user-select:none;user-select:none;outline:none;display:block;width:100%!important;height:100%!important}.planet-caption{color:#e2e8f0e0;pointer-events:none;text-align:center;letter-spacing:.02em;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#0a0f1ea6;border-top:1px solid #ffffff14;flex-shrink:0;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px 18px;font-size:.8rem;display:flex}.planet-caption i{color:#38bdf8;text-shadow:0 0 10px #38bdf8b3}.home-section-title{color:var(--text-main);align-items:center;gap:10px;margin:40px 0 20px;font-size:1.5rem;display:flex}.home-section-title i{color:var(--primary)}.about-section-wrapper{text-align:left;width:100%;max-width:900px;margin-top:20px;padding:40px 0}.about-section-title{color:var(--text-main);align-items:center;gap:10px;margin:0 0 20px;font-size:1.5rem;display:flex}.about-section-title i{color:var(--primary)}.about-section-desc{color:var(--text-main);opacity:.9;margin-bottom:30px;font-size:1.1rem;line-height:1.8}.feature-card h4{margin:0 0 10px}.feature-card p{color:var(--text-sub);margin:0;font-size:.85rem;line-height:1.5}.home-footer-wrapper{text-align:center;border-top:1px solid var(--border-color);width:100%;max-width:800px;margin-top:80px;padding-top:40px;padding-bottom:80px}.home-footer-wrapper p{color:var(--text-sub);letter-spacing:1px;font-size:1rem}.home-footer-wrapper a{color:var(--primary);border-bottom:2px solid #0000;margin-left:5px;font-weight:800;text-decoration:none;transition:border-color .2s}.sidebar-powered-by{text-align:center;color:var(--text-sub);letter-spacing:.5px;padding:24px 0 16px;font-size:.88rem}.sidebar-powered-by a{color:var(--primary);margin-left:4px;font-weight:800;text-decoration:none;transition:opacity .2s}.sidebar-powered-by a:hover{opacity:.8;text-decoration:underline}.visual-settings-row{gap:5px;margin-top:5px;display:flex}#bg-opacity-control{flex-direction:column;gap:3px;margin-top:5px;display:none}.opacity-label-row{color:var(--text-sub);justify-content:space-between;font-size:.75rem;display:flex}.width-100-pointer{cursor:pointer;width:100%}#grid-thickness-control{flex-direction:column;gap:3px;margin-top:8px;display:flex}.grid-thickness-label-row{color:var(--text-sub);justify-content:space-between;font-size:.75rem;display:flex}#timetable-container{background:var(--bg-color);background-position:50%;background-size:cover;flex:1;position:relative;overflow:hidden}#timetable-wrapper{z-index:1;position:relative}.timetable th.period-col{width:50px}#holding-area-wrapper{border-top:2px solid var(--border-color);margin-top:10px;padding-top:10px;position:relative}.holding-side-tab{display:none}.holding-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.holding-header-actions{align-items:center;gap:10px;display:flex}.holding-title{color:var(--text-sub);font-size:.9rem;font-weight:700}#holding-arrow{transition:transform .3s}.holding-clear-btn{cursor:pointer;color:var(--text-danger);font-size:.8rem}.holding-close-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.9rem;display:none}.holding-close-btn:hover{color:var(--text-main)}.side-tab-badge{color:#fff;z-index:25;pointer-events:none;box-sizing:border-box;background:#64748b;border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:1;display:none;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #0003}[data-theme=dark] .side-tab-badge{background:#475569;border-color:#1e293b;box-shadow:0 2px 6px #00000080}#no-period-tab-badge{top:-6px;left:-6px;right:auto}#holding-content{display:block}.ai-astronaut-icon{background:linear-gradient(135deg,#7c3aed 0%,#2563eb 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:22px}.no-period-tab i{transition:transform .3s}.search-subtitle{color:var(--text-sub);margin-bottom:20px;font-size:.9rem}#review-placeholder{text-align:center;color:var(--text-sub);max-width:480px;margin:0 auto;padding:40px 20px}#review-placeholder i.fa-search{opacity:.2;margin-bottom:15px;font-size:3rem}.review-placeholder-title{color:var(--text-main);margin-bottom:8px;font-size:1.05rem;font-weight:700}.review-placeholder-desc{color:var(--text-sub);margin-bottom:25px;font-size:.85rem;line-height:1.5}.review-placeholder-box{text-align:left;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.review-placeholder-row{align-items:center;gap:10px;display:flex}.review-icon-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;display:flex}.review-icon-circle.fb{color:#1877f2;background:#1877f21a}.review-icon-circle.opt{color:#6c5ce7;background:#6c5ce71a}.review-icon-circle.dcard{color:#006aa6;background:#006aa61a;font-size:.8rem;font-weight:700}.review-row-text{flex:1}.review-row-title{color:var(--text-main);font-size:.88rem;font-weight:700}.review-row-desc{color:var(--text-sub);font-size:.75rem}#review-external-links{margin-bottom:10px;padding:15px 15px 0}.external-links-title-row{color:var(--text-sub);align-items:center;gap:6px;margin-bottom:10px;font-size:.85rem;font-weight:700;display:flex}.external-links-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.text-decoration-none-color-inherit{color:inherit;text-decoration:none}.external-card-content{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex}.external-card-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.external-card-circle.fb{color:#1877f2;background:#1877f21a;font-size:1.25rem}.external-card-circle.opt{color:#6c5ce7;background:#6c5ce71a;font-size:1.2rem}.external-card-text{flex:1;min-width:0}.external-card-title{color:var(--text-main);font-size:.92rem;font-weight:700}.external-card-desc{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.external-card-arrow{color:var(--text-sub);opacity:.6;font-size:.8rem}#dcard-result-area{box-sizing:border-box;flex-direction:column;flex:1;padding:0 15px 15px;display:none;overflow-y:auto}.dcard-title-row{color:var(--text-main);justify-content:space-between;align-items:center;margin:15px 0 5px 4px;font-size:.95rem;font-weight:700;display:flex}.dcard-title-left{align-items:center;gap:8px;display:flex}.dcard-badge{color:#fff;background:#006aa6;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}#dcard-sort-bar{color:var(--text-sub);align-items:center;gap:6px;font-size:.82rem;font-weight:400}#dcard-sort-select{background:var(--surface-bg);color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;outline:none;padding:3px 6px;font-size:.78rem}#dcard-loading{text-align:center;color:var(--text-sub);margin-top:40px}#dcard-loading i{color:#006aa6;margin-bottom:15px;font-size:2.5rem}#dcard-posts-container{flex-direction:column;gap:10px;padding:8px 0;display:flex}#subview-social{flex-direction:row;padding:0;overflow:hidden}#social-require-login{width:100%;color:var(--text-sub);flex-direction:column;justify-content:center;align-items:center;gap:15px;display:flex}#social-require-login i.fa-user-lock{opacity:.4;font-size:3rem}#social-require-login p{margin:0;font-size:1.1rem}.google-login-icon{width:18px;margin-right:6px}#social-main{flex-direction:row;width:100%;height:100%}#social-left{border-right:1px solid var(--border-color);background:var(--surface-bg);z-index:15;flex-direction:column;width:300px;min-width:240px;max-width:340px;transition:width .22s cubic-bezier(.4,0,.2,1),min-width .22s cubic-bezier(.4,0,.2,1),max-width .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative}#social-panel-friends{flex-direction:column;flex:1;display:flex;overflow:hidden}.social-search-header{border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:10px;padding:10px 15px;display:flex}.social-search-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.social-search-input-wrapper i.fa-search{color:var(--text-sub);pointer-events:none;font-size:.8rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}#social-search-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:20px;padding:9px 30px 9px 32px;font-size:.85rem}#social-clear-search-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}#social-bell-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:6px;font-size:1.15rem;transition:background .2s;display:flex;position:relative}#social-bell-dot{background:var(--danger,#e74c3c);border:1.5px solid var(--surface-bg);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:2px}#social-friends-title{color:var(--text-sub);letter-spacing:.5px;text-transform:uppercase;flex-shrink:0;padding:8px 15px 12px;font-size:.8rem;font-weight:600}#social-friends-list{box-sizing:border-box;flex:1;padding-bottom:70px;overflow-y:auto}#social-requests-popover{background:var(--surface-bg);border:1px solid var(--border-color);z-index:100;border-radius:12px;flex-direction:column;max-height:450px;position:absolute;top:55px;left:10px;right:10px;overflow:hidden;box-shadow:0 10px 25px #00000026}.social-requests-popover-header{border-bottom:1px solid var(--border-color);background:var(--bg-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 15px;display:flex}.social-requests-popover-header span{color:var(--text-main);font-size:.85rem;font-weight:600}.social-requests-popover-header i{color:var(--primary);margin-right:5px}#social-popover-requests-container{flex:1;max-height:380px;padding:10px;overflow-y:auto}#social-right{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}#social-chat-placeholder{height:100%;color:var(--text-sub);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}#social-chat-placeholder .placeholder-icon{opacity:.2;font-size:4rem}#social-chat-placeholder p{margin:0;font-size:1rem}#social-chat-placeholder p.lock-notice{opacity:.6;font-size:.8rem}#social-chat-placeholder p.lock-notice i{margin-right:4px}#social-chat-panel{flex-direction:column;height:100%}.social-chat-header{border-bottom:1px solid var(--border-color);background:var(--surface-bg);flex-shrink:0;align-items:center;gap:12px;padding:12px 15px;display:flex}#social-chat-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.social-chat-header-info{flex-direction:column;flex:1;justify-content:center;display:flex}#social-chat-name{color:var(--text-main);font-weight:600;line-height:1.2}#social-chat-status{color:var(--text-sub);align-items:center;gap:4px;margin-top:1px;font-size:.7rem;line-height:1.2;display:flex}#social-chat-menu-btn{letter-spacing:-1px;font-size:1.2rem;font-weight:900}#social-chat-messages{background:var(--bg-color);flex-direction:column;flex:1;gap:8px;padding:15px;display:flex;overflow-y:auto}#social-chat-bottom-area{flex-direction:column;flex-shrink:0;display:flex}#social-action-preview i#social-action-icon{margin-right:5px}#social-chat-input-container{background:var(--surface-bg);border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:8px;padding:10px 15px;display:flex}#social-share-course-btn{border:1px solid var(--border-color);background:var(--bg-color);width:38px;height:38px;color:var(--text-sub);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}#social-share-course-btn i{font-size:.85rem}#social-chat-input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:20px;outline:none;flex:1;padding:10px 15px;font-size:.9rem}#social-chat-send{border-radius:20px;flex-shrink:0;width:auto;padding:10px 16px}#social-chat-terminated-container{background:var(--surface-bg);border-top:1px solid var(--border-color);text-align:center;color:var(--text-sub);flex-shrink:0;justify-content:center;align-items:center;padding:15px;font-size:.9rem;font-weight:500}#subview-forum{background:var(--bg-color);flex-direction:column;padding:0;position:relative}#forum-layer-1{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.forum-tabs-wrapper{background:var(--surface-bg);border-bottom:1px solid var(--border-color);align-items:center;width:100%;display:flex;position:relative}.forum-tabs{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#4361ee66 transparent;background:0 0;flex:1 0;gap:6px;padding:0 12px 4px;display:flex;overflow-x:auto}.forum-tabs::-webkit-scrollbar{height:4px;display:block}.forum-tabs::-webkit-scrollbar-track{background:#00000008;border-radius:4px}.forum-tabs::-webkit-scrollbar-thumb{background:#4361ee59;border-radius:4px}.forum-tabs::-webkit-scrollbar-thumb:hover{background:var(--primary)}.forum-tabs-scroll-btn{z-index:3;background:var(--surface-bg);border:1px solid var(--border-color);width:26px;height:26px;color:var(--primary);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000001f}.forum-tabs-scroll-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-50%)scale(1.1)}.forum-tabs-scroll-btn.left{left:4px}.forum-tabs-scroll-btn.right{right:4px}.forum-tabs-wrapper.can-scroll-left .forum-tabs-scroll-btn.left,.forum-tabs-wrapper.can-scroll-right .forum-tabs-scroll-btn.right{opacity:.9;pointer-events:auto}#forum-tab-content-courses,#forum-tab-content-teachers,#forum-tab-content-leaderboard{background:var(--bg-color);flex-direction:column;flex:1;width:100%;height:100%;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}.forum-header-row{background:var(--surface-bg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);flex-direction:column;flex-shrink:0;gap:10px;padding:15px 20px;display:flex}.forum-header-title-row{justify-content:space-between;align-items:center;display:flex}.forum-header-title-row h3{color:var(--text-main);margin:0;font-size:1.1rem}.forum-header-title-row h3 i{margin-right:5px}.forum-header-title-row h3 i.fa-medal{color:#f1c40f}.forum-header-title-row h3 i.fa-chalkboard-teacher{color:var(--primary)}.forum-header-title-row h3 i.fa-trophy{color:#f1c40f}.forum-header-subtitle{color:var(--text-sub);font-size:.75rem;font-style:italic}.forum-filter-row{align-items:center;gap:10px;width:100%;display:flex}.forum-search-input-wrapper{flex:1;position:relative}.forum-search-input-wrapper i{color:var(--text-sub);font-size:.85rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.forum-search-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:18px;outline:none;padding:8px 12px 8px 34px;font-size:.85rem}.forum-sort-select-wrapper{border:1px solid var(--border-color);background:var(--surface-bg);width:auto;height:32px;color:var(--text-main);cursor:pointer;border-radius:8px;padding:4px 8px;font-size:.85rem}#course-rankings-list,#teacher-rankings-list,#student-leaderboard-list{overscroll-behavior-y:contain;flex-direction:column;flex:1;gap:12px;height:100%;min-height:0;padding:15px 15px 120px;display:flex;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overflow-y:auto!important}.forum-search-full-width-wrapper{width:100%;position:relative}.forum-search-full-width-wrapper i{color:var(--text-sub);font-size:.85rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.forum-leaderboard-header{background:var(--surface-bg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);flex-direction:column;flex-shrink:0;gap:6px;padding:15px 20px;display:flex}.forum-leaderboard-desc{color:var(--text-sub);font-size:.8rem;line-height:1.5}.forum-leaderboard-desc i{opacity:.6}#student-leaderboard-list{flex-direction:column;flex:1;gap:10px;padding:15px;display:flex;overflow-y:auto}#forum-tab-content-threads{background:var(--bg-color);flex-direction:column;flex:1;min-height:0;overflow:hidden}.forum-coming-soon-wrapper{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px 32px;display:flex}.coming-soon-icon{color:var(--primary-color);opacity:.7;margin-bottom:8px;font-size:3.5rem;animation:2.5s ease-in-out infinite comingSoonPulse}@keyframes comingSoonPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.coming-soon-title{color:var(--text-color);margin:0;font-size:1.3rem;font-weight:700}.coming-soon-desc{color:var(--text-sub);margin:4px 0 8px;font-size:.92rem;line-height:1.6}.coming-soon-features{text-align:left;flex-direction:column;gap:10px;max-width:340px;margin:0 0 16px;padding:0;list-style:none;display:flex}.coming-soon-features li{color:var(--text-sub);align-items:center;gap:10px;font-size:.88rem;line-height:1.5;display:flex}.coming-soon-features li i{color:var(--primary-color);text-align:center;flex-shrink:0;width:18px;font-size:.95rem}.coming-soon-badge{background:linear-gradient(135deg, var(--primary-color), #a29bfe);color:#fff;letter-spacing:1px;border-radius:20px;align-items:center;gap:8px;padding:8px 22px;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #6c5ce759}.social-badge-new{color:#fff;background:linear-gradient(135deg,#6c5ce7,#a29bfe)}.social-exchange-zone-avatar{color:#fff;background:linear-gradient(135deg,#6c5ce7,#a29bfe);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;display:flex}.social-exchange-zone{border-left:3px solid var(--primary-color);background:var(--surface-bg)}.social-exchange-header{background:var(--surface-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:12px;width:100%;padding:14px 18px;display:flex}.social-exchange-header-title{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;align-items:center;gap:8px;min-width:0;font-size:1.05rem;font-weight:700;display:flex;overflow:hidden}#social-exchange-placeholder{flex-direction:column;justify-content:flex-start;align-items:stretch;height:100%;display:none;overflow:hidden}.exchange-header-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.exchange-online-badge{color:#10b981;white-space:nowrap;background:#10b9811f;border:1px solid #10b9814d;border-radius:12px;flex-shrink:0;align-items:center;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}#exchange-notification-bell{font-size:1.05rem;position:relative}#exchange-notification-bell .notification-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:2px}#exchange-notification-bell.muted i{color:var(--text-sub)}.exchange-chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:4px;padding:16px;display:flex;overflow-y:auto;overflow-x:hidden!important}.exchange-bubble-wrap{align-items:flex-end;gap:8px;max-width:85%;margin-top:14px;margin-bottom:4px;display:flex;position:relative;overflow:visible}.exchange-bubble-wrap.mine{flex-direction:row-reverse;align-self:flex-end}.exchange-bubble-wrap.theirs{align-self:flex-start}.exchange-msg-avatar{object-fit:cover;cursor:pointer;border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;width:34px;height:34px;transition:transform .15s}.exchange-msg-avatar:hover{transform:scale(1.1)}.exchange-msg-avatar.anonymous{cursor:default}.exchange-msg-avatar.anonymous:hover{transform:none}.exchange-bubble-wrap.mine .exchange-msg-avatar{display:none}.exchange-bubble{word-break:break-word;border-radius:16px;max-width:100%;padding:10px 14px;font-size:.92rem;line-height:1.5;position:relative}.exchange-bubble-wrap.theirs .exchange-bubble{background:var(--surface-bg);border:1px solid var(--border-color);border-bottom-left-radius:4px}.exchange-bubble-wrap.mine .exchange-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.exchange-sender-name{color:var(--primary);cursor:pointer;margin-bottom:3px;font-size:.78rem;font-weight:600}.exchange-sender-name:hover{text-decoration:underline}.exchange-sender-name.anonymous{cursor:default;color:var(--text-sub)}.exchange-sender-name.anonymous:hover{text-decoration:none}.exchange-bubble-wrap.mine .exchange-sender-name{display:none}.exchange-bubble .chat-time{color:var(--text-sub);text-align:right;margin-top:4px;font-size:.7rem}.exchange-bubble-wrap.mine .exchange-bubble .chat-time{color:#ffffffb3}.exchange-bubble.withdrawn{opacity:.5;font-style:italic}.exchange-heart-wrap{background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;z-index:2;border-radius:12px;align-items:center;gap:2px;padding:2px 6px;font-size:.72rem;transition:transform .15s;display:flex;position:absolute;bottom:-6px;box-shadow:0 1px 3px #0000001a}.exchange-heart-wrap:hover{transform:scale(1.15)}.exchange-heart-wrap.mine{left:-4px}.exchange-heart-wrap.other{right:-4px}.exchange-heart-wrap .fa-heart{color:#ef4444;font-size:.7rem}.exchange-heart-count{color:var(--text-sub);text-align:center;min-width:8px;font-size:.7rem;font-weight:600}.exchange-msg-actions{opacity:0;pointer-events:none;z-index:20;background:var(--surface-bg,#fff);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;align-items:center;gap:3px;padding:3px 6px;transition:opacity .18s,transform .18s;display:flex;position:absolute;top:-24px;transform:translateY(4px);box-shadow:0 4px 14px #0000001f}.exchange-bubble-wrap.theirs .exchange-msg-actions{left:0;right:auto}.exchange-bubble-wrap.mine .exchange-msg-actions{left:auto;right:0}.exchange-bubble-wrap:hover .exchange-msg-actions,.exchange-bubble-wrap.show-actions .exchange-msg-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.exchange-msg-actions .chat-msg-action-btn{width:26px;height:26px;color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;transition:background .15s,color .15s,transform .1s;display:flex}.exchange-msg-actions .chat-msg-action-btn:hover{background:var(--hover-bg);color:var(--text-color);transform:scale(1.1)}.exchange-msg-actions .chat-msg-action-btn.delete:hover{color:#ef4444}.exchange-msg-actions .chat-msg-action-btn.report:hover{color:#f59e0b}.exchange-reply-quote{color:var(--text-sub);border-left:3px solid var(--primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#0000000d;border-radius:0 6px 6px 0;max-width:100%;margin-bottom:6px;padding:4px 8px;font-size:.78rem;overflow:hidden}.exchange-bubble-wrap.mine .exchange-reply-quote{color:#fffc;background:#ffffff26;border-left-color:#ffffff80}.exchange-reply-icon{margin-right:4px}.exchange-bubble-wrap.has-hearts{margin-bottom:12px}.exchange-online-badge{color:#10b981;background:#10b9811f;border:1px solid #10b9814d;border-radius:12px;align-items:center;margin-right:8px;padding:3px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.exchange-read-tag{color:var(--primary);opacity:.88;margin-right:5px;font-size:.72rem;font-weight:500}.exchange-bubble-wrap.mine .exchange-read-tag{color:#ffffffd9}.exchange-unread-dot-pos{display:block;position:absolute;top:12px;left:48px}.exchange-avatar-relative{position:relative}#exchange-chat-bottom-area{border-top:1px solid var(--border-color);background:var(--surface-bg);flex-shrink:0}#exchange-action-preview{background:var(--hover-bg);border-bottom:1px solid var(--border-color);color:var(--text-sub);justify-content:space-between;align-items:center;padding:8px 16px;font-size:.82rem;display:flex}#exchange-action-preview>div{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}#exchange-action-preview .close-btn{cursor:pointer;color:var(--text-sub);padding:4px;transition:color .15s}#exchange-action-preview .close-btn:hover{color:var(--text-color)}#exchange-chat-input-container{align-items:center;gap:8px;padding:10px 14px;display:flex}.exchange-input-icon-btn{background:var(--hover-bg);border:1px solid var(--border-color);width:38px;height:38px;color:var(--text-sub);cursor:pointer;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 3px #0000000d}.exchange-input-icon-btn:hover{color:var(--primary);border-color:var(--primary);background:#4361ee1f;transform:translateY(-1px);box-shadow:0 3px 10px #4361ee33}.exchange-input-icon-btn:active{transform:scale(.92)}.exchange-input-icon-btn.is-uploading{pointer-events:none;opacity:.7;background:var(--hover-bg)}.exchange-input-icon-btn.is-uploading i{color:var(--primary)}#exchange-chat-input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);border-radius:20px;outline:none;flex:1;padding:10px 14px;font-size:.9rem;transition:border-color .2s}#exchange-chat-input:focus{border-color:var(--primary)}#exchange-chat-send{border-radius:50%;flex-shrink:0;width:38px;height:38px}.exchange-bubble.chat-image-card{background:var(--surface-bg);border:1px solid var(--border-color);max-width:290px;padding:6px 6px 8px}.exchange-bubble-wrap.mine .exchange-bubble.chat-image-card{background:var(--primary);border-color:#0000}.exchange-image-wrap{cursor:zoom-in;-webkit-user-select:none;user-select:none;background:#0000000f;border-radius:10px;display:block;position:relative;overflow:hidden}.exchange-image-img{object-fit:cover;border-radius:8px;width:100%;max-height:260px;transition:transform .25s cubic-bezier(.4,0,.2,1);display:block}.exchange-image-wrap:hover .exchange-image-img{transform:scale(1.025)}.exchange-image-overlay{opacity:0;color:#fff;letter-spacing:.2px;pointer-events:none;background:linear-gradient(#0000 40%,#0000008c 100%);justify-content:flex-end;align-items:flex-end;padding:8px 10px;font-size:.72rem;font-weight:500;transition:opacity .2s;display:flex;position:absolute;inset:0}.exchange-image-wrap:hover .exchange-image-overlay{opacity:1}.exchange-image-caption{word-break:break-word;margin-top:6px;padding:0 6px;font-size:.88rem;line-height:1.45}.exchange-bubble-wrap.theirs .exchange-image-caption{color:var(--text-color)}.exchange-bubble-wrap.mine .exchange-image-caption{color:#fff}.exchange-edited-tag{color:var(--text-sub);font-size:.68rem;font-style:italic}.exchange-bubble-wrap.mine .exchange-edited-tag{color:#fff9}.exchange-date-divider,.chat-date-divider{text-align:center;color:var(--text-sub);align-items:center;gap:12px;padding:8px 0;font-size:.75rem;display:flex}.exchange-date-divider:before,.exchange-date-divider:after,.chat-date-divider:before,.chat-date-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.exchange-empty-hint{color:var(--text-sub);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.exchange-empty-hint i{opacity:.3;font-size:2.5rem}#forum-layer-2{flex-direction:column;width:100%;height:100%}.forum-layer-header{background:var(--surface-bg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);flex-shrink:0;align-items:center;padding:15px;display:flex}.forum-back-btn{width:auto;margin-right:15px;padding:8px 12px}.forum-layer-header h3{color:var(--primary);margin:0}.forum-layer-header .layer-subtitle{color:var(--text-sub);font-size:.8rem}.forum-choices-wrapper{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:20px;padding:20px;display:flex}#forum-layer-3-chat{flex-direction:column;width:100%;height:100%}#forum-messages{flex-direction:column;flex:1;gap:10px;padding:15px;display:flex;overflow-y:auto}#forum-input-container{background:var(--surface-bg);border-top:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:10px;padding:10px 15px;display:flex}#forum-input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:20px;outline:none;flex:1;padding:10px}#forum-send-btn{border-radius:20px;width:auto;padding:10px 20px}#forum-layer-3-rating{flex-direction:column;width:100%;height:100%;position:relative}.rating-bottom-bar{z-index:1005;pointer-events:none;justify-content:center;align-items:center;gap:10px;max-width:480px;margin:0 auto;transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;bottom:16px;left:16px;right:16px}.rating-bottom-bar.fab-hidden{opacity:0!important;pointer-events:none!important;transform:translateY(12px)!important}@media (width<=768px){.rating-bottom-bar{bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;z-index:1005!important;gap:8px!important;max-width:440px!important;margin:0 auto!important;position:fixed!important;left:14px!important;right:14px!important}}.rating-bottom-btn{pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;-webkit-backdrop-filter:blur(12px);box-sizing:border-box;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;height:42px;padding:0 10px;font-size:.88rem;font-weight:600;transition:all .22s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 14px #0000001a}.rating-bottom-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000029}.rating-bottom-btn:active{transform:translateY(0)scale(.97)}.rating-bottom-btn.d-none-soft,.rating-bottom-btn.d-none,.rating-bottom-bar>.d-none-soft,.rating-bottom-bar>.d-none{display:none!important}.rating-bottom-btn i{flex-shrink:0;font-size:.95rem}.rating-bottom-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rating-bottom-btn.btn-add{background:var(--primary,#4361ee);color:#fff;border:1px solid var(--primary,#4361ee);box-shadow:0 4px 14px #4361ee59}.rating-bottom-btn.btn-add:hover{background:var(--primary-dark,#3b5bdb);border-color:var(--primary-dark,#3b5bdb);box-shadow:0 6px 20px #4361ee7a}.rating-bottom-btn.btn-edit{background:var(--surface-bg,#fff);color:var(--primary,#4361ee);border:1.5px solid var(--primary,#4361ee)}.rating-bottom-btn.btn-edit:hover{background:var(--primary,#4361ee);color:#fff;box-shadow:0 6px 18px #4361ee59}.rating-bottom-btn.btn-delete{background:var(--surface-bg,#fff);color:var(--danger,#ef4444);border:1.5px solid var(--danger,#ef4444)}.rating-bottom-btn.btn-delete:hover{background:var(--danger,#ef4444);color:#fff;box-shadow:0 6px 18px #ef444459}.rating-bottom-btn.btn-chat{background:var(--surface-bg,#fff);color:var(--text-main,#333);border:1.5px solid var(--border-color,#e0e0e0)}.rating-bottom-btn.btn-chat i{color:var(--primary,#4361ee);transition:transform .2s}.rating-bottom-btn.btn-chat:hover{border-color:var(--primary,#4361ee);color:var(--primary,#4361ee);box-shadow:0 6px 18px #4361ee38}.rating-bottom-btn.btn-chat:hover i{transform:scale(1.12)}.forum-rating-header{background:var(--surface-bg);border-bottom:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:15px;display:flex}.forum-rating-header-left{align-items:center;display:flex}.forum-rating-header-left h3{color:var(--primary);margin:0}.forum-rating-header-left .rating-subtitle{color:var(--text-sub);font-size:.8rem}#forum-ratings-content{background:var(--bg-color);flex-direction:column;flex:1;padding:15px;display:flex;overflow-y:auto}#rating-stats-container{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 2px 5px var(--shadow-color);border-radius:8px;justify-content:space-around;align-items:center;margin-bottom:10px;padding:8px 12px;display:flex}.rating-tags-carousel-container{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 1px 3px var(--shadow-color);box-sizing:border-box;border-radius:12px;align-items:center;gap:6px;width:100%;margin-bottom:10px;padding:5px 8px;display:flex;position:relative}.rating-tag-arrow{border:1px solid var(--border-color);background:var(--bg-main);width:24px;height:24px;color:var(--text-main);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;transition:all .15s;display:flex}.rating-tag-arrow:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.05)}.rating-tags-track{scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;white-space:nowrap;flex-direction:row;flex:1;align-items:center;gap:6px;min-width:0;padding:2px;display:flex;overflow-x:auto}.rating-tags-track::-webkit-scrollbar{display:none}#course-ai-summary-wrapper{background:#7c3aed0d;border:1px solid #7c3aed26;border-radius:10px;flex-direction:column;flex-shrink:0;gap:8px;margin-bottom:15px;padding:12px;display:flex}.ai-summary-header{justify-content:space-between;align-items:center;display:flex}.ai-summary-header span{color:var(--primary);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}#btn-generate-course-ai-summary{background:var(--primary);border-color:var(--primary);cursor:pointer;align-items:center;gap:4px;width:auto;margin:0;padding:4px 10px;font-size:.75rem;display:flex}#course-ai-summary-content{color:var(--text-sub);white-space:pre-wrap;font-size:.85rem;line-height:1.4}#rating-list-container{flex-direction:column;gap:15px;display:flex}.forum-choice-card i.fa-star{color:#f39c12}.forum-choice-card i.fa-comments{color:#3498db}#onboarding-modal-container{flex-direction:column;width:480px;max-width:90%;max-height:85vh;display:flex}.onboarding-title-area{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.onboarding-title-area h3{margin:0}.onboarding-scroll-area{flex:1;padding-right:5px;overflow-y:auto}.onboarding-section-title{color:var(--text-main);border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin:0 0 10px;padding-bottom:5px;font-size:1rem;display:flex}.onboarding-section-title.basic i{color:var(--primary)}.onboarding-section-title.privacy i{color:var(--success)}.onboarding-section-title.friends i{color:var(--warning)}.onboarding-form-group{flex-direction:column;gap:12px;display:flex}.onboarding-spacer{margin-bottom:20px}.onboarding-flex-between{justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.onboarding-flex-between span{color:var(--text-main)}.onboarding-friend-search-row{gap:8px;margin-bottom:10px;display:flex}.onboarding-friend-search-row input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:8px;flex:1;padding:8px 12px;font-size:.9rem}.onboarding-friend-search-row button{width:auto;margin:0;padding:8px 15px}.onboarding-friend-results-placeholder{text-align:center;color:var(--text-sub);padding:10px;font-size:.8rem}.onboarding-footer-actions{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:center;gap:10px;margin-top:20px;padding-top:15px;display:flex}.onboarding-footer-actions button{width:100%;margin:0}.profile-modal-container{border-radius:20px;flex-direction:column;width:550px;max-width:95%;height:85vh;display:flex;overflow:hidden}.profile-modal-header span{cursor:pointer;font-size:1.5rem}#profile-modal-scrollable-content{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-right:5px;overflow:hidden auto}.text-main{color:var(--text-main)!important}.text-sub{color:var(--text-sub)!important}.text-primary{color:var(--primary)!important}.text-success{color:var(--success,#10b981)!important}.text-warning{color:var(--warning,#f59e0b)!important}.text-danger{color:var(--text-danger,#ef4444)!important}.csp-font-10{font-size:10px!important}.csp-font-11{font-size:11px!important}.csp-font-12{font-size:12px!important}.csp-font-13{font-size:13px!important}.csp-font-14{font-size:14px!important}.csp-font-15{font-size:15px!important}.csp-font-16{font-size:16px!important}.csp-font-18{font-size:18px!important}.csp-font-20{font-size:20px!important}.csp-font-24{font-size:24px!important}.csp-font-28{font-size:28px!important}.csp-font-32{font-size:32px!important}.csp-font-36{font-size:36px!important}.csp-font-bold{font-weight:700!important}.csp-font-semibold{font-weight:600!important}.csp-font-medium{font-weight:500!important}.csp-font-normal{font-weight:400!important}.csp-text-main{color:var(--text-main)!important}.csp-text-sub{color:var(--text-sub)!important}.csp-text-left{text-align:left!important}.csp-text-right{text-align:right!important}.csp-pointer{cursor:pointer!important}.csp-opacity-07{opacity:.7!important}.csp-flex-row{flex-direction:row!important;display:flex!important}.csp-flex-col{flex-direction:column!important;display:flex!important}.csp-flex-1{flex:1!important}.csp-items-center{align-items:center!important}.csp-items-start{align-items:flex-start!important}.csp-items-end{align-items:flex-end!important}.csp-justify-center{justify-content:center!important}.csp-justify-between{justify-content:space-between!important}.csp-justify-end{justify-content:flex-end!important}.csp-flex-wrap{flex-wrap:wrap!important}.csp-gap-4{gap:4px!important}.csp-gap-6{gap:6px!important}.csp-gap-8{gap:8px!important}.csp-gap-10{gap:10px!important}.csp-gap-12{gap:12px!important}.csp-gap-16{gap:16px!important}.csp-gap-20{gap:20px!important}.csp-mb-4{margin-bottom:4px!important}.csp-mb-8{margin-bottom:8px!important}.csp-mb-10{margin-bottom:10px!important}.csp-mb-12{margin-bottom:12px!important}.csp-mb-20{margin-bottom:20px!important}.csp-mt-2{margin-top:2px!important}.csp-mt-4{margin-top:4px!important}.csp-mt-6{margin-top:6px!important}.csp-mt-8{margin-top:8px!important}.csp-mt-10{margin-top:10px!important}.csp-mt-12{margin-top:12px!important}.csp-mt-20{margin-top:20px!important}.csp-mr-8{margin-right:8px!important}.csp-mr-10{margin-right:10px!important}.csp-ml-5{margin-left:5px!important}.csp-ml-10{margin-left:10px!important}.csp-p-40{padding:40px!important}.csp-py-5{padding-top:5px!important;padding-bottom:5px!important}.csp-pb-30{padding-bottom:30px!important}.csp-pt-10{padding-top:10px!important}.csp-btn-sm{border-radius:6px!important;width:auto!important;padding:4px 10px!important;font-size:12px!important}.btn-outline{border:1px solid var(--border-color)!important;color:var(--text-main)!important;background:0 0!important}.btn-outline:hover{background:var(--hover-bg)!important}.planet-fullscreen-btn{z-index:25;-webkit-backdrop-filter:blur(12px);color:#e2e8f0;cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f172abf;border:1px solid #ffffff29;border-radius:9999px;align-items:center;gap:7px;padding:7px 15px;font-size:.82rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:14px;right:16px;box-shadow:0 8px 24px #0006,inset 0 1px 1px #ffffff26}.planet-fullscreen-btn:hover{color:#38bdf8;background:#0f172aeb;border-color:#38bdf880;transform:translateY(-1px);box-shadow:0 8px 28px #00000080,0 0 16px #38bdf840}.planet-fullscreen-btn svg{color:#38bdf8;filter:drop-shadow(0 0 4px #38bdf899)}.planet-back-btn{z-index:1000005;-webkit-backdrop-filter:blur(12px);color:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f172ad9;border:1px solid #ffffff38;border-radius:9999px;align-items:center;gap:6px;padding:7px 16px;font-size:.82rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:none;position:absolute;top:14px;left:16px;box-shadow:0 8px 24px #00000080,inset 0 1px 1px #fff3}.planet-back-btn:hover{color:#38bdf8;background:#1e293bf2;border-color:#38bdf880;transform:translateY(-1px);box-shadow:0 8px 28px #0009,0 0 16px #38bdf84d}.planet-back-btn svg{color:#38bdf8;transition:transform .2s}.planet-back-btn:hover svg{transform:translate(-2px)}[id="3d-planet-wrapper"].is-fullscreen{z-index:999999!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;box-shadow:none!important;background:radial-gradient(circle,#141d33 0%,#0c1222 55%,#050811 100%)!important;border:none!important;border-radius:0!important;margin:0!important;position:fixed!important;inset:0!important}body.planet-fullscreen-active #left-sidebar,body.planet-fullscreen-active #right-sidebar,body.planet-fullscreen-active .sidebar-collapsed-btn,body.planet-fullscreen-active #top-navbar,body.planet-fullscreen-active #mobile-nav,body.planet-fullscreen-active .instagram-frosted-nav,body.planet-fullscreen-active .bottom-nav-bar,body.planet-fullscreen-active #bottom-nav,body.planet-fullscreen-active header{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #left-sidebar{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #right-sidebar{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) .sidebar-collapsed-btn{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #top-navbar{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #mobile-nav{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) .instagram-frosted-nav{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) .bottom-nav-bar{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #bottom-nav{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body:has([id="3d-planet-wrapper"].is-fullscreen) header{visibility:hidden!important;opacity:0!important;pointer-events:none!important;display:none!important}body.planet-fullscreen-active #app-container,body.planet-fullscreen-active #main-area,body.planet-fullscreen-active #main-content-wrapper{overflow:visible!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #app-container{overflow:visible!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #main-area{overflow:visible!important}body:has([id="3d-planet-wrapper"].is-fullscreen) #main-content-wrapper{overflow:visible!important}[id="3d-planet-wrapper"].is-fullscreen .planet-caption{display:none!important}@media (width<=768px){.planet-caption{display:none!important}}[id="3d-planet-wrapper"].is-fullscreen.is-portrait [id="3d-planet-container"]{filter:blur(18px);transition:filter .3s}[id="3d-planet-wrapper"].is-fullscreen.is-portrait .planet-caption,[id="3d-planet-wrapper"].is-fullscreen.is-portrait .planet-spaceship-toggle-wrapper,[id="3d-planet-wrapper"].is-fullscreen.is-portrait .planet-cockpit-overlay,[id="3d-planet-wrapper"].is-fullscreen.is-portrait .planet-flight-controls{opacity:.2;pointer-events:none;filter:blur(8px)}.planet-orientation-overlay{z-index:1000000;-webkit-backdrop-filter:blur(14px);text-align:center;box-sizing:border-box;background:#050811b3;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}[id="3d-planet-wrapper"].is-fullscreen.is-portrait .planet-orientation-overlay{display:flex}.planet-orientation-modal{background:#0f172ae0;border:1px solid #ffffff2e;border-radius:24px;flex-direction:column;align-items:center;gap:14px;max-width:320px;padding:32px 26px;animation:.35s ease-out planetModalFadeIn;display:flex;box-shadow:0 20px 50px #0009,0 0 30px #38bdf833}@keyframes planetModalFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.planet-rotate-phone-anim{justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:4px;display:flex;position:relative}.planet-phone-icon-box{transform-origin:50%;background:#38bdf81a;border:2.5px solid #38bdf8;border-radius:8px;justify-content:center;align-items:flex-end;width:36px;height:54px;padding-bottom:4px;animation:2.4s ease-in-out infinite phoneRotateAnim;display:flex;box-shadow:0 0 16px #38bdf866}.planet-phone-home-bar{background:#38bdf8;border-radius:2px;width:12px;height:2px}@keyframes phoneRotateAnim{0%,20%{transform:rotate(0)}50%,75%{transform:rotate(-90deg)}90%,to{transform:rotate(0)}}.planet-orientation-title{color:#f8fafc;letter-spacing:.02em;margin:0;font-size:1.15rem;font-weight:700}.planet-orientation-desc{color:#94a3b8;margin:0;font-size:.84rem;line-height:1.5}.planet-spaceship-toggle-wrapper{z-index:25;-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;background:#0f172abf;border:1px solid #ffffff29;border-radius:9999px;align-items:center;gap:9px;padding:6px 14px;transition:all .3s;display:none;position:absolute;top:14px;right:16px;box-shadow:0 8px 24px #0006,inset 0 1px 1px #ffffff26}.planet-spaceship-toggle-wrapper:hover{background:#0f172ae6;border-color:#38bdf873;box-shadow:0 8px 28px #00000080,0 0 16px #38bdf833}.spaceship-toggle-label{color:#e2e8f0;letter-spacing:.03em;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.spaceship-toggle-label svg{color:#38bdf8;filter:drop-shadow(0 0 4px #38bdf899)}.spaceship-switch{cursor:pointer;width:38px;height:20px;margin:0;display:inline-block;position:relative}.spaceship-switch input{opacity:0;width:0;height:0}.spaceship-slider{cursor:pointer;background:#64748b66;border:1px solid #ffffff26;border-radius:9999px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.spaceship-slider:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:2px;left:2px;box-shadow:0 2px 5px #00000059}.spaceship-switch input:checked+.spaceship-slider{background:linear-gradient(135deg,#0ea5e9,#6366f1);border-color:#38bdf899;box-shadow:0 0 12px #38bdf873}.spaceship-switch input:checked+.spaceship-slider:before{background:#f8fafc;transform:translate(18px)}.planet-cockpit-overlay{pointer-events:none;z-index:15;width:100%;height:100%;transition:opacity .4s;display:none;position:absolute;top:0;left:0;overflow:hidden}.planet-cockpit-overlay.active{display:block}.cockpit-canopy-glass{box-sizing:border-box;pointer-events:none;background:radial-gradient(at 50% 0,#38bdf80f 0%,#0000 65%),linear-gradient(135deg,#ffffff08 0%,#0000 45%,#38bdf808 100%);border:2px solid #38bdf82e;width:100%;height:100%;position:absolute;top:0;left:0;box-shadow:inset 0 0 100px #0ea5e914,inset 0 0 40px #0009}.cockpit-corner-bracket{pointer-events:none;border-color:#38bdf866;width:32px;height:32px;position:absolute}.cockpit-corner-tl{border-top:2px solid;border-left:2px solid;top:18px;left:18px}.cockpit-corner-tr{border-top:2px solid;border-right:2px solid;top:18px;right:18px}.cockpit-corner-bl{border-bottom:2px solid;border-left:2px solid;bottom:18px;left:18px}.cockpit-corner-br{border-bottom:2px solid;border-right:2px solid;bottom:18px;right:18px}.cockpit-hud-reticle{pointer-events:none;justify-content:center;align-items:center;width:70px;height:70px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cockpit-hud-reticle-circle{border:1px dashed #38bdf88c;border-radius:50%;width:38px;height:38px;animation:25s linear infinite cockpitReticleSpin;position:absolute}@keyframes cockpitReticleSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cockpit-hud-reticle-dot{background:#38bdf8;border-radius:50%;width:4px;height:4px;box-shadow:0 0 8px #38bdf8,0 0 16px #38bdf8cc}.cockpit-hud-reticle-lines{pointer-events:none;width:66px;height:66px;position:absolute}.cockpit-hud-reticle-lines:before,.cockpit-hud-reticle-lines:after{content:"";background:#38bdf866;position:absolute}.cockpit-hud-reticle-lines:before{width:66px;height:1px;top:32px;left:0}.cockpit-hud-reticle-lines:after{width:1px;height:66px;top:0;left:32px}.cockpit-status-panel{-webkit-backdrop-filter:blur(10px);color:#94a3b8;pointer-events:auto;-webkit-user-select:none;user-select:none;background:#0f172ad1;border:1px solid #38bdf840;border-radius:12px;flex-direction:column;gap:6px;min-width:230px;max-width:280px;padding:10px 14px;font-family:JetBrains Mono,monospace,ui-monospace,sans-serif;font-size:.75rem;display:flex;position:absolute;bottom:20px;left:18px;box-shadow:0 4px 20px #00000073}.cockpit-telemetry-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.cockpit-telemetry-val{color:#38bdf8;letter-spacing:.04em;font-weight:700}.cockpit-collision-warning{color:#fff;letter-spacing:.04em;z-index:30;pointer-events:none;background:#dc2626e0;border:1px solid #f87171;border-radius:8px;align-items:center;gap:7px;padding:7px 18px;font-size:.8rem;font-weight:700;animation:.8s infinite alternate cockpitWarningPulse;display:none;position:absolute;top:24px;left:50%;transform:translate(-50%);box-shadow:0 0 25px #ef4444cc}@keyframes cockpitWarningPulse{0%{opacity:.75;transform:translate(-50%)scale(.98)}to{opacity:1;transform:translate(-50%)scale(1.02)}}.cockpit-collision-flash{box-sizing:border-box;pointer-events:none;z-index:20;border:4px solid #ef4444;width:100%;height:100%;animation:.3s cockpitFlashPulse;display:none;position:absolute;top:0;left:0;box-shadow:inset 0 0 60px #ef444499}@keyframes cockpitFlashPulse{0%{opacity:0}50%{opacity:1}to{opacity:0}}.planet-flight-controls{z-index:25;pointer-events:auto;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:8px;display:none;position:absolute;bottom:16px;right:16px}.planet-flight-controls.active{display:flex}.flight-altitude-group{gap:8px;display:flex}.flight-btn{-webkit-backdrop-filter:blur(8px);color:#e2e8f0;cursor:pointer;touch-action:manipulation;background:#0f172ad1;border:1px solid #38bdf859;border-radius:10px;justify-content:center;align-items:center;gap:4px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex;box-shadow:0 4px 14px #0006,inset 0 1px 1px #ffffff26}.flight-btn:hover{color:#38bdf8;background:#1e293bf2;border-color:#38bdf8b3;box-shadow:0 0 12px #38bdf859}.flight-btn:active,.flight-btn.active-pressed{background:#0ea5e966;border-color:#38bdf8;transform:scale(.92);box-shadow:inset 0 2px 6px #00000080,0 0 16px #38bdf899}.flight-btn-alt{padding:5px 12px;font-size:.72rem}.flight-dpad-container{-webkit-backdrop-filter:blur(10px);background:#0f172abf;border:1px solid #ffffff1f;border-radius:14px;grid-template-rows:repeat(3,38px);grid-template-columns:repeat(3,38px);justify-content:center;align-items:center;gap:6px;padding:6px;display:grid;box-shadow:0 8px 24px #0006}.flight-btn-pad{border-radius:8px;width:38px;height:38px;padding:0;font-size:1rem}.flight-btn-reset{color:#a5b4fc;background:#6366f140;border-color:#818cf866;grid-area:2/2;font-size:.75rem}.flight-btn-reset:hover{color:#fff;background:#6366f173;border-color:#818cf8}.flight-btn-up{grid-area:1/2}.flight-btn-left{grid-area:2/1}.flight-btn-right{grid-area:2/3}.flight-btn-down{grid-area:3/2}.flight-btn svg{pointer-events:none;stroke:currentColor;filter:drop-shadow(0 0 2px #38bdf880)}.cockpit-throttle-control{border-top:1px solid #ffffff1f;flex-direction:column;gap:6px;margin-top:4px;padding-top:6px;display:flex}.cockpit-throttle-header{color:#94a3b8;justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.cockpit-throttle-slider{appearance:none;cursor:pointer;background:#ffffff26;border-radius:4px;outline:none;width:100%;height:5px;transition:background .2s}.cockpit-throttle-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#38bdf8;border:2px solid #fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;box-shadow:0 0 8px #38bdf8}.cockpit-throttle-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.cockpit-throttle-presets{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:2px;display:grid}.throttle-preset-btn{color:#cbd5e1;cursor:pointer;text-align:center;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff26;border-radius:5px;padding:4px 2px;font-family:inherit;font-size:.68rem;transition:all .15s}.throttle-preset-btn:hover{color:#fff;background:#38bdf840;border-color:#38bdf8}.throttle-preset-btn.active{color:#38bdf8;background:#0ea5e966;border-color:#38bdf8;font-weight:700}.profile-slider-menu-wrapper{z-index:25;background:var(--bg-color,#fff);border-bottom:1px solid var(--border-color);align-items:center;width:100%;margin-bottom:14px;padding:8px 0;display:flex;position:sticky;top:-32px}.profile-slider-menu{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#4361ee4d transparent;flex:1;gap:8px;margin-bottom:0;padding-bottom:4px;display:flex;overflow-x:auto}.profile-slider-menu::-webkit-scrollbar{height:4px;display:block}.profile-slider-menu::-webkit-scrollbar-track{background:0 0}.profile-slider-menu::-webkit-scrollbar-thumb{background:#4361ee4d;border-radius:4px}.profile-slider-scroll-btn{z-index:3;background:var(--surface-bg);border:1px solid var(--border-color);width:26px;height:26px;color:var(--primary);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;transition:all .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0000001f}.profile-slider-scroll-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-50%)scale(1.1)}.profile-slider-scroll-btn.left{left:-4px}.profile-slider-scroll-btn.right{right:-4px}.profile-slider-menu-wrapper.can-scroll-left .profile-slider-scroll-btn.left,.profile-slider-menu-wrapper.can-scroll-right .profile-slider-scroll-btn.right{opacity:.9;pointer-events:auto}.profile-menu-item{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.profile-menu-item:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 4%, var(--surface-bg))}.profile-menu-item.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 20%, transparent)}.profile-menu-item .menu-item-value{background:var(--hover-bg,#0000000d);color:var(--text-sub);border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:500;transition:all .25s}.profile-menu-item:hover .menu-item-value{background:color-mix(in srgb, var(--primary) 10%, var(--surface-bg));color:var(--primary)}.profile-menu-item.active .menu-item-value{color:#fff;background:#fff3}.profile-slider-outer-wrapper{box-sizing:border-box;align-items:flex-start;width:100%;padding:0;display:flex;position:relative}.profile-slider-container{box-sizing:border-box;background:0 0;border:none;border-radius:0;width:100%;padding:0;position:relative;overflow:hidden}.profile-panels-track{will-change:transform;width:100%;transition:transform .38s cubic-bezier(.25,.8,.25,1);display:flex}.profile-panel{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:100%;max-width:100%;padding:0;overflow:visible}.profile-slider-arrow{z-index:10;background:var(--bg-hover,#0000001a);color:var(--text-color);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.profile-slider-arrow.prev{left:4px}.profile-slider-arrow.next{right:4px}.profile-slider-arrow:hover{background:var(--primary-color,#4361ee);color:#fff}.profile-slider-dots-row{justify-content:center;margin-top:12px;margin-bottom:4px;display:flex}.profile-slider-dots{gap:6px;display:flex}.profile-slider-dot{background:var(--border-color);cursor:pointer;border-radius:50%;width:8px;height:8px;transition:all .2s}.profile-slider-dot.active{background:var(--primary-color,#4361ee);border-radius:4px;width:16px}.profile-panel .stats-grid{grid-template-columns:repeat(3,1fr)!important;gap:10px!important;width:100%!important;margin-top:16px!important;margin-bottom:8px!important;display:grid!important}.profile-panel .stat-item{background:var(--card-bg,#ffffff0d)!important;border:1px solid var(--border-color)!important;text-align:center!important;border-radius:8px!important;padding:8px 6px!important;transition:all .2s!important;box-shadow:0 2px 4px #00000008!important}.profile-panel .stat-item:hover{background:var(--bg-hover,#00000014)!important;transform:translateY(-2px)!important;box-shadow:0 4px 8px #00000014!important}.profile-panel .stat-val{color:var(--primary-color,#4361ee)!important;margin-bottom:3px!important;font-size:1.15rem!important;font-weight:700!important;display:block!important}.profile-panel .stat-label{color:var(--text-sub,#888)!important;justify-content:center!important;align-items:center!important;gap:4px!important;font-size:.72rem!important;display:flex!important}.profile-section-divider{border-top:1px solid var(--border-color);margin-top:20px;padding-top:5px}.profile-section-divider-tight{border-top:1px solid var(--border-color);margin-top:5px;padding-top:5px}.profile-toggle-arrow{transition:transform .3s;transform:rotate(180deg)}.profile-form-container{flex-direction:column;gap:12px;padding:10px 0;display:flex}.profile-input-group{flex-direction:column;gap:6px;display:flex}.profile-input-group label{color:var(--text-color);font-size:.85rem;font-weight:700}.profile-input-group select{width:100%}.profile-row-between{justify-content:space-between;align-items:center;display:flex}.profile-row-between-align{align-items:center;gap:8px;display:flex}.profile-credits-input{border:1px solid var(--border-color);background:var(--bg-color);width:80px;color:var(--text-color);text-align:center;border-radius:6px;padding:6px}.profile-credits-unit{color:var(--text-sub);font-size:.85rem}.profile-progress-card{background:var(--header-bg);border:1px solid var(--border-color);border-radius:8px;margin-top:10px;padding:12px}.profile-progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.profile-progress-title{color:var(--text-color);font-size:.85rem;font-weight:800}.profile-progress-percentage{color:#047857;font-size:.85rem;font-weight:700}.profile-progress-bar{background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;width:0%;height:100%;transition:width .8s}.profile-progress-sub-title{color:var(--text-sub);margin-bottom:6px;font-size:.75rem;font-weight:700}.profile-progress-list{flex-direction:column;gap:6px;max-height:200px;padding-right:4px;display:flex;overflow-y:auto}.profile-header-title-flex{align-items:center;gap:10px;display:flex}.profile-header-badge-count{color:var(--text-sub);font-size:.8rem;font-weight:400}.preview-modal-header h3{color:var(--primary);align-items:center;gap:8px;margin:0;display:flex}#preview-major-info{color:var(--text-sub);margin-top:4px;font-size:.85rem}.credit-adjust-header{background:linear-gradient(135deg, var(--primary), #7209b7);color:#fff;flex-shrink:0;align-items:center;gap:10px;padding:14px 18px;display:flex}.credit-adjust-header i{font-size:1.1rem}.credit-adjust-header span{font-size:1rem;font-weight:700}.credit-adjust-close-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;font-size:.85rem;display:flex}.credit-adjust-body{box-sizing:border-box;flex-direction:column;gap:14px;padding:20px;display:flex}.credit-adjust-field{flex-direction:column;gap:5px;display:flex}.credit-adjust-field label{color:var(--text-color);font-size:.85rem;font-weight:700}.credit-adjust-input-wrapper{align-items:center;display:flex;position:relative}.credit-adjust-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:8px;outline:none;padding:9px 50px 9px 12px;font-size:.9rem;font-weight:700}.credit-adjust-unit{color:var(--text-sub);font-size:.85rem;font-weight:700;position:absolute;right:15px}.credit-adjust-textarea{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:8px;outline:none;padding:9px 12px;font-size:.88rem}.credit-adjust-footer{gap:10px;margin-top:5px;display:flex}.credit-adjust-footer button{flex:1;margin:0}.credit-adjust-footer button.btn-primary{background:var(--primary)}.syllabus-modal-container{border:1px solid var(--border-color);background:var(--surface-bg);border-radius:16px;flex-direction:column;width:92%;max-width:1024px;height:88vh;padding:20px;display:flex;box-shadow:0 25px 50px -12px #00000040}.syllabus-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:12px;display:flex}#syllabus-modal-title{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.15rem;display:flex}#syllabus-modal-title i{color:var(--primary)}#syllabus-external-link{color:var(--primary);background:#4361ee05;border-color:#4361ee4d;border-radius:8px;align-items:center;gap:6px;margin:0;padding:6px 12px;font-size:.75rem;display:flex}.syllabus-info-banner{color:var(--text-main);background:#4361ee0d;border:1px solid #4361ee26;border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:8px 14px;font-size:.8rem;display:flex}.syllabus-info-left{align-items:center;gap:8px;display:flex}.syllabus-info-left i{color:var(--primary);font-size:.95rem}#syllabus-official-btn{background:var(--primary);color:#fff;box-shadow:none;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:5px;margin:0;padding:5px 12px;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex}.syllabus-iframe-wrapper{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;flex:1;position:relative;overflow:hidden}#syllabus-iframe{background:#fff;border:none;width:100%;height:100%}#syllabus-loading{background:var(--surface-bg);z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}#syllabus-loading i{color:var(--primary);margin-bottom:12px;font-size:2.5rem}.title-intro-modal-container{flex-direction:column;max-width:450px;max-height:80vh;display:flex}.title-intro-header h2{margin:0;font-size:1.5rem}#title-intro-list{flex-direction:column;gap:10px;display:flex}#settings-easter-egg-overlay{z-index:99999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:linear-gradient(45deg,#ff000014,#ff9a0014,#d0de2114,#4fdc4a14,#3fdad814,#2fc9e214,#1c7fee14,#5f15f214,#ba0cf814,#fb07d914);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s;position:fixed;top:0;left:0}.settings-easter-egg-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 10px 30px var(--shadow-color);text-align:center;border-radius:20px;max-width:90%;padding:30px 40px;animation:3s ease-in-out infinite ntnu-egg-float}.settings-easter-egg-icon{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#ff007f,#7f00ff,#00f0ff);-webkit-background-clip:text;background-clip:text;margin-bottom:15px;font-size:2.2rem;font-weight:700}.settings-easter-egg-title{color:var(--text-main);margin-bottom:10px;font-size:1rem;font-weight:700;line-height:1.5}.settings-easter-egg-desc{color:var(--text-sub);margin-bottom:20px;font-size:.9rem}.settings-easter-egg-close{width:120px;margin:0 auto}.flex-1{flex:1}.flex-none{flex:none}.w-40px{width:40px}.font-size-085{font-size:.85rem}.w-auto{width:auto!important}.welcome-modal-container{width:450px;max-width:90%}.welcome-slide-icon{margin-bottom:15px;font-size:3rem}.welcome-slide-icon.robot{color:var(--primary)}.welcome-slide-icon.star{color:var(--warning)}.welcome-slide-icon.heart{color:var(--c-pe)}.welcome-slide h3{color:var(--text-main);margin:0 0 15px}.welcome-slide-content{color:var(--text-sub);text-align:left;width:100%;font-size:.95rem;line-height:1.6}.welcome-slide p{margin-bottom:10px}.welcome-slide-content .danger-highlight{color:var(--danger);font-size:1.1rem}.welcome-highlight-title{color:var(--text-main);margin-bottom:5px;font-weight:700}.welcome-highlight-list{color:var(--text-main);margin:0;padding-left:20px;line-height:1.8}.welcome-ig-link{color:var(--primary);font-weight:700;text-decoration:none}#welcome-checkbox-container{text-align:center;width:100%;margin-bottom:5px}#welcome-checkbox-container label{cursor:pointer;color:var(--text-sub);align-items:center;gap:5px;font-size:.9rem;display:inline-flex}#welcome-dont-show{cursor:pointer;width:16px;height:16px}.welcome-modal-footer{justify-content:center;gap:10px;width:100%;display:flex}#btn-welcome-tutorial{background:#9b59b6;border-color:#9b59b6;flex:2}#btn-welcome-next{flex:2}#disclaimer-modal{z-index:10000}.disclaimer-modal-container{text-align:left;width:480px}.disclaimer-icon-header{color:var(--text-sub);text-align:center;margin-bottom:15px;font-size:2.5rem}.disclaimer-modal-container h3{color:var(--text-main);text-align:center;margin:0 0 15px}.disclaimer-body-scroll{max-height:350px;color:var(--text-sub);padding-right:10px;font-size:.85rem;line-height:1.7;overflow-y:auto}#disclaimer-checkbox-wrapper{justify-content:center;margin-top:15px}.disclaimer-footer{justify-content:center;margin-top:20px;display:flex}.disclaimer-agree-btn{width:auto;padding:10px 40px}#onboarding-modal{z-index:9999}.onboarding-modal-container{border-radius:20px;flex-direction:column;width:460px;max-width:95%;max-height:90vh;padding:25px;display:flex;position:relative}.onboarding-close-btn{z-index:10;font-size:1.6rem;position:absolute;top:15px;right:20px}.onboarding-header{text-align:center;flex-shrink:0;margin-bottom:15px}.onboarding-rocket-icon{color:var(--primary);margin-bottom:10px;font-size:3rem}.onboarding-header h3{color:var(--text-main);margin:0;font-size:1.5rem}.onboarding-header p{color:var(--text-sub);margin:5px 0 0;font-size:.85rem}.onboarding-notice-box{color:var(--text-main);text-align:left;background:#10b98114;border:1px solid #10b98133;border-radius:8px;margin:12px 0 5px;padding:10px 12px;font-size:.78rem;line-height:1.45}.onboarding-notice-box i{color:#047857;margin-right:3px}.onboarding-body-scroll{box-sizing:border-box;flex:1;padding-right:5px;overflow-y:auto}.onboarding-section{margin-bottom:20px}.onboarding-section.mb-10{margin-bottom:10px}.onboarding-section h4{color:var(--text-main);border-bottom:1px solid var(--border-color);margin:0 0 10px;padding-bottom:5px;font-size:1rem}.onboarding-section h4 i{margin-right:5px}.onboarding-fields-group{flex-direction:column;gap:12px;display:flex}.onboarding-field{flex-direction:column;gap:5px;display:flex}.onboarding-field label{color:var(--text-main);font-size:.85rem;font-weight:700}.onboarding-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:8px;padding:8px 12px;font-size:.9rem}.onboarding-select{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:8px;padding:8px;font-size:.9rem}.onboarding-switches-group{flex-direction:column;gap:10px;display:flex}.onboarding-switch-row{justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.onboarding-switch-row span{color:var(--text-main)}.onboarding-search-row{gap:8px;margin-bottom:10px;display:flex}.onboarding-search-row input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:8px;flex:1;padding:8px 12px;font-size:.9rem}.onboarding-search-row button{width:auto;margin:0;padding:8px 15px}#onboarding-friend-results{flex-direction:column;gap:8px;max-height:150px;display:flex;overflow-y:auto}.onboarding-no-results{text-align:center;color:var(--text-sub);padding:10px;font-size:.8rem}.onboarding-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:center;gap:10px;margin-top:20px;padding-top:15px;display:flex}.onboarding-footer button{width:100%;margin:0}.profile-modal-header{flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.profile-modal-header h3{margin:0}.profile-close-btn{cursor:pointer;font-size:1.5rem}#profile-modal-scrollable-content{flex:1;min-height:0;padding-right:5px;overflow:hidden auto}#profile-title-badge{cursor:pointer}.profile-divider-section{border-top:1px solid var(--border-color);margin-top:5px;padding-top:5px}.profile-divider-section.mt-20{margin-top:20px}.rotate-180{transform:rotate(180deg)}#profile-graduation-content.show{flex-direction:column;gap:12px;padding:10px 0;display:flex}.profile-form-field{flex-direction:column;gap:6px;display:flex}.profile-form-label{color:var(--text-color);font-size:.85rem;font-weight:700}.profile-flex-row-between{justify-content:space-between;align-items:center;display:flex}.profile-flex-row-gap-8{align-items:center;gap:8px;display:flex}.profile-flex-row-gap-10{align-items:center;gap:10px;display:flex}.profile-number-input{border:1px solid var(--border-color);background:var(--bg-color);width:80px;color:var(--text-color);text-align:center;border-radius:6px;padding:6px}.profile-form-unit{color:var(--text-sub);font-size:.85rem}.profile-summary-box{background:var(--header-bg);border:1px solid var(--border-color);border-radius:8px;margin-top:10px;padding:12px}.profile-summary-title{color:var(--text-color);font-size:.85rem;font-weight:800}.profile-summary-value{color:#047857;font-size:.85rem;font-weight:700}.profile-progress-track{background:var(--border-color);border-radius:4px;height:8px;margin-bottom:12px;overflow:hidden}#profile-cumulative-bar{background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:4px;width:0;height:100%;transition:width .8s}.profile-details-label{color:var(--text-sub);margin-bottom:6px;font-size:.75rem;font-weight:700}#profile-projects-credits-list{flex-direction:column;gap:6px;padding-right:4px;display:flex}#profile-reviews-count{color:var(--text-sub);font-size:.8rem;font-weight:400}.mb-8{margin-bottom:8px!important}.preview-modal-overlay{z-index:10001}.preview-modal-container{flex-direction:column;width:95%;max-width:1100px;max-height:95vh;padding:0;display:flex;overflow:hidden}.preview-modal-header{background:var(--header-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:15px 25px;display:flex}.preview-modal-title{color:var(--primary);align-items:center;gap:8px;margin:0;display:flex}.preview-modal-header-actions{align-items:center;gap:10px;display:flex}.preview-mode-btn{width:auto;margin:0;padding:6px 12px;font-size:.85rem}.preview-close-btn{cursor:pointer;color:var(--text-sub);font-size:1.8rem;line-height:1}#preview-stats-bar{background:var(--surface-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;gap:20px;padding:10px 25px;display:flex;overflow-x:auto}.preview-modal-body{background:var(--bg-color);flex:1;padding:15px;overflow:auto}.preview-timetable-wrapper{min-width:800px;position:relative}.preview-timetable-table{table-layout:fixed;border-collapse:collapse;width:100%}.preview-th-period{background:var(--header-bg);width:60px}.preview-th-day{background:var(--header-bg)}#report-modal{z-index:10050}#chatroom-log-modal{z-index:10060}.report-modal-container{width:350px}.report-modal-icon{color:var(--danger);margin-bottom:15px;font-size:3rem}.report-modal-title{color:var(--text-main);margin:0 0 10px}.report-modal-description{color:var(--text-sub);text-align:left;margin-bottom:10px;font-size:.95rem;line-height:1.5}.report-modal-textarea{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);resize:none;box-sizing:border-box;border-radius:8px;margin-bottom:20px;padding:10px;font-family:inherit;font-size:.95rem}.report-modal-select{border:1px solid var(--border-color);background:var(--surface-bg);width:100%;color:var(--text-main);cursor:pointer;box-sizing:border-box;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border-radius:8px;margin-bottom:20px;padding:10px 36px 10px 12px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background-color .2s}.report-modal-select:hover{background-color:var(--bg-color);border-color:var(--text-sub)}.report-modal-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #646ef026}.report-chatroom-options{text-align:left;width:100%;margin-top:15px}.report-chatroom-options label{color:var(--text-main);margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}.chatroom-log-modal-container{flex-direction:column;width:500px;max-width:95%;max-height:80vh;padding:20px;display:flex}.chatroom-log-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.chatroom-log-modal-header h3{color:var(--text-main);margin:0;font-size:1.2rem;font-weight:700}.chatroom-log-modal-header h3 i{margin-right:6px}.chatroom-log-modal-close{color:var(--text-sub);cursor:pointer;background:0 0;border:none;margin:0;font-size:1.2rem}.chatroom-log-modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;margin-top:15px;padding-top:12px;display:flex}.chatroom-log-scroll-area{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;flex:1;gap:16px;min-height:350px;max-height:55vh;padding:16px;display:flex;overflow-y:auto}.report-log-bubble-wrap{flex-direction:column;width:fit-content;max-width:80%;display:flex}.report-log-bubble-wrap.mine{align-self:flex-end;align-items:flex-end}.report-log-bubble-wrap.theirs{align-self:flex-start;align-items:flex-start}.report-log-header{color:var(--text-sub);align-items:center;gap:6px;margin-bottom:4px;font-size:.75rem;display:flex}.report-log-bubble-wrap.mine .report-log-header{flex-direction:row-reverse}.report-log-name{color:var(--text-main);font-weight:600}.report-log-badge{border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:.65rem;font-weight:500;line-height:1.3}.report-log-badge.reporter{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f626}.report-log-badge.reported{color:var(--danger);background:#e74c3c1a;border:1px solid #e74c3c26}.report-log-body{word-break:break-word;border-radius:12px;max-width:100%;padding:10px 14px;box-shadow:0 2px 6px #0000000d}.report-log-bubble-wrap.mine .report-log-body{background:var(--primary);color:#fff;border-top-right-radius:2px}.report-log-bubble-wrap.theirs .report-log-body{background:var(--surface-bg);color:var(--text-main);border:1px solid var(--border-color);border-top-left-radius:2px}.report-log-text{word-break:break-all;text-align:left;white-space:pre-wrap;font-size:.95rem;line-height:1.4}.report-log-time{text-align:right;margin-top:4px;font-size:.7rem}.report-log-bubble-wrap.mine .report-log-time{color:#ffffffb3}.report-log-bubble-wrap.theirs .report-log-time{color:var(--text-sub)}.report-modal-footer{justify-content:center;gap:10px;display:flex}#btn-submit-report{background:var(--danger);border-color:var(--danger)}.m-0{margin:0!important}.add-rating-container{flex-direction:column;width:400px;max-width:90%;max-height:70vh;padding:20px 25px 15px;display:flex}.add-rating-title{flex-shrink:0;margin:0 0 15px}.add-rating-body-scroll{text-align:left;flex:1;margin-bottom:15px;padding-right:5px;overflow-y:auto}.rating-form-group{text-align:left;margin-bottom:16px}.rating-form-group.mb-10{margin-bottom:10px}.rating-form-group.mb-8{margin-bottom:8px}.rating-form-label{color:var(--text-main);margin-bottom:6px;font-weight:700;display:block}.rating-form-icon{color:var(--primary);margin-right:5px}.rating-required-asterisk{color:var(--danger);margin-left:2px}.rating-select-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);cursor:pointer;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:.9rem}.rating-slider-label{margin-bottom:5px;font-weight:700;display:block}.rating-value-span{color:var(--primary)}.rating-selected-tags{text-align:left;flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tag-dropdown-wrapper{text-align:left;margin-bottom:15px;position:relative}.rating-tag-row{align-items:center;gap:8px;display:flex}.rating-tag-input-container{flex:1;align-items:center;display:flex;position:relative}.rating-tag-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);cursor:pointer;border-radius:8px;padding:8px 30px 8px 12px;font-family:inherit;font-size:.85rem}.rating-tag-chevron{color:var(--text-sub);pointer-events:none;transition:transform .2s;position:absolute;right:10px}.rating-tag-add-btn{border-radius:8px;flex-shrink:0;width:auto;margin:0;padding:8px 16px;font-size:.85rem;font-weight:700}.tag-dropdown-panel{background:var(--surface-bg);border:1px solid var(--border-color);z-index:1000;border-radius:8px;max-height:150px;margin-top:4px;padding:10px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.tags-select-wrapper{flex-wrap:wrap;gap:8px;display:flex}.rating-textarea{border:1px solid var(--border-color);resize:none;border-radius:8px;width:100%;padding:10px;font-family:inherit;line-height:1.5}.rating-modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:center;gap:10px;padding-top:10px;display:flex}@media (width>=769px){.profile-tab-scroll-btn,.profile-slider-scroll-btn{opacity:0!important;pointer-events:none!important;display:none!important}}.profile-unsaved-bar{-webkit-backdrop-filter:blur(16px);z-index:10000;opacity:0;pointer-events:none;background:#121826e0;border:1px solid #ffffff24;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;width:calc(100% - 48px);max-width:680px;padding:14px 20px;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .3s,box-shadow .3s,background .3s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(120%);box-shadow:0 16px 40px -8px #0006,0 0 0 1px #ffffff0d}[data-theme=light] .profile-unsaved-bar{background:#ffffffeb;border:1px solid #0000001a;box-shadow:0 16px 40px -8px #0000002e,0 2px 8px #0000000f}.profile-unsaved-bar.show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.profile-unsaved-bar.saving{pointer-events:none}.profile-unsaved-bar.saved{background:#10b981f2!important;border-color:#ffffff4d!important}.profile-unsaved-msg{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.profile-unsaved-icon-wrap{background:#f59e0b26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.profile-unsaved-icon{color:#f59e0b;font-size:1.15rem;animation:2s ease-in-out infinite profile-unsaved-pulse}.profile-unsaved-bar.saved .profile-unsaved-icon-wrap{background:#fff3}.profile-unsaved-bar.saved .profile-unsaved-icon{color:#fff;animation:none}@keyframes profile-unsaved-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.profile-unsaved-text{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-unsaved-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0006;font-size:.95rem;font-weight:700;overflow:hidden}[data-theme=light] .profile-unsaved-title{color:#0f172a;text-shadow:none}.profile-unsaved-bar.saved .profile-unsaved-title{color:#fff}.profile-unsaved-subtitle{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #0000004d;font-size:.8rem;overflow:hidden}[data-theme=light] .profile-unsaved-subtitle{color:#475569;text-shadow:none}.profile-unsaved-bar.saved .profile-unsaved-subtitle{color:#fffffff2}.profile-unsaved-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.btn-profile-unsaved-discard{border:1px solid var(--border-color,#fff3);color:var(--text-sub,#94a3b8);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;padding:8px 16px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s}[data-theme=light] .btn-profile-unsaved-discard{color:#64748b;border-color:#00000026}.btn-profile-unsaved-discard:hover{color:var(--text-color,#fff);background:#ffffff14;border-color:#fff6}[data-theme=light] .btn-profile-unsaved-discard:hover{color:#0f172a;background:#0000000d;border-color:#0000004d}.btn-profile-unsaved-save{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;align-items:center;gap:7px;padding:9px 20px;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #2563eb66}.btn-profile-unsaved-save:hover:not(:disabled){filter:brightness(1.05);background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-1px);box-shadow:0 6px 18px #2563eb8c}.btn-profile-unsaved-save:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #2563eb4d}.btn-profile-unsaved-save:disabled{opacity:.85;cursor:default}@media (width<=640px){.profile-unsaved-bar{border-radius:12px;flex-direction:column;align-items:stretch;gap:10px;width:calc(100% - 24px);padding:10px 14px;bottom:16px}.profile-unsaved-subtitle{display:none}.profile-unsaved-actions{justify-content:flex-end}.btn-profile-unsaved-discard,.btn-profile-unsaved-save{flex:1;justify-content:center;padding:8px 12px;font-size:.85rem}}.profile-social-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=540px){.profile-social-grid{grid-template-columns:1fr;gap:8px}}.profile-social-card{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#00000014);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.profile-social-card:hover{border-color:var(--primary,#4361ee);transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.profile-social-card.disabled{opacity:.72;background:var(--surface-bg-subtle,#00000005)}.profile-social-card.disabled:hover{box-shadow:none;border-color:var(--border-color);transform:none}.profile-social-icon-wrapper{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.25rem;display:flex}.ig-icon-wrapper{background:radial-gradient(circle at 30% 107%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.messenger-icon-wrapper{background:linear-gradient(135deg,#00b2fe 0%,#006aff 100%)}.discord-icon-wrapper{background:linear-gradient(135deg,#5865f2 0%,#4752c4 100%)}.line-icon-wrapper{background:#06c755}.profile-social-info{flex:1;min-width:0}.profile-social-name{color:var(--text-main,#2b2d42);font-size:.85rem;font-weight:700;line-height:1.2}.profile-social-status{color:var(--text-sub,#666);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.75rem;overflow:hidden}.profile-social-status.has-value{color:var(--primary,#6366f1);font-weight:600}.profile-social-status.has-value-ig{color:#e1306c}.profile-social-action{color:var(--text-sub,#666);margin-left:2px;font-size:.75rem}.instagram-setting-container{background:var(--surface-bg,#fff);border-radius:16px;width:92%;max-width:480px;overflow:hidden;box-shadow:0 20px 40px #0003}.instagram-brand-icon{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);-webkit-text-fill-color:transparent;color:#e1306c;-webkit-background-clip:text;background-clip:text;margin-right:6px}.instagram-setting-body{padding:16px 20px 20px}.instagram-setting-desc{color:var(--text-sub,#64748b);margin-bottom:12px;font-size:.9rem;line-height:1.5}.ig-input-group{align-items:center;width:100%;display:flex;position:relative}.ig-input-icon{color:#e1306c;pointer-events:none;font-size:1.15rem;position:absolute;left:14px}.ig-input{border:1.5px solid var(--border-color,#dee2e6);background:var(--input-bg,#f8fafc);width:100%;color:var(--text-main,#2b2d42);border-radius:10px;padding:11px 40px 11px 42px;font-family:inherit;font-size:.95rem;transition:all .2s}.ig-input:focus{background:var(--surface-bg,#fff);border-color:#d6249f;outline:none;box-shadow:0 0 0 3px #d6249f26}.ig-clear-btn{color:var(--text-sub,#94a3b8);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:1rem;transition:color .15s;display:flex;position:absolute;right:12px}.ig-clear-btn:hover{color:var(--text-main,#0f172a)}.ig-input-tip{color:var(--text-sub,#94a3b8);margin-top:6px;font-size:.78rem;line-height:1.4}.ig-input-tip code{background:var(--code-bg,#0000000d);border-radius:4px;padding:1px 4px;font-family:monospace;font-size:.75rem}.profile-ig-preview-box{background:var(--surface-bg-subtle,#00000005);border:1px dashed var(--border-color,#dee2e6);border-radius:12px;padding:12px 14px}.profile-ig-preview-header{color:var(--text-sub,#64748b);align-items:center;gap:6px;margin-bottom:8px;font-size:.8rem;font-weight:700;display:flex}.profile-ig-preview-card{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#dee2e6);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex;box-shadow:0 2px 6px #00000008}.profile-ig-preview-avatar{color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.25rem;display:flex}.profile-ig-preview-details{flex:1;min-width:0}.profile-ig-preview-handle{color:var(--text-main,#2b2d42);font-size:.95rem;font-weight:700;line-height:1.2}.profile-ig-preview-url{color:var(--text-sub,#666);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.75rem;overflow:hidden}.profile-ig-verify-row{justify-content:flex-end;display:flex}.profile-ig-verify-row .btn-action{padding:6px 12px;font-size:.82rem}.instagram-setting-footer{border-top:1px solid var(--border-color,#dee2e6);background:var(--surface-bg-subtle,#00000004);justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;display:flex}.btn-danger-soft{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}[data-theme=dark] .profile-social-card{background:var(--surface-bg,#242526);border-color:var(--border-color,#3e4042)}[data-theme=dark] .profile-social-card:hover{background:var(--hover-bg,#303031);border-color:var(--primary,#6366f1)}[data-theme=dark] .profile-social-name{color:var(--text-main,#e4e6eb)}[data-theme=dark] .profile-social-status{color:var(--text-sub,#b0b3b8)}[data-theme=dark] .profile-social-status.has-value-ig{color:#f472b6}[data-theme=dark] .profile-social-action{color:var(--text-sub,#b0b3b8)}[data-theme=dark] .instagram-setting-container{background:var(--surface-bg,#242526);border:1px solid var(--border-color,#3e4042)}[data-theme=dark] .ig-input{background:var(--input-bg,#18191a);color:var(--text-main,#e4e6eb);border-color:var(--border-color,#3e4042)}[data-theme=dark] .ig-input:focus{background:var(--input-bg,#18191a);border-color:#ec4899}[data-theme=dark] .profile-ig-preview-box{border-color:var(--border-color,#3e4042);background:#0003}[data-theme=dark] .profile-ig-preview-card{background:var(--surface-bg,#242526);border-color:var(--border-color,#3e4042)}[data-theme=dark] .profile-ig-preview-handle{color:var(--text-main,#e4e6eb)}[data-theme=dark] .profile-ig-preview-url{color:var(--text-sub,#b0b3b8)}[data-theme=dark] .instagram-setting-footer{background:var(--surface-bg-subtle,#1e1f20);border-top-color:var(--border-color,#3e4042)}.btn-danger-soft:hover{color:#fff;background:#ef4444;border-color:#ef4444}.supm-social-links,.profile-header-social-links{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.supm-social-badge{cursor:pointer;box-sizing:border-box;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .22s cubic-bezier(.4,0,.2,1);display:inline-flex}.supm-social-badge.ig-badge{color:#fff;-webkit-backdrop-filter:blur(8px);background:#ffffff29;border:1px solid #ffffff47;box-shadow:0 2px 8px #00000014}.supm-social-badge.ig-badge i{color:#ff94ab;font-size:.95rem;transition:transform .2s,color .2s}.supm-social-badge.ig-badge:hover{color:#fff;background:#ffffff42;border-color:#ffffff73;transform:translateY(-2px);box-shadow:0 4px 12px #00000024}.supm-social-badge.ig-badge:hover i{color:#ffb3c1;transform:scale(1.1)}#admin-pin-modal{display:none!important}#admin-pin-modal.show{display:flex!important}#admin-pin-error{display:none!important}#admin-pin-error.show{display:block!important}.admin-otp-input{text-align:center!important;letter-spacing:5px!important;padding-right:16px!important;font-size:1.25rem!important}.admin-pin-modal-container{border-radius:20px;width:340px;max-width:92%;padding:0;animation:.3s cubic-bezier(.34,1.56,.64,1) adminPinSlideIn;overflow:hidden}@keyframes adminPinSlideIn{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-pin-header{text-align:center;background:linear-gradient(135deg,#11115f,#441b7e);padding:32px 24px 24px}.admin-pin-icon-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;animation:2s ease-in-out infinite adminPinLockPulse;display:flex}@keyframes adminPinLockPulse{0%,to{box-shadow:0 0 #fff3}50%{box-shadow:0 0 0 10px #fff0}}.admin-pin-lock-icon{color:#fff;font-size:1.8rem;transition:transform .3s}.admin-pin-lock-icon.unlocked{color:#a8ffcb;transform:rotate(-10deg)}.admin-pin-title{color:#fff;letter-spacing:.5px;margin:0 0 6px;font-size:1.25rem;font-weight:700}.admin-pin-subtitle{color:#ffffffb3;margin:0;font-size:.85rem}.admin-pin-body{background:var(--surface-bg);padding:24px}.admin-pin-input-wrapper{margin-bottom:14px;position:relative}.admin-pin-input{border:2px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;letter-spacing:2px;border-radius:12px;padding:12px 44px 12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.admin-pin-input:focus{border-color:#8042d7;outline:none;box-shadow:0 0 0 3px #8042d733}.admin-pin-input.error{border-color:var(--danger);animation:.4s adminPinShake;box-shadow:0 0 0 3px #e74c3c26}@keyframes adminPinShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.admin-pin-toggle{color:var(--text-sub);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;font-size:.95rem;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.admin-pin-toggle:hover{color:var(--text-main)}.admin-pin-error{color:var(--danger);border-left:3px solid var(--danger);background:#e74c3c14;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:.82rem}.admin-pin-actions{gap:10px;display:flex}.admin-pin-cancel-btn{border:1.5px solid var(--border-color);color:var(--text-sub);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:11px;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .2s,color .2s}.admin-pin-cancel-btn:hover{background:var(--bg-color);color:var(--text-main)}.admin-pin-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2222c3,#7735d4);border:none;border-radius:10px;flex:2;justify-content:center;align-items:center;gap:8px;padding:11px;font-family:inherit;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .1s;display:flex}.admin-pin-submit-btn:hover{opacity:.9}.admin-pin-submit-btn:active{transform:scale(.98)}.admin-pin-submit-btn:disabled{opacity:.6;cursor:not-allowed}.admin-pin-submit-btn .fa-spinner{animation:.8s linear infinite spin}.admin-modal-container{flex-direction:column;width:950px;max-width:95%;max-height:85vh;padding:0;display:flex;overflow:hidden}.admin-reports-columns{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:20px;margin-top:15px;padding-bottom:12px;display:flex;overflow-x:auto}.admin-reports-columns::-webkit-scrollbar{height:8px}.admin-reports-columns::-webkit-scrollbar-track{background:var(--border-color);border-radius:4px}.admin-reports-columns::-webkit-scrollbar-thumb{background:var(--text-sub);border-radius:4px}.admin-reports-columns::-webkit-scrollbar-thumb:hover{background:var(--primary)}.admin-reports-column{scroll-snap-align:start;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;flex:0 0 350px;gap:12px;height:auto;max-height:440px;padding:16px;display:flex}.admin-column-title{color:var(--text-main);border-bottom:2px solid var(--border-color);align-items:center;gap:8px;margin:0 0 10px;padding-bottom:8px;font-size:1rem;font-weight:700;display:flex}.admin-modal-header{background:var(--header-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:15px 20px;display:flex}.admin-modal-title{color:var(--text-main);margin:0}.admin-close-btn{cursor:pointer;color:var(--text-sub);font-size:1.5rem}.admin-tab-bar{border-bottom:1px solid var(--border-color);background:var(--surface-bg);scrollbar-width:none;display:flex;overflow-x:auto}.admin-tab-content-wrapper{background:var(--bg-color);flex:1;padding:20px;overflow-y:auto}#admin-modal{display:none!important}#admin-modal.show{display:flex!important}#admin-modal,#admin-pin-modal{z-index:9999!important}.admin-tab-content{display:none}.admin-tab-content.active{display:block}#admin-report-list-right,#admin-report-list-left,#admin-report-list-chatroom{flex:1;padding-right:4px;overflow-y:auto}.admin-section-header{margin-top:0}.admin-section-header.mb-15{margin-bottom:15px}.admin-section-header i.primary-icon{color:var(--primary)}.admin-section-header i.supabase-color{color:#3ecf8e}.admin-surface-box{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;padding:15px}.admin-flex-row-gap-10-mb-10{flex-wrap:wrap;gap:10px;width:100%;margin-bottom:10px;display:flex}.admin-input-field{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:4px;flex:1;padding:8px}.admin-input-field.surface-bg{background:var(--surface-bg)}.admin-flex-row-end{justify-content:flex-end;display:flex}.admin-file-upload-label{cursor:pointer;width:auto;margin:0}.admin-notice-text{color:var(--text-sub);margin-top:10px;font-size:.85rem}.admin-notice-text.mb-10{margin-bottom:10px}.admin-flex-col-gap-10{flex-direction:column;gap:10px;display:flex}.admin-flex-row-gap-10-mb-20{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.admin-list-container{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;max-height:200px;overflow-y:auto}.admin-list-container::-webkit-scrollbar{width:6px}.admin-announcements-list::-webkit-scrollbar{width:6px}#admin-report-list-right::-webkit-scrollbar{width:6px}#admin-report-list-left::-webkit-scrollbar{width:6px}#admin-report-list-chatroom::-webkit-scrollbar{width:6px}.admin-list-container::-webkit-scrollbar-track{background:0 0}.admin-announcements-list::-webkit-scrollbar-track{background:0 0}#admin-report-list-right::-webkit-scrollbar-track{background:0 0}#admin-report-list-left::-webkit-scrollbar-track{background:0 0}#admin-report-list-chatroom::-webkit-scrollbar-track{background:0 0}.admin-list-container::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}.admin-announcements-list::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}#admin-report-list-right::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}#admin-report-list-left::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}#admin-report-list-chatroom::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:3px}[data-theme=dark] .admin-list-container::-webkit-scrollbar-thumb{background-color:#ffffff26}[data-theme=dark] .admin-announcements-list::-webkit-scrollbar-thumb{background-color:#ffffff26}[data-theme=dark] #admin-report-list-right::-webkit-scrollbar-thumb{background-color:#ffffff26}[data-theme=dark] #admin-report-list-left::-webkit-scrollbar-thumb{background-color:#ffffff26}[data-theme=dark] #admin-report-list-chatroom::-webkit-scrollbar-thumb{background-color:#ffffff26}.admin-list-container.mb-20{margin-bottom:20px}.admin-loading-placeholder{text-align:center;color:var(--text-sub);padding:15px}.admin-loading-placeholder.p-20{padding:20px}.admin-announcement-editor{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:10px;margin-bottom:18px;padding:15px}.admin-editor-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-emoji-input{text-align:center;border:1px solid var(--border-color);background:var(--bg-color);width:48px;color:var(--text-main);border-radius:6px;padding:6px;font-size:1.2rem}.admin-announcement-input{border:1px solid var(--border-color);background:var(--bg-color);min-width:180px;color:var(--text-main);border-radius:6px;flex:1;padding:8px 12px}.admin-add-btn{width:auto;padding:8px 16px}.admin-announcements-list{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:8px;max-height:220px;padding:5px;display:flex;overflow-y:auto}.admin-supabase-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color);border-radius:12px;padding:20px}.admin-stats-row-group{margin-bottom:18px}.admin-stats-row-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.admin-stats-label{color:var(--text-main);font-size:.9rem;font-weight:500}.admin-stats-val-bold{color:var(--text-main);font-size:.9rem;font-weight:700}.admin-progress-track{background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;width:100%;height:8px;overflow:hidden}.admin-progress-bar-supabase{background:#3ecf8e;width:0;height:100%;transition:width .5s ease-in-out}.admin-progress-footnotes{color:var(--text-sub);justify-content:space-between;margin-top:4px;font-size:.75rem;display:flex}.supabase-color-bold{color:#3ecf8e;font-weight:700}.admin-stats-widgets-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.admin-stats-widget{background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;flex:1;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.admin-widget-title{color:var(--text-main);font-size:.85rem;font-weight:600}.admin-widget-subtitle{color:var(--text-sub);margin-top:2px;font-size:.7rem}.admin-widget-value{color:#3ecf8e;font-size:1.6rem;font-weight:800}.admin-cleanup-box{background:#2ecc7108;border:1px dashed #2ecc7133;border-radius:8px;flex-direction:column;gap:15px;padding:15px;display:flex}.admin-cleanup-section-title{color:var(--text-main);margin-bottom:6px;font-size:.9rem;font-weight:600}.admin-cleanup-description{color:var(--text-sub);margin-bottom:8px;font-size:.8rem;line-height:1.4}.admin-cleanup-controls{align-items:center;gap:10px;display:flex}.admin-cleanup-btn{color:#fff;width:auto;margin:0;padding:6px 12px;font-size:.85rem;font-weight:600}.admin-cleanup-btn.release-msg-btn{background:var(--danger);border-color:var(--danger)}.admin-cleanup-btn.migrate-btn{background:#3ecf8e;border-color:#3ecf8e}.admin-cleanup-btn.align-btn{background:#e67e22;border-color:#e67e22}.admin-cleanup-btn.cleanup-no-email-btn{background:#c0392b;border-color:#c0392b}.admin-loader-text{color:var(--text-sub);font-size:.8rem}.admin-cleanup-separator-section{border-top:1px solid var(--border-color);padding-top:15px}.admin-stats-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 4px 12px var(--shadow-color);border-radius:12px;flex-direction:column;gap:20px;padding:20px;display:flex}.admin-stats-widgets-row.stats-summary{flex-wrap:wrap;gap:15px}.admin-stat-summary-box{background:var(--bg-color);border:1px solid var(--border-color);text-align:center;min-width:150px;box-shadow:inset 0 2px 4px var(--shadow-color);border-radius:10px;flex:1;padding:10px 15px}.admin-stat-summary-label{color:var(--text-sub);margin-bottom:4px;font-size:.85rem}.admin-stat-summary-value{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800}.admin-stat-summary-value.firebase{color:#ea4335}.admin-stat-summary-value.supabase{color:#3ecf8e}.admin-refresh-stats-btn{background:var(--bg-color);border-color:var(--border-color);width:auto;height:32px;color:var(--text-main);padding:6px 15px;font-size:.85rem}.admin-stats-grid{flex-wrap:wrap;gap:20px;display:flex}.admin-stats-column{flex-direction:column;flex:1;gap:10px;min-width:280px;display:flex}.admin-stats-column-header{color:var(--text-main);align-items:center;margin:0;font-size:.95rem;display:flex}.admin-stats-table-wrapper{border:1px solid var(--border-color);background:var(--bg-color);border-radius:8px;max-height:380px;overflow-y:auto}.admin-stats-table{border-collapse:collapse;text-align:left;width:100%;color:var(--text-main);font-size:.85rem}.admin-stats-table-header-row{background:var(--surface-bg);border-bottom:1px solid var(--border-color);color:var(--text-sub);font-weight:600}.admin-th{padding:12px 15px}.admin-th.text-right{text-align:right;width:80px}.admin-td-loading{text-align:center;color:var(--text-sub);padding:20px}.mb-20{margin-bottom:20px!important}.firebase-color{color:#ea4335!important}.supabase-color{color:#3ecf8e!important}.mr-5{margin-right:5px!important}.mr-8{margin-right:8px!important}.mt-25{margin-top:25px!important}.mr-3{margin-right:3px!important}.primary-color{color:var(--primary)!important}.align-btn-color-text{color:#e67e22!important}.cleanup-btn-color-text{color:#c0392b!important}.rating-detail-container{flex-direction:column;width:480px;max-width:90%;max-height:85vh;padding:25px;display:flex}.rating-detail-header-row{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.rating-detail-title{margin:0;font-size:1.3rem}.rating-detail-close{font-size:1.5rem}.rating-detail-meta-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.rating-detail-scores-row{flex-shrink:0;justify-content:space-between;gap:10px;margin-bottom:20px;display:flex}.rating-detail-tags-row{flex-wrap:wrap;flex-shrink:0;gap:6px;margin-bottom:15px;display:flex}.rating-detail-body-text{word-break:break-word;flex:1;margin-bottom:15px;padding-right:5px;overflow-y:auto}.rating-detail-actions-row{flex-shrink:0;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.rating-detail-vote-group{justify-content:center;align-items:center;gap:12px;display:flex}.rating-detail-delete-btn{background:var(--surface-bg);width:38px;height:38px;color:var(--danger,#ef4444);border:1.5px solid var(--danger,#ef4444);cursor:pointer;box-sizing:border-box;border-radius:10px;justify-content:center;align-items:center;padding:0;font-size:.95rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:0 2px 8px #ef444426}.rating-detail-delete-btn:hover{background:var(--danger,#ef4444);color:#fff;transform:translateY(-50%)scale(1.08);box-shadow:0 4px 14px #ef444459}.rating-detail-delete-btn:active{transform:translateY(-50%)scale(.95)}.credit-target-overlay{z-index:1100;justify-content:center;align-items:center}.credit-target-container{background:var(--surface-bg);border:1px solid var(--border-color);width:320px;max-width:90%;box-shadow:var(--shadow-lg);border-radius:12px;padding:20px;animation:.2s ease-out scaleIn}.credit-target-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.credit-target-title{color:var(--text-color);align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.credit-target-close{cursor:pointer;color:var(--text-sub);font-size:1.5rem}.credit-target-body{text-align:left;flex-direction:column;gap:12px;display:flex}.credit-target-row{justify-content:space-between;align-items:center;display:flex}.credit-target-label{color:var(--text-color);font-size:.85rem;font-weight:700}.credit-target-input{border:1px solid var(--border-color);background:var(--bg-color);width:80px;color:var(--text-color);text-align:center;border-radius:6px;padding:6px}.credit-target-actions{gap:10px;margin-top:20px;display:flex}.credit-target-btn-outline{flex:1}.credit-target-btn-save{background:var(--primary);color:#fff;flex:1}.custom-event-container{width:350px}.custom-event-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.custom-event-title{margin:0}.custom-event-close{cursor:pointer;font-size:1.5rem}.custom-event-body{text-align:left;flex-direction:column;gap:12px;display:flex}.custom-event-label{color:var(--text-sub);margin-bottom:5px;font-size:.8rem;font-weight:700;display:block}.custom-event-input-full{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:4px;padding:8px}.custom-event-flex-row{gap:10px;display:flex}.custom-event-flex-1{flex:1}.custom-event-input-select{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:4px;padding:8px}.custom-event-color-picker{cursor:pointer;background:0 0;border:none;width:100%;height:35px}.custom-event-flex-row-align-end{align-items:flex-end;gap:10px;display:flex}.custom-event-tilde{color:var(--text-sub);padding-bottom:8px;font-weight:700}.custom-event-footer{justify-content:center;gap:10px;margin-top:10px;display:flex}.custom-event-btn-action{margin:0!important}.social-profile-overlay{z-index:9999;background:#0000008c;justify-content:center;align-items:center;padding:20px;position:fixed;inset:0}.social-profile-container{background:var(--surface-bg,#fff);border-radius:16px;flex-direction:column;width:100%;max-width:460px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.social-profile-header-banner{background:linear-gradient(135deg, var(--primary,#4361ee) 0%, #7b2ff7 100%);color:#fff;flex-direction:column;flex-shrink:0;padding:22px 20px 18px;transition:background .3s;display:flex;position:relative;overflow:hidden}.social-profile-header-banner.theme-badge-freshman{background:#2563eb}.social-profile-header-banner.theme-badge-legendary{background:linear-gradient(135deg,#f59e0b 0%,#ea580c 50%,#dc2626 100%)}.social-profile-header-banner.theme-badge-diamond{background:linear-gradient(135deg,#38bdf8 0%,#818cf8 50%,#c084fc 100%)}.social-profile-header-banner.theme-badge-silver{background:linear-gradient(135deg,#64748b 0%,#334155 100%)}.social-profile-header-banner.theme-badge-epic{background:linear-gradient(135deg,#a855f7 0%,#6366f1 100%)}.social-profile-header-banner.theme-badge-expert{background:linear-gradient(135deg,#e879f9 0%,#a21caf 100%)}.social-profile-header-banner.theme-badge-chief{background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%)}.social-profile-header-banner.theme-badge-helper{background:linear-gradient(135deg,#38bdf8 0%,#0d9488 100%)}.social-profile-header-banner.theme-badge-veteran{background:linear-gradient(135deg,#4ade80 0%,#15803d 100%)}.social-profile-header-banner.theme-badge-potential{background:linear-gradient(135deg,#34d399 0%,#059669 100%)}.social-profile-header-banner.theme-badge-double-major{background:linear-gradient(135deg,#fb7185 0%,#e11d48 100%)}.social-profile-header-banner.theme-badge-minor{background:linear-gradient(135deg,#60a5fa 0%,#2563eb 100%)}.social-profile-header-banner.theme-badge-teacher-edu{background:linear-gradient(135deg,#34d399 0%,#059669 100%)}.social-profile-header-banner.theme-badge-program{background:linear-gradient(135deg,#f472b6 0%,#db2777 100%)}.social-profile-header-banner.theme-badge-all-mighty{background:linear-gradient(135deg,#fbbf24 0%,#f472b6 40%,#38bdf8 80%,#34d399 100%)}.social-profile-header-banner.theme-badge-collector{background:linear-gradient(135deg,#a78bfa 0%,#6d28d9 100%)}.social-profile-header-banner.theme-badge-exclusive-gold{background:linear-gradient(135deg,#18181b 0%,#292014 45%,#b45309 85%,#d97706 100%);border-bottom:2px solid #f59e0b}.social-profile-header-banner.theme-badge-exclusive-flame{background:linear-gradient(135deg,#1f0808 0%,#450a0a 50%,#991b1b 100%);border-bottom:2px solid #ef4444}.social-profile-header-banner.theme-badge-exclusive-diamond{background:linear-gradient(135deg,#081a2e 0%,#0c2847 50%,#0284c7 100%);border-bottom:2px solid #38bdf8}.social-profile-header-banner.theme-badge-exclusive-cosmic{background:linear-gradient(135deg,#180828 0%,#2e0854 50%,#7e22ce 100%);border-bottom:2px solid #c084fc}.social-profile-header-banner.theme-badge-exclusive-rainbow{background:linear-gradient(135deg,#18181b 0%,#311b92 35%,#004d40 70%,#b71c1c 100%);border-bottom:2px solid #ec4899}.social-profile-watermark{color:#ffffff14;letter-spacing:2px;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:0;font-family:Outfit,Inter,-apple-system,sans-serif;font-size:3.4rem;font-weight:900;line-height:1;position:absolute;bottom:-8px;right:-10px;transform:rotate(-3deg)}.social-profile-top-row{z-index:1;align-items:flex-start;gap:15px;width:100%;display:flex;position:relative}.social-profile-avatar{object-fit:cover;background:#fff3;border:3px solid #ffffff73;border-radius:50%;flex-shrink:0;width:68px;height:68px;box-shadow:0 4px 14px #0000002e}.social-profile-identity{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.social-profile-name-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.social-profile-name{color:#fff;text-shadow:0 1px 3px #00000040;align-items:center;gap:6px;font-size:1.18rem;font-weight:700;display:inline-flex}.supm-social-links{align-items:center;gap:6px;margin:2px 0;display:flex}.supm-social-badge.ig-badge{-webkit-backdrop-filter:blur(4px);color:#fff;background:#ffffff2e;border:1px solid #ffffff59;border-radius:6px;align-items:center;gap:4px;width:fit-content;padding:2px 9px;font-size:.76rem;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.supm-social-badge.ig-badge:hover{color:#fff;background:#ffffff4d;transform:translateY(-1px)}.social-profile-meta-row{color:#ffffffe6;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:.74rem;display:flex}.supm-quote-box{-webkit-backdrop-filter:blur(8px);box-sizing:border-box;z-index:1;background:#0003;border:1px solid #fff3;border-radius:10px;width:100%;margin-top:14px;padding:10px 14px 10px 36px;display:none;position:relative}.supm-quote-icon{color:#ffffff80;font-size:.9rem;position:absolute;top:10px;left:12px}.supm-bio-text{color:#fff;word-break:break-word;white-space:pre-wrap;opacity:.95;font-size:.8rem;font-style:italic;line-height:1.45}.social-profile-close-btn{color:#fff;cursor:pointer;z-index:2;background:#fff3;border:none;border-radius:50%;width:30px;height:30px;font-size:.9rem;position:absolute;top:12px;right:14px}.social-profile-report-btn{color:#fff;cursor:pointer;z-index:2;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;transition:background .2s,color .2s;display:flex;position:absolute;top:12px;right:50px}.social-profile-report-btn:hover{color:#ff4d4d;background:#ffffff59}.social-profile-actions-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.profile-tab-preview-wrapper{box-sizing:border-box;justify-content:center;align-items:flex-start;width:100%;padding:12px 0 32px;display:flex}.profile-preview-full-card{background:var(--surface-bg,#fff);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:460px;max-height:none;margin:0 auto;overflow:hidden;box-shadow:0 10px 40px #0000001f}@media (width<=768px){.profile-tab-preview-wrapper{width:100%!important;padding:4px 0 20px!important}.profile-preview-full-card{border-radius:14px!important;width:100%!important;max-width:100%!important}}.social-profile-history-section{flex:1;padding:16px;overflow-y:auto}.social-profile-history-title{color:var(--text-sub);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:10px;font-size:.72rem;font-weight:700;display:flex}.chat-picker-overlay{z-index:10002;background:#0000008c;justify-content:center;align-items:center;position:fixed;inset:0}.chat-picker-container{background:var(--surface-bg);border-radius:16px;flex-direction:column;width:min(420px,92vw);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.chat-picker-header{background:linear-gradient(135deg, var(--primary), #7209b7);color:#fff;flex-shrink:0;align-items:center;gap:10px;padding:14px 18px;display:flex}.chat-picker-header-title{font-size:1rem;font-weight:700}.chat-picker-close-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;width:28px;height:28px;margin-left:auto;font-size:.85rem}.chat-picker-search-bar{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:10px 14px}.chat-picker-search-wrapper{position:relative}.chat-picker-search-icon{color:var(--text-sub);font-size:.8rem;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.chat-picker-search-input{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:20px;outline:none;padding:9px 9px 9px 32px;font-size:.85rem}.chat-picker-list{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.chat-picker-footer{border-top:1px solid var(--border-color);color:var(--text-sub);text-align:center;flex-shrink:0;padding:8px 14px;font-size:.72rem}.ai-api-overlay{z-index:12000;justify-content:center;align-items:center}.ai-api-container{background:var(--surface-bg);width:400px;max-width:90%;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-radius:12px;padding:25px}.ai-api-title{color:var(--text-main);align-items:center;gap:8px;margin-top:0;font-size:1.2rem;display:flex}.ai-api-desc{color:var(--text-sub);margin-bottom:15px;font-size:.9rem;line-height:1.5}.ai-api-input-row{align-items:center;margin-bottom:5px;display:flex;position:relative}.ai-api-input-field{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);border-radius:8px;padding:12px 40px 12px 12px;font-family:monospace;font-size:.9rem}.ai-api-toggle-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 8px;position:absolute;right:8px}.ai-api-links-row{gap:12px;margin-top:8px;padding-left:2px;font-size:.8rem;display:flex}.ai-api-link-btn{cursor:pointer;font-weight:700;font:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;text-decoration:none;display:flex;color:var(--primary)!important}.ai-api-link-sep{color:var(--border-color)}.ai-api-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.ai-api-btn-margin-zero{margin:0!important}.ai-tutorial-overlay{z-index:12010;justify-content:center;align-items:center}.ai-tutorial-container{background:var(--surface-bg);width:500px;max-width:95%;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:15px;padding:20px;display:flex}.ai-tutorial-header{justify-content:space-between;align-items:center;display:flex}.ai-tutorial-title{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.ai-tutorial-close-btn{cursor:pointer;color:var(--text-sub);font-size:1.5rem;line-height:1}.ai-tutorial-carousel-container{border:1px solid var(--border-color);background:var(--bg-color);border-radius:8px;width:100%;position:relative;overflow:hidden}.ai-tutorial-slides-wrapper{width:400%;transition:transform .3s ease-in-out;display:flex}.ai-tutorial-slide{box-sizing:border-box;text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;width:25%;padding:15px;display:flex}.ai-tutorial-step-title{color:var(--primary);font-size:.95rem;font-weight:700}.ai-tutorial-step-desc{color:var(--text-sub);margin:0;font-size:.8rem;line-height:1.4}.ai-tutorial-step-img{border:1px solid var(--border-color);object-fit:contain;cursor:zoom-in;border-radius:6px;max-width:100%;max-height:200px}.ai-tutorial-control-btn{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.ai-tutorial-control-btn.left{left:10px}.ai-tutorial-control-btn.right{right:10px}.ai-tutorial-pagination{flex-direction:column;align-items:center;gap:12px;margin-top:5px;display:flex}.ai-tutorial-dots-row{gap:8px;display:flex}.ai-tutorial-dot-indicator{background:var(--primary);cursor:pointer;opacity:.3;border-radius:50%;width:8px;height:8px;transition:opacity .2s}.ai-tutorial-dot-indicator.active{opacity:1}.ai-tutorial-footer-actions{justify-content:space-between;align-items:center;width:100%;margin-top:5px;display:flex}.image-lightbox-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:13000;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;position:fixed;inset:0}.image-lightbox-close-btn{color:#fff;cursor:pointer;font-size:2.5rem;font-weight:300;line-height:1;position:absolute;top:20px;right:20px}.image-lightbox-image{object-fit:contain;border-radius:8px;max-width:90%;max-height:90%;transition:transform .2s ease-in-out;box-shadow:0 10px 40px #00000080}.credit-adj-overlay{z-index:10005;background:#0000008c;justify-content:center;align-items:center;position:fixed;inset:0}.credit-adj-container{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;width:min(400px,92vw);display:flex;overflow:hidden;box-shadow:0 20px 60px #0006}.credit-adj-header{background:linear-gradient(135deg, var(--primary), #7209b7);color:#fff;flex-shrink:0;align-items:center;gap:10px;padding:14px 18px;display:flex}.credit-adj-header-title{font-size:1rem;font-weight:700}.credit-adj-close-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;font-size:.85rem;display:flex}.credit-adj-body{box-sizing:border-box;flex-direction:column;gap:14px;padding:20px;display:flex}.credit-adj-field-group{flex-direction:column;gap:5px;display:flex}.credit-adj-label{color:var(--text-color);font-size:.85rem;font-weight:700}.credit-adj-input-wrapper{align-items:center;display:flex;position:relative}.credit-adj-input-amount{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:8px;outline:none;padding:9px 50px 9px 12px;font-size:.9rem;font-weight:700}.credit-adj-input-suffix{color:var(--text-sub);font-size:.85rem;font-weight:700;position:absolute;right:15px}.credit-adj-input-reason{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:8px;outline:none;padding:9px 12px;font-size:.88rem}.credit-adj-footer-actions{gap:10px;margin-top:5px;display:flex}.credit-adj-btn{flex:1;margin:0!important}.credit-adj-btn.primary{background:var(--primary)}.credit-adj-select{border:1px solid var(--border-color);background:var(--bg-color);width:100%;color:var(--text-main);box-sizing:border-box;cursor:pointer;appearance:auto;border-radius:8px;outline:none;padding:9px 12px;font-size:.88rem}.credit-adj-select:focus{border-color:var(--primary)}.csp-credit-adj-tags{flex-wrap:wrap;gap:5px;margin-top:3px;display:flex}.csp-adj-tag{border-radius:4px;padding:1px 7px;font-size:.7rem;font-weight:600;line-height:1.5;display:inline-block}.csp-adj-tag.tag-identity{color:#6c5ce7;background:#6c5ce726}.csp-adj-tag.tag-category{color:#00b894;background:#00b89426}.category-adj-row{opacity:.85;border-left:3px solid #6c5ce7;padding-left:8px!important}.category-adj-icon{opacity:.6;margin-right:4px}.syllabus-overlay{z-index:99999}.syllabus-container{border:1px solid var(--border-color);background:var(--surface-bg);border-radius:16px;flex-direction:column;width:92%;max-width:1024px;height:88vh;padding:20px;display:flex;box-shadow:0 25px 50px -12px #00000040}.syllabus-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:12px;display:flex}.syllabus-title{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.15rem;display:flex}.syllabus-header-actions{align-items:center;gap:10px;display:flex}.syllabus-external-link{color:var(--primary);background:#4361ee05;border-color:#4361ee4d;border-radius:8px;align-items:center;gap:6px;margin:0;padding:6px 12px;font-size:.75rem;display:flex}.syllabus-close-btn{font-size:1.8rem;line-height:1}.syllabus-notice-bar{color:var(--text-main);background:#4361ee0d;border:1px solid #4361ee26;border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:8px 14px;font-size:.8rem;display:flex}.syllabus-notice-left{align-items:center;gap:8px;display:flex}.syllabus-notice-icon{color:var(--primary);font-size:.95rem}.syllabus-auth-btn{background:var(--primary);color:#fff;box-shadow:none;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:5px;margin:0;padding:5px 12px;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-flex}.syllabus-body-wrapper{background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;flex:1;position:relative;overflow:hidden}.syllabus-iframe{background:#fff;border:none;width:100%;height:100%}.syllabus-loading-panel{background:var(--surface-bg);z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.syllabus-loading-spinner{color:var(--primary);margin-bottom:12px;font-size:2.5rem}.syllabus-loading-text{color:var(--text-main);font-size:.9rem;font-weight:500}.syllabus-loading-subtext{color:var(--text-sub);margin-top:4px;font-size:.75rem}.title-intro-container{flex-direction:column;max-width:450px;max-height:80vh;display:flex}.title-intro-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.title-intro-title{margin:0;font-size:1.5rem}.title-intro-close{cursor:pointer;color:var(--text-sub);font-size:1.5rem}.title-intro-body{flex:1;padding:20px;overflow-y:auto}.title-intro-desc{color:var(--text-sub);text-align:center;margin-bottom:15px;font-size:.9rem}.title-intro-list{flex-direction:column;gap:10px;display:flex}.easter-egg-overlay{z-index:99999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:linear-gradient(45deg,#ff000014,#ff9a0014,#d0de2114,#4fdc4a14,#3fdad814,#2fc9e214,#1c7fee14,#5f15f214,#ba0cf814,#fb07d914);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s;position:fixed;top:0;left:0}.easter-egg-container{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 10px 30px var(--shadow-color);text-align:center;border-radius:20px;max-width:90%;padding:30px 40px;animation:3s ease-in-out infinite ntnu-egg-float}.easter-egg-kaomoji{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#ff007f,#7f00ff,#00f0ff);-webkit-background-clip:text;background-clip:text;margin-bottom:15px;font-size:2.2rem;font-weight:700}.easter-egg-title{color:var(--text-main);margin-bottom:10px;font-size:1rem;font-weight:700;line-height:1.5}.easter-egg-desc{color:var(--text-sub);margin-bottom:20px;font-size:.9rem}.easter-egg-btn{width:120px;margin:0 auto!important}.csp-loader-wrapper{text-align:center;color:var(--text-sub,#999);margin-top:30px;padding:20px 0}.csp-loader-wrapper-grid{text-align:center;color:var(--text-sub,#999);grid-column:1/-1;padding:40px}.csp-loader-subtext{opacity:.8;margin-top:10px;font-size:.85rem}.csp-error-wrapper{text-align:center;color:var(--danger);margin-top:30px;padding:20px 0;font-weight:500}.csp-time-subtext{font-size:.8rem}.csp-project-list-container{flex-direction:column;gap:12px;max-height:350px;padding:5px;display:flex;overflow-y:auto}.project-item{border:2px solid var(--border-color);background:var(--surface-bg);border-radius:10px;align-items:center;padding:12px;transition:transform .2s;display:flex}.project-item.current-active{border-color:var(--primary)}.project-item-content{cursor:pointer;flex:1}.project-item-title{color:var(--text-main);font-weight:700}.project-current-badge{background:var(--primary);color:#fff;border-radius:10px;margin-left:5px;padding:2px 6px;font-size:.7rem}.project-item-time{color:var(--text-sub);margin-top:4px;font-size:.75rem}.csp-pdf-stat-span{color:#000}.csp-pdf-header-tr{color:#000;background:#eee}.csp-pdf-th-left{text-align:left;border:1px solid #999;padding:6px}.csp-pdf-th-center{text-align:center;border:1px solid #999;padding:6px}.csp-pdf-th-center-width{text-align:center;border:1px solid #999;width:150px;padding:6px}.csp-pdf-row-tr{page-break-inside:avoid}.csp-pdf-td-bold{color:#000;border:1px solid #ccc;padding:6px;font-weight:700}.csp-pdf-td-normal{color:#000;border:1px solid #ccc;padding:6px}.csp-pdf-td-center{text-align:center;color:#000;border:1px solid #ccc;padding:6px}.csp-pdf-td-bold-500{color:#000;border:1px solid #ccc;padding:6px;font-weight:500}.csp-pdf-td-center-bold{text-align:center;border:1px solid #ccc;padding:6px;font-weight:700}.text-success-color{color:#10b981!important}.text-danger-color{color:#ef4444!important}.csp-importer-result{text-align:left;padding-left:10px}.csp-margin-bottom-5{margin-bottom:5px}.csp-success-bold{color:var(--success);font-weight:700}.csp-warning-bold{color:var(--warning);font-weight:700}.csp-danger-bold{color:var(--danger);font-weight:700}.csp-duplicate-notice{color:#666;margin-top:5px;font-size:.8rem}.csp-margin-bottom-8{margin-bottom:8px}.csp-danger-text-09{color:var(--danger);font-size:.9rem}.csp-error-list-container{text-align:left;max-height:200px;overflow-y:auto}.csp-merged-notice{color:var(--text-sub);font-size:.85rem}.csp-error-text-padding10{color:var(--danger);padding:10px}.csp-error-wrapper-grid{text-align:center;color:var(--danger);grid-column:1/-1;padding:40px}.csp-no-data-notice{color:var(--text-sub);text-align:center;width:100%;padding:10px}.badge.sort-heat{color:#fff!important;background:linear-gradient(45deg,#ff6b6b,#ff4757)!important}.badge.sort-active{color:#fff!important;background:#e74c3c!important}.badge.sort-rated{color:#fff!important;background:#9b59b6!important}.badge.sort-sweetness{color:#000!important;background:#f1c40f!important}.badge.sort-chillness{color:#fff!important;background:#3498db!important}.badge.sort-knowledge{color:#fff!important;background:#2ecc71!important}.text-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.csp-clock-icon{text-align:center;opacity:.7;width:16px}.csp-hot-card-badge.high-heat{color:#fff;background:linear-gradient(45deg,#ff6b6b,#ff4757)}.csp-hot-card-badge.normal-heat{color:#fff;background:linear-gradient(45deg,#4361ee,#4cc9f0)}.csp-hot-card-meta{color:var(--text-sub);font-size:.8rem}.csp-hidden{display:none!important}.csp-cursor-pointer{cursor:pointer!important}.csp-flex-shrink-0{flex-shrink:0!important}.csp-mr-3{margin-right:3px!important}.csp-mr-4{margin-right:4px!important}.csp-mr-5{margin-right:5px!important}.csp-mr-15{margin-right:15px!important}.csp-mt-15{margin-top:15px!important}.csp-py-20{padding-top:20px!important;padding-bottom:20px!important}.csp-opacity-05{opacity:.5!important}.csp-opacity-06{opacity:.6!important}.csp-text-center{text-align:center!important}.csp-position-relative{position:relative!important}.csp-bold{font-weight:700!important}.forum-action-banner{background:var(--surface-bg);color:var(--text-main);border-left:4px solid var(--primary);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:6px 12px;font-size:.8rem;display:none}.forum-action-text{white-space:nowrap;text-overflow:ellipsis;max-width:90%;overflow:hidden}.forum-action-close{cursor:pointer;color:var(--text-sub)}.message-reply-preview{color:var(--text-main);background:var(--header-bg);border:1px solid var(--border-color);border-left:4px solid var(--primary);cursor:pointer;max-width:100%;box-shadow:0 2px 4px var(--shadow-color);border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:.75rem;display:inline-flex}.message-reply-preview i{color:var(--primary);font-size:.8rem}.message-reply-text{max-width:200px}.message-reply-user{color:var(--primary);margin-right:4px}.message-reply-body{opacity:.8}.message-bubble.mine{background:var(--primary)!important;color:#fff!important;border-radius:12px!important;padding:8px 12px!important}.message-bubble.other{background:var(--header-bg)!important;color:var(--text-main)!important;border-radius:12px!important;padding:8px 12px!important}.message-edited-label{opacity:.7;margin-bottom:2px;font-size:.65rem}.chat-avatar{vertical-align:middle;object-fit:cover;border-radius:50%;width:18px;height:18px;margin-right:4px}.chat-avatar-icon{color:var(--text-sub);vertical-align:middle;margin-right:4px;font-size:18px}.btn-w-auto{width:auto!important}.btn-danger-outline{border-color:var(--danger)!important;color:var(--danger)!important}.csp-stat-col{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.csp-stat-num{font-size:1.35rem;font-weight:700;line-height:1.15}.csp-stat-num.sweet{color:#f1c40f}.csp-stat-num.chill{color:#3498db}.csp-stat-num.know{color:#2ecc71}.csp-stat-label{color:var(--text-sub);margin-top:2px;font-size:.78rem;line-height:1.2}.csp-stat-total-col{text-align:center;border-left:1px solid var(--border-color);flex-direction:column;justify-content:center;align-items:center;padding-left:12px;display:flex}.csp-stat-total-num{color:var(--text-main);font-size:1.25rem;font-weight:700;line-height:1.15}.csp-empty-grid-notice{text-align:center;color:var(--text-sub);grid-column:1/-1;padding:40px}.csp-empty-grid-notice i{opacity:.5;margin-bottom:10px;font-size:2rem}.csp-course-name{margin-bottom:2px;line-height:1.2}.csp-course-name.weight-normal{font-weight:400}.csp-course-name.weight-bold{font-weight:700}.csp-course-sub{opacity:.85;font-size:.75rem;font-weight:400}.csp-conflict-title-wrap{text-align:left;flex-direction:column;line-height:1.2;display:flex}.csp-conflict-subtitle{opacity:.85;font-size:.55rem}.csp-conflict-summary-row{justify-content:space-between;align-items:center;width:100%;font-size:.75rem;font-weight:700;line-height:1.2;display:flex}.csp-conflict-summary-sub{opacity:.9;text-align:left;width:100%;margin-top:2px;font-size:.7rem}.csp-holding-title-row{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.csp-holding-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:700;overflow:hidden}.csp-holding-sub{color:var(--text-sub);font-size:.75rem}.csp-legend-bg-mode{border:1px solid #ffffff1a!important;border-radius:50px!important;padding:2px 8px!important;font-size:.82rem!important;line-height:1!important}.csp-conflict-preview-title{color:#d63031;font-weight:700}.csp-fill-empty{text-align:center;color:#999;margin-top:20px}.csp-fill-status-scheduled{color:var(--primary);font-size:.8rem;font-weight:700}.csp-fill-status-holding{color:var(--warning);font-size:.8rem;font-weight:700}.csp-btn-fill-add{border-radius:12px!important;width:auto!important;padding:4px 10px!important;font-size:.8rem!important}.csp-fill-row{border-bottom:1px solid var(--border-color);background:var(--surface-bg);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px;display:flex}.csp-fill-row-content{flex:1;padding-right:10px}.csp-fill-row-title{color:var(--text-main);font-size:.9rem;font-weight:700}.csp-fill-row-sub{color:var(--text-sub);margin-top:2px;font-size:.75rem}.csp-no-period-icon{color:var(--text-sub);margin-bottom:8px;font-size:2.2rem}.csp-no-period-title{color:var(--text-main);font-weight:700}.csp-no-period-desc{color:var(--text-sub);font-size:.72rem}.csp-astronaut-icon{background:linear-gradient(135deg,#7c3aed 0%,#2563eb 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:18px}.csp-ai-no-review-msg{color:var(--text-sub);opacity:.7}.csp-avatar-img{object-fit:cover;border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;width:42px;height:42px}.csp-friend-info{flex:1;min-width:0;overflow:hidden}.csp-friend-meta-row{color:var(--text-sub);flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;margin-top:3px;font-size:.72rem;line-height:1.3;display:flex;overflow:hidden}.csp-friend-meta-row span,.csp-friend-meta-item{white-space:nowrap;align-items:center;display:inline-flex}.csp-friend-meta-dept{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.csp-friend-meta-credits{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-weight:500}.csp-meta-dot{opacity:.5;flex-shrink:0;font-size:.65rem}.csp-chat-alt-icon{opacity:.8;margin-right:3px;font-size:.65rem}.csp-chat-dots-icon{color:var(--primary);opacity:.6;flex-shrink:0;font-size:.85rem}.csp-online-user-card{cursor:pointer;border-bottom:1px solid var(--border-color);background:var(--surface-bg);align-items:center;gap:10px;padding:10px 12px;display:flex;position:relative}.csp-friend-name-bold{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.csp-online-badge-container{color:#10b981;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;font-size:.75rem;font-weight:600;display:flex}.csp-online-pulse-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse;box-shadow:0 0 5px #10b981}.csp-social-section-header{color:var(--text-sub);letter-spacing:.5px;text-transform:uppercase;padding:10px 15px 5px;font-size:.8rem;font-weight:600}.csp-social-empty-item{text-align:center;color:var(--text-sub);padding:15px;font-size:.85rem}.csp-friend-item-link{cursor:pointer;border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:10px 15px;display:flex}.csp-relative-flex-shrink-0{flex-shrink:0;position:relative}.csp-social-section-header-other{color:var(--text-sub);letter-spacing:.5px;text-transform:uppercase;padding:20px 15px 5px;font-size:.8rem;font-weight:600}.csp-social-search-loading{text-align:center;color:var(--text-sub);padding:20px;font-size:.85rem}.csp-chevron-right-icon{color:var(--text-sub);flex-shrink:0;font-size:.75rem}.csp-schedule-card{border:1px solid var(--border-color);background:var(--surface-bg);border-radius:10px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.csp-calendar-week-icon{color:var(--primary);flex-shrink:0;font-size:1.1rem}.csp-schedule-title{color:var(--text-main);font-size:.88rem;font-weight:600}.csp-schedule-time{color:var(--text-sub);margin-top:2px;font-size:.72rem}.csp-btn-profile-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;display:flex}.csp-btn-profile-danger-outline{border:1px solid var(--danger,#e74c3c);color:var(--danger,#e74c3c);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;display:flex}.csp-badge-profile-pending{background:var(--border-color);color:var(--text-sub);border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.csp-btn-profile-success{background:var(--success,#10b981);color:#fff;cursor:pointer;border:none;border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;display:flex}.csp-btn-profile-disabled{background:var(--hover-bg);color:var(--text-sub);cursor:not-allowed;border:none;border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;display:flex}.csp-status-offline-wrap{color:var(--text-sub);align-items:center;gap:4px;font-weight:400;display:flex}.csp-status-offline-dot{background:#999;border-radius:50%;width:6px;height:6px;display:inline-block}.csp-social-loading-wrap,.csp-social-empty-wrap{margin:auto}.csp-chat-bubble-withdrawn{border:1px solid var(--border-color)!important;color:var(--text-sub)!important;box-shadow:none!important;background:0 0!important;font-style:italic!important}.csp-chat-reply-icon{margin-right:4px;font-size:.7rem}.csp-heart-reaction-wrap{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e5e7eb);z-index:5;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:2px;padding:2px 5px;font-size:.75rem;transition:transform .15s;animation:.25s cubic-bezier(.175,.885,.32,1.275) popIn;display:inline-flex;position:absolute;bottom:-8px;box-shadow:0 1px 3px #0000001f}.csp-heart-reaction-wrap:hover{transform:scale(1.12)}.csp-heart-reaction-wrap.mine{left:-4px}.csp-heart-reaction-wrap.other{right:-4px}.csp-heart-icon{color:#ef4444;font-size:.75rem}.csp-heart-count{color:var(--text-sub,#6b7280);margin-left:1px;font-size:.7rem;font-weight:600}.csp-course-share-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.csp-course-share-icon-wrap{background:var(--primary);color:#fff;border-radius:8px;flex-shrink:0;padding:6px 8px;font-size:.9rem}.csp-course-share-label{color:var(--text-sub);letter-spacing:.5px;font-size:.7rem;font-weight:600}.csp-course-share-name{font-size:.95rem;font-weight:700}.csp-course-share-meta{color:var(--text-sub);flex-wrap:wrap;gap:12px;font-size:.78rem;display:flex}.csp-course-share-add-btn{color:var(--primary);text-align:center;background:#4361ee1a;border-radius:8px;justify-content:center;align-items:center;gap:4px;margin-top:8px;padding:6px 10px;font-size:.78rem;font-weight:600;display:flex}.csp-chat-lock-icon{opacity:.5;font-size:.6rem}.csp-status-online-wrap{color:#10b981;align-items:center;gap:4px;font-weight:600;display:flex}.csp-status-online-dot{background:#10b981;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse;display:inline-block;box-shadow:0 0 5px #10b981}.csp-typing-bubble-wrap{margin-top:4px;animation:.15s ease-in-out fadeIn}.csp-typing-bubble{background:var(--surface-bg);border:1px solid var(--border-color);max-width:80%;box-shadow:var(--shadow-sm);border-radius:18px 18px 18px 4px;align-items:center;gap:4px;padding:10px 14px;display:inline-flex}.csp-typing-label{color:var(--text-sub);margin-right:4px;font-size:.8rem;font-weight:500}.csp-typing-dot-1{background:var(--text-sub);border-radius:50%;width:4.5px;height:4.5px;animation:1.4s infinite both typing-blink;display:inline-block}.csp-typing-dot-2{background:var(--text-sub);border-radius:50%;width:4.5px;height:4.5px;animation:1.4s .2s infinite both typing-blink;display:inline-block}.csp-typing-dot-3{background:var(--text-sub);border-radius:50%;width:4.5px;height:4.5px;animation:1.4s .4s infinite both typing-blink;display:inline-block}.csp-ghost-danger{color:var(--danger)!important}.csp-ghost-primary{color:var(--primary)!important}.csp-course-list-empty{text-align:center;color:var(--text-sub,#999);margin-top:30px}.csp-course-list-status-scheduled{color:var(--primary);margin-top:4px;font-size:.75rem;font-weight:700}.csp-course-list-status-holding{color:var(--warning);margin-top:4px;font-size:.75rem;font-weight:700}.csp-course-list-name{color:var(--text-main);font-weight:700}.csp-course-list-type{background:var(--header-bg,#f1f5f9);color:var(--text-sub,#64748b);border:1px solid var(--border-color,#e2e8f0);letter-spacing:.02em;border-radius:6px;justify-content:center;align-items:center;margin-left:auto;padding:2px 7px;font-size:.72rem;font-weight:600;line-height:1.2;transition:all .2s;display:inline-flex}[data-theme=dark] .csp-course-list-type{color:var(--text-sub,#b0b3b8);border-color:var(--border-color,#3e4042);background:#ffffff14}.csp-course-list-time{color:var(--text-sub);margin-top:4px;font-size:.75rem}.csp-qrcode-placeholder{color:#999;text-align:center;justify-content:center;align-items:center;width:150px;height:150px;font-size:.8rem;display:flex}.csp-qrcode-locked{width:150px;height:150px;color:var(--text-sub);text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;padding:10px;font-size:.8rem;line-height:1.5;display:flex}.csp-qrcode-locked-icon{color:var(--warning);margin-bottom:8px;font-size:1.6rem}.csp-share-input-disabled{opacity:.8;color:var(--text-sub)!important}.csp-btn-disabled{opacity:.5!important;cursor:not-allowed!important}.csp-planet-loading{text-align:center;color:var(--text-sub);line-height:350px}.csp-detail-wrap{flex-direction:column;gap:8px;font-size:.95rem;display:flex}.csp-detail-custom-nature{color:var(--primary);font-weight:700}.csp-detail-custom-sub{color:var(--text-sub);margin-top:5px;font-size:.85rem;font-style:italic}.csp-detail-btn-row{gap:10px;width:100%;display:flex}.csp-btn-flex-1-margin-0{flex:1!important;margin:0!important}.csp-btn-detail-remove{color:var(--danger)!important;border-color:var(--danger)!important;flex:1!important;margin:0!important}.csp-btn-detail-add{color:#fff!important;background-color:#2ecc71!important;border:none!important;flex:1!important;margin:0!important}.csp-btn-detail-search{border-color:var(--primary)!important;color:var(--primary)!important}.csp-btn-detail-forum{color:#9b59b6!important;border-color:#9b59b6!important}.csp-file-placeholder{color:#999;text-align:center;padding:10px}.csp-file-name{font-weight:700}.csp-file-meta{color:#888;font-size:.8rem}.csp-btn-transparent-noborder{background:0 0!important;border:none!important}.csp-green-icon{color:#27ae60!important}.csp-orange-icon{color:#e67e22!important}.csp-text-left-p-5-10{text-align:left;padding:5px 10px;line-height:1.6}.csp-mb-15{margin-bottom:15px!important}.csp-success-icon-big{color:var(--success);font-size:2.5rem;display:inline-block}.csp-success-title-bold{color:var(--text-main);margin:10px 0 0;font-size:1.1rem;font-weight:700}.csp-success-desc{color:var(--text-main);margin:0 0 10px;font-size:.9rem}.csp-yellow-warn-box{color:var(--text-main);background:#ffc10714;border:1px dashed #ffc107;border-radius:10px;margin-top:12px;padding:12px;font-size:.85rem}.csp-yellow-warn-title{color:#d39e00;align-items:center;gap:6px;font-size:.9rem;display:flex}.csp-yellow-warn-desc{color:var(--text-sub);margin:8px 0 6px;font-size:.8rem}.csp-yellow-warn-list{color:var(--text-main);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:.8rem;display:flex}.csp-yellow-warn-link{color:var(--primary);font-weight:700;text-decoration:underline}.csp-guide-wrap{flex-direction:column;gap:15px;display:flex}.csp-guide-title{font-size:1.05rem;display:inline-block}.csp-guide-title.primary{color:var(--primary)!important}.csp-guide-title.success{color:var(--success)!important}.csp-guide-title.warning{color:var(--warning)!important}.csp-guide-title.danger{color:var(--danger)!important}.csp-guide-title.purple{color:#9b59b6!important}.csp-guide-title.orange{color:#e67e22!important}.csp-guide-desc{margin:5px 0 0;font-size:.9rem}.csp-no-tags-placeholder{color:var(--text-sub);font-size:.82rem;font-style:italic}.csp-tag-chip-close{cursor:pointer;opacity:.8;font-size:.75rem}.csp-placeholder-box{text-align:center;color:var(--text-sub,#999);padding:30px}.csp-placeholder-box-p40{text-align:center;color:var(--text-sub,#999);padding:40px}.csp-error-box{text-align:center;color:var(--danger);padding:20px}.csp-leaderboard-avatar{object-fit:cover;border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;width:46px;height:46px}.csp-leaderboard-avatar-fallback{background:var(--hover-bg);width:46px;height:46px;color:var(--text-sub);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.csp-flex-1-min-width-0{flex:1;min-width:0}.csp-flex-center-gap6-wrap{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.csp-leaderboard-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.95rem;font-weight:700;overflow:hidden}.csp-title-badge{white-space:nowrap;border-radius:10px;padding:2px 9px;font-size:.72rem;font-weight:700}.csp-title-tier-1000{color:#7c3c00;background:linear-gradient(135deg,#f6d365 0%,#fda085 100%);border:1px solid #e6980a}.csp-title-tier-500{color:#103e75;background:linear-gradient(135deg,#fdfbfb 0%,#ebedee 30%,#c2e9fb 70%,#e0c3fc 100%);border:1px solid #8ec5fc}.csp-title-tier-300{color:#4a4a4a;background:linear-gradient(135deg,#e6e9f0 0%,#eef1f5 100%);border:1px solid #a8b0b9}.csp-title-tier-200{color:#4a0080;background:linear-gradient(135deg,#a18cd1 0%,#fbc2eb 100%);border:1px solid #9b59b6}.csp-title-tier-120{color:#7e22ce;background:#f3e8ff;border:1px solid #a855f7}.csp-title-tier-80{color:#003580;background:linear-gradient(135deg,#a1c4fd 0%,#c2e9fb 100%);border:1px solid #3b82f6}.csp-title-tier-50{color:#0369a1;background:#e0f2fe;border:1px solid #38bdf8}.csp-title-tier-30{color:#005c30;background:linear-gradient(135deg,#84fab0 0%,#8fd3f4 100%);border:1px solid #10b981}.csp-title-tier-10{color:#15803d;background:#dcfce7;border:1px solid #4ade80}.csp-title-tier-0{color:#4b5563;background:#fff;border:1px solid #d1d5db}.csp-leaderboard-view-profile-text{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:3px;font-size:.72rem;overflow:hidden}.csp-leaderboard-points-col{text-align:right;flex-shrink:0}.csp-leaderboard-points-val{color:#f39c12;font-size:1.1rem;font-weight:800}.csp-leaderboard-points-label{color:var(--text-sub);font-size:.72rem}.csp-ml-8{margin-left:8px!important}.csp-review-tag-chip{cursor:pointer;background:#4361ee08;border:1px solid #4361ee33;transition:all .15s}.csp-arrow-right-icon-sm{opacity:.7;margin-left:3px;font-size:.6rem}.csp-cursor-default{cursor:default}.csp-mb-2{margin-bottom:2px!important}.csp-font-105{font-size:1.05rem!important}.csp-mb-6{margin-bottom:6px!important}.csp-rank-courses-header{color:var(--text-sub);align-items:center;gap:4px;margin-top:8px;font-size:.75rem;font-weight:700;display:flex}.csp-rank-courses-container{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.csp-font075-sub{color:var(--text-sub);font-size:.75rem}.csp-rank-stats-row-border{border-top:1px solid var(--border-color);padding-top:8px}.csp-danger-text{color:var(--danger)!important}.csp-medal-gold{color:#7c3c00;background:linear-gradient(135deg,#f6d365,#fda085)}.csp-medal-silver{color:#3d5a80;background:linear-gradient(135deg,#dfe9f3,#c8d6e5)}.csp-medal-bronze{color:#5c3a00;background:linear-gradient(135deg,#f7971e,#ffd200)}.csp-medal-default{background:var(--surface-bg);color:var(--text-sub)}.csp-onboarding-title-row{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.csp-onboarding-title-badge{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;padding:4px 10px;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 2px 4px #0000000d}.csp-onboarding-title-min{color:var(--text-color);font-size:.9rem;font-weight:700}.csp-loading-detail-subtext{opacity:.6;color:var(--primary);margin-top:10px;font-size:.75rem}.csp-danger-box-mt30{text-align:center;color:var(--danger);margin-top:30px}.csp-project-current-badge{color:#3b82f6;background:#3b82f626;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:.7rem;font-weight:700}.csp-project-credit-row{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.75rem;display:flex}.csp-flex-column-gap2{flex-direction:column;gap:2px;display:flex}.csp-project-title-name{color:var(--text-color);font-weight:600}.csp-project-icon-primary{color:var(--primary);margin-right:4px}.csp-project-credit-value{color:var(--text-sub);font-size:.7rem}.csp-text-color-bold{color:var(--text-color);font-weight:700}.csp-project-view-btn{border-radius:6px;align-items:center;gap:4px;width:auto;margin:0;padding:4px 10px;font-size:.7rem;display:inline-flex}.csp-project-credit-row-unsaved{background:#3b82f60a;border:1px dashed #3b82f666;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.75rem;display:flex}.csp-project-icon-blue{color:#3b82f6;margin-right:4px}.csp-project-current-badge-unsaved{color:#3b82f6;background:#3b82f61f;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:.7rem;font-weight:700}.csp-success-icon-inline{margin-left:2px;color:#10b981!important}.csp-placeholder-box-p10-0{color:#999;text-align:center;padding:10px 0}.csp-placeholder-box-p20{color:var(--text-sub);text-align:center;padding:20px}.csp-course-card-title-main{color:var(--text-main);font-size:.88rem;font-weight:600}.csp-course-card-meta-sub{color:var(--text-sub);font-size:.75rem}.csp-admin-row{border-bottom:1px solid var(--border-color);justify-content:space-between;padding:12px 15px;display:flex}.csp-btn-admin-remove{background:var(--danger)!important;color:#fff!important;border:none!important;width:auto!important;padding:4px 10px!important}.csp-admin-banned-card{border-bottom:1px solid var(--border-color);flex-direction:column;padding:12px 15px;display:flex}.csp-admin-banned-row{justify-content:space-between;align-items:center;display:flex}.csp-admin-banned-email{color:var(--text-main);font-weight:700}.csp-btn-unban{cursor:pointer;background:var(--success)!important;color:#fff!important;border:none!important;border-radius:6px!important;width:auto!important;padding:5px 12px!important}.csp-admin-banned-reason{color:var(--danger);margin-top:5px;font-size:.8rem}.csp-admin-banned-uid{color:var(--text-sub);word-break:break-all;opacity:.6;margin-top:3px;font-size:.75rem}.csp-admin-edit-emoji{text-align:center!important;border:1px solid var(--border-color)!important;background:var(--bg-color)!important;width:44px!important;color:var(--text-main)!important;border-radius:6px!important;padding:5px!important;font-size:1.1rem!important}.csp-admin-edit-text{border:1px solid var(--border-color)!important;background:var(--bg-color)!important;color:var(--text-main)!important;border-radius:6px!important;flex:1!important;padding:7px 10px!important}.csp-btn-announcement-save{cursor:pointer;background:var(--primary)!important;color:#fff!important;border:none!important;border-radius:6px!important;flex-shrink:0!important;padding:5px 12px!important;font-size:.8rem!important}.csp-btn-announcement-cancel{cursor:pointer;border:1px solid var(--border-color)!important;color:var(--text-sub)!important;background:0 0!important;border-radius:6px!important;flex-shrink:0!important;padding:5px 10px!important;font-size:.8rem!important}.csp-dcard-error-container{text-align:center;background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;margin-top:30px;padding:25px}.csp-dcard-error-icon-box{color:#ef4444;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 15px;display:flex}.csp-dcard-error-icon{font-size:1.5rem}.csp-dcard-error-title{color:var(--text-main);margin-bottom:8px;font-weight:700}.csp-dcard-error-desc{color:var(--text-sub);margin-bottom:20px;font-size:.85rem;line-height:1.6}.csp-dcard-error-link{color:#fff;background:#006aa6;border-radius:20px;align-items:center;gap:8px;padding:10px 20px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.csp-gender-mars{color:#3498db}.csp-gender-venus{color:#e74c3c}.csp-dcard-card-link{color:inherit;text-decoration:none}.csp-dcard-card-meta{color:var(--text-sub);align-items:center;gap:8px;font-size:.8rem;display:flex}.csp-dcard-card-board{color:#006aa6;background:#006aa61a;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.csp-dcard-card-title{color:#006aa6;font-size:1.02rem;font-weight:700;line-height:1.4}.csp-dcard-card-excerpt{color:var(--text-sub);font-size:.88rem;line-height:1.5}.csp-dcard-card-stats{color:var(--text-sub);gap:15px;margin-top:4px;font-size:.75rem;display:flex}.csp-dcard-card-stat-icon-like{color:#006aa6}.csp-dcard-card-stat-icon-comment{color:var(--primary)}.csp-onboarding-search-tip{text-align:center;color:var(--text-sub);padding:10px;font-size:.8rem}.csp-onboarding-search-loading,.csp-onboarding-search-no-result{text-align:center;color:var(--text-sub);padding:10px;font-size:.85rem}.csp-onboarding-search-error{text-align:center;color:var(--danger);padding:10px;font-size:.85rem}.csp-friend-status-ok{color:var(--success);font-size:.8rem}.csp-friend-status-pending{color:var(--text-sub);font-size:.8rem}.csp-btn-onboarding-accept{background:var(--success)!important;border-color:var(--success)!important;width:auto!important;padding:4px 10px!important;font-size:.75rem!important}.csp-btn-onboarding-add{width:auto!important;padding:4px 10px!important;font-size:.75rem!important}.csp-onboarding-user-card{background:var(--surface-bg);border:1px solid var(--border-color);box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 12px;font-size:.85rem;display:flex}.csp-onboarding-user-info{align-items:center;gap:8px;display:flex}.csp-onboarding-user-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.csp-onboarding-user-meta{flex-direction:column;display:flex}.csp-onboarding-user-name{color:var(--text-main);font-weight:700}.csp-onboarding-user-dept{color:var(--text-sub);font-size:.7rem}.csp-btn-admin-warn{width:auto!important;color:var(--warning)!important;border-color:var(--warning)!important}.csp-btn-admin-ban1m{width:auto!important;color:var(--danger)!important;border-color:var(--danger)!important}.csp-btn-admin-banperm{width:auto!important;color:var(--danger)!important;border-color:var(--danger)!important;background:#e74c3c1a!important}.csp-btn-admin-delcontent{background:#e67e22!important;border-color:#e67e22!important;width:auto!important;margin-left:auto!important}.csp-btn-admin-close{background:var(--success)!important;border-color:var(--success)!important;width:auto!important}.csp-admin-reports-empty{color:var(--success);text-align:center}.csp-report-card{box-shadow:0 2px 8px var(--shadow-color);border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;margin-bottom:15px;overflow:hidden}.csp-report-card-header{background:var(--danger);color:#fff;justify-content:space-between;align-items:center;padding:8px 15px;font-weight:700;display:flex}.csp-report-card-time{opacity:.9;font-size:.8rem;font-weight:400}.csp-report-card-body{background:var(--surface-bg);padding:15px}.csp-report-card-meta-row{flex-wrap:wrap;gap:15px;margin-bottom:15px;font-size:.9rem;display:flex}.csp-report-card-info-box{background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;flex:1;min-width:200px;padding:10px}.csp-report-card-info-title{color:var(--text-sub);border-bottom:1px solid var(--border-color);margin-bottom:4px;padding-bottom:4px;font-size:.8rem}.csp-report-card-info-email{margin-top:5px}.csp-report-card-info-uid{color:var(--text-sub);word-break:break-all;margin-top:3px;font-size:.75rem}.csp-report-card-danger-box{background:#e74c3c0d;border:1px solid #e74c3c33;border-radius:6px;flex:1;min-width:200px;padding:10px}.csp-report-card-danger-title{color:var(--danger);border-bottom:1px solid #e74c3c33;margin-bottom:4px;padding-bottom:4px;font-size:.8rem}.csp-report-card-section-mb12{margin-bottom:12px}.csp-report-card-section-mb15{margin-bottom:15px}.csp-report-card-section-title{color:var(--text-sub);margin-bottom:4px;font-size:.8rem}.csp-report-card-preview-box{background:var(--bg-color);border-left:4px solid var(--border-color);color:var(--text-main);border-radius:6px;padding:10px;font-style:italic}.csp-report-card-reason-box{color:var(--danger);background:#e74c3c0d;border-radius:6px;padding:8px;font-weight:700}.csp-report-card-quote-icon{opacity:.5;margin-right:5px}.csp-report-card-actions-row{border-top:1px dashed var(--border-color);flex-wrap:wrap;gap:8px;padding-top:15px;display:flex}.csp-btn-admin-view{width:auto!important}.csp-spinner-lg{font-size:1.5rem!important}.csp-spinner-sm{font-size:.9rem!important}.csp-table-placeholder{text-align:center!important;color:var(--text-sub)!important;padding:20px!important}.csp-table-placeholder-danger{text-align:center!important;color:var(--danger)!important;padding:20px!important}.csp-stats-table-row{border-bottom:1px solid var(--border-color);transition:background-color .2s}.csp-stats-td-dept{color:var(--text-main)!important;padding:12px 15px!important;font-weight:500!important}.csp-stats-td-count{text-align:right!important;color:var(--primary)!important;padding:12px 15px!important;font-weight:700!important}.csp-stats-td-pct{text-align:right!important;color:var(--text-sub)!important;padding:12px 15px!important}.csp-placeholder-icon-search{opacity:.3!important;margin-bottom:10px!important;font-size:2rem!important}.csp-custom-events-empty{text-align:center;color:var(--text-sub);padding:20px;font-size:.8rem}.csp-custom-manage-card{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;border-left:4px solid #0000!important;border-radius:8px!important;align-items:center!important;gap:10px!important;padding:10px!important;display:flex!important}.csp-custom-event-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.csp-btn-icon-toggle{cursor:pointer;font-size:1.1rem;background:0 0!important;border:none!important;padding:0 5px!important}.csp-btn-icon-delete{cursor:pointer;background:0 0!important;border:none!important;padding:0 5px!important}.csp-color-success{color:var(--success)!important}.csp-color-sub{color:var(--text-sub)!important}.csp-ann-row{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;border-radius:10px!important;flex-shrink:0!important;align-items:center!important;gap:10px!important;padding:10px 14px!important;display:flex!important}.csp-ann-emoji{flex-shrink:0!important;font-size:1.2rem!important}.csp-ann-content{color:var(--text-main)!important;flex:1!important;font-size:.9rem!important}.csp-btn-ann-edit{cursor:pointer;border:1px solid var(--border-color)!important;color:var(--text-main)!important;background:0 0!important;border-radius:6px!important;flex-shrink:0!important;padding:5px 10px!important;font-size:.8rem!important}.csp-btn-ann-delete{cursor:pointer;border:1px solid var(--danger)!important;color:var(--danger)!important;background:0 0!important;border-radius:6px!important;flex-shrink:0!important;padding:5px 10px!important;font-size:.8rem!important}.csp-border-c-required{border-left:3px solid var(--c-required)!important}.csp-border-c-elective{border-left:3px solid var(--c-elective)!important}.csp-border-c-general{border-left:3px solid var(--c-general)!important}.csp-border-text-sub{border-left:3px solid var(--text-sub)!important}.csp-preview-period-col{text-align:center!important;background:var(--header-bg)!important;height:60px!important;font-weight:700!important}.csp-preview-cell{border:1px solid var(--border-color)!important;vertical-align:top!important;padding:4px!important;position:relative!important}.csp-preview-item-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.csp-preview-item-sub{opacity:.8;font-size:.7rem}.csp-preview-item-box{border-radius:4px!important;margin-bottom:2px!important;padding:4px!important;font-size:.75rem!important;box-shadow:0 1px 3px #0000001a!important}.csp-loader-astronaut-icon{background:linear-gradient(135deg,#7c3aed 0%,#2563eb 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.csp-forum-avatar-icon{color:var(--text-sub);font-size:28px}.csp-forum-avatar-img{object-fit:cover;border-radius:50%;width:28px;height:28px}.csp-forum-avatar-clickable{cursor:pointer}.csp-forum-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.csp-forum-header-name-wrap{min-width:0;overflow:hidden}.csp-forum-header-meta-wrap{color:var(--text-sub);flex-wrap:wrap;align-items:center;gap:4px;margin-top:1px;font-size:.68rem;display:flex}.csp-forum-header-right{flex-shrink:0;justify-content:flex-end;align-items:center;margin-left:6px;display:flex}.csp-forum-sem-badge{color:var(--primary);white-space:nowrap;background:#4361ee1a;border-radius:8px;padding:0 5px;font-size:.65rem;font-weight:600}.csp-forum-card-bottom{justify-content:space-between;align-items:center;gap:8px;min-height:20px;margin-top:5px;display:flex}.card-tags-carousel-container{flex:0 auto;align-items:center;gap:3px;min-width:0;max-width:calc(100% - 66px);display:flex;overflow:hidden}.card-tag-arrow{border:1px solid var(--border-color);background:var(--bg-main,#fff);width:15px;height:15px;color:var(--text-sub);cursor:pointer;z-index:2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:7px;line-height:1;transition:all .15s;display:flex}.card-tag-arrow.next{margin-right:2px}.card-tag-arrow:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.1)}.card-tags-track{scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap;scroll-behavior:smooth;flex-direction:row;flex:1;align-items:center;gap:3px;min-width:0;display:flex;overflow-x:auto}.card-tags-track::-webkit-scrollbar{display:none}.card-tags-track .review-tag-chip{white-space:nowrap;flex-shrink:0}.card-tags-track.single{max-width:calc(100% - 66px);overflow:hidden}.card-tags-track.empty{display:none}.csp-forum-scores-wrap{background:var(--bg-color);border-radius:5px;gap:4px;padding:2px 6px;font-size:.72rem;line-height:1.15;display:flex}.csp-forum-scores-wrap>div{align-items:center;gap:2px;display:flex}.csp-forum-score-sweet{color:#f1c40f;font-weight:700}.csp-forum-score-chill{color:#3498db;font-weight:700}.csp-forum-score-know{color:#2ecc71;font-weight:700}.csp-forum-actions-wrap{color:var(--text-sub);flex-shrink:0;align-self:flex-end;gap:8px;margin-left:auto;font-size:.72rem;line-height:1.15;display:flex}.csp-color-primary-bold{color:var(--primary);font-weight:700}.csp-color-danger-bold{color:var(--danger,#e74c3c);font-weight:700}.csp-color-text-sub-normal{color:var(--text-sub);font-weight:400}.csp-forum-detail-header-left{text-align:left;align-items:center;gap:12px;display:flex}.csp-forum-detail-avatar-img{object-fit:cover;border:2px solid var(--border-color);border-radius:50%;width:45px;height:45px}.csp-forum-detail-avatar-placeholder{background:var(--header-bg);width:45px;height:45px;color:var(--text-sub);border:2px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.csp-forum-detail-display-name{color:var(--text-main);font-size:1rem;font-weight:700}.csp-forum-detail-meta{color:var(--text-sub);margin-top:3px;font-size:.8rem}.csp-forum-detail-score-box{background:var(--bg-color);border-radius:8px;flex-direction:column;align-items:center;min-width:55px;padding:8px 14px;display:flex}.csp-forum-detail-score-num{font-size:1.6rem;font-weight:700;line-height:1}.csp-forum-detail-score-title{color:var(--text-sub);margin-top:4px;font-size:.72rem}.csp-forum-detail-score-max{color:var(--text-sub);margin-top:2px;font-size:.7rem}.csp-forum-detail-stars-wrap{align-items:center;gap:3px;display:flex}.csp-star-sweet{color:#f1c40f;margin:0 1px;font-size:.85rem}.csp-star-chill{color:#3498db;margin:0 1px;font-size:.85rem}.csp-star-know{color:#2ecc71;margin:0 1px;font-size:.85rem}.csp-star-inactive{color:var(--border-color);margin:0 1px;font-size:.85rem}.csp-forum-detail-text-title{color:var(--text-main);text-align:left;justify-content:flex-start;align-items:center;gap:6px;margin-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.csp-forum-detail-text-title i{color:var(--primary);font-size:1.05rem}.csp-forum-detail-text-body{color:var(--text-main);white-space:pre-wrap;background:var(--bg-color);border:1px solid var(--border-color);text-align:left;border-radius:10px;margin-top:10px;padding:14px 18px;font-size:.9rem;line-height:1.62;box-shadow:inset 0 1px 3px #00000005}.csp-forum-detail-actions-btn{cursor:pointer;justify-content:center;align-items:center;gap:6px;min-width:110px;transition:all .2s;display:inline-flex;border:1px solid var(--border-color)!important;border-radius:20px!important;width:auto!important;padding:8px 18px!important;font-size:.82rem!important}.csp-forum-detail-actions-btn-up-voted{color:var(--primary)!important;border-color:var(--primary)!important;background:#4361ee14!important;font-weight:700!important}.csp-forum-detail-actions-btn-down-voted{color:var(--danger,#e74c3c)!important;border-color:var(--danger,#e74c3c)!important;background:#e74c3c14!important;font-weight:700!important}.csp-forum-detail-actions-btn-up-unvoted:hover{border-color:var(--primary)!important;color:var(--primary)!important;background:#4361ee0d!important}.csp-forum-detail-actions-btn-down-unvoted:hover{border-color:var(--danger,#e74c3c)!important;color:var(--danger,#e74c3c)!important;background:#e74c3c0d!important}.csp-forum-detail-report-btn{border:1px solid var(--danger,#e74c3c);color:var(--danger,#e74c3c);cursor:pointer;background:0 0;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;width:auto;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.csp-forum-detail-report-btn:hover{background:#e74c3c14;box-shadow:0 2px 8px #e74c3c26}.csp-forum-detail-report-btn:active{background:#e74c3c26}.csp-forum-empty-notice{text-align:center;color:var(--text-sub);padding:30px 20px;font-size:.9rem}.csp-forum-load-fail{text-align:center;color:var(--danger,#e74c3c);padding:20px;font-size:.88rem}.csp-forum-loading-notice{text-align:center;color:var(--text-sub);padding:20px;font-size:.88rem}.csp-forum-loading-tags{text-align:center;color:var(--text-sub);padding:8px;font-size:.8rem}.csp-hot-card-title{white-space:normal;word-break:break-word;margin-right:75px;font-weight:500;line-height:1.4}.csp-hot-card-meta{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.csp-hot-card-badge{border-radius:20px;padding:3px 8px;font-size:.7rem;font-weight:700;position:absolute;top:10px;right:10px;box-shadow:0 2px 4px #0003}.csp-hot-card-actions{color:var(--primary);margin-top:auto;padding-top:10px;font-size:.85rem}.csp-hot-card-clock{opacity:.7;width:14px}.csp-hot-card-time-location{color:var(--text-sub);flex-direction:column;gap:2px;margin-top:6px;font-size:.75rem;display:flex}.csp-profile-review-card{cursor:pointer;box-sizing:border-box;text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;padding:12px 16px;transition:all .2s;display:flex;background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;border-radius:10px!important;margin-bottom:12px!important;font-size:.9rem!important}.csp-profile-review-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014;border-color:var(--primary)!important}.csp-profile-review-card .csp-history-card-teacher{margin-top:4px;margin-bottom:6px;font-weight:500}.csp-history-card-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.csp-history-card-title{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.92rem;font-weight:700;overflow:hidden}.csp-history-card-text{color:var(--text-sub);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.csp-history-card-date{color:var(--text-sub);margin-top:6px;font-size:.75rem}.csp-history-card-teacher{color:var(--text-sub);font-size:.78rem}.csp-history-card-meta-wrap{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.csp-history-card-badge{color:var(--primary);background:#4361ee1a;border-radius:8px;padding:1px 6px;font-size:.68rem;font-weight:600}.csp-history-card-custom{color:#7c3aed;background:#7c3aed1a;border-radius:8px;padding:1px 6px;font-size:.68rem;font-weight:600}.csp-history-card-error{color:var(--danger,#e74c3c);text-align:center;padding:15px;font-size:.8rem}.csp-leaderboard-avatar{object-fit:cover;border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;width:44px;height:44px;transition:transform .2s;box-shadow:0 2px 6px #0000000f}.leaderboard-card:hover .csp-leaderboard-avatar{transform:scale(1.05)}.csp-leaderboard-avatar-fallback{background:var(--hover-bg);width:44px;height:44px;color:var(--text-sub);border:1.5px solid var(--border-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.csp-leaderboard-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:.98rem;font-weight:700;overflow:hidden}.csp-leaderboard-points-col{text-align:right;flex-shrink:0;padding-left:12px}.csp-leaderboard-points-val{color:#e67e22;text-shadow:0 1px 1px #00000005;font-family:Outfit,-apple-system,sans-serif;font-size:1.25rem;font-weight:800}.csp-leaderboard-points-label{color:var(--text-sub);margin-top:1px;font-size:.72rem;font-weight:500}.csp-leaderboard-view-profile-text{color:var(--text-sub);background:var(--hover-bg);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;gap:4px;max-width:100%;margin-top:5px;padding:3px 8px;font-size:.72rem;transition:all .2s;display:inline-flex;overflow:hidden}.csp-leaderboard-dept-text{white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:110px;display:inline-block;overflow:hidden}.csp-leaderboard-dot{opacity:.5;margin:0 1px}.csp-leaderboard-click-hint{white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.csp-leaderboard-view-profile-text:hover{text-decoration:none!important}.csp-rank-courses-container{flex-flow:wrap;gap:6px;margin-top:6px;margin-bottom:8px;display:flex}.csp-rank-courses-header{color:var(--text-sub);margin-bottom:4px;font-size:.78rem;font-weight:600}.csp-rank-stats-row-border{border-top:1px solid var(--border-color);margin-top:4px;padding-top:6px}.leaderboard-card{box-shadow:0 2px 8px var(--shadow-color)!important;border-radius:12px!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.leaderboard-card:hover{border-color:var(--primary)!important;transform:translateY(-2px)!important;box-shadow:0 8px 20px #4361ee1f!important}.leaderboard-card:hover .csp-leaderboard-view-profile-text{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 2px 6px #4361ee4d}.leaderboard-rank{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-family:Outfit,-apple-system,sans-serif;font-size:1.3rem;font-weight:800;transition:transform .2s;display:flex;box-shadow:0 3px 8px #00000014}.leaderboard-rank.csp-medal-default{font-size:1rem!important}.leaderboard-card:hover .leaderboard-rank{transform:scale(1.08)}.csp-medal-gold{border:1.5px solid #ffe066;background:linear-gradient(135deg,gold,#ff9f43)!important}.csp-medal-silver{border:1.5px solid #eceff1;background:linear-gradient(135deg,#cfd8dc,#90a4ae)!important}.csp-medal-bronze{border:1.5px solid #fae5d3;background:linear-gradient(135deg,#f5cba7,#d35400)!important}.csp-medal-default{border:1px solid var(--border-color);background:var(--hover-bg)!important;color:var(--text-sub)!important}.csp-title-badge{white-space:nowrap!important;letter-spacing:.02em!important;border-radius:20px!important;padding:2px 10px!important;font-size:.72rem!important;font-weight:700!important;box-shadow:0 1px 3px #0000000d!important}.csp-chat-log-empty{color:var(--text-sub);text-align:center;margin-top:50px;font-style:italic}.csp-report-card-nickname{color:var(--text-main);font-size:.9rem;font-weight:600}.csp-mt12{margin-top:12px}.code-copyable{-webkit-user-select:all;user-select:all;background:var(--border-color);border-radius:4px;margin-top:6px;padding:2px 6px;font-family:monospace;display:block}@media (width<=768px){.rating-detail-container{border-radius:16px;flex-direction:column;width:92%;max-width:420px;max-height:88vh;padding:16px 14px;display:flex;overflow:hidden}.rating-detail-header-row{flex-shrink:0;margin-bottom:8px}.rating-detail-title{font-size:1.15rem}.rating-detail-meta-header{flex-shrink:0;gap:8px;margin-bottom:8px}.csp-forum-detail-display-name{font-size:.92rem}.csp-forum-detail-meta{font-size:.75rem}.rating-detail-scores-row{flex-direction:column;flex-shrink:0;gap:5px;margin-bottom:8px}.csp-forum-detail-score-box{box-sizing:border-box;width:100%;min-width:unset;border-radius:10px;flex-direction:row;justify-content:space-between;align-items:center;padding:5px 12px}.csp-forum-detail-score-title{text-align:left;width:38px;color:var(--text-main);margin-top:0;font-size:.8rem;font-weight:750}.csp-forum-detail-stars-wrap{flex:1;justify-content:center;gap:3px}.csp-forum-detail-stars-wrap i{font-size:.82rem}.csp-forum-detail-score-num{text-align:right;min-width:44px;font-size:1.05rem;font-weight:800}.csp-forum-detail-score-max{font-size:.72rem}.rating-detail-tags-row{flex-shrink:0;margin-bottom:6px}.rating-detail-body-text{-webkit-overflow-scrolling:touch;flex:auto;min-height:80px;max-height:220px;margin-bottom:8px;padding-right:3px;overflow-y:auto}.csp-forum-detail-text-title{margin-bottom:4px;font-size:.88rem}.csp-forum-detail-text-body{margin-top:4px;padding:10px 12px;font-size:.88rem;line-height:1.55}.rating-detail-actions-row{flex-shrink:0;width:100%;margin-top:2px;position:relative}.rating-detail-vote-group{justify-content:center;align-items:center;gap:8px;display:flex}.rating-detail-delete-btn{border-radius:8px;width:34px;height:34px;font-size:.88rem}.csp-forum-detail-actions-btn{min-width:95px;padding:6px 14px!important;font-size:.78rem!important}}.forum-rating-tab-switch{background:var(--surface-bg,#ffffffeb);border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color);z-index:30;-webkit-backdrop-filter:blur(12px);border-radius:12px;flex-shrink:0;align-items:center;gap:4px;margin-bottom:12px;padding:3px;display:flex;position:sticky;top:0}[data-theme=dark] .forum-rating-tab-switch{background:#1e293beb;border-color:#ffffff14}.rating-tab-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:9px;outline:none;flex:1;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:.88rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.rating-tab-btn i{font-size:.92rem;transition:transform .25s}.rating-tab-btn:hover{color:var(--text-color);background:var(--hover-bg,#0000000a)}.rating-tab-btn.active{background:var(--primary,#4361ee);box-shadow:0 3px 10px #4361ee59;color:#fff!important}.rating-tab-btn.active i{transform:scale(1.1)}.forum-rating-slider-viewport{flex-shrink:0;width:100%;position:relative;overflow:hidden}.forum-rating-slider-track{will-change:transform;align-items:flex-start;width:200%;transition:transform .35s cubic-bezier(.25,1,.5,1);display:flex}.rating-slider-page{box-sizing:border-box;flex-direction:column;flex-shrink:0;width:50%;min-width:50%;max-width:50%;padding:2px 1px 90px;display:flex}.rating-external-top-buttons{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.rating-ext-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:0 2px 6px var(--shadow-color);cursor:pointer;box-sizing:border-box;border-radius:12px;outline:none;align-items:center;padding:8px 10px;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;color:var(--text-color)!important;text-decoration:none!important}.rating-ext-card:hover{box-shadow:0 5px 14px var(--shadow-color);transform:translateY(-2px)}.rating-ext-card.fb-card:hover{background:linear-gradient(135deg, var(--surface-bg) 60%, #1877f214);border-color:#1877f2}.rating-ext-card.opt-card:hover{background:linear-gradient(135deg, var(--surface-bg) 60%, #f39c1217);border-color:#f39c12}.rating-ext-card.google-card:hover{background:linear-gradient(135deg, var(--surface-bg) 60%, #4285f417);border-color:#4285f4}.ext-card-left{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.ext-card-icon-box{color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.ext-card-icon-box.fb{background:linear-gradient(135deg,#1877f2,#0d65d9);box-shadow:0 2px 6px #1877f24d}.ext-card-icon-box.opt{background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 2px 6px #f39c124d}.ext-card-icon-box.google{background:linear-gradient(135deg,#4285f4,#34a853);box-shadow:0 2px 6px #4285f44d}.ext-card-info{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.ext-card-title{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:700;overflow:hidden}.ext-card-desc{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.68rem;overflow:hidden}@media (width<=768px){.rating-external-top-buttons{gap:6px;margin-bottom:10px;display:grid;grid-template-columns:repeat(3,1fr)!important}.rating-ext-card{min-width:0;padding:6px 5px}.ext-card-left{gap:5px;min-width:0}.ext-card-icon-box{border-radius:7px;width:26px;height:26px;font-size:.82rem}.ext-card-title{font-size:.72rem}.ext-card-desc{font-size:.58rem}}@media (width<=400px){.rating-external-top-buttons{gap:4px}.rating-ext-card{padding:5px 3px}.ext-card-left{gap:4px}.ext-card-icon-box{border-radius:6px;width:22px;height:22px;font-size:.75rem}.ext-card-title{font-size:.68rem}.ext-card-desc{display:none}}.rating-dcard-section{flex-direction:column;gap:8px;display:flex}.rating-dcard-header{justify-content:space-between;align-items:center;margin-bottom:2px;padding:4px 2px;display:flex}.rating-dcard-header .dcard-title-left{color:var(--text-color);align-items:center;gap:7px;font-size:.92rem;font-weight:700;display:flex}.rating-dcard-header .dcard-badge{color:#fff;background:#006aa6;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.rating-dcard-header .dcard-header-actions{align-items:center;gap:8px;display:flex}.rating-dcard-header .dcard-sort-bar{color:var(--text-sub);align-items:center;gap:5px;font-size:.78rem;display:flex}.rating-dcard-header .dcard-sort-bar select{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-color);cursor:pointer;border-radius:6px;outline:none;padding:2px 6px;font-size:.78rem}.dcard-reload-btn{border:1px solid var(--border-color);background:var(--surface-bg);width:26px;height:26px;color:var(--text-sub);cursor:pointer;box-shadow:0 1px 3px var(--shadow-color);border-radius:7px;outline:none;justify-content:center;align-items:center;padding:0;font-size:.78rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.dcard-reload-btn:hover{color:var(--primary,#4361ee);border-color:var(--primary,#4361ee);background:#4361ee14}.dcard-reload-btn:active{transform:scale(.92)}.dcard-reload-btn.loading-spin i{animation:1s linear infinite fa-spin}.rating-dcard-loading{text-align:center;color:var(--text-sub);justify-content:center;align-items:center;gap:8px;padding:24px;font-size:.88rem;display:none}.rating-dcard-posts-container{flex-direction:column;gap:8px;padding-bottom:80px;display:flex}.google-search-modal-box{background:var(--bg-main,#fff);box-sizing:border-box;border-radius:16px;flex-direction:column;width:95%;max-width:920px;height:85vh;max-height:850px;padding:16px;display:flex;overflow:hidden}.google-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:12px;display:flex}.google-modal-title-group{align-items:center;gap:10px;min-width:0;display:flex}.google-modal-icon-circle{color:#fff;background:linear-gradient(135deg,#4285f4,#34a853);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;display:flex}.google-modal-subtitle{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin-top:1px;font-size:.78rem;overflow:hidden}.google-modal-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.google-search-ext-btn{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-color);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.google-search-ext-btn:hover{color:#4285f4;background:#4285f414;border-color:#4285f4}.google-search-loading{color:var(--text-sub);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:200px;font-size:.95rem;display:flex}.google-search-iframe{background:#fff;border:none;border-radius:10px;flex:1;width:100%;height:100%;min-height:0}@media (width<=600px){.rating-external-top-buttons{grid-template-columns:1fr;gap:8px}.google-modal-subtitle{max-width:180px}.google-search-modal-box{border-radius:14px 14px 0 0;width:100%;height:92vh;max-height:none;margin-top:auto;padding:12px}}.identity-panel-top-row{background:var(--header-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;border-radius:12px;flex-direction:column;align-items:center;gap:16px;margin-top:8px;margin-bottom:10px;padding:16px;display:flex}.identity-panel-progress{flex-shrink:0;justify-content:center;align-items:center;display:flex}.identity-panel-ring-wrap{justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.identity-panel-ring-wrap svg{filter:drop-shadow(0 2px 4px #0000000d);transform:rotate(-90deg)}.identity-panel-ring-wrap circle{cx:50;cy:50;r:40;fill:#0000}.identity-panel-ring-wrap circle[stroke="var(--border-color)"]{stroke-width:8px;opacity:.3}.identity-ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:absolute}.identity-ring-val{color:var(--text-color);font-size:1.25rem;font-weight:800;line-height:1.1}.identity-ring-unit{color:var(--text-sub);margin-top:2px;font-size:.65rem}.identity-panel-stats{flex-direction:column;justify-content:center;gap:8px;width:100%;display:flex}.identity-panel-stat-row{align-items:center;gap:8px;font-size:.95rem;display:flex}.identity-panel-stat-label{color:var(--text-sub,#64748b)}.identity-panel-stat-val{color:var(--text-color,#1e293b);font-weight:700}.identity-panel-stat-val.pct-text{font-size:1.1rem;font-weight:800}.pct-text--main{color:#3b82f6}.pct-text--double-major{color:#f59e0b}.pct-text--minor{color:#6366f1}.pct-text--teacher-edu{color:#10b981}.pct-text--program-1{color:#3b82f6}.pct-text--program-2{color:#8b5cf6}#profile-history-credits-ring,#profile-current-credits-ring{stroke-width:9px;stroke-linecap:round;stroke-dasharray:251.2;stroke-dashoffset:251.2px;transform-origin:50px 50px;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}#profile-history-credits-ring{stroke:#3b82f6}#profile-current-credits-ring{stroke:#10b981}.identity-ring-arc{stroke-width:9px;stroke-linecap:round;stroke-dasharray:251.2;stroke-dashoffset:251.2px;transform-origin:50px 50px;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.collapsible-profile-sec .collapsible-content.show{opacity:1!important;max-height:none!important;overflow:visible!important}#profile-credits-content.collapsible-content.show,#profile-tab-credits .collapsible-content.show,#profile-tab-history .collapsible-content.show,#profile-tab-reviews .collapsible-content.show,#profile-tab-basic .collapsible-content.show,#profile-tab-identity .collapsible-content.show{max-height:none!important;overflow:visible!important}.stats-panels-wrapper{box-sizing:border-box;width:100%;padding:0;position:relative;overflow:hidden}.stats-panels-track{will-change:transform;width:100%;transition:transform .38s cubic-bezier(.25,.8,.25,1);display:flex}.stats-panel{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:100%;max-width:100%;padding:2px;overflow:hidden}.stats-panel-label{color:var(--text-color);align-items:center;gap:6px;margin-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.stats-panel-nav-row{justify-content:center;align-items:center;gap:16px;margin-top:12px;margin-bottom:4px;display:flex}.stats-panel-nav-btn{background:var(--bg-hover,#0000000d);color:var(--text-color);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:all .2s;display:flex}.stats-panel-nav-btn:hover{background:var(--primary-color,#4361ee);color:#fff}.stats-panel-dots{align-items:center;gap:6px;display:flex}.stats-panel-dot{background:var(--border-color);cursor:pointer;border-radius:50%;width:6px;height:6px;transition:all .2s}.stats-panel-dot.active{background:var(--primary-color,#4361ee);border-radius:3px;width:12px}.sidebar-identity-ring-arc{stroke-width:9px;stroke-linecap:round;stroke-dasharray:314.16;stroke-dashoffset:314.16px;transform-origin:60px 60px;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.total-progress-center-text .identity-ring-val{color:var(--text-color);font-size:1.5rem;font-weight:800;line-height:1.1}.total-progress-center-text .identity-ring-unit{color:var(--text-sub);margin-top:2px;font-size:.68rem}.sidebar-stat-req{color:var(--c-required)}.sidebar-stat-ele{color:var(--c-elective)}.sidebar-stat-gen{color:var(--c-general)}.sidebar-stat-common{color:var(--c-common)}.sidebar-stat-pe{color:var(--c-pe)}.sidebar-stat-other{color:var(--text-sub)}#stats-panel-double_major .credits-accumulated-badge{color:#f59e0b;background:#f59e0b14}#stats-panel-double_major .current-project-credits-bar{background:#f59e0b0a;border-color:#f59e0b1f}#stats-panel-double_major .current-project-credits-label i,#stats-panel-double_major .current-project-credits-value{color:#f59e0b}#stats-panel-minor .credits-accumulated-badge{color:#6366f1;background:#6366f114}#stats-panel-minor .current-project-credits-bar{background:#6366f10a;border-color:#6366f11f}#stats-panel-minor .current-project-credits-label i,#stats-panel-minor .current-project-credits-value{color:#6366f1}#stats-panel-teacher_edu .credits-accumulated-badge{color:#10b981;background:#10b98114}#stats-panel-teacher_edu .current-project-credits-bar{background:#10b9810a;border-color:#10b9811f}#stats-panel-teacher_edu .current-project-credits-label i,#stats-panel-teacher_edu .current-project-credits-value{color:#10b981}#stats-panel-program_1 .credits-accumulated-badge{color:#3b82f6;background:#3b82f614}#stats-panel-program_1 .current-project-credits-bar{background:#3b82f60a;border-color:#3b82f61f}#stats-panel-program_1 .current-project-credits-label i,#stats-panel-program_1 .current-project-credits-value{color:#3b82f6}#stats-panel-program_2 .credits-accumulated-badge{color:#8b5cf6;background:#8b5cf614}#stats-panel-program_2 .current-project-credits-bar{background:#8b5cf60a;border-color:#8b5cf61f}#stats-panel-program_2 .current-project-credits-label i,#stats-panel-program_2 .current-project-credits-value{color:#8b5cf6}.profile-stats-rings-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}.stat-ring-item{background:var(--surface-bg);border:1px solid var(--border-color);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;align-items:center;padding:12px 8px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.stat-ring-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-ring-item.selected-card{border-color:var(--border-color);background:var(--card-bg,var(--surface-bg));box-shadow:var(--shadow-sm)}.stat-ring-item.selected-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-ring-item.clickable-stat:after{content:"";color:var(--text-sub);opacity:.35;font-family:"Font Awesome 5 Free";font-size:.68rem;font-weight:900;transition:all .25s cubic-bezier(.4,0,.2,1);position:absolute;top:8px;right:8px}.stat-ring-item.clickable-stat:hover:after{color:var(--primary);opacity:.95;transform:scale(1.25)}.stat-ring-wrap{width:56px;height:56px;margin-bottom:8px;position:relative}.stat-ring-wrap svg{width:56px;height:56px;transform:rotate(-90deg)}.stat-ring-wrap circle{fill:none;stroke-width:5px}.stat-ring-wrap .ring-bg{stroke:var(--border-color)}.stat-ring-wrap .ring-fg{stroke-linecap:round;stroke-dasharray:144.5;stroke-dashoffset:144.5px;transition:stroke-dashoffset .6s ease-in-out}#ring-req-main,#ring-req-double_major,#ring-req-minor,#ring-req-teacher_edu,#ring-req-program_1,#ring-req-program_2{stroke:var(--c-required)}#ring-ele-main,#ring-ele-double_major,#ring-ele-minor,#ring-ele-teacher_edu,#ring-ele-program_1,#ring-ele-program_2{stroke:var(--c-elective)}#ring-gen-main,#ring-gen-double_major,#ring-gen-minor,#ring-gen-teacher_edu,#ring-gen-program_1,#ring-gen-program_2{stroke:var(--c-general)}#ring-common-main,#ring-common-double_major,#ring-common-minor,#ring-common-teacher_edu,#ring-common-program_1,#ring-common-program_2{stroke:var(--c-common)}#ring-pe-main,#ring-pe-double_major,#ring-pe-minor,#ring-pe-teacher_edu,#ring-pe-program_1,#ring-pe-program_2{stroke:var(--c-pe)}#ring-other-main,#ring-other-double_major,#ring-other-minor,#ring-other-teacher_edu,#ring-other-program_1,#ring-other-program_2{stroke:var(--c-default)}.stat-ring-text{justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:absolute;top:0;left:0}.stat-ring-val{color:var(--text-main);font-size:11px;font-weight:700}.stat-ring-info{flex-direction:column;align-items:center;gap:2px;display:flex}.stat-ring-label{color:var(--text-main);font-size:13px;font-weight:600}.edit-threshold-trigger{color:var(--text-sub);background:var(--hover-bg);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;transition:all .2s;display:flex}.edit-threshold-trigger:hover{background:var(--primary);color:#fff}.edit-threshold-trigger .edit-pencil{opacity:.7;font-size:10px}.threshold-inline-input{text-align:center;border:1px solid var(--border-color);background:var(--surface-bg);width:44px;height:20px;color:var(--text-main);border-radius:4px;outline:none;margin-top:4px;padding:0;font-size:11px;font-weight:600;transition:border-color .2s}.threshold-inline-input:focus{border-color:var(--primary);background:var(--bg-color)}.threshold-inline-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.threshold-inline-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.threshold-inline-input{appearance:textfield}.stat-ring-progress-text{color:var(--text-sub);margin-top:2px;font-size:10px;font-weight:500}.profile-category-detail-container{opacity:0;max-height:0;margin-top:0;transition:max-height .4s ease-out,opacity .3s ease-out;overflow:hidden}.profile-category-detail-container.expanded{opacity:1;max-height:1200px;margin-top:16px;transition:max-height .5s ease-in,opacity .3s ease-in;overflow-y:auto}.category-semester-card{background:var(--surface-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:10px;transition:border-color .2s;overflow:hidden}.category-semester-card:hover{border-color:var(--primary)}.category-semester-card-header{background:var(--header-bg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .2s;display:flex}.category-semester-card-header:hover{background:var(--hover-bg)}.category-semester-card-title-wrap{align-items:center;gap:8px;display:flex}.category-semester-card-title{color:var(--text-main);font-size:13px;font-weight:600}.category-semester-card-actions{align-items:center;gap:12px;display:flex}.category-semester-card-btn{border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;transition:all .2s;display:flex}.category-semester-card-btn:hover{background:var(--primary);color:#fff}.category-semester-arrow{color:var(--text-sub);font-size:11px;transition:transform .3s}.category-semester-arrow.rotate-180{transform:rotate(180deg)}.category-semester-card-body{max-height:0;transition:max-height .3s ease-out;overflow:hidden}.category-semester-card-body.show{border-top:1px solid var(--border-color);max-height:500px;overflow-y:auto}.category-courses-list{flex-direction:column;gap:8px;padding:10px 14px;display:flex}.category-course-row{background:var(--bg-color);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:12px;display:flex}.category-course-name{color:var(--text-main);font-weight:500}.category-course-info{color:var(--text-sub);align-items:center;gap:8px;display:flex}@media (width<=600px){.identity-panel-top-row{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:16px!important}.identity-panel-stats{width:100%!important}.profile-stats-rings-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}.stat-ring-item{padding:8px 4px!important}.stat-ring-wrap,.stat-ring-wrap svg,.stat-ring-text{width:44px!important;height:44px!important}.stat-ring-val{font-size:9px!important}.stat-ring-label{font-size:11px!important}.stat-ring-progress-text{margin-top:1px!important;font-size:9px!important}.threshold-inline-input{width:38px!important;height:18px!important;margin-top:2px!important;font-size:9px!important}}.profile-program-input-row{align-items:center;width:100%;display:flex}.profile-program-input-row .profile-text-input{flex:1;margin-top:0!important}.profile-program-save-btn{background:var(--success);color:#fff;cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:8px;justify-content:center;align-items:center;width:0;height:36px;margin-left:0;font-size:14px;transition:width .3s,margin-left .3s,opacity .3s,transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;overflow:hidden;transform:scale(.8)}.profile-program-save-btn.visible{opacity:1;pointer-events:auto;width:36px;margin-left:8px;transform:scale(1)}.category-semester-card-credits{color:var(--text-sub);margin-left:6px;font-weight:400}.profile-project-current-badge{color:var(--primary);background:#4361ee1a;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.threshold-modal-message{color:var(--text-sub);margin-bottom:12px;font-size:13.5px}.threshold-modal-input-wrap{width:100%;margin-bottom:20px}.threshold-modal-field{text-align:center;padding:8px;font-size:16px}.profile-audit-detail-modal-overlay{z-index:55000!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;background:#0009!important}.profile-audit-detail-modal-box{width:480px;max-width:90vw;height:520px;max-height:75vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;padding:20px;display:flex;background:var(--surface-bg)!important;background-color:var(--surface-bg)!important}.profile-audit-detail-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.profile-audit-detail-title-wrap{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.profile-audit-detail-close-btn{cursor:pointer;color:var(--text-sub);font-size:24px;line-height:1;transition:color .2s}.profile-audit-detail-close-btn:hover{color:var(--text-main)}.profile-audit-detail-scroll-content{flex:1;margin-top:15px;padding-right:5px;overflow-y:auto}.profile-audit-completion-bar{box-sizing:border-box;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:6px 12px;font-size:.8rem;font-weight:700;display:flex}.profile-audit-completion-label{color:var(--text-sub)}#profile-panel-main .profile-audit-completion-bar{background:#4361ee0f;border:1px solid #4361ee26}#profile-panel-main .pct-text{color:#4361ee}#profile-panel-double_major .profile-audit-completion-bar{background:#f59e0b0f;border:1px solid #f59e0b26}#profile-panel-double_major .pct-text{color:#f59e0b}#profile-panel-minor .profile-audit-completion-bar{background:#6366f10f;border:1px solid #6366f126}#profile-panel-minor .pct-text{color:#6366f1}#profile-panel-teacher_edu .profile-audit-completion-bar{background:#10b9810f;border:1px solid #10b98126}#profile-panel-teacher_edu .pct-text{color:#10b981}#profile-panel-program_1 .profile-audit-completion-bar{background:#3b82f60f;border:1px solid #3b82f626}#profile-panel-program_1 .pct-text{color:#3b82f6}#profile-panel-program_2 .profile-audit-completion-bar{background:#8b5cf60f;border:1px solid #8b5cf626}#profile-panel-program_2 .pct-text{color:#8b5cf6}.profile-audit-remaining-bar{box-sizing:border-box;background:#e74c3c0f;border:1px solid #e74c3c26;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.profile-audit-remaining-label{color:var(--text-sub)}.remaining-text{color:var(--danger)}.profile-audit-remaining-bar.is-completed{background:#2ecc710f;border:1px solid #2ecc7126}.profile-audit-remaining-bar.is-completed .remaining-text{color:var(--success)}.stats-panel-dept-badge{vertical-align:middle;border:1px solid #0000;border-radius:12px;margin-left:8px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-block}.stats-panel-dept-badge.main{color:#4361ee;background:#4361ee14;border-color:#4361ee26}.stats-panel-dept-badge.double_major{color:#f59e0b;background:#f59e0b14;border-color:#f59e0b26}.stats-panel-dept-badge.minor{color:#6366f1;background:#6366f114;border-color:#6366f126}.stats-panel-dept-badge.program_1{color:#3b82f6;background:#3b82f614;border-color:#3b82f626}.stats-panel-dept-badge.program_2{color:#8b5cf6;background:#8b5cf614;border-color:#8b5cf626}#course-reclass-modal{z-index:60000}#course-reclass-modal .modal{max-width:400px;padding:24px}#course-reclass-modal .modal-header-row{margin-bottom:16px}#course-reclass-modal .modal-header-row h3{align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:600;display:flex}#course-reclass-modal .modal-header-row h3 i{color:var(--primary)}#reclass-modal-body .reclass-course-info-block{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:12px}#reclass-modal-course-name{color:var(--text-main);margin-bottom:4px;font-size:1.1rem;font-weight:700}#reclass-modal-course-meta{color:var(--text-sub);font-size:.85rem}#reclass-modal-body .profile-form-field{margin-bottom:16px}#reclass-modal-body .profile-form-field.cat-field{margin-bottom:24px}#reclass-modal-body .profile-form-label{margin-bottom:6px;font-weight:600;display:block}#reclass-modal-body .profile-select-input{border:1.5px solid var(--border-color);background-color:var(--surface-bg);width:100%;color:var(--text-main);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234361ee' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;border-radius:12px;height:48px;padding:10px 40px 10px 18px;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1.5;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #00000005}#reclass-modal-body #reclass-modal-alloc-select{border-left:5px solid #10b981}#reclass-modal-body #reclass-modal-cat-select{border-left:5px solid #4361ee}#reclass-modal-body .profile-select-input:hover{background-color:var(--hover-bg);border-color:#4361ee66;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}#reclass-modal-body .profile-select-input:focus{border-color:var(--primary);outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #4361ee1f,0 4px 12px #4361ee14}#reclass-modal-body .modal-btn-row-center{gap:12px;margin-top:8px}.clickable-course-stats-row{cursor:pointer}.clickable-course-stats-row .stats-row-action-text{color:var(--primary);background-color:#4361ee0f;border:1.5px solid #4361ee1f;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.clickable-course-stats-row:hover .stats-row-action-text{background-color:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 10px #4361ee40}.category-course-row.clickable-course-stats-row{justify-content:space-between;align-items:center;display:flex}.category-course-row.clickable-course-stats-row .stats-row-action-text{flex-shrink:0;margin-left:10px}.stats-panel-teacher-edu-grid{grid-template-columns:1fr!important}.stats-panel-teacher-edu-item{padding:16px!important}.stats-panel-teacher-edu-val{color:#10b981!important;font-size:1.6rem!important}.stats-panel-teacher-edu-label{margin-top:4px!important;font-size:.95rem!important}.more-stats-btn{border:1.5px solid var(--border-color);color:var(--text-sub);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:6px;margin:0 auto 40px;padding:8px 22px;font-size:.82rem;font-weight:600;transition:all .25s;display:flex}.more-stats-btn:hover{border-color:var(--primary);color:var(--primary);background:#4361ee0f;transform:translateY(-1px)}.platform-stats-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;animation:.2s ps-fadeIn;display:none;position:fixed;inset:0}.platform-stats-loading.ps-error{color:var(--danger)}.ps-empty{text-align:center;width:100%}@keyframes ps-fadeIn{0%{opacity:0}to{opacity:1}}.platform-stats-modal{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:20px;flex-direction:column;width:90%;max-width:640px;max-height:80vh;animation:.3s ps-slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}@keyframes ps-slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.platform-stats-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px 14px;display:flex}.platform-stats-header h3{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.1rem;font-weight:700;display:flex}.platform-stats-header h3 i{color:var(--primary)}.platform-stats-header-actions{align-items:center;gap:8px;display:flex}.refresh-stats-btn{border:1.5px solid var(--border-color);color:var(--text-sub);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:.8rem;transition:all .2s}.refresh-stats-btn:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.refresh-stats-btn:disabled{opacity:.4;cursor:not-allowed}.refresh-stats-btn.spinning i{animation:.8s linear infinite ps-spin}@keyframes ps-spin{to{transform:rotate(360deg)}}.platform-stats-close{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.1rem;transition:all .2s}.platform-stats-close:hover{background:var(--hover-bg);color:var(--danger)}.platform-stats-body{flex:1;padding:20px 24px 24px;overflow-y:auto}.platform-stats-loading{text-align:center;color:var(--text-sub);padding:40px 0;font-size:.95rem}.ps-summary-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:24px;display:grid}.ps-summary-card{background:var(--hover-bg);text-align:center;border:1px solid var(--border-color);border-radius:14px;padding:16px 10px;transition:transform .2s}.ps-summary-card:hover{transform:translateY(-2px)}.ps-summary-card .ps-val{color:var(--primary);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;line-height:1.2}.ps-summary-card .ps-label{color:var(--text-sub);margin-top:4px;font-size:.7rem;font-weight:500}.ps-section-title{color:var(--text-main);align-items:center;gap:6px;margin:0 0 10px;font-size:.85rem;font-weight:700;display:flex}.ps-collapsible-section{margin-bottom:20px}.ps-collapsible-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ps-section-title-left{align-items:center;gap:8px;display:flex}.ps-title-count-pill{color:var(--text-sub);background:var(--hover-bg);border:1px solid var(--border-color);border-radius:10px;padding:1px 7px;font-size:.68rem;font-weight:500}.ps-title-coverage-pill{color:var(--primary);background:#4361ee14;border-color:#4361ee4d;font-weight:600}.ps-toggle-expand-btn{background:var(--hover-bg);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.ps-toggle-expand-btn:hover{color:var(--primary);border-color:var(--primary)}.ps-toggle-icon{font-size:.65rem;transition:transform .25s}.ps-dept-extra-row,.ps-year-extra-row{transition:opacity .25s}.ps-dept-extra-row.ps-hidden,.ps-year-extra-row.ps-hidden{display:none!important}.ps-expand-footer{justify-content:center;margin-top:8px;display:flex}.ps-expand-more-btn{background:var(--hover-bg);border:1px dashed var(--border-color);color:var(--text-sub);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:7px 16px;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.ps-expand-more-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--surface-bg);box-shadow:0 2px 8px #0000000d}.ps-bar-list{flex-direction:column;gap:5px;margin-bottom:20px;display:flex}.ps-bar-row{align-items:center;gap:8px;display:flex}.ps-bar-label{color:var(--text-sub);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:110px;min-width:110px;max-width:110px;font-size:.73rem;font-weight:500;overflow:hidden}.ps-bar-track{background:var(--hover-bg);border-radius:9px;flex:1;height:18px;overflow:hidden}.ps-bar-fill{background:linear-gradient(135deg, var(--primary), #7c3aed);border-radius:9px;min-width:2px;height:100%;transition:width .6s cubic-bezier(.25,.8,.25,1)}.ps-bar-fill.bar-green{background:linear-gradient(135deg,#059669,#34d399)}.ps-bar-count{color:var(--text-sub);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;justify-content:flex-end;align-items:baseline;gap:4px;min-width:86px;font-size:.7rem;font-weight:600;display:inline-flex}.ps-bar-num{color:var(--text-sub)}.ps-bar-pct{color:var(--text-sub);opacity:.75;font-size:.65rem;font-weight:500}.ps-timestamp{text-align:center;color:var(--text-sub);opacity:.7;margin-top:18px;font-size:.7rem}.ps-chart-section{border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px}.ps-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ps-chart-title{color:var(--text-main);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.ps-chart-title i{color:var(--primary)}.ps-chart-stats-badge{color:var(--text-sub);background:var(--hover-bg);border:1px solid var(--border-color);border-radius:12px;padding:3px 10px;font-size:.72rem;font-weight:600}.ps-chart-stats-badge b{color:var(--primary);font-variant-numeric:tabular-nums}.ps-chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ps-range-btn-group{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.ps-range-btn{color:var(--text-sub);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 9px;font-size:.72rem;font-weight:600;transition:all .2s}.ps-range-btn:hover{color:var(--text-main)}.ps-range-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 6px #4361ee59}.ps-metric-toggle-group{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.ps-metric-btn{color:var(--text-sub);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 9px;font-size:.72rem;font-weight:600;transition:all .2s}.ps-metric-btn:hover{color:var(--text-main)}.ps-metric-btn.active{background:var(--surface-bg);color:var(--primary);border:1px solid var(--border-color);box-shadow:0 1px 3px #00000014}.ps-chart-container{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:14px;padding:12px 14px 10px;position:relative;overflow:hidden}.ps-chart-canvas-wrap{width:100%;height:220px;position:relative}.ps-chart-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.ps-chart-canvas.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.ps-slider-bar-wrap{border-top:1px dashed var(--border-color);flex-direction:column;gap:4px;margin-top:10px;padding-top:8px;display:flex}.ps-slider-info{color:var(--text-sub);justify-content:space-between;align-items:center;font-size:.68rem;font-weight:500;display:flex}.ps-slider-inputs{align-items:center;height:24px;display:flex;position:relative}.ps-range-slider{appearance:none;background:var(--border-color);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px;transition:background .2s}.ps-range-slider::-webkit-slider-thumb{appearance:none;background:var(--primary);border:2px solid var(--surface-bg);cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .15s,background-color .15s;box-shadow:0 2px 6px #00000040}.ps-range-slider::-webkit-slider-thumb:hover{background:#3b5bdb;transform:scale(1.15)}.ps-range-slider::-moz-range-thumb{background:var(--primary);border:2px solid var(--surface-bg);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #00000040}.ps-chart-tooltip{pointer-events:none;z-index:20;-webkit-backdrop-filter:blur(10px);color:#f8fafc;white-space:nowrap;background:#0f172aeb;border:1px solid #ffffff2e;border-radius:10px;padding:7px 11px;font-size:.72rem;transition:opacity .1s;display:none;position:absolute;box-shadow:0 8px 24px #00000059}[data-theme=light] .ps-chart-tooltip{color:#0f172a;background:#fffffff2;border:1px solid #0000001f;box-shadow:0 8px 24px #00000024}.ps-chart-tooltip .tooltip-date{color:var(--text-main,#38bdf8);align-items:center;gap:4px;margin-bottom:3px;font-size:.75rem;font-weight:700;display:flex}.ps-chart-tooltip .tooltip-row{color:var(--text-sub,#cbd5e1);justify-content:space-between;align-items:center;gap:12px;line-height:1.4;display:flex}.ps-chart-tooltip .tooltip-row b{color:var(--primary,#60a5fa);font-variant-numeric:tabular-nums}.ps-chart-tooltip .tooltip-dept-name{align-items:center;gap:5px;display:flex}.ps-chart-tooltip .tooltip-dept-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.ps-dept-selector-wrap{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.ps-dept-selector-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ps-dept-top-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ps-dept-selector-body{flex-direction:column;gap:8px;margin-top:4px;transition:all .25s;display:flex}.ps-dept-selector-body.ps-hidden{display:none!important}.ps-dept-select-label{color:var(--text-main);align-items:center;gap:5px;font-size:.74rem;font-weight:700;display:flex}.ps-dept-select-label i{color:var(--primary)}.ps-dept-quick-actions{align-items:center;gap:5px;display:flex}.ps-dept-action-btn{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;border-radius:6px;padding:3px 8px;font-size:.68rem;font-weight:600;transition:all .2s}.ps-dept-action-btn:hover{color:var(--primary);border-color:var(--primary)}.ps-dept-search-wrap{width:100%;position:relative}.ps-dept-search-input{border:1px solid var(--border-color);background:var(--surface-bg);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:8px;outline:none;padding:6px 10px 6px 28px;font-size:.75rem;transition:border-color .2s,box-shadow .2s}.ps-dept-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4361ee26}.ps-dept-search-icon{color:var(--text-sub);pointer-events:none;font-size:.7rem;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.ps-dept-chips{flex-wrap:wrap;gap:6px;max-height:125px;padding-right:2px;display:flex;overflow-y:auto}.ps-dept-chips::-webkit-scrollbar{width:4px}.ps-dept-chips::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.ps-dept-chip{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:.72rem;transition:all .2s;display:inline-flex}.ps-dept-chip:hover{color:var(--text-main);border-color:var(--primary);transform:translateY(-1px)}.ps-dept-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;box-shadow:0 2px 6px #4361ee40}.ps-dept-chip-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:transform .15s}.ps-dept-chip.active .ps-dept-chip-dot{background:#fff;transform:scale(1.15)}.ps-dept-chip-count{opacity:.8;margin-left:2px;font-size:.65rem}.ps-dept-legend-wrap{border-top:1px solid var(--border-color);margin-top:10px;padding-top:8px}.ps-dept-legend-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.ps-dept-legend-title{color:var(--text-main);align-items:center;gap:5px;font-size:.74rem;font-weight:700;display:flex}.ps-dept-legend-title i{color:var(--primary)}.ps-dept-chart-legend{flex-wrap:wrap;align-items:center;gap:8px;transition:all .25s;display:flex}.ps-dept-chart-legend.ps-hidden{display:none!important}.ps-dept-legend-item{color:var(--text-main);background:var(--surface-bg);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.ps-dept-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ps-dept-legend-val{color:var(--text-sub);font-size:.68rem;font-weight:500}@media (width<=600px){.ps-bar-label{width:95px;min-width:95px;max-width:95px}.ps-bar-count{min-width:78px}.ps-chart-canvas-wrap{height:180px}.ps-range-btn,.ps-metric-btn{padding:3px 6px;font-size:.68rem}.ps-dept-chips{max-height:100px}}.tour-overlay{z-index:2200;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.tour-backdrop-svg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.tour-tooltip{background:var(--surface-bg);z-index:2300;pointer-events:auto;border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:8px;width:270px;max-width:calc(100vw - 32px);padding:14px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;box-shadow:0 8px 24px #00000040,0 1px 3px #0000001a}#profile-modal,#profile-modal-scrollable-content{z-index:2100}.tour-highlighted-target{background:var(--surface-bg);border-radius:8px;z-index:2250!important;pointer-events:auto!important;position:relative!important;box-shadow:0 0 15px #4361ee66!important}.ts-dropdown{z-index:2400!important}.tour-tooltip:after{content:"";border-style:solid;position:absolute}.tour-step-dots{align-items:center;gap:6px;display:flex}.tour-dot{background-color:var(--border-color);border-radius:50%;width:6px;height:6px;transition:all .2s}.tour-dot.active{background-color:var(--primary);transform:scale(1.3)}.tour-tooltip-title{color:var(--text-main);align-items:center;gap:6px;margin:0;font-size:1rem;font-weight:700;display:flex}.tour-tooltip-body{color:var(--text-sub);margin:0;font-size:.82rem;line-height:1.45}.tour-tooltip-warn{color:var(--text-danger);background:#e74c3c14;border:1px solid #e74c3c33;border-radius:6px;padding:6px 10px;font-size:.78rem;font-weight:500}.tour-tooltip-actions{justify-content:flex-end;align-items:center;margin-top:4px;display:flex}.tour-skip-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 12px;font-size:.9rem;font-weight:500;transition:background-color .2s}.tour-skip-btn:hover{background-color:var(--hover-bg);color:var(--text-main)}.tour-btn-next{background-color:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .2s;box-shadow:0 4px 10px #4361ee33}.tour-btn-next:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 12px #4361ee4d}.tour-btn-next:active{transform:translateY(0)}.tour-btn-next:disabled,.tour-btn-next.disabled{background-color:var(--border-color)!important;color:var(--text-sub)!important;cursor:not-allowed!important;opacity:.6!important;box-shadow:none!important;transform:none!important}.profile-tab-header{background:var(--bg-hover,#ffffff05);border-bottom:1px solid var(--border-color,#ffffff14);scrollbar-width:thin;white-space:nowrap;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;padding:12px 16px 14px;display:flex;overflow-x:auto}.profile-tab-header::-webkit-scrollbar{height:4px;display:block}.profile-tab-header::-webkit-scrollbar-track{background:0 0}.profile-tab-header::-webkit-scrollbar-thumb{background:var(--border-color,#00000026);border-radius:4px}.profile-tab-btn{color:var(--text-sub,#b0b3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:500;transition:all .2s;display:flex}.profile-tab-btn i{opacity:.85;font-size:.85rem}.profile-tab-btn:hover{background:var(--bg-hover,#ffffff0d);color:var(--text-main,#fff)}.profile-tab-btn.active{background:var(--primary-light,#4361ee26);color:var(--primary-color,#5c7cfa);font-weight:600}.profile-tab-panel{padding:16px 20px;display:none}.profile-tab-panel.active{display:block}.profile-section-title{color:var(--text-main,#fff);align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;font-weight:600;display:flex}.profile-section-title i{color:var(--primary-color,#5c7cfa)}.profile-fixed-header{flex-direction:column;flex-shrink:0;display:flex}.profile-header-sec{flex-shrink:0}@media screen and (width<=600px){#profile-modal{justify-content:center!important;align-items:center!important}.profile-modal-container{border-radius:20px!important;width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleUp!important;overflow:hidden!important}#profile-modal-scrollable-content{min-height:0!important;overflow-y:auto!important}}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.reclass-allocations-section{margin-top:16px;margin-bottom:16px}.reclass-alloc-row{background:var(--hover-bg);border:1.5px dashed var(--border-color);border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:10px;display:flex}.reclass-alloc-row>div{flex:1}.reclass-alloc-row .profile-select-input{height:40px!important;box-shadow:none!important;border-radius:8px!important;padding:6px 30px 6px 12px!important;font-size:.88rem!important}.btn-delete-alloc-row{color:#ef4444;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;font-size:1.1rem;transition:transform .2s,color .2s;display:flex}.btn-delete-alloc-row:hover{color:#dc2626;transform:scale(1.15)}.btn-add-alloc{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:12px;margin-bottom:20px;display:flex}.roadmap-course-map-container{box-sizing:border-box;width:100%;margin-top:10px;padding-top:0}.roadmap-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.roadmap-header h4{color:var(--text-color);margin:0;font-size:15px;font-weight:600}.btn-clear-roadmap{color:#ef4444;cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;transition:all .2s;display:inline-flex}.roadmap-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:12px;display:grid}.roadmap-column{border:1px solid var(--border-color);background:#ffffff08;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}[data-theme=light] .roadmap-column{background:#00000005}.roadmap-column-title{color:var(--text-color);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:6px;font-size:13px;font-weight:700;display:flex}.roadmap-column-credits{opacity:.7;font-size:11px}.roadmap-course-list{flex-direction:column;gap:6px;max-height:250px;padding-right:4px;display:flex;overflow-y:auto}.roadmap-course-item{border:1px solid var(--border-color);cursor:pointer;box-sizing:border-box;background:#ffffff0d;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:12.5px;transition:all .2s;display:flex}[data-theme=light] .roadmap-course-item{background:#00000008}.roadmap-course-item:hover{background:#ffffff1a;transform:translateY(-1px)}[data-theme=light] .roadmap-course-item:hover{background:#0000000f}.roadmap-course-item-main{align-items:center;gap:6px;display:flex;overflow:hidden}.roadmap-course-check{color:var(--text-color);opacity:.4;align-items:center;font-size:14px;display:inline-flex}.roadmap-course-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.roadmap-course-badges{gap:4px;display:flex}.badge-scheduled{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f666;border-radius:4px;padding:1px 4px;font-size:9px}.badge-manual{color:#34d399;background:#10b98133;border:1px solid #10b98166;border-radius:4px;padding:1px 4px;font-size:9px}.roadmap-course-item.completed{background:#10b98126!important;border-color:#10b98180!important}.roadmap-course-item.completed .roadmap-course-check{opacity:1;color:#10b981!important}.roadmap-course-item.completed .roadmap-course-name{opacity:.8;text-decoration:line-through}.roadmap-general-credit-card{opacity:.8;border:1px dashed var(--border-color);background:#ffffff05;border-radius:6px;padding:8px;font-size:11.5px;line-height:1.5}.roadmap-empty-state{text-align:center;border:1px dashed var(--border-color);color:var(--text-color);opacity:.8;background:#0000000d;border-radius:8px;padding:24px 12px;font-size:13px}#pdf-import-modal{z-index:3000!important}#pdf-import-modal .modal{z-index:3001!important}.roadmap-action-row{justify-content:flex-end;margin-top:16px;display:flex}.roadmap-action-row .btn-action{align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.roadmap-course-map-container{margin-top:16px}.pdf-import-modal-content{flex-direction:column;width:90%;max-width:480px;max-height:85vh;transition:max-width .3s;display:flex;overflow:hidden}.pdf-import-modal-content.review-mode{max-width:720px}.pdf-import-modal-body{color:var(--text-color);flex:1;padding:16px 24px;overflow-y:auto}.pdf-import-instruction{opacity:.9;margin-bottom:16px;font-size:14px;line-height:1.6}.pdf-import-instruction .primary-desc{margin-bottom:8px}.pdf-import-instruction .sub-desc{opacity:.7;margin-top:4px;font-size:12px}.pdf-import-link-row{margin-bottom:20px}.pdf-import-link-row a{box-sizing:border-box;justify-content:center;align-items:center;gap:8px;width:100%;text-decoration:none;display:inline-flex}.pdf-import-file-field{margin-bottom:24px}.pdf-import-file-field .pdf-label{margin-bottom:8px;display:block}.pdf-import-file-field input[type=file]{border:1px dashed var(--border-color);width:100%;color:var(--text-color);box-sizing:border-box;background:#0000001a;border-radius:6px;padding:8px}.pdf-import-loading-container{flex-direction:column;gap:10px;width:100%;margin-bottom:16px;display:none}.pdf-import-loading-container.pdf-import-flex{display:flex!important}.pdf-import-loading-text-row{color:#3b82f6;justify-content:center;align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:flex}.pdf-import-progress-bar-bg{background:var(--hover-bg);border:1px solid var(--border-color);box-sizing:border-box;border-radius:4px;width:100%;height:8px;overflow:hidden}.pdf-import-progress-bar{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;width:0%;height:100%;transition:width .3s}.roadmap-save-toast{z-index:100000;background:var(--bg-primary,#1e1e2e);color:var(--text-color,#e0e0e0);border:1px solid var(--border-color,#333);opacity:0;pointer-events:none;white-space:nowrap;border-radius:12px;align-items:center;gap:10px;padding:14px 24px;font-size:14px;font-weight:500;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(80px);box-shadow:0 8px 30px #00000040}.roadmap-save-toast i{color:#22c55e;font-size:16px}.roadmap-save-toast-show{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.roadmap-save-toast-hide{opacity:0;transform:translate(-50%)translateY(80px)}.stats-sub-group-header{color:var(--primary-color);background:#6366f11a;border-radius:6px;margin-bottom:6px;padding:6px 12px;font-size:13px;font-weight:600}.profile-detail-sub-group-header{color:var(--primary-color);background:#6366f114;border-radius:6px;margin-bottom:6px;padding:6px 12px;font-size:13px;font-weight:600}.csp-no-courses-placeholder-small{color:var(--text-color);opacity:.6;text-align:center;border:1px dashed var(--border-color);border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:12px}.missing-courses-card{background:#f59e0b08!important;border:1px solid #f59e0b4d!important}.missing-header{cursor:pointer;color:#d97706!important;background:#f59e0b14!important}.missing-courses-list{flex-direction:column;gap:8px;max-height:240px;margin-top:6px;padding:10px 4px;display:flex;overflow-y:auto}.missing-courses-list::-webkit-scrollbar{width:6px}.missing-courses-list::-webkit-scrollbar-track{background:0 0}.missing-courses-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.missing-courses-list::-webkit-scrollbar-thumb:hover{background:var(--text-color);opacity:.4}.missing-course-row{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.missing-course-name{color:var(--text-color);font-size:13px;font-weight:500}.missing-course-action-badge{color:var(--primary-color);cursor:pointer;background:#6366f11a;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:500;transition:background .2s,color .2s}.missing-course-action-badge:hover{background:var(--primary-color);color:#fff}.missing-course-row.is-completed-row{background:#10b9810d!important;border:1px solid #10b9814d!important}.missing-course-row.is-completed-row .missing-course-name{opacity:.75;text-decoration:line-through;color:#10b981!important}.completed-course-action-badge{color:#10b981;background:#10b9811a;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:500;transition:background .2s,color .2s}.completed-course-action-badge.is-manual:hover{color:#fff;background:#ef4444}.pdf-review-view{flex-direction:column;gap:16px;width:100%;display:none}.pdf-review-instruction{color:#10b981;background:#10b9811a;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.pdf-review-meta-row{gap:12px;display:flex}.pdf-review-meta-field{flex:1}.pdf-review-meta-field-short{width:90px}.pdf-review-categories{flex-direction:column;gap:14px;padding-right:4px;display:flex}.pdf-review-ai-banner{border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;line-height:1.4;display:flex}.pdf-review-ai-banner i{flex-shrink:0;font-size:14px}.pdf-review-ai-success{color:#2e7d32;background:#2e7d3214;border:1px solid #2e7d3233}.pdf-review-ai-hint{color:#1565c0;background:#1565c00f;border:1px solid #1565c02e}.pdf-review-ai-warn{color:#b78103;background:#e651000f;border:1px solid #e651002e}[data-theme=dark] .pdf-review-ai-success{color:#81c784;background:#4caf501f;border:1px solid #4caf504d}[data-theme=dark] .pdf-review-ai-hint{color:#90caf9;background:#42a5f51a;border:1px solid #42a5f540}[data-theme=dark] .pdf-review-ai-warn{color:#ffcc80;background:#ffb74d1a;border:1px solid #ffb74d40}.pdf-review-cat-card{border:1px solid var(--border-color);background:var(--surface-bg);box-shadow:0 1px 3px var(--shadow-color);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.pdf-review-cat-header{justify-content:space-between;align-items:center;display:flex}.pdf-review-cat-title{color:var(--text-main);font-size:14px;font-weight:600}.pdf-review-cat-credits-field{color:var(--text-sub);align-items:center;gap:6px;font-size:13px;display:flex}.pdf-review-credits-input{text-align:center;border:1px solid var(--border-color);background:var(--bg-color);width:60px;color:var(--text-main);border-radius:4px;padding:2px 4px}.pdf-review-courses-list{border-top:1px dashed var(--border-color);flex-wrap:wrap;gap:8px;padding-top:8px;display:flex}.pdf-review-course-tag{background:var(--hover-bg);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.pdf-review-course-delete{cursor:pointer;opacity:.6;color:var(--text-sub);margin-left:2px;font-size:11px;transition:color .15s,opacity .15s}.pdf-review-course-delete:hover{color:#ef4444;opacity:1}.pdf-review-add-field{align-items:center;gap:6px;width:100%;margin-top:4px;display:flex}.pdf-review-add-input{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:6px;flex:1;padding:4px 8px;font-size:12px}.pdf-review-add-btn{cursor:pointer;color:#3b82f6;background:0 0;border:none;padding:4px;font-size:12px;font-weight:500;transition:color .15s}.pdf-review-add-btn:hover{color:#60a5fa;text-decoration:underline}.pdf-import-hidden{display:none!important}.pdf-import-flex{display:flex!important}.pdf-review-no-courses{opacity:.5;font-size:12px}.pdf-review-tree-list{border-left:1px dashed #ffffff26;margin:4px 0;padding-left:16px;list-style:none}.pdf-review-tree-item{margin:8px 0}.pdf-review-tree-node-title{color:#ffffffe6;align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.pdf-review-tree-node-content{margin-left:12px}.pdf-review-tree-courses{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.pdf-review-tree-add-row{gap:6px;max-width:250px;margin-top:4px;margin-bottom:8px;display:flex}.pdf-review-tree-add-input{color:#fff;background:#0000001a;border:1px solid #ffffff14;border-radius:4px;flex:1;padding:2px 6px;font-size:11px}.pdf-review-tree-add-btn{cursor:pointer;color:#3b82f6;background:0 0;border:none;padding:2px 4px;font-size:11px;font-weight:500}.pdf-review-tree-add-btn:hover{text-decoration:underline}.pdf-review-tree-list-root{border-left:none!important;padding-left:0!important}.pdf-review-placeholder-tip{opacity:.6;margin-top:4px;font-size:12px}.roadmap-tree-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);box-sizing:border-box;border-radius:12px;flex-direction:column;gap:24px;width:100%;padding:16px;display:flex;overflow-x:auto}.roadmap-tree-cat-group{flex-direction:column;width:100%;display:flex;position:relative;align-items:center!important;gap:32px!important}.roadmap-tree-cat-node{background:var(--card-bg);border:1.5px solid var(--border-color);width:140px;min-width:140px;box-shadow:var(--shadow-sm);text-align:center;z-index:2;cursor:default;box-sizing:border-box;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:14px 10px;transition:transform .2s,border-color .2s;display:flex;position:relative}.roadmap-tree-cat-node:hover{border-color:var(--primary-color);transform:translateY(-2px)}.roadmap-tree-cat-title{color:var(--text-color);font-size:14px;font-weight:600}.roadmap-tree-cat-credits{background:var(--hover-bg);color:var(--text-color-sub);border-radius:20px;margin-top:6px;padding:2px 8px;font-size:11px}.roadmap-tree-subgroups{flex-direction:column;flex:1;align-items:center;gap:40px;width:100%;display:flex;position:relative}.roadmap-tree-subgroup-row{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex;position:relative}.roadmap-tree-subgroup-node{background:var(--card-bg);border:1px solid var(--border-color);width:140px;min-width:140px;color:var(--text-color);box-shadow:var(--shadow-xs);z-index:2;box-sizing:border-box;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:500;position:relative}.roadmap-tree-courses{flex-wrap:wrap;flex:1;gap:8px;display:flex;position:relative}.roadmap-tree-course-node{background:var(--card-bg);border:1.5px solid var(--border-color);color:var(--text-color);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);z-index:2;box-sizing:border-box;border-radius:6px;flex-direction:column;justify-content:center;padding:8px 12px;font-size:12.5px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.roadmap-tree-course-node:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.roadmap-tree-course-node.completed{border-color:var(--success-color);color:var(--success-color);background:#10b9810d;font-weight:500}.roadmap-tree-course-node.completed:hover{background:#10b98117}.roadmap-tree-course-title-wrap{align-items:center;gap:4px;display:flex}.roadmap-tree-course-check{color:var(--success-color);font-size:12px}.roadmap-course-annotation{box-sizing:border-box;background:#d9770614;border:1px solid #d9770640;border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;font-size:10.5px;line-height:1.3;display:flex;color:var(--warning-color,#d97706)!important;font-weight:600!important}.roadmap-course-annotation i{flex-shrink:0;font-size:11px;color:var(--warning-color,#d97706)!important}.roadmap-tree-course-badges{gap:4px;margin-top:4px;display:flex}.roadmap-badge-scheduled{color:#3b82f6;background:#3b82f61f;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:500}.roadmap-badge-manual{color:#8b5cf6;background:#8b5cf61f;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:500}.roadmap-tree-cat-node:after{content:"";background:var(--border-color);z-index:1;width:16px;height:2px;position:absolute;top:50%;right:-16px;transform:translateY(-50%)}.roadmap-tree-subgroups:before{content:"";background:var(--border-color);z-index:1;width:2px;position:absolute;top:16px;bottom:16px;left:-16px}.roadmap-tree-subgroup-row:before{content:"";background:var(--border-color);z-index:1;width:16px;height:2px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.roadmap-tree-subgroup-node:after{content:"";background:var(--border-color);z-index:1;width:24px;height:2px;position:absolute;top:50%;right:-24px;transform:translateY(-50%)}.roadmap-tree-subgroup-row:only-child:before,.roadmap-tree-subgroups:empty:before{display:none}#profile-modal.central-modal-overlay{background:var(--bg-color);z-index:1200;border-radius:0;justify-content:stretch;align-items:stretch;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:none;position:fixed;top:0;left:0;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}#profile-modal .profile-modal-container.central-modal{display:flex;overflow:hidden;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;box-shadow:none!important;background:var(--bg-color)!important;border-radius:0!important;flex-direction:row!important;margin:0!important;padding:0!important}.profile-modal-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:space-between;width:280px;min-width:280px;padding:30px 24px;display:flex}.profile-sidebar-header{text-align:left;flex-direction:row;align-items:center;gap:16px;width:100%;margin-bottom:24px;display:flex}.profile-sidebar-header #profile-modal-avatar{object-fit:cover;border:2.5px solid var(--primary-color);width:68px;height:68px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;margin-left:12px}.profile-sidebar-header-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.profile-name-badges-row{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.profile-sidebar-header .profile-name-row{align-items:center;gap:6px;margin:0;display:inline-flex}.profile-sidebar-header #profile-nickname{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;max-width:120px;margin:0;font-size:17px;font-weight:700;overflow:hidden}.profile-sidebar-header .profile-badges-row{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.profile-edit-titles-icon-btn{background:var(--surface-bg);border:1.5px solid var(--primary-color);color:var(--primary-color);cursor:pointer;width:26px;height:26px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:11px;transition:all .2s;display:inline-flex}.profile-edit-titles-icon-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.08)}.profile-edit-titles-icon-btn.inline-edit-btn{border:1px solid var(--primary-color);color:var(--primary-color);width:auto;height:auto;box-shadow:none;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.profile-edit-titles-icon-btn.inline-edit-btn:hover{background:var(--primary-color);color:#fff;transform:none}.profile-ig-stats-row{justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:4px;display:flex}.profile-ig-stat-item{text-align:center;cursor:pointer;flex-direction:column;flex:1;align-items:center;min-width:0;transition:transform .15s;display:flex}.profile-ig-stat-item:hover{transform:scale(1.05)}.profile-stat-val{color:var(--text-color);font-family:monospace,sans-serif;font-size:15px;font-weight:700}.profile-stat-label{color:var(--text-color-sub);white-space:nowrap;margin-top:1px;font-size:10px}.profile-tab-header-vertical{flex-direction:column;flex:1;gap:6px;width:100%;margin-top:10px;display:flex}.profile-tab-header-vertical .profile-tab-btn{color:var(--text-color-sub);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.profile-tab-header-vertical .profile-tab-btn i{text-align:center;width:20px;font-size:16px}.profile-tab-header-vertical .profile-tab-btn:hover{background:var(--hover-bg);color:var(--text-color)}.profile-tab-header-vertical .profile-tab-btn.active{background:var(--primary-color-light);color:var(--primary-color);font-weight:600;box-shadow:0 4px 12px #3b82f614}.profile-sidebar-footer{border-top:1px solid var(--border-color);width:100%;padding-top:20px}.profile-modal-workspace{background:var(--bg-color);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.profile-workspace-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.profile-workspace-header h3{color:var(--text-color);margin:0;font-size:18px;font-weight:600}.profile-workspace-header .profile-close-btn{cursor:pointer;color:var(--text-color-sub);font-size:24px;transition:color .2s}.profile-workspace-header .profile-close-btn:hover{color:var(--text-color)}#profile-modal-scrollable-content{box-sizing:border-box;flex-direction:column;flex:1;min-height:0;padding:32px;display:flex;overflow-y:auto}.roadmap-canvas-outer{border:1.5px solid var(--border-color);background:var(--bg-secondary) radial-gradient(var(--border-color) 1.2px, transparent 1.2px) 0 0 / 22px 22px;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:16px;width:100%;height:620px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0000000a;touch-action:none!important}.roadmap-canvas-outer:active{cursor:grabbing}.roadmap-canvas-inner{transform-origin:0 0;box-sizing:border-box;width:fit-content;height:fit-content;padding:60px 80px 80px 60px;position:absolute}.roadmap-nodes-container{z-index:2;perspective:1000px;flex-direction:column;gap:48px;width:fit-content;display:flex;position:relative}.roadmap-svg-layer{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.roadmap-svg-path{fill:none;stroke-width:2px;stroke-linecap:round;transition:stroke .3s,stroke-width .3s}.roadmap-svg-path.default{stroke:var(--border-color);opacity:.45}.roadmap-svg-path.completed{stroke:#10b981;stroke-width:3px;filter:drop-shadow(0 0 3px #10b98199)}.roadmap-svg-path.scheduled{stroke:#3b82f6;stroke-width:2.5px;filter:drop-shadow(0 0 3px #3b82f699)}.roadmap-svg-path.manual{stroke:#8b5cf6;stroke-width:2.5px;filter:drop-shadow(0 0 3px #8b5cf699)}.roadmap-canvas-controls{background:rgba(var(--card-bg-rgb,255, 255, 255), .7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);z-index:10;box-shadow:var(--shadow-md);border-radius:30px;align-items:center;gap:6px;padding:6px;display:flex;position:absolute;bottom:20px;right:20px}.roadmap-zoom-btn{background:var(--card-bg);width:32px;height:32px;color:var(--text-color);cursor:pointer;border:none;border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:all .2s;display:flex}.roadmap-zoom-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(1.05)}.roadmap-zoom-btn.zoom-reset{border-radius:16px;width:auto;padding:0 10px;font-size:11px}.roadmap-tree-cat-node,.roadmap-tree-subgroup-node,.roadmap-tree-course-node{border:1.5px solid var(--border-color);transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 4px 15px #0000000d;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--surface-bg)!important;color:var(--text-color)!important;text-shadow:none!important;font-weight:700!important}.roadmap-tree-cat-node,.roadmap-tree-subgroup-node{width:180px!important;min-width:180px!important}.roadmap-tree-course-node{box-sizing:border-box;width:240px!important;min-width:240px!important}.roadmap-tree-course-title-wrap{align-items:center;gap:6px;width:100%;display:flex;overflow:hidden}.roadmap-tree-course-title-wrap span:not(.roadmap-tree-course-check){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden;color:var(--text-color)!important;font-weight:700!important}.roadmap-tree-cat-node:hover,.roadmap-tree-subgroup-node:hover,.roadmap-tree-course-node:hover{border-color:var(--primary-color)!important;transform:translateY(-2px)!important;box-shadow:0 8px 20px #00000014!important}.roadmap-tree-course-node.completed{background:#10b9810d!important;border-color:#10b98199!important;box-shadow:0 0 15px #10b98126!important}.roadmap-tree-course-node.completed:hover{border-color:#10b981e6!important;box-shadow:0 0 25px #10b9814d,0 12px 25px #0000001f!important}.roadmap-tree-course-node.is-scheduled-node{border-color:#3b82f699!important;box-shadow:0 0 15px #3b82f626!important}.roadmap-tree-course-node.is-scheduled-node:hover{border-color:#3b82f6e6!important;box-shadow:0 0 25px #3b82f64d,0 12px 25px #0000001f!important}.roadmap-tree-course-node.is-manual-node{border-color:#8b5cf699!important;box-shadow:0 0 15px #8b5cf626!important}.roadmap-tree-course-node.is-manual-node:hover{border-color:#8b5cf6e6!important;box-shadow:0 0 25px #8b5cf64d,0 12px 25px #0000001f!important}.roadmap-tree-cat-node:after,.roadmap-tree-subgroups:before,.roadmap-tree-subgroup-row:before,.roadmap-tree-subgroup-node:after{display:none!important}.roadmap-tree-courses{flex:1;position:relative;grid-template-columns:repeat(2,240px)!important;gap:12px!important;max-width:500px!important;display:grid!important}@media (width<=768px){#profile-modal .profile-modal-container.central-modal{flex-direction:column!important;height:100dvh!important;max-height:100dvh!important;position:relative!important}.profile-modal-sidebar{border-right:none!important;border-bottom:1px solid var(--border-color)!important;gap:6px!important;width:100%!important;min-width:100%!important;height:auto!important;padding:12px 14px 8px!important;position:relative!important}.profile-sidebar-header{text-align:left!important;box-sizing:border-box!important;flex-direction:row!important;align-items:center!important;gap:14px!important;width:100%!important;margin-bottom:4px!important;padding-right:0!important;display:flex!important}.profile-sidebar-header #profile-modal-avatar{border:2px solid var(--primary-color);border-radius:50%!important;flex-shrink:0!important;width:68px!important;height:68px!important;margin-left:8px!important}.profile-sidebar-header-info{flex-direction:column!important;flex:1!important;gap:4px!important;min-width:0!important;display:flex!important}.profile-sidebar-header .profile-name-row{white-space:nowrap!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center!important;gap:6px!important;width:auto!important;margin:0!important;display:inline-flex!important}.profile-sidebar-header #profile-nickname{text-overflow:ellipsis;white-space:nowrap;max-width:125px;overflow:hidden;margin:0!important;font-size:17px!important;font-weight:700!important}.profile-sidebar-header .profile-nickname-input{text-align:left;box-sizing:border-box!important;width:110px!important;max-width:120px!important;height:28px!important;padding:2px 6px!important;font-size:13.5px!important}.profile-name-badges-row{flex-wrap:wrap!important;align-items:center!important;gap:6px!important;width:100%!important;display:flex!important}.profile-close-btn{transition:all .2s;background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;width:32px!important;height:32px!important;color:var(--text-color-sub)!important;z-index:1000!important;cursor:pointer!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;font-size:20px!important;display:flex!important;position:absolute!important;top:16px!important;right:16px!important;box-shadow:0 2px 8px #00000026!important}.profile-close-btn:hover{background:var(--hover-bg)!important;color:var(--text-color)!important}.profile-tab-header-wrapper{align-items:center;width:100%;display:flex;position:relative;margin-top:-2px!important}.profile-tab-header-vertical{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin!important;scrollbar-color:#4361ee66 transparent!important;flex-direction:row!important;gap:6px!important;width:100%!important;margin-top:0!important;padding-bottom:4px!important;overflow-x:auto!important}.profile-tab-header-vertical::-webkit-scrollbar{height:4px!important;display:block!important}.profile-tab-header-vertical::-webkit-scrollbar-track{background:#00000008!important;border-radius:4px!important}.profile-tab-header-vertical::-webkit-scrollbar-thumb{background:#4361ee59!important;border-radius:4px!important}.profile-tab-scroll-btn{z-index:3;background:var(--surface-bg);border:1px solid var(--border-color);width:24px;height:24px;color:var(--primary);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;transition:all .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0000001f}.profile-tab-scroll-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.profile-tab-scroll-btn.left{left:2px}.profile-tab-scroll-btn.right{right:2px}.profile-tab-header-wrapper.can-scroll-left .profile-tab-scroll-btn.left,.profile-tab-header-wrapper.can-scroll-right .profile-tab-scroll-btn.right{opacity:.9;pointer-events:auto}.profile-tab-header-vertical .profile-tab-btn{background:var(--bg-color);border:1px solid var(--border-color);flex-shrink:0;white-space:nowrap!important;flex-direction:row!important;gap:6px!important;width:auto!important;padding:8px 14px!important;font-size:13px!important}.profile-tab-header-vertical .profile-tab-btn.active{background:var(--primary-color-light)!important;border-color:var(--primary-color)!important}.profile-sidebar-footer{display:none!important}.profile-modal-workspace{flex:1;min-height:0}.profile-workspace-header{border-bottom:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}.profile-workspace-header h3{display:none!important}#profile-credits-wrapper{border-top:none!important;margin-top:0!important;padding-top:0!important}#profile-tab-credits{padding:8px 4px!important}#profile-modal-scrollable-content{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;box-sizing:border-box;flex-direction:column!important;padding:12px!important;display:flex!important}.profile-tab-panel{padding-bottom:12px!important}#profile-tab-identity.profile-tab-panel{display:none;flex-direction:column!important;flex:1!important;min-height:100%!important;padding-bottom:4px!important}#profile-tab-identity.profile-tab-panel.active{display:flex!important}#profile-identity-section{flex-direction:column!important;flex:1!important;min-height:100%!important;display:flex!important;position:relative!important}.btn-manage-identities-glass{bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;margin-top:auto!important;margin-left:auto!important;margin-right:auto!important;margin-bottom:calc(4px + env(safe-area-inset-bottom,0px))!important;z-index:50!important;height:40px!important;padding:9px 22px!important;font-size:.86rem!important;position:sticky!important;box-shadow:0 6px 20px #4361ee59,0 2px 6px #00000026!important}#profile-tab-posts,#profile-tab-reviews,#profile-tab-history,#profile-tab-replies,#profile-tab-credits{padding-bottom:40px!important}#profile-posts-list,#profile-reviews-list,#profile-replies-list,#profile-projects-credits-list{padding-bottom:30px!important}.roadmap-canvas-outer{border-left:none!important;border-right:none!important;border-radius:0!important;width:calc(100% + 32px)!important;height:520px!important;margin-left:-16px!important;margin-right:-16px!important}.roadmap-course-map-container{border-radius:0!important}.roadmap-tree-courses{grid-template-columns:1fr!important;max-width:100%!important}.roadmap-canvas-inner{transform-style:flat!important;perspective:none!important}.roadmap-tree-cat-node,.roadmap-tree-subgroup-node,.roadmap-tree-course-node,.roadmap-tree-cat-node:hover,.roadmap-tree-subgroup-node:hover,.roadmap-tree-course-node:nth-child(odd):hover,.roadmap-tree-course-node:nth-child(2n):hover{transform:none!important}}.roadmap-course-credits-badge{opacity:.75;background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-color-sub);vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 5px;font-family:monospace,sans-serif;font-size:10px;font-weight:600;display:inline-block}.roadmap-tree-course-node.info-only-node{opacity:.85;border-color:var(--border-color)!important;background:var(--surface-bg)!important;cursor:default!important;box-shadow:none!important}.roadmap-tree-course-node.info-only-node:hover{box-shadow:none!important;border-color:var(--border-color)!important;transform:none!important}.roadmap-subgroup-annotation{grid-column:1/-1;margin-bottom:8px}.roadmap-check-info{opacity:.6;color:var(--text-color-sub)!important}.roadmap-check-empty{opacity:.4;color:var(--text-color-sub)!important}.roadmap-tree-subgroup-left-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:auto;min-width:0;display:flex}.roadmap-tree-subgroup-left-wrap .roadmap-subgroup-annotation{margin-top:0;margin-bottom:0;padding:3px 6px;font-size:10px}.profile-roadmap-top-row{align-items:flex-end;gap:16px;width:100%;margin-bottom:8px;display:flex}.profile-roadmap-top-row .profile-form-field{flex:1;min-width:0}.profile-roadmap-top-row .profile-form-field .ts-wrapper{width:100%!important}.profile-roadmap-top-row .btn-pdf-import{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;margin-bottom:0;padding:0 16px;font-size:13px;font-weight:600;display:flex;width:auto!important}.roadmap-header-threshold{color:var(--text-color-sub);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13.5px;font-weight:500;display:inline-flex}.roadmap-threshold-input{border:1px solid var(--border-color);background:var(--bg-color);width:54px;color:var(--text-color);text-align:center;box-sizing:border-box;border-radius:6px;outline:none;padding:2px 4px;font-size:12.5px;font-weight:700;transition:border-color .2s,box-shadow .2s}.roadmap-threshold-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f626}@media (width<=576px){.profile-roadmap-top-row{flex-direction:column;align-items:stretch;gap:12px}.profile-roadmap-top-row .btn-pdf-import{width:100%;height:38px}}.roadmap-tree-course-node{position:relative;padding-right:28px!important}.roadmap-node-edit-trigger{color:var(--text-color-sub);opacity:0;cursor:pointer;z-index:10;border-radius:4px;padding:4px;font-size:11px;transition:opacity .2s,color .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.roadmap-tree-course-node:hover .roadmap-node-edit-trigger,.roadmap-tree-subgroup-left-wrap:hover .roadmap-node-edit-trigger{opacity:1}.roadmap-node-edit-trigger:hover{color:var(--primary-color);background:var(--hover-bg)}.roadmap-tree-subgroup-left-wrap{position:relative;padding-right:0!important}.roadmap-tree-subgroup-left-wrap .roadmap-node-edit-trigger{right:4px}.roadmap-editor-course-tag{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:6px;margin:3px;padding:4px 8px;font-size:12px;display:inline-flex}.roadmap-editor-course-tag-delete{cursor:pointer;color:var(--text-color-sub);opacity:.6}.roadmap-editor-course-tag-delete:hover{color:#ef4444;opacity:1}.roadmap-editor-add-course-row{gap:8px;display:flex}.roadmap-editor-add-course-row input{flex:1;height:32px;padding:0 8px;font-size:12.5px}.roadmap-floating-save-btn{z-index:999;background:var(--primary-color,#6366f1);color:#fff;cursor:pointer;border:none;border-radius:50px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:transform .2s,background-color .2s,box-shadow .2s;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 6px 20px #6366f166}.roadmap-floating-save-btn:hover{background:#4f46e5;transform:translateY(-2px);box-shadow:0 8px 24px #6366f180}.roadmap-floating-save-btn:active{transform:translateY(0)}.roadmap-canvas-outer{position:relative}.roadmap-substats{box-sizing:border-box;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;margin-bottom:16px;display:grid}.roadmap-substat-card{border:1px solid var(--border-color);box-sizing:border-box;border-radius:8px;flex-direction:column;padding:10px 14px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 8px #0000000a;background:var(--surface-bg)!important}.roadmap-substat-label{color:var(--text-color-sub);margin-bottom:4px;font-size:11px;font-weight:600}.roadmap-substat-value{color:var(--text-color);align-items:baseline;gap:2px;font-size:15px;font-weight:700;display:flex}@media (width<=768px){.roadmap-substats{grid-template-columns:repeat(2,1fr);gap:10px}}.roadmap-accordion-container{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;margin-top:8px;display:flex}.roadmap-cat-accordion{border:1px solid var(--border-color);border-radius:12px;width:100%;transition:border-color .2s,box-shadow .2s;overflow:hidden;background:var(--surface-bg)!important}.roadmap-cat-accordion[open]{border-color:var(--primary-color);box-shadow:0 4px 12px #00000008}.roadmap-cat-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-color);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:14px 20px;font-size:15px;font-weight:700;list-style:none;display:flex;background:var(--surface-bg)!important}.roadmap-cat-header::-webkit-details-marker{display:none}.roadmap-sub-header::-webkit-details-marker{display:none}.roadmap-cat-accordion[open] .roadmap-cat-header{border-bottom:1px solid var(--border-color)}.roadmap-cat-header-title{align-items:center;gap:8px;display:flex}.roadmap-cat-accordion .toggle-icon,.roadmap-sub-accordion .toggle-icon{color:var(--text-color-sub);font-size:13px;transition:transform .2s}.roadmap-cat-accordion:not([open]) .toggle-icon,.roadmap-sub-accordion:not([open]) .toggle-icon{transform:rotate(-90deg)}.roadmap-cat-progress-badge{background:var(--hover-bg);color:var(--text-color-sub);border-radius:20px;padding:3px 10px;font-size:12.5px;font-weight:600}.roadmap-cat-body{flex-direction:column;gap:16px;padding:16px;display:flex;background:var(--bg-color)!important}.roadmap-sub-accordion{border:1px solid var(--border-color);border-radius:8px;width:100%;transition:box-shadow .2s;overflow:hidden;background:var(--surface-bg)!important}.roadmap-sub-accordion[open]{box-shadow:0 2px 8px #00000005}.roadmap-sub-header{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-color);justify-content:space-between;align-items:center;padding:12px 16px;font-size:13.5px;font-weight:600;list-style:none;display:flex}.roadmap-sub-header-title{align-items:center;gap:8px;display:flex}.roadmap-sub-credits-badge{background:var(--hover-bg);color:var(--text-color-sub);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.roadmap-sub-actions{align-items:center;gap:8px;display:flex}.roadmap-sub-body{border-top:1px solid #0000;padding:0 16px 16px}.roadmap-sub-accordion[open] .roadmap-sub-body{border-top-color:var(--border-color);padding-top:12px}.roadmap-courses-grid{box-sizing:border-box;flex-wrap:wrap;gap:12px;width:100%;display:flex}.roadmap-empty-cat-message{color:var(--text-color-sub);background:var(--surface-bg);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:8px;padding:12px;font-size:13.5px;display:flex}.roadmap-tree-course-node{z-index:10;position:relative;box-shadow:0 2px 6px #00000008;margin:0!important}.roadmap-tree-course-node:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.roadmap-canvas-outer.roadmap-accordion-mode{cursor:default!important;height:auto!important;min-height:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important;overflow:visible!important}.roadmap-canvas-inner.roadmap-accordion-mode{width:100%!important;height:auto!important;position:relative!important;transform:none!important}.roadmap-svg-layer.roadmap-accordion-mode{display:none!important}.roadmap-course-annotation.roadmap-subgroup-annotation{margin-top:8px!important}.roadmap-substat-card{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;border-radius:12px!important;flex-direction:row!important;align-items:center!important;gap:12px!important;padding:12px 16px!important;transition:transform .2s,border-color .2s,box-shadow .2s!important;display:flex!important;box-shadow:0 2px 6px #00000005!important}.roadmap-substat-card:hover{border-color:var(--primary-color)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000000d!important}.roadmap-substat-ring-container{justify-content:center!important;align-items:center!important;width:56px!important;height:56px!important;display:inline-flex!important;position:relative!important}.roadmap-progress-ring{transform:rotate(-90deg)!important}.roadmap-progress-ring-bg{stroke:var(--border-color)!important}.roadmap-progress-ring-circle{stroke-linecap:round!important;transition:stroke-dashoffset .35s!important}.roadmap-substat-percentage{color:var(--text-color,var(--text-main,#2b2d42))!important;font-size:11px!important;font-weight:700!important;position:absolute!important}.roadmap-substat-info{flex-direction:column!important;justify-content:center!important;gap:2px!important;display:flex!important}.roadmap-substat-label{color:var(--text-color-sub,var(--text-sub,#666))!important;font-size:12px!important;font-weight:600!important}.roadmap-substat-value{color:var(--text-color,var(--text-main,#2b2d42))!important;font-size:15px!important;font-weight:700!important}.roadmap-substat-value .total{color:var(--text-color-sub,var(--text-sub,#666))!important;font-size:11px!important;font-weight:500!important}.roadmap-header-actions{align-items:center!important;gap:8px!important;display:flex!important}.btn-save-roadmap{background:var(--primary-color,#4361ee)!important;color:#fff!important;cursor:pointer!important;border:none!important;border-radius:20px!important;justify-content:center!important;align-items:center!important;gap:6px!important;padding:6px 14px!important;font-size:13.5px!important;font-weight:600!important;transition:all .2s!important;display:inline-flex!important;box-shadow:0 2px 6px #4361ee33!important}.btn-save-roadmap:hover{background:var(--hover-primary,#3b52d9)!important;transform:translateY(-1px)!important;box-shadow:0 4px 10px #4361ee4d!important}.btn-save-roadmap:active{transform:translateY(0)!important}.roadmap-source-modal-content{text-align:left!important;box-sizing:border-box!important;flex-direction:column!important;width:520px!important;max-width:90vw!important;max-height:80vh!important;display:flex!important;overflow:hidden!important}#roadmap-source-modal-body{flex:1!important;max-height:55vh!important;margin-top:12px!important;padding-right:6px!important;overflow-y:auto!important}.roadmap-source-list-header{color:var(--text-color-sub,var(--text-sub,#666))!important;background:var(--hover-bg)!important;border-radius:6px!important;justify-content:space-between!important;margin-bottom:8px!important;padding:8px 12px!important;font-size:12px!important;font-weight:600!important;display:flex!important}.roadmap-source-list{flex-direction:column!important;gap:8px!important;display:flex!important}.roadmap-source-item{border:1px solid var(--border-color)!important;background:var(--surface-bg)!important;border-radius:8px!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:10px 14px!important;transition:all .2s!important;display:flex!important}.roadmap-source-item:hover{border-color:var(--primary-color)!important;background:var(--hover-bg)!important;transform:translate(2px)!important}.roadmap-source-item .item-title{flex-wrap:wrap!important;align-items:center!important;gap:8px!important;display:flex!important}.roadmap-source-item .code{color:var(--primary-color)!important;background:#6366f11a!important;border:1px solid #6366f126!important;border-radius:4px!important;padding:2px 6px!important;font-family:monospace!important;font-size:.72rem!important;font-weight:700!important}.roadmap-source-item .name{color:var(--text-color)!important;font-size:.95rem!important;font-weight:700!important}.roadmap-source-item .teacher{color:var(--text-color-sub)!important;font-size:.8rem!important;font-weight:500!important}.roadmap-source-item .item-credits{color:var(--primary-color)!important;white-space:nowrap!important;background:#4361ee1a!important;border:1px solid #4361ee26!important;border-radius:20px!important;padding:3px 8px!important;font-size:.8rem!important;font-weight:700!important}#stats-modal .modal{box-sizing:border-box!important;flex-direction:column!important;width:520px!important;max-width:90vw!important;max-height:80vh!important;display:flex!important;overflow:hidden!important}#stats-detail-list{flex:1!important;max-height:55vh!important;margin-top:12px!important;padding-right:6px!important;overflow-y:auto!important}.roadmap-source-project-groups{box-sizing:border-box!important;flex-direction:column!important;gap:12px!important;width:100%!important;display:flex!important}.roadmap-source-project-accordion{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;width:100%!important;transition:border-color .2s,box-shadow .2s!important;overflow:hidden!important}.roadmap-source-project-accordion[open]{border-color:var(--primary-color)!important;box-shadow:0 2px 8px #00000005!important}.roadmap-source-project-header{cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;color:var(--text-color,var(--text-main,#2b2d42))!important;background:var(--hover-bg)!important;justify-content:space-between!important;align-items:center!important;padding:10px 14px!important;font-size:13px!important;font-weight:600!important;list-style:none!important;display:flex!important}.roadmap-source-project-header::-webkit-details-marker{display:none!important}.roadmap-source-project-header-title{align-items:center!important;gap:8px!important;display:flex!important}.roadmap-source-project-header-title .toggle-icon{color:var(--text-color-sub,var(--text-sub,#666))!important;font-size:10.5px!important;transition:transform .2s!important}.roadmap-source-project-accordion:not([open]) .toggle-icon{transform:rotate(-90deg)!important}.roadmap-source-project-credits-badge{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;color:var(--text-color-sub,var(--text-sub,#666))!important;border-radius:4px!important;padding:2px 6px!important;font-size:11px!important;font-weight:500!important}.roadmap-source-project-body{border-top:1px solid var(--border-color)!important;background:var(--bg-color)!important;flex-direction:column!important;gap:6px!important;padding:8px 12px 12px!important;display:flex!important}.roadmap-source-project-body .roadmap-source-item{border:1px solid var(--border-color)!important;background:var(--surface-bg)!important;border-radius:6px!important;justify-content:space-between!important;align-items:center!important;margin:0!important;padding:8px 10px!important;display:flex!important}.roadmap-source-project-body .roadmap-source-item-name{color:var(--text-color,var(--text-main,#2b2d42))!important;align-items:center!important;gap:6px!important;font-size:12.5px!important;font-weight:600!important;display:flex!important}.roadmap-source-project-body .credits-sub{color:var(--text-color-sub,var(--text-sub,#666))!important;background:var(--hover-bg)!important;border-radius:4px!important;padding:1px 4px!important;font-size:11px!important;font-weight:500!important}.roadmap-header{background:var(--surface-bg)!important;border:1px solid var(--border-color)!important;box-sizing:border-box!important;border-radius:12px!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;width:100%!important;margin-bottom:16px!important;padding:10px 16px!important;display:flex!important}.btn-clear-roadmap{color:#ef4444!important;cursor:pointer!important;opacity:.9!important;background:0 0!important;border:1px solid #ef4444!important;border-radius:20px!important;justify-content:center!important;align-items:center!important;gap:6px!important;width:auto!important;height:auto!important;padding:6px 14px!important;font-size:13px!important;font-weight:600!important;transition:all .2s!important;display:inline-flex!important}.btn-clear-roadmap:hover{opacity:1!important;background:#ef444414!important}.roadmap-unsaved-banner{box-sizing:border-box;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:16px;padding:12px 18px;display:flex}.roadmap-unsaved-banner-text{color:#eab308;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:inline-flex}.roadmap-unsaved-banner-text i{color:#eab308;font-size:14px}.roadmap-unsaved-banner-actions{gap:8px;display:inline-flex}.btn-discard-roadmap{color:#ef4444!important;cursor:pointer!important;background:0 0!important;border-color:#ef444480!important;border-radius:16px!important;padding:6px 12px!important;font-size:12px!important;transition:all .2s!important}.btn-discard-roadmap:hover{background:#ef444414!important}.btn-save-roadmap-banner{color:#000!important;cursor:pointer!important;background:#eab308!important;border:1px solid #eab308!important;border-radius:16px!important;padding:6px 12px!important;font-size:12px!important;font-weight:600!important;transition:all .2s!important}.btn-save-roadmap-banner:hover{background:#ca8a04!important;border-color:#ca8a04!important}.roadmap-node-edit-trigger,.roadmap-cat-edit-trigger{cursor:pointer!important;pointer-events:auto!important;opacity:.85!important}.roadmap-cat-edit-trigger{margin-left:8px;font-size:13px}.btn-add-subgroup{border-style:dashed!important;justify-content:center!important;width:100%!important;margin-top:12px!important;font-size:13px!important}.roadmap-editor-del-row{text-align:right}.btn-delete-course{color:#ef4444!important;border-color:#ef4444!important}.btn-delete-course:hover{background:#ef444414!important}.roadmap-source-empty{text-align:center;color:var(--text-color-sub);padding:24px}.roadmap-all-identities-list{box-sizing:border-box;flex-direction:column;gap:14px;width:100%;display:flex}.roadmap-dashboard{box-sizing:border-box;width:100%;margin-top:0;margin-bottom:0;background:0 0!important;border:none!important;padding:0!important}.roadmap-unified-hero-card{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;border-radius:14px;flex-direction:column;gap:8px;width:100%;padding:10px 12px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 3px 12px #0000000a}[data-theme=dark] .roadmap-unified-hero-card{background:#1e293b80;border-color:#ffffff14}.roadmap-unified-hero-card:hover{border-color:var(--primary-color,#4361ee);box-shadow:0 4px 16px #4361ee14}.roadmap-card-identity-header{border-bottom:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;padding-bottom:6px;display:flex}[data-theme=dark] .roadmap-card-identity-header{border-bottom-color:#ffffff14}.roadmap-identity-banner-left{align-items:center;gap:8px;display:flex}.roadmap-identity-badge{color:#fff;letter-spacing:.02em;border-radius:5px;align-items:center;gap:5px;padding:2px 8px;font-size:.76rem;font-weight:700;display:inline-flex}.roadmap-identity-badge.roadmap-theme-main{background:#4361ee}.roadmap-identity-badge.roadmap-theme-double_major{background:#f59e0b}.roadmap-identity-badge.roadmap-theme-minor{background:#6366f1}.roadmap-identity-badge.roadmap-theme-teacher_edu{background:#10b981}.roadmap-identity-badge.roadmap-theme-program_1{background:#3b82f6}.roadmap-identity-badge.roadmap-theme-program_2{background:#8b5cf6}.roadmap-identity-dept-title{color:var(--text-color,#1e293b);letter-spacing:-.01em;font-size:.92rem;font-weight:700}.roadmap-card-body{box-sizing:border-box;grid-template-columns:190px 1fr;align-items:stretch;gap:12px;width:100%;display:grid}.roadmap-hero-left{text-align:center;border-right:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;flex-direction:column;justify-content:space-between;align-items:center;gap:8px;padding-right:14px;display:flex}[data-theme=dark] .roadmap-hero-left{border-right-color:#ffffff14}.roadmap-hero-right{flex-direction:column;justify-content:center;width:100%;min-width:0;display:flex}.roadmap-categories-list{flex-direction:column;gap:6px;width:100%;display:flex}.roadmap-hero-tag.roadmap-theme-main{color:#4361ee;background:#4361ee1f}.roadmap-hero-tag.roadmap-theme-double_major{color:#f59e0b;background:#f59e0b1f}.roadmap-hero-tag.roadmap-theme-minor{color:#6366f1;background:#6366f11f}.roadmap-hero-tag.roadmap-theme-teacher_edu{color:#10b981;background:#10b9811f}.roadmap-hero-tag.roadmap-theme-program_1{color:#3b82f6;background:#3b82f61f}.roadmap-hero-tag.roadmap-theme-program_2{color:#8b5cf6;background:#8b5cf61f}.roadmap-hero-title{color:var(--text-color,#1e293b);margin:0;font-size:1rem;font-weight:800}.roadmap-hero-badge-wrap{margin-top:2px}.roadmap-status-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.roadmap-status-badge.completed{color:#10b981;background:#10b9811f;border:1px solid #10b98140}.roadmap-status-badge.pending{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b40}.roadmap-hero-ring-col{justify-content:center;align-items:center;margin:2px 0;display:flex}.roadmap-ring-svg-container.hero-svg{width:110px;height:110px;position:relative}.roadmap-ring-center-text.hero-text{flex-direction:column;gap:1px}.roadmap-ring-percent-sublabel{color:var(--text-color-sub,#64748b);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.roadmap-hero-bottom-section{flex-direction:column;gap:8px;width:100%;display:flex}.roadmap-hero-credits-row{background:var(--hover-bg,#00000006);border:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;border-radius:10px;justify-content:space-around;align-items:center;gap:6px;width:100%;padding:5px 6px;display:flex}[data-theme=dark] .roadmap-hero-credits-row{background:#00000026}.roadmap-hero-credit-box{flex-direction:column;align-items:center;gap:2px;display:flex}.roadmap-hero-credit-label{color:var(--text-color-sub,#64748b);font-size:.68rem;font-weight:600}.roadmap-hero-credit-num{color:var(--text-color,#1e293b);align-items:baseline;gap:3px;font-size:1.05rem;font-weight:800;display:flex}.roadmap-hero-credit-num.earned{color:var(--primary-color,#4361ee)}.roadmap-hero-credit-num small{color:var(--text-color-sub,#64748b);font-size:.7rem;font-weight:500}.roadmap-hero-credit-divider{color:var(--border-color,#cbd5e1);font-size:.9rem;font-weight:300}.roadmap-hero-progress-bar-wrap{background:var(--hover-bg,#0000000d);border-radius:4px;width:100%;height:6px;position:relative;overflow:hidden}[data-theme=dark] .roadmap-hero-progress-bar-wrap{background:#ffffff0f}.roadmap-hero-progress-bar{background:linear-gradient(90deg,#4361ee,#10b981);border-radius:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.roadmap-hero-progress-bar.roadmap-theme-main{background:linear-gradient(90deg,#4361ee,#10b981)}.roadmap-hero-progress-bar.roadmap-theme-double_major{background:linear-gradient(90deg,#f59e0b,#10b981)}.roadmap-hero-progress-bar.roadmap-theme-minor{background:linear-gradient(90deg,#6366f1,#10b981)}.roadmap-hero-progress-bar.roadmap-theme-teacher_edu{background:linear-gradient(90deg,#10b981,#059669)}.roadmap-hero-progress-bar.roadmap-theme-program_1{background:linear-gradient(90deg,#3b82f6,#10b981)}.roadmap-hero-progress-bar.roadmap-theme-program_2{background:linear-gradient(90deg,#8b5cf6,#10b981)}.roadmap-target-chip{border:1px dashed var(--primary-color,#4361ee);background:#4361ee0f;border-radius:6px;align-items:center;padding:2px 6px;transition:all .2s;display:inline-flex;position:relative}.roadmap-target-chip:hover,.roadmap-target-chip:focus-within{border-color:var(--primary-color,#4361ee);background:#4361ee1f;box-shadow:0 0 0 2px #4361ee26}.roadmap-target-chip.big{gap:3px;padding:2px 6px}.roadmap-target-pen{color:var(--primary-color,#4361ee);opacity:.7;pointer-events:none;margin-left:2px;font-size:.62rem}.roadmap-target-unit{color:var(--text-color-sub,#64748b);margin-left:2px;font-size:.72rem;font-weight:500}.roadmap-threshold-input{width:44px;color:var(--primary-color,#4361ee);text-align:center;box-sizing:border-box;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:1.05rem;font-weight:800}.roadmap-threshold-input:focus{outline:none}.roadmap-threshold-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.roadmap-threshold-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.roadmap-threshold-input[type=number]{appearance:textfield}.roadmap-substat-input{width:34px;color:var(--primary-color,#4361ee);text-align:center;box-sizing:border-box;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem;font-weight:700}.roadmap-substat-input:focus{outline:none}.roadmap-substat-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.roadmap-substat-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.roadmap-substat-input[type=number]{appearance:textfield}.roadmap-categories-wrapper{box-sizing:border-box;width:100%;height:100%}.roadmap-categories-card{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;border-radius:16px;flex-direction:column;justify-content:space-between;gap:8px;height:100%;padding:10px 14px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 4px 16px #0000000d}[data-theme=dark] .roadmap-categories-card{background:#1e293b80;border-color:#ffffff14}.roadmap-progress-card{background:var(--hover-bg,#00000005);border:1px solid var(--border-color,#e2e8f0);box-sizing:border-box;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;gap:4px;width:100%;padding:6px 10px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}[data-theme=dark] .roadmap-progress-card{background:#ffffff08;border-color:#ffffff0f}.roadmap-progress-card:hover{border-color:var(--primary-color,#4361ee);background:#4361ee0a;transform:translateY(-1px);box-shadow:0 3px 10px #4361ee14}.roadmap-progress-card.is-completed{background:color-mix(in srgb, #10b981 4%, var(--surface-bg,#fff));border-color:#10b98159}[data-theme=dark] .roadmap-progress-card.is-completed{background:#10b9810f;border-color:#10b98140}.roadmap-progress-header{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.roadmap-progress-label-wrap{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.roadmap-cat-badge{white-space:nowrap;box-sizing:border-box;border-radius:6px;flex-shrink:0;align-items:center;gap:5px;width:82px;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.roadmap-cat-badge.required{color:#ef4444;background:#ef44441a}.roadmap-cat-badge.elective{color:#3b82f6;background:#3b82f61a}.roadmap-cat-badge.common{color:#10b981;background:#10b9811a}.roadmap-cat-badge.free{color:#f59e0b;background:#f59e0b1a}.roadmap-cat-label-full{display:inline}.roadmap-cat-label-short{display:none}.roadmap-source-text{display:inline}.roadmap-card-source-hint{color:var(--text-color-sub,#64748b);background:var(--hover-bg,#0000000a);white-space:nowrap;box-sizing:border-box;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:44px;padding:1px 6px;font-size:.68rem;font-weight:600;transition:all .2s;display:inline-flex}.roadmap-progress-card:hover .roadmap-card-source-hint{background:var(--primary-color,#4361ee);color:#fff}.roadmap-progress-stats{white-space:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;width:196px;min-width:196px;display:flex}.roadmap-credits-display{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:4px;display:flex}.roadmap-earned-val{color:var(--text-color,#1e293b);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:36px;min-width:36px;font-size:.95rem;font-weight:800;display:inline-block}.roadmap-credits-divider{color:var(--border-color,#cbd5e1);text-align:center;flex-shrink:0;width:6px;font-size:.85rem;font-weight:300}.roadmap-target-chip{border:1px dashed var(--primary-color,#4361ee);box-sizing:border-box;background:#4361ee0f;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:48px;min-width:48px;padding:1px 4px;display:inline-flex;position:relative}.roadmap-substat-input{width:28px;min-width:28px;color:var(--primary-color,#4361ee);text-align:center;box-sizing:border-box;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem;font-weight:700}.roadmap-credits-unit{color:var(--text-color-sub,#64748b);text-align:left;white-space:nowrap;flex-shrink:0;align-items:center;width:56px;min-width:56px;font-size:.72rem;font-weight:500;display:inline-flex;overflow:hidden}.roadmap-pass-badge{color:#10b981;align-items:center;gap:2px;font-size:.72rem;font-weight:700;display:inline-flex}.roadmap-progress-pct-badge{color:var(--text-color,#1e293b);text-align:right;box-sizing:border-box;white-space:nowrap;font-variant-numeric:tabular-nums;background:#0000000d;border-radius:5px;flex-shrink:0;width:38px;min-width:38px;padding:1px 4px;font-size:.75rem;font-weight:700}[data-theme=dark] .roadmap-progress-pct-badge{color:#e2e8f0;background:#ffffff14}.roadmap-progress-pct-badge.completed{color:#10b981;background:#10b98126;border:1px solid #10b98140}.roadmap-progress-bar-track{background:#0000000f;border-radius:999px;width:100%;height:5px;position:relative;overflow:hidden}[data-theme=dark] .roadmap-progress-bar-track{background:#ffffff14}.roadmap-progress-bar-fill{border-radius:999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.roadmap-progress-bar-fill.required{background:linear-gradient(90deg,#f43f5e,#ef4444)}.roadmap-progress-bar-fill.elective{background:linear-gradient(90deg,#3b82f6,#2563eb)}.roadmap-progress-bar-fill.common{background:linear-gradient(90deg,#10b981,#059669)}.roadmap-progress-bar-fill.free{background:linear-gradient(90deg,#f59e0b,#d97706)}.roadmap-ring-center-text{text-align:center;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.roadmap-ring-percent-val.big{font-size:1.55rem;font-weight:800}.roadmap-credits-display{white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;line-height:1.1;display:flex}.roadmap-earned-val{color:var(--text-color,#1e293b);font-size:1.05rem;font-weight:800;line-height:1}.roadmap-credits-divider{color:var(--border-color,#cbd5e1);margin:0 1px;font-size:.85rem;font-weight:300}.roadmap-credits-unit{color:var(--text-color-sub,#64748b);letter-spacing:.03em;opacity:.85;white-space:nowrap;font-size:.65rem;font-weight:500;line-height:1}.roadmap-pass-badge{color:#10b981;white-space:nowrap;align-items:center;gap:2px;font-size:.65rem;font-weight:700;display:inline-flex}.roadmap-teacher-edu-card{box-sizing:border-box;text-align:center;background:#10b9810f;border:1px solid #10b98140;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;height:100%;padding:24px;display:flex}.roadmap-teacher-edu-icon{color:#fff;background:#10b981;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;display:flex}.roadmap-teacher-edu-text{flex-direction:column;gap:2px;display:flex}.roadmap-teacher-edu-title{color:#10b981;font-size:.95rem;font-weight:700}.roadmap-teacher-edu-desc{color:var(--text-color-sub,#64748b);font-size:.8rem;line-height:1.4}.roadmap-big-ring-circle-fill{stroke-linecap:round;transform-origin:60px 60px;transition:stroke-dashoffset .6s;transform:rotate(-90deg)}@media (width<=600px){.roadmap-header-banner{display:none!important}.profile-slider-menu-wrapper{z-index:25!important;background:var(--bg-color,#fff)!important;border-bottom:1px solid var(--border-color)!important;margin-top:-8px!important;margin-bottom:12px!important;padding:8px 2px!important;position:sticky!important;top:-12px!important}.profile-slider-menu{-webkit-overflow-scrolling:touch!important;scroll-behavior:smooth!important;scrollbar-width:none!important;flex-wrap:nowrap!important;gap:6px!important;padding-bottom:2px!important;display:flex!important;overflow-x:auto!important}.profile-slider-menu::-webkit-scrollbar{display:none!important}.profile-menu-item{white-space:nowrap!important;flex:none!important;gap:4px!important;padding:6px 12px!important;font-size:.8rem!important}.roadmap-all-identities-list{gap:10px!important}.roadmap-dashboard{margin-top:0;margin-bottom:0!important}.roadmap-unified-hero-card{border-radius:12px!important;flex-direction:column!important;gap:5px!important;padding:6px 8px!important;display:flex!important}.roadmap-card-identity-header{padding-bottom:4px!important}.roadmap-identity-banner-left{gap:5px!important}.roadmap-identity-badge{border-radius:4px!important;gap:3px!important;padding:2px 5px!important;font-size:.68rem!important}.roadmap-identity-dept-title{font-size:.8rem!important}.roadmap-card-body{grid-template-columns:98px 1fr!important;align-items:stretch!important;gap:6px!important;width:100%!important;display:grid!important}.roadmap-hero-left{border-right:1px solid var(--border-color)!important;border-bottom:none!important;justify-content:space-between!important;gap:4px!important;padding-bottom:0!important;padding-right:8px!important}[data-theme=dark] .roadmap-hero-left{border-right-color:#ffffff14!important}.roadmap-hero-top-section{gap:2px!important}.roadmap-hero-tag{border-radius:4px!important;padding:1px 4px!important;font-size:.62rem!important}.roadmap-hero-title{white-space:nowrap!important;font-size:.78rem!important}.roadmap-status-badge{padding:1px 5px!important;font-size:.6rem!important}.roadmap-ring-svg-container.hero-svg,.roadmap-ring-svg-container.hero-svg svg{width:68px!important;height:68px!important}.roadmap-ring-percent-val.big{font-size:1rem!important}.roadmap-ring-percent-sublabel{font-size:.52rem!important}.roadmap-hero-bottom-section{gap:4px!important}.roadmap-hero-credits-row{gap:2px!important;padding:2px 4px!important}.roadmap-hero-credit-label{font-size:.55rem!important}.roadmap-hero-credit-num{gap:1px!important;font-size:.78rem!important}.roadmap-hero-credit-num small{display:none!important}.roadmap-hero-credit-divider{font-size:.7rem!important}.roadmap-categories-list{justify-content:space-between!important;gap:4px!important;height:100%!important}.roadmap-progress-card{border-radius:6px!important;flex:1!important;gap:2px!important;padding:3px 6px!important}.roadmap-progress-header{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:4px!important;width:100%!important;display:flex!important}.roadmap-cat-label-full{display:none!important}.roadmap-cat-label-short{display:inline!important}.roadmap-source-text{display:none!important}.roadmap-cat-badge{justify-content:center!important;gap:3px!important;width:48px!important;padding:1px 4px!important;font-size:.68rem!important}.roadmap-cat-badge i{font-size:.62rem!important}.roadmap-card-source-hint{width:auto!important;padding:0 4px!important;font-size:.62rem!important}.roadmap-progress-stats{gap:3px!important;width:172px!important;min-width:172px!important}.roadmap-credits-display{gap:2px!important}.roadmap-earned-val{width:28px!important;min-width:28px!important;font-size:.78rem!important}.roadmap-credits-divider{text-align:center!important;width:5px!important;font-size:.7rem!important}.roadmap-target-chip{border-radius:3px!important;width:42px!important;min-width:42px!important;padding:0 2px!important}.roadmap-substat-input{width:26px!important;min-width:26px!important;font-size:.75rem!important}.roadmap-target-pen{display:none!important}.roadmap-credits-unit{width:48px!important;min-width:48px!important;font-size:.62rem!important;overflow:hidden!important}.roadmap-pass-badge{font-size:.62rem!important}.roadmap-progress-pct-badge{width:32px!important;min-width:32px!important;padding:0 2px!important;font-size:.68rem!important}.roadmap-progress-bar-track{height:3px!important;margin-top:0!important}}.roadmap-source-modal-content{border-radius:16px;width:92%;max-width:580px}.roadmap-source-group{border:1px solid var(--border-color);background:var(--surface-bg);border-radius:10px;margin-bottom:12px;transition:border-color .2s;overflow:hidden;box-shadow:0 2px 6px #00000005}.roadmap-source-group:hover{border-color:var(--primary-color,#4361ee)}.roadmap-source-group-title{background:var(--header-bg,#f8fafc);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-color);justify-content:space-between;align-items:center;padding:12px 16px;font-weight:700;transition:background .2s;display:flex}[data-theme=dark] .roadmap-source-group-title{background:#ffffff0a}.roadmap-source-group-title:hover{background:var(--hover-bg,#0000000d)}.roadmap-source-group-title-left{align-items:center;gap:8px;display:flex}.roadmap-source-group-title-left i{color:var(--primary-color,#4361ee)}.roadmap-source-group-title-left .name{font-size:.92rem}.roadmap-source-group-title-left .subtotal{color:var(--text-color-sub);background:var(--hover-bg,#0000000d);border-radius:4px;padding:2px 6px;font-size:.8rem;font-weight:600}.roadmap-source-group-arrow{color:var(--text-color-sub);font-size:.8rem;transition:transform .25s}.roadmap-source-group-arrow.collapsed{transform:rotate(-90deg)}.roadmap-source-items{border-top:1px solid var(--border-color);flex-direction:column;gap:6px;padding:8px 14px;display:flex}.roadmap-source-items.collapsed{display:none}.roadmap-source-item{background:var(--hover-bg,#00000005);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.88rem;transition:background .15s;display:flex}[data-theme=dark] .roadmap-source-item{background:#ffffff05}.roadmap-source-item:hover{background:#4361ee0f}.roadmap-source-item .item-title{flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.roadmap-source-item .item-title .code{color:var(--primary-color,#4361ee);background:#4361ee14;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.75rem;font-weight:600}.roadmap-source-item .item-title .name{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.roadmap-source-item .item-title .teacher{color:var(--text-color-sub);flex-shrink:0;font-size:.8rem}.roadmap-source-item .item-credits{color:var(--primary-color,#4361ee);background:#4361ee14;border-radius:12px;flex-shrink:0;padding:2px 8px;font-size:.82rem;font-weight:700}.roadmap-source-item.adjustment{background:#f59e0b0a;border:1px dashed #f59e0b40}.roadmap-source-item .item-title .roadmap-adj-badge{color:#f59e0b;background:#f59e0b1f}.roadmap-source-item .item-credits.pos{color:#10b981;background:#10b9811a}.roadmap-source-item .item-credits.neg{color:#ef4444;background:#ef44441a}.roadmap-source-empty{text-align:center;color:var(--text-color-sub);padding:24px;font-size:.9rem}#pdf-import-modal .central-modal{text-align:left;box-sizing:border-box;border:1px solid var(--border-color);width:450px;max-width:95%}#pdf-import-modal .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:12px;display:flex}#pdf-import-modal .modal-header h3{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.25rem;display:flex}#pdf-import-modal .modal-header h3 i{color:var(--primary)}#pdf-import-modal .modal-header .close-btn{cursor:pointer;color:var(--text-sub);font-size:1.2rem;transition:color .2s}#pdf-import-modal .modal-header .close-btn:hover{color:var(--text-main)}#pdf-import-modal .modal-desc{color:var(--text-sub);margin-bottom:15px;font-size:.95rem;line-height:1.5}#pdf-import-modal .portal-btn{box-sizing:border-box;justify-content:center;align-items:center;width:100%;margin-bottom:15px;text-decoration:none;display:flex}#pdf-import-modal .guide-box{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;padding:15px;font-size:.9rem;line-height:1.6}#pdf-import-modal .guide-box strong{color:var(--text-main);margin-bottom:8px;display:block}#pdf-import-modal .guide-box ol{color:var(--text-sub);margin:0;padding-left:20px}#pdf-import-modal .upload-dropzone{border:2px dashed var(--border-color);text-align:center;cursor:pointer;background:var(--bg-color);border-radius:8px;margin-bottom:20px;padding:25px 20px;transition:all .2s}#pdf-import-modal .upload-dropzone:hover{border-color:var(--primary);background:var(--hover-bg)}#pdf-import-modal .upload-dropzone i{color:var(--primary);margin-bottom:10px;font-size:2.2rem;display:block}#pdf-import-modal .upload-filename{color:var(--text-main);font-size:.95rem;font-weight:500}#pdf-import-modal .upload-hint{color:var(--text-sub);margin-top:5px;font-size:.85rem}.btn-action:disabled{opacity:.5;cursor:not-allowed}#pdf-import-modal .modal-footer{justify-content:flex-end;gap:10px;display:flex}#pdf-preview-modal .central-modal{text-align:left;box-sizing:border-box;border:1px solid var(--border-color);width:480px;max-width:95%}#pdf-preview-modal .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:12px;display:flex}#pdf-preview-modal .modal-header h3{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.25rem;display:flex}#pdf-preview-modal .modal-header h3 i{color:var(--primary)}#pdf-preview-modal .modal-header .close-btn{cursor:pointer;color:var(--text-sub);font-size:1.2rem;transition:color .2s}#pdf-preview-modal .modal-header .close-btn:hover{color:var(--text-main)}#pdf-preview-modal .modal-desc{color:var(--text-sub);margin-bottom:15px;font-size:.95rem;line-height:1.5}.pdf-scroll-list{border:1px solid var(--border-color);background:var(--hover-bg);border-radius:8px;max-height:250px;margin-bottom:15px;padding:8px;overflow-y:auto}.pdf-course-item{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:8px;display:flex}.pdf-course-item:last-child{border-bottom:none}.pdf-course-item input[type=checkbox]{cursor:pointer;width:16px;height:16px}.pdf-course-info{color:var(--text-main);flex-grow:1;font-size:.9rem;line-height:1.4}.pdf-course-sub{color:var(--text-sub);margin-top:2px;font-size:.8rem}.pdf-not-found-section{background:#e74c3c0d;border:1px solid #e74c3c33;border-radius:8px;margin-bottom:15px;padding:10px;display:none}.pdf-not-found-title{color:#e74c3c;align-items:center;gap:5px;margin-bottom:5px;font-size:.85rem;font-weight:600;display:flex}.pdf-not-found-list{color:var(--text-sub);margin:0;padding-left:20px;font-size:.8rem}.pdf-no-courses{text-align:center;color:var(--text-sub);padding:20px}.pdf-already-added{color:var(--success);white-space:nowrap;font-size:.8rem;font-weight:700}#pdf-preview-modal .modal-footer{justify-content:flex-end;gap:10px;display:flex}#new-project-choice-modal .central-modal{text-align:left;box-sizing:border-box;border:1px solid var(--border-color);width:480px;max-width:95%}#new-project-choice-modal .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}#new-project-choice-modal .modal-header h3{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1.2rem;display:flex}#new-project-choice-modal .modal-header h3 i{color:var(--primary)}#new-project-choice-modal .modal-header .close-btn{cursor:pointer;color:var(--text-sub);font-size:1.2rem;transition:color .2s}#new-project-choice-modal .modal-header .close-btn:hover{color:var(--text-main)}#new-project-choice-modal .modal-desc{color:var(--text-sub);margin-bottom:18px;font-size:.95rem}.new-project-choices{gap:14px;display:flex}.choice-card{border:2px solid var(--border-color);background:var(--bg-color);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px 16px;transition:all .25s;display:flex}.choice-card:hover{border-color:var(--primary);background:var(--hover-bg);transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.choice-card i{color:var(--primary);font-size:2.2rem}.choice-card.choice-pdf i{color:#e74c3c}.choice-card strong{color:var(--text-main);font-size:1rem}.choice-card span{color:var(--text-sub);font-size:.82rem;line-height:1.3}.pdf-warning-notice{color:#d35400;background:#f39c1214;border:1px solid #f39c124d;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:15px;padding:10px;font-size:.85rem;line-height:1.4;display:flex}.pdf-warning-notice i{margin-top:2px;font-size:1rem}.profile-dept-rules-top{justify-content:center;align-items:center;width:100%;margin-bottom:10px;display:flex}.profile-dept-rules-btn{color:var(--primary-color,#4361ee);box-sizing:border-box;cursor:pointer;background:#4361ee14;border:1px solid #4361ee40;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:auto;padding:4px 10px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 4px #4361ee0f}.profile-dept-rules-btn:hover{background:var(--primary-color,#4361ee);color:#fff;border-color:var(--primary-color,#4361ee);transform:translateY(-1px);box-shadow:0 3px 10px #4361ee33}.profile-dept-rules-btn i{font-size:.78rem}.profile-dept-rules-btn .profile-dept-rules-icon{opacity:.85;margin-left:2px;font-size:.68rem;transition:transform .2s}.profile-dept-rules-btn:hover .profile-dept-rules-icon{transform:translate(2px)translateY(-1px)}#subview-forum{flex:1!important;height:100%!important;min-height:0!important;max-height:100%!important;padding:0!important;overflow:hidden!important}#forum-layer-1{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative;height:100%!important;max-height:100%!important;overflow:hidden!important}#forum-tab-content-threads{background:var(--bg-color);flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative;height:100%!important;max-height:100%!important;overflow:hidden!important}.community-hub-container{background:var(--bg-main,var(--bg-color));width:100%;min-height:0;color:var(--text-main);-webkit-font-smoothing:antialiased;flex-direction:column;flex:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans TC,Microsoft JhengHei,sans-serif;display:flex;position:relative;height:100%!important;max-height:100%!important;overflow:hidden!important}.community-stage{flex:1;width:100%;min-height:0;animation:.25s cubic-bezier(.4,0,.2,1) fadeInStage;display:none;position:relative;height:100%!important;max-height:100%!important;overflow:hidden!important}.community-stage.active{flex-direction:column;display:flex}#community-stage-feed{flex:1;width:100%;min-height:0;position:relative;height:100%!important;max-height:100%!important;overflow:hidden!important}#community-stage-feed.active{flex-direction:column;display:flex}@keyframes fadeInStage{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.community-overview-scroll-body{overscroll-behavior-y:contain;box-sizing:border-box;flex-direction:column;flex:1;gap:20px;width:100%;padding:16px 20px 100px;display:flex;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overflow-y:auto!important}.community-hero-banner{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);box-sizing:border-box;background:linear-gradient(135deg,#6366f114 0%,#ec48990d 50%,#3b82f614 100%);border-radius:14px;flex-shrink:0;width:100%;padding:10px 16px}.community-banner-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;transition:all .25s;display:flex;box-shadow:0 4px 18px #00000008}.community-banner-card:hover{border-color:#6366f14d;transform:translateY(-1px);box-shadow:0 6px 22px #6366f114}.community-banner-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.community-banner-badge{color:#fff;letter-spacing:.5px;white-space:nowrap;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.community-banner-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.community-ig-btn{cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#833ab4 0%,#fd1d1d 50%,#fcb045 100%);border:none;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 3px 10px #fd1d1d40;color:#fff!important}.community-ig-btn:hover{transform:translateY(-1px)scale(1.02);box-shadow:0 5px 14px #fd1d1d59}.community-ad-rental-wrapper{box-sizing:border-box;width:100%;padding-top:4px;padding-bottom:6px}.community-ad-rental-banner{box-sizing:border-box;background:linear-gradient(135deg,#6366f112 0%,#ec48990d 50%,#3b82f60f 100%);border:1.5px dashed #6366f161;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:10px 16px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}[data-theme=dark] .community-ad-rental-banner{background:linear-gradient(135deg,#6366f11f 0%,#ec489914 50%,#3b82f61a 100%);border-color:#818cf86b}.community-ad-rental-banner:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 18px #6366f11f}.community-ad-rental-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.community-ad-badge{letter-spacing:.3px;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#6366f1 0%,#ec4899 100%);border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #6366f14d}.community-ad-text-group{flex-direction:column;gap:2px;min-width:0;display:flex}.community-ad-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:750;line-height:1.35;overflow:hidden}.community-ad-desc{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.35;overflow:hidden}.community-ad-btn{cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border:none;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:750;text-decoration:none;transition:all .18s;display:inline-flex;box-shadow:0 2px 10px #6366f147;color:#fff!important}.community-ad-btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 14px #6366f173;color:#fff!important}.community-portal-hero{box-sizing:border-box;background:linear-gradient(135deg, #6366f11f 0%, #a855f714 50%, var(--surface-bg) 100%);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;gap:16px;width:100%;padding:24px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 24px #0000000a}.community-portal-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#6366f126 0%,#0000 70%);width:280px;height:280px;position:absolute;top:-50%;right:-20%}.community-portal-hero-text{z-index:1;flex-direction:column;gap:4px;display:flex;position:relative}.community-portal-badge{color:var(--primary);background:#6366f126;border-radius:20px;align-items:center;gap:6px;width:fit-content;margin-bottom:2px;padding:3px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.community-portal-title{color:var(--text-main);letter-spacing:.5px;margin:0;font-size:22px;font-weight:800}.community-portal-subtitle{color:var(--text-sub);margin:0;font-size:13px;line-height:1.5}.community-portal-actions{z-index:1;flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:relative}.community-portal-enter-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 16px #6366f159}.community-portal-enter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f173}.community-portal-chat-btn{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.community-portal-chat-btn:hover{color:#10b981;background:#10b98114;border-color:#10b981}.community-portal-social-row{border-top:1px solid var(--border-color);z-index:1;align-items:center;gap:10px;padding-top:6px;display:flex;position:relative}.community-social-chip{border:1px solid var(--border-color);background:var(--surface-bg);border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.community-social-chip.ig-chip{color:#e1306c}.community-social-chip.ig-chip:hover{background:#e1306c14;border-color:#e1306c}.community-social-chip.line-chip{color:#06c755}.community-social-chip.line-chip:hover{background:#06c75514;border-color:#06c755}.community-section-wrapper{box-sizing:border-box;flex-direction:column;gap:12px;width:100%;display:flex}.community-section-header{justify-content:space-between;align-items:center;display:flex}.community-section-title{color:var(--text-main);align-items:center;gap:6px;font-size:15px;font-weight:800;display:flex}.community-section-more-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:700;transition:all .15s}.community-section-more-btn:hover{background:var(--hover-bg);transform:translate(2px)}.community-trending-carousel-container{width:100%;padding:2px 0 6px;position:relative}.community-carousel-side-arrow{z-index:10;border:1px solid var(--border-color);background:var(--surface-bg);width:36px;height:36px;color:var(--text-main);cursor:pointer;opacity:.55;-webkit-backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;font-size:13px;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),background .2s,border-color .2s,box-shadow .2s,color .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #00000014}.community-carousel-side-arrow.prev{left:-12px}.community-carousel-side-arrow.next{right:-12px}.community-carousel-side-arrow:hover,.community-carousel-side-arrow:active{opacity:1;background:var(--surface-bg);color:var(--primary);border-color:var(--primary);transform:translateY(-50%)scale(1.1);box-shadow:0 6px 20px #6366f140}.community-trending-track{scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding:4px 2px 8px;display:flex;overflow-x:auto}.community-trending-track.no-smooth{scroll-behavior:auto!important}.community-trending-track::-webkit-scrollbar{display:none}.community-trending-card{box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;flex-direction:column;flex:0 0 calc(50% - 7px);gap:6px;min-width:calc(50% - 7px);max-width:calc(50% - 7px);padding:10px 14px;transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000005}.community-trending-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 20px #6366f11f}.community-trending-card-top{justify-content:space-between;align-items:center;display:flex}.community-trending-title{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;line-height:1.35;overflow:hidden}.community-trending-desc{color:var(--text-sub);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-height:34px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.community-trending-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:0;padding-top:6px;display:flex}.community-showcase-avatar{object-fit:cover;border-radius:50%;width:20px;height:20px}.community-trending-metrics{color:var(--text-sub);align-items:center;gap:10px;font-size:11px;font-weight:600;display:flex}.community-boards-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.community-board-showcase-card{background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:16px;flex-direction:column;gap:12px;padding:16px 18px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 3px 14px #00000005}.community-board-showcase-card.cat-course{background:linear-gradient(180deg, #3b82f60a 0%, var(--surface-bg) 70%)}.community-board-showcase-card.cat-life{background:linear-gradient(180deg, #f59e0b0a 0%, var(--surface-bg) 70%)}.community-board-showcase-card.cat-freshman{background:linear-gradient(180deg, #06b6d40a 0%, var(--surface-bg) 70%)}.community-board-showcase-card.cat-market{background:linear-gradient(180deg, #10b9810a 0%, var(--surface-bg) 70%)}.community-board-showcase-card.cat-team{background:linear-gradient(180deg, #8b5cf60a 0%, var(--surface-bg) 70%)}.community-board-showcase-card.cat-help{background:linear-gradient(180deg, #f43f5e0a 0%, var(--surface-bg) 70%)}.community-board-showcase-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.community-board-showcase-card.cat-course:hover{border-color:#3b82f680;box-shadow:0 8px 24px #3b82f61f}.community-board-showcase-card.cat-life:hover{border-color:#f59e0b80;box-shadow:0 8px 24px #f59e0b1f}.community-board-showcase-card.cat-freshman:hover{border-color:#06b6d480;box-shadow:0 8px 24px #06b6d41f}.community-board-showcase-card.cat-market:hover{border-color:#10b98180;box-shadow:0 8px 24px #10b9811f}.community-board-showcase-card.cat-team:hover{border-color:#8b5cf680;box-shadow:0 8px 24px #8b5cf61f}.community-board-showcase-card.cat-help:hover{border-color:#f43f5e80;box-shadow:0 8px 24px #f43f5e1f}.community-board-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.community-board-title-group{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.community-board-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:transform .25s;display:flex}.community-board-showcase-card:hover .community-board-icon{transform:scale(1.06)rotate(3deg)}.community-board-showcase-card.cat-course .community-board-icon{color:#3b82f6;background:linear-gradient(135deg,#3b82f633 0%,#2563eb4d 100%)}.community-board-showcase-card.cat-life .community-board-icon{color:#f59e0b;background:linear-gradient(135deg,#f59e0b33 0%,#d977064d 100%)}.community-board-showcase-card.cat-freshman .community-board-icon{color:#06b6d4;background:linear-gradient(135deg,#06b6d433 0%,#0891b24d 100%)}.community-board-showcase-card.cat-market .community-board-icon{color:#10b981;background:linear-gradient(135deg,#10b98133 0%,#0596694d 100%)}.community-board-showcase-card.cat-team .community-board-icon{color:#8b5cf6;background:linear-gradient(135deg,#8b5cf633 0%,#7c3aed4d 100%)}.community-board-showcase-card.cat-help .community-board-icon{color:#f43f5e;background:linear-gradient(135deg,#f43f5e33 0%,#e11d484d 100%)}.community-board-info{flex:1;min-width:0}.community-board-name{color:var(--text-main);letter-spacing:.3px;font-family:inherit;font-size:16px;font-weight:800}.community-board-desc{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-family:inherit;font-size:12.5px;line-height:1.4;overflow:hidden}.community-board-enter-btn{cursor:pointer;border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-main);white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #00000005}.community-board-enter-btn i{font-size:11px;transition:transform .2s}.community-board-showcase-card:hover .community-board-enter-btn i{transform:translate(3px)}.community-board-showcase-card.cat-course:hover .community-board-enter-btn,.community-board-showcase-card.cat-course .community-board-enter-btn:hover{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 14px #3b82f659}.community-board-showcase-card.cat-life:hover .community-board-enter-btn,.community-board-showcase-card.cat-life .community-board-enter-btn:hover{color:#fff;background:#f59e0b;border-color:#f59e0b;box-shadow:0 4px 14px #f59e0b59}.community-board-showcase-card.cat-freshman:hover .community-board-enter-btn,.community-board-showcase-card.cat-freshman .community-board-enter-btn:hover{color:#fff;background:#06b6d4;border-color:#06b6d4;box-shadow:0 4px 14px #06b6d459}.community-board-showcase-card.cat-market:hover .community-board-enter-btn,.community-board-showcase-card.cat-market .community-board-enter-btn:hover{color:#fff;background:#10b981;border-color:#10b981;box-shadow:0 4px 14px #10b98159}.community-board-showcase-card.cat-team:hover .community-board-enter-btn,.community-board-showcase-card.cat-team .community-board-enter-btn:hover{color:#fff;background:#8b5cf6;border-color:#8b5cf6;box-shadow:0 4px 14px #8b5cf659}.community-board-showcase-card.cat-help:hover .community-board-enter-btn,.community-board-showcase-card.cat-help .community-board-enter-btn:hover{color:#fff;background:#f43f5e;border-color:#f43f5e;box-shadow:0 4px 14px #f43f5e59}.community-board-snippets,.community-board-snippets-carousel{border-top:1px dashed var(--border-color);grid-template-areas:"stack";min-height:44px;margin-top:2px;padding-top:8px;display:grid;position:relative}.community-board-snippets.empty,.community-board-snippets-carousel.empty{align-items:center;min-height:38px;display:flex}.community-board-snippet-item{opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;background:#7d7d7d0a;border-radius:8px;grid-area:stack;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;transition:opacity .45s,transform .45s cubic-bezier(.16,1,.3,1),visibility .45s,background .18s;display:flex;transform:translateY(6px)}.community-board-snippet-item.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.community-board-snippet-item:hover{background:#6366f114;transform:translateY(0)translate(2px)}.community-board-snippet-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.community-board-snippet-title{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;overflow:hidden}.community-board-snippet-meta{color:var(--text-sub);align-items:center;gap:5px;font-family:inherit;font-size:11.5px;display:flex}.community-board-snippet-author{font-weight:600}.community-board-snippet-dot{opacity:.5}.community-board-snippet-stats{color:var(--text-sub);flex-shrink:0;align-items:center;gap:8px;font-family:inherit;font-size:11.5px;font-weight:600;display:flex}.community-board-empty-hint{color:var(--text-sub);opacity:.85;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:12.5px;display:flex}.community-skeleton-line.w-20{width:20%}.community-skeleton-line.w-30{width:30%}.community-skeleton-line.w-60{width:60%}.community-skeleton-line.w-70{width:70%}.community-skeleton-line.w-75{width:75%}.community-skeleton-line.w-90{width:90%}.community-skeleton-line.w-100{width:100px}.community-skeleton-line.w-160{width:160px}.community-skeleton-line.h-12{height:12px}.community-skeleton-line.h-14{height:14px}.community-skeleton-line.h-16{height:16px}.community-skeleton-btn{border-radius:8px;width:75px;height:28px}.community-skeleton-board-icon{border-radius:12px;width:44px;height:44px}.community-empty-overview-box{text-align:center;box-sizing:border-box;background:var(--surface-bg);border:1.5px dashed var(--border-color);border-radius:16px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;width:100%;min-width:100%;max-width:100%;margin:0 auto;padding:36px 20px;transition:all .2s;display:flex;box-shadow:0 4px 16px #00000005}.community-empty-overview-icon{color:#f59e0b;background:linear-gradient(135deg,#f59e0b1f,#ef444414);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:12px;font-size:24px;display:flex;box-shadow:0 4px 12px #f59e0b26}.community-section-divider{background:linear-gradient(90deg, transparent 0%, var(--border-color) 20%, var(--border-color) 80%, transparent 100%);width:100%;height:1px;margin:8px 0 20px}.community-section-header.centered{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.community-section-header.centered .community-section-title{letter-spacing:.5px;justify-content:center;gap:8px;font-size:20px;font-weight:850}.community-rankings-unified-deck{background:linear-gradient(145deg, var(--surface-bg) 0%, #6366f108 100%);border:1px solid var(--border-color);border-radius:18px;gap:16px;padding:16px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000008}.community-rankings-unified-deck:before{content:"";opacity:.95;background:linear-gradient(90deg,#3b82f6 0%,#8b5cf6 25%,#f59e0b 50%,#ec4899 75%,#3b82f6 100%) 0 0/200% 100%;height:3.5px;animation:3.5s linear infinite flowLightShimmer;position:absolute;top:0;left:0;right:0}.community-rank-deck-col{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.community-rank-deck-divider{background:linear-gradient(180deg, transparent 0%, var(--border-color) 20%, var(--border-color) 80%, transparent 100%);flex-shrink:0;align-self:stretch;width:1px}.community-rank-deck-header{border-bottom:1px dashed var(--border-color);justify-content:space-between;align-items:center;gap:8px;padding-bottom:6px;display:flex}.community-rank-pill-badge{white-space:nowrap;align-items:center;gap:6px;padding:2px 0;font-size:14px;font-weight:800;display:inline-flex}.community-rank-pill-badge.course{color:#3b82f6}.community-rank-pill-badge.teacher{color:#f59e0b}.community-rank-pill-badge.student{color:#6366f1}.community-rank-pill-btn{cursor:pointer;border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-sub);white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:700;transition:all .18s;display:inline-flex}.community-rank-pill-btn i{font-size:10px;transition:transform .18s}.community-rank-pill-btn:hover{color:var(--primary);border-color:var(--primary);background:#6366f114;transform:translate(2px)}.community-rank-pill-btn:hover i{transform:translate(2px)}.community-rank-list{flex-direction:column;gap:6px;display:flex}.community-rank-item{background:#7d7d7d0a;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.community-rank-badge{width:22px;height:22px;color:var(--text-sub);background:#6b728024;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11.5px;font-weight:800;display:flex}.community-rank-badge.rank-1{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 2px 6px #f59e0b59}.community-rank-badge.rank-2{color:#fff;background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%);box-shadow:0 2px 6px #94a3b859}.community-rank-badge.rank-3{color:#fff;background:linear-gradient(135deg,#d97706 0%,#b45309 100%);box-shadow:0 2px 6px #d9770659}.community-rank-item-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.community-rank-item-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.35;overflow:hidden}.community-rank-item-sub{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.community-leaderboard-unified-deck{background:linear-gradient(145deg, var(--surface-bg) 0%, #6366f108 100%);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;gap:12px;padding:16px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000008}.community-leaderboard-unified-deck:before{content:"";opacity:.95;background:linear-gradient(90deg,#6366f1 0%,#ec4899 25%,#f59e0b 50%,#10b981 75%,#6366f1 100%) 0 0/200% 100%;height:3.5px;animation:3.5s linear infinite flowLightShimmer;position:absolute;top:0;left:0;right:0}@keyframes flowLightShimmer{0%{background-position:0%}to{background-position:200%}}.community-student-rank-list{flex-direction:column;gap:8px;display:flex}.community-student-rank-item{background:#7d7d7d0a;border-radius:10px;align-items:center;gap:12px;min-width:0;padding:8px 12px;display:flex}.community-student-avatar{object-fit:cover;border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;width:32px;height:32px}.community-student-avatar-fallback{width:32px;height:32px;color:var(--primary);background:#6366f11f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.community-student-avatar-skeleton{background:#7d7d7d26;border-radius:50%;flex-shrink:0;width:32px;height:32px}.community-student-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.community-student-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;line-height:1.35;overflow:hidden}.community-student-sub{color:var(--text-sub);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.community-student-points-badge{color:#d97706;white-space:nowrap;background:linear-gradient(135deg,#f59e0b1f,#ef444414);border:1px solid #f59e0b40;border-radius:12px;flex-shrink:0;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:800;display:inline-flex}.community-rank-empty{color:var(--text-sub);text-align:center;justify-content:center;align-items:center;gap:6px;padding:16px 8px;font-size:12px;display:flex}.community-empty-overview-title{color:var(--text-main);text-align:center;word-break:break-word;overflow-wrap:break-word;max-width:100%;margin:0 0 6px;font-size:15px;font-weight:700;line-height:1.5}.community-empty-overview-desc{color:var(--text-sub);text-align:center;word-break:break-word;overflow-wrap:break-word;max-width:100%;margin-bottom:12px;font-size:13px;line-height:1.5}.community-empty-feed-box{background:var(--surface-bg);border:1.5px dashed var(--border-color);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;padding:44px 20px;display:flex}.community-empty-icon{width:60px;height:60px;color:var(--primary);background:#6366f11a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;font-size:26px;display:inline-flex}.community-empty-title{color:var(--text-main);margin:4px 0 8px;font-size:16px;font-weight:700}.community-feed-topbar{z-index:50;background:var(--surface-bg);border-bottom:1px solid var(--border-color);box-sizing:border-box;flex-wrap:nowrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:52px;padding:12px 18px;display:flex;position:sticky;top:0}.community-feed-topbar-left{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.community-back-btn{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;white-space:nowrap;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.community-back-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.community-feed-breadcrumb{white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:13px;overflow:hidden}.community-main-layout{flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.community-sidebar{background:var(--surface-bg);border-right:1px solid var(--border-color);z-index:10;flex-direction:column;flex-shrink:0;justify-content:space-between;width:210px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.community-sidebar.collapsed{width:64px}.community-sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:14px 14px 10px;display:flex}.community-sidebar-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.community-sidebar.collapsed .community-sidebar-title{display:none}.community-collapse-toggle{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.community-collapse-toggle:hover{color:var(--primary);border-color:var(--primary);background:var(--hover-bg)}.community-category-list{flex-direction:column;flex:1;gap:4px;padding:10px 8px;display:flex;overflow-y:auto}.community-category-item{color:var(--text-sub);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.community-category-item:hover{background:var(--hover-bg);color:var(--text-main)}.community-category-item.active{background:var(--primary-bg,#6366f11f);color:var(--primary);border-color:#6366f140;font-weight:700}.community-category-item i{text-align:center;flex-shrink:0;width:20px;font-size:15px}.community-sidebar.collapsed .community-category-item span{display:none}.community-sidebar.collapsed .community-category-item{justify-content:center;padding:10px 0}.community-sidebar-footer{border-top:1px solid var(--border-color);background:var(--bg-main);flex-direction:column;gap:6px;padding:12px 10px;display:flex}.community-social-link{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-sub);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.community-social-link.line-link{color:#06c755;border-color:#06c75533}.community-social-link.line-link:hover{background:#06c75514;border-color:#06c755}.community-social-link.ig-link{color:#e1306c;border-color:#e1306c33}.community-social-link.ig-link:hover{background:#e1306c14;border-color:#e1306c}.community-sidebar.collapsed .community-social-link span{display:none}.community-sidebar.collapsed .community-social-link{justify-content:center;padding:8px 0}.community-feed-wrapper{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex-direction:column;flex:1;gap:14px;width:100%;min-width:0;max-width:860px;height:100%;margin:0 auto;padding:14px 20px 80px;display:flex;overflow-y:auto}.community-fab-post-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);z-index:50;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;position:absolute;bottom:24px;right:24px;box-shadow:0 6px 20px #6366f173}.community-fab-post-btn i{flex-shrink:0;font-size:19px}.community-fab-post-btn:hover,.community-fab-post-btn:focus-visible,.community-fab-post-btn:active{transform:translateY(-3px)scale(1.06);box-shadow:0 10px 26px #6366f199}.community-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:9999;box-sizing:border-box;background:#000000a6;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:16px;animation:.2s ease-out fadeInModal;display:flex;position:fixed;top:0;left:0}.community-modal-overlay.csp-hidden{display:none!important}.community-modal-dialog{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:18px;flex-direction:column;width:100%;max-width:620px;max-height:90vh;animation:.25s cubic-bezier(.4,0,.2,1) scaleInModal;display:flex;overflow:hidden;box-shadow:0 20px 50px #0000004d}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes scaleInModal{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.community-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.community-modal-icon{width:32px;height:32px;color:var(--primary);background:#6366f11f;border-radius:8px;justify-content:center;align-items:center;font-size:15px;display:flex}.community-modal-title{color:var(--text-main);margin:0;font-size:16px;font-weight:800}.community-modal-close-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .15s;display:flex}.community-modal-close-btn:hover{background:var(--hover-bg);color:var(--text-main)}.community-modal-body{flex-direction:column;flex:1;padding:18px 20px;display:flex;position:relative;overflow-y:auto}.community-modal-footer{border-top:1px solid var(--border-color);background:var(--bg-main);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.community-composer-tools-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.community-category-select{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;border-radius:10px;outline:none;padding:6px 12px;font-size:13px;font-weight:600}.community-anon-switch-wrap{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.community-anon-switch-wrap.active{border-color:var(--primary);color:var(--primary);background:#6366f11f}.community-anon-checkbox{cursor:pointer;accent-color:var(--primary)}.community-anon-preview-pill{border:1px dashed var(--primary);color:var(--text-main);background:linear-gradient(135deg,#6366f11a,#a855f71a);border-radius:10px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:none}.community-anon-preview-pill.show{display:flex}.community-anon-preview-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex;overflow:hidden}.community-sort-tabs{background:var(--bg-main);border:1px solid var(--border-color);border-radius:10px;align-items:center;padding:2px;display:flex}.community-sort-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;transition:all .15s}.community-sort-btn.active{background:var(--surface-bg);color:var(--primary);box-shadow:0 2px 6px #0000000f}.community-composer-title-input{background:var(--bg-main);border:1px solid var(--border-color);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:10px;outline:none;padding:10px 14px;font-size:14px;font-weight:600}.community-composer-textarea{background:var(--bg-main);border:1px solid var(--border-color);width:100%;min-height:120px;color:var(--text-main);resize:vertical;box-sizing:border-box;border-radius:12px;outline:none;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.6;transition:border-color .2s}.community-composer-textarea:focus,.community-composer-title-input:focus{border-color:var(--primary)}.community-composer-tools{flex-shrink:0;align-items:center;gap:8px;display:flex}.community-composer-actions-right{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.community-tool-btn{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.community-tool-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--hover-bg)}.community-submit-post-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:8px 22px;font-size:13.5px;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #6366f14d}.community-submit-post-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 18px #6366f166}.community-tag-autocomplete{background:var(--surface-bg);border:1px solid var(--border-color);z-index:60;border-radius:12px;width:240px;max-height:220px;display:none;position:absolute;overflow-y:auto;box-shadow:0 10px 30px #0003}.community-tag-user-item{cursor:pointer;align-items:center;gap:10px;padding:8px 14px;font-size:13px;transition:background .15s;display:flex}.community-tag-user-item:hover{background:var(--hover-bg)}.community-tag-user-avatar{object-fit:cover;border-radius:50%;width:26px;height:26px}#community-posts-list{flex-direction:column;width:100%;display:flex}.community-post-card{background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:14px;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 10px #00000005}.community-post-card:last-child{margin-bottom:30px}.community-post-card:hover{border-color:#6366f159;transform:translateY(-1px);box-shadow:0 6px 20px #0000000d}.community-post-card.pinned{background:linear-gradient(180deg, #f59e0b08 0%, var(--surface-bg) 100%);border-color:#f59e0b}.community-post-header-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.community-post-title{color:var(--text-main);word-break:break-word;flex:1;margin:0;font-size:15px;font-weight:700;line-height:1.38}.community-post-top-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.community-post-delete-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 6px;font-size:12px;transition:all .15s}.community-post-delete-btn:hover{color:#ef4444;background:#ef44441a}.community-post-author-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:-2px;margin-bottom:2px;display:flex}.community-author-info-compact{color:var(--text-sub);align-items:center;gap:6px;font-size:12px;display:flex}.community-author-avatar-compact{object-fit:cover;border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;width:22px;height:22px}.community-author-avatar-compact.anon{background:var(--hover-bg);justify-content:center;align-items:center;font-size:11px;display:inline-flex}.community-author-name-compact{color:var(--text-sub);font-size:12.5px;font-weight:600;transition:color .15s}.community-author-name-compact.csp-pointer:hover{color:var(--primary)}.community-anon-tag{color:var(--text-sub);background:var(--bg-main);border:1px solid var(--border-color);border-radius:4px;align-items:center;gap:3px;padding:1px 5px;font-size:11px;display:inline-flex}.community-meta-dot{color:var(--text-sub);opacity:.5;font-size:10px}.community-post-time{color:var(--text-sub);font-size:11px}.community-category-badge{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700}.community-category-badge.cat-course{color:#3b82f6;background:#3b82f61f}.community-category-badge.cat-life{color:#f59e0b;background:#f59e0b1f}.community-category-badge.cat-freshman{color:#06b6d4;background:#06b6d41f}.community-category-badge.cat-market{color:#10b981;background:#10b9811f}.community-category-badge.cat-team{color:#8b5cf6;background:#8b5cf61f}.community-category-badge.cat-help{color:#f43f5e;background:#f43f5e1f}.community-category-badge.cat-general{color:#6b7280;background:#6b72801f}.community-post-body{flex-direction:column;gap:3px;display:flex}.community-post-content{color:var(--text-main);white-space:pre-wrap;word-break:break-word;font-size:13.5px;line-height:1.55}.community-post-content.collapsed{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;max-height:4.65em;display:-webkit-box;position:relative;overflow:hidden}.community-post-expand-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;width:fit-content;padding:2px 4px;font-size:12px;font-weight:700;transition:background .15s;display:inline-flex}.community-post-expand-btn:hover{background:var(--hover-bg)}.community-tag-mention{color:var(--primary);cursor:pointer;background:#6366f114;border-radius:4px;padding:1px 6px;font-weight:700}.community-tag-mention:hover{background:var(--primary);color:#fff}.community-course-picker-dialog{max-width:580px;max-height:85vh}.community-course-picker-search-container{background:var(--surface-bg);border-bottom:1px solid var(--border-color);flex-direction:column;gap:10px;padding:14px 20px 10px;display:flex}.community-course-picker-search-bar{background:var(--bg-main);border:1px solid var(--border-color);border-radius:10px;align-items:center;padding:2px 12px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.community-course-picker-search-bar:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f}.community-picker-search-icon{color:var(--text-sub);flex-shrink:0;margin-right:6px;font-size:14px}.community-course-picker-search-bar input{width:100%;color:var(--text-main);background:0 0;border:none;outline:none;padding:9px 4px;font-family:inherit;font-size:13.5px}.community-course-search-clear{color:var(--text-sub);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:14px;transition:color .15s;display:inline-flex}.community-course-search-clear:hover{color:var(--primary)}.community-course-picker-tabs{align-items:center;gap:8px;display:flex}.community-picker-tab{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-sub);cursor:pointer;border-radius:8px;align-items:center;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.community-picker-tab:hover{background:var(--hover-bg);color:var(--text-main)}.community-picker-tab.active{border-color:var(--primary);color:var(--primary);background:#6366f11f;font-weight:700}.community-course-picker-list{background:var(--bg-main);flex-direction:column;gap:8px;min-height:180px;max-height:360px;padding:12px 20px;display:flex;overflow-y:auto}.community-course-picker-item{background:var(--surface-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.community-course-picker-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 14px #6366f11f}.community-course-picker-item-main{flex-direction:column;flex:1;min-width:0;display:flex}.community-picker-code-badge{color:var(--primary);letter-spacing:.3px;background:#6366f11a;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700}.community-picker-course-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.community-picker-sched-badge{color:#10b981;background:#10b9811f;border-radius:6px;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.community-course-picker-meta-row{color:var(--text-sub);flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;font-size:12px;display:flex}.community-picker-credit-badge{background:var(--bg-main);border:1px solid var(--border-color);border-radius:5px;padding:1px 6px;font-size:11px;font-weight:600}.community-picker-select-btn{background:var(--surface-bg);border:1px solid var(--border-color);color:var(--primary);cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:700;transition:all .15s;display:inline-flex}.community-course-picker-item:hover .community-picker-select-btn{background:var(--primary);color:#fff;border-color:var(--primary)}.community-picker-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.community-picker-footer{padding:12px 20px}.community-attached-course-box{background:linear-gradient(135deg,#6366f114 0%,#6366f105 100%);border:1.5px solid #6366f14d;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:12px 16px;animation:.2s ease-out fadeInModal;display:flex}.community-attached-course-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.community-attached-course-icon{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:17px;display:flex;box-shadow:0 4px 10px #6366f14d}.community-attached-course-info{flex-direction:column;flex:1;min-width:0;display:flex}.community-attached-course-badge{color:var(--primary);align-items:center;margin-bottom:2px;font-size:11px;font-weight:700;display:inline-flex}.community-attached-course-title{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;overflow:hidden}.community-attached-course-meta{color:var(--text-sub);flex-wrap:wrap;align-items:center;gap:10px;margin-top:3px;font-size:12px;display:flex}.community-badge-credit{color:var(--primary);background:#6366f11a;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.community-attached-course-remove-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.community-attached-course-remove-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.community-embedded-course-card{background:var(--bg-main);border:1px solid var(--border-color);border-left:4px solid var(--primary);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;margin-top:8px;padding:12px 16px;transition:all .2s;display:flex}.community-embedded-course-card:hover{border-color:var(--primary);background:var(--surface-bg);transform:translate(4px);box-shadow:0 4px 16px #6366f11a}.community-post-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:2px;padding-top:8px;display:flex}.community-vote-capsule{background:var(--bg-main);border:1px solid var(--border-color);border-radius:24px;align-items:center;padding:2px 4px;display:inline-flex}.community-vote-btn-single{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px 7px;font-size:12px;transition:all .15s;display:inline-flex}.community-vote-btn-single:hover{color:var(--primary);background:var(--hover-bg)}.community-vote-btn-single.upvoted{color:#10b981;background:#10b98126}.community-vote-btn-single.downvoted{color:#ef4444;background:#ef444426}.community-vote-score{text-align:center;min-width:22px;padding:0 5px;font-size:12.5px;font-weight:700}.community-action-btn-item{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.community-action-btn-item:hover{background:var(--hover-bg);color:var(--primary)}.community-action-btn-item.report-btn:hover{color:#ef4444;background:#ef44441a}.community-detail-topbar{background:var(--surface-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.community-detail-scroll-body{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;width:100%;padding:20px 20px 48px;display:flex;overflow-y:auto}.community-detail-wrapper{flex-direction:column;gap:14px;width:100%;max-width:680px;display:flex}.community-detail-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:12px;padding:20px 24px;display:flex;box-shadow:0 4px 20px #00000008}.community-detail-header-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.community-detail-title{color:var(--text-main);word-break:break-word;flex:1;margin:0;font-size:18px;font-weight:800;line-height:1.4}.community-detail-author-row{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:-2px;padding-bottom:8px;display:flex}.community-detail-avatar{object-fit:cover;border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;width:26px;height:26px}.community-detail-avatar.anon{background:var(--hover-bg);justify-content:center;align-items:center;font-size:12px;display:inline-flex}.community-detail-content{color:var(--text-main);white-space:pre-wrap;word-break:break-word;font-size:14.5px;line-height:1.68}.community-detail-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:4px;padding-top:10px;display:flex}.community-detail-comments-container{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:14px;padding:18px 20px;display:flex;box-shadow:0 4px 20px #00000008}.community-detail-comments-header{color:var(--text-main);justify-content:space-between;align-items:center;font-size:14.5px;font-weight:800;display:flex}.community-detail-comments-badge{color:var(--primary);background:#6366f11f;border-radius:12px;padding:2px 8px;font-size:11.5px;font-weight:700}.community-detail-reply-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:14px;gap:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.community-detail-reply-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f}.community-detail-reply-avatar{border-radius:50%;flex-shrink:0;width:30px;height:30px;overflow:hidden}.community-detail-reply-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.community-detail-reply-avatar-img.anon{background:var(--hover-bg);color:var(--text-sub);justify-content:center;align-items:center;font-size:13px;display:flex}.community-detail-reply-input-wrap{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.community-detail-reply-textarea{width:100%;color:var(--text-main);resize:none;box-sizing:border-box;background:0 0;border:none;outline:none;min-height:38px;font-family:inherit;font-size:13.5px;line-height:1.5}.community-detail-reply-bottom{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:2px;padding-top:8px;display:flex}.community-detail-reply-send-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:18px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.community-detail-reply-send-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.community-detail-comments-list{flex-direction:column;display:flex}.community-detail-comment-item{border-bottom:1px solid var(--border-color);gap:10px;padding:10px 0;display:flex}.community-detail-comment-item:last-child{border-bottom:none}.community-empty-comments-hint{color:var(--text-sub);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px 10px;font-size:13px;display:flex}.community-comment-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.community-comment-avatar.anon{background:var(--hover-bg);color:var(--text-sub);justify-content:center;align-items:center;font-size:12px;display:flex}.community-comment-body{background:var(--bg-main);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;flex:1;gap:4px;padding:10px 14px;display:flex}.community-comment-header{justify-content:space-between;align-items:center;font-size:12px;display:flex}.community-comment-author{color:var(--text-main);font-weight:700}.community-comment-time{color:var(--text-sub);font-size:11px}.community-comment-text{color:var(--text-main);word-break:break-word;font-size:13px;line-height:1.5}.community-comment-footer{color:var(--text-sub);align-items:center;gap:12px;margin-top:4px;font-size:11px;display:flex}.community-comment-action-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:11px;font-weight:600;transition:all .15s}.community-comment-action-btn:hover{color:var(--primary);background:var(--hover-bg)}.community-live-pulse-dot{background:#10b981;border-radius:50%;width:8px;height:8px;animation:2s infinite livePulse;display:inline-block;box-shadow:0 0 #10b981b3}@keyframes livePulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.community-skeleton-card{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.community-skeleton-header{align-items:center;gap:10px;display:flex}.community-skeleton-avatar{background:var(--hover-bg);border-radius:50%;width:32px;height:32px;animation:1.5s infinite shimmer}.community-skeleton-line{background:var(--hover-bg);border-radius:6px;height:12px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{opacity:.5}50%{opacity:.9}to{opacity:.5}}@media (width<=768px){.community-overview-scroll-body{gap:16px;padding:12px 12px 30px}.community-portal-hero{margin:0;padding:18px 16px}.community-portal-title{font-size:19px}.community-portal-subtitle{font-size:12.5px}.community-section-wrapper{margin:0}.community-boards-grid{grid-template-columns:repeat(3,1fr);gap:8px}.community-board-showcase-card{text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:72px;padding:10px 6px;display:flex}.community-board-header{flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%}.community-board-title-group{flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%}.community-board-icon{border-radius:10px;width:34px;height:34px;font-size:16px}.community-board-info{text-align:center;width:100%}.community-board-name{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.community-board-desc,.community-board-enter-btn,.community-board-snippets,.community-board-snippets-carousel{display:none!important}.community-board-showcase-card.skeleton .community-skeleton-avatar{border-radius:10px;width:34px;height:34px;margin:0 auto 4px}.community-board-showcase-card.skeleton .community-skeleton-line{margin:0 auto;width:70%!important;height:12px!important}.community-board-showcase-card.skeleton .community-skeleton-btn{display:none!important}.community-trending-track{gap:12px}.community-trending-card{scroll-snap-align:center;flex:0 0 100%;min-width:100%;max-width:100%;padding:9px 12px}.community-empty-overview-box{border-radius:14px;padding:24px 14px}.community-empty-overview-icon{width:48px;height:48px;margin-bottom:10px;font-size:20px}.community-empty-overview-title{padding:0 4px;font-size:14px;line-height:1.45}.community-empty-overview-desc{margin-bottom:10px;padding:0 4px;font-size:12px;line-height:1.4}.community-carousel-side-arrow{width:32px;height:32px;font-size:11px}.community-carousel-side-arrow.prev{left:-4px}.community-carousel-side-arrow.next{right:-4px}.community-feed-topbar{gap:8px;min-height:44px;padding:9px 12px}.community-feed-topbar-left{gap:8px}.community-back-btn{border-radius:8px;gap:4px;padding:5px 9px;font-size:11px}.community-feed-breadcrumb{font-size:11.5px}.community-sort-btn{padding:4px 8px;font-size:11px}.community-sidebar{flex-shrink:0;width:52px;height:100%;position:relative;overflow:hidden auto}.community-sidebar-header{display:none!important}.community-category-list{gap:3px!important;padding:6px 4px!important}.community-sidebar .community-sidebar-title,.community-sidebar .community-category-item span,.community-sidebar .community-social-link span{display:none}.community-sidebar .community-category-item,.community-sidebar .community-social-link{justify-content:center;padding:8px 0}.community-sidebar-footer{gap:4px!important;padding:6px 4px 65px!important}.community-collapse-toggle{display:none}.community-feed-wrapper{padding:10px 10px 90px}.community-fab-post-btn{bottom:calc(78px + env(safe-area-inset-bottom,0px))!important;z-index:50!important;opacity:1!important;border-radius:50%!important;width:48px!important;height:48px!important;position:fixed!important;right:18px!important}.community-fab-post-btn i{font-size:19px!important}.community-post-card{gap:7px;padding:10px 12px}.community-detail-scroll-body{padding:12px 10px 36px}.community-detail-card{padding:14px}.community-detail-title{font-size:16.5px}.community-detail-comments-container{padding:14px 12px}.community-rankings-unified-deck{border-radius:14px;gap:8px;padding:10px 8px}.community-rank-deck-col{gap:6px}.community-rank-deck-header{padding-bottom:5px}.community-rank-pill-badge{gap:4px;padding:0;font-size:11.5px}.community-rank-pill-btn{border-radius:10px;padding:2px 5px;font-size:10px}.community-rank-pill-btn span{font-size:10px}.community-rank-pill-btn i{font-size:8.5px}.community-rank-item{gap:6px;padding:5px 6px}.community-rank-badge{border-radius:5px;width:18px;height:18px;font-size:10.5px}.community-rank-item-name{font-size:11.5px}.community-rank-item-sub{font-size:10px}.community-section-header.centered .community-section-title{gap:6px;font-size:17.5px}.community-leaderboard-unified-deck{border-radius:14px;gap:8px;padding:10px}.community-student-rank-item{gap:8px;padding:6px 8px}.community-student-avatar,.community-student-avatar-fallback,.community-student-avatar-skeleton{width:26px;height:26px;font-size:12px}.community-student-name{font-size:12px}.community-student-sub{font-size:10.5px}.community-student-points-badge{border-radius:10px;padding:2px 6px;font-size:10px}.community-ad-rental-banner{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px}.community-ad-badge{padding:3px 8px;font-size:10.5px}.community-ad-btn{justify-content:center;width:auto;padding:5px 12px;font-size:11px}}.community-composer-image-preview{background:var(--bg-main);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:12px;margin-top:10px;padding:8px;transition:all .2s;display:flex;position:relative;overflow:hidden}.community-composer-img-thumb{object-fit:cover;border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;width:64px;height:64px}.community-composer-img-info{flex:1;min-width:0}.community-composer-img-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.community-composer-img-size{color:var(--text-sub);margin-top:2px;font-size:11px}.community-composer-img-remove-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex}.community-composer-img-remove-btn:hover{color:#fff;background:#ef4444}.community-post-image-wrap{border:1px solid var(--border-color);background:var(--bg-main);cursor:zoom-in;border-radius:12px;justify-content:center;align-items:center;max-height:360px;margin-top:10px;margin-bottom:6px;transition:all .2s;display:flex;overflow:hidden}.community-post-image-wrap:hover{border-color:var(--primary);box-shadow:0 4px 16px #0000001a}.community-post-image{object-fit:cover;border-radius:11px;width:100%;max-height:360px;display:block}.community-detail-image-wrap{border:1px solid var(--border-color);background:var(--bg-main);cursor:zoom-in;text-align:center;border-radius:12px;margin:14px 0;overflow:hidden}.community-detail-image{object-fit:contain;border-radius:11px;max-width:100%;max-height:480px;margin:0 auto;display:block}.csp-profile-hub-card{cursor:pointer;box-sizing:border-box;text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;padding:14px 16px;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex;position:relative;background:var(--surface-bg,var(--card-bg,#fff))!important;border:1px solid var(--border-color)!important;border-radius:12px!important;margin-bottom:12px!important}.csp-profile-hub-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014;border-color:var(--primary)!important}.csp-profile-hub-card-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.csp-profile-hub-card-date{color:var(--text-muted,var(--text-sub));margin-left:auto;font-size:.78rem}.csp-profile-hub-parent-badge{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;background:#4a90e21a;border-radius:6px;max-width:75%;padding:3px 8px;font-size:.82rem;font-weight:600;overflow:hidden}.csp-profile-hub-card-body{align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.csp-profile-hub-card-main{flex:1;min-width:0}.csp-profile-hub-card-title{color:var(--text-main);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;font-size:.95rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.csp-profile-hub-card-snippet{color:var(--text-sub);-webkit-line-clamp:2;line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.csp-profile-hub-comment-text{color:var(--text-main);white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.csp-profile-post-thumb{object-fit:cover;border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;width:60px;height:60px}.csp-profile-hub-card-footer{border-top:1px dashed var(--border-color);color:var(--text-sub);justify-content:space-between;align-items:center;padding-top:8px;font-size:.8rem;display:flex}.csp-profile-hub-card-stats{align-items:center;gap:12px;display:flex}.csp-profile-hub-card-action-hint{color:var(--primary);align-items:center;gap:4px;font-weight:500;transition:transform .2s;display:flex}.csp-profile-hub-card:hover .csp-profile-hub-card-action-hint{transform:translate(3px)}.community-empty-profile-sec{color:var(--text-sub);text-align:center;background:var(--surface-bg,#00000005);border:1px dashed var(--border-color);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:36px 16px;display:flex}.community-course-dropzone-wrapper{box-sizing:border-box;width:100%;margin-bottom:8px}.community-course-dropzone{cursor:default;-webkit-user-select:none;user-select:none;box-sizing:border-box;text-align:center;background:#4361ee05;border:2px dashed #4361ee59;border-radius:14px;justify-content:center;align-items:center;width:100%;padding:16px;transition:border-color .2s,background .2s;display:flex}[data-theme=dark] .community-course-dropzone{background:#6366f108;border-color:#6366f14d}.community-course-dropzone.drag-hover,.forum-dropzone-active .community-course-dropzone{border-color:var(--primary-color,#4361ee);background:#4361ee14;transform:scale(1.01);box-shadow:0 4px 16px #4361ee1f}.forum-dropzone-inner{flex-direction:column;align-items:center;gap:6px;display:flex}.forum-dropzone-icon{width:38px;height:38px;color:var(--primary-color,#4361ee);background:#4361ee14;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;transition:transform .2s,background .2s;display:flex}.community-course-dropzone.drag-hover .forum-dropzone-icon{background:var(--primary-color,#4361ee);color:#fff;transform:scale(1.08)}.forum-dropzone-text-group{flex-direction:column;align-items:center;gap:2px;display:flex}.forum-dropzone-main-title{color:var(--primary-color,#4361ee);letter-spacing:-.01em;font-size:.98rem;font-weight:700}[data-theme=dark] .forum-dropzone-main-title{color:#818cf8}.forum-dropzone-subtitle{color:var(--text-muted,#64748b);font-size:.78rem}@media (width<=768px){.community-course-dropzone-wrapper{margin-bottom:6px}.community-course-dropzone{border-radius:12px;padding:12px 10px}.forum-dropzone-icon{width:32px;height:32px;font-size:.95rem}.forum-dropzone-main-title{font-size:.88rem}.forum-dropzone-subtitle{font-size:.72rem}}.community-course-reviews-wrapper{box-sizing:border-box;width:100%;margin-bottom:12px;transition:all .25s}.community-reviews-carousel-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#00000014);border-radius:16px;padding:14px 16px 16px;transition:border-color .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000008}[data-theme=dark] .community-reviews-carousel-card{background:var(--card-bg,#1e293b);border-color:#ffffff14;box-shadow:0 4px 20px #00000040}.community-course-reviews-wrapper.drag-hover .community-reviews-carousel-card,.forum-dropzone-active .community-course-reviews-wrapper .community-reviews-carousel-card{border-color:var(--primary-color,#4361ee);background:#4361ee0a;transform:scale(1.008);box-shadow:0 6px 24px #4361ee2e}.community-carousel-header{border-bottom:1px solid var(--border-color,#0000000f);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}[data-theme=dark] .community-carousel-header{border-bottom-color:#ffffff0f}.community-carousel-title-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.community-carousel-pill{color:var(--text-color,#1e293b);letter-spacing:-.01em;background:#4361ee14;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.86rem;font-weight:700;display:inline-flex}[data-theme=dark] .community-carousel-pill{color:#f1f5f9;background:#6366f126}.community-carousel-subtitle{color:var(--text-muted,#64748b);font-size:.76rem}.community-carousel-nav-btns{align-items:center;gap:6px;display:flex}.community-carousel-arrow-btn{border:1px solid var(--border-color,#0000001a);background:var(--btn-bg-secondary,#00000008);width:28px;height:28px;color:var(--text-muted,#64748b);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.community-carousel-arrow-btn:hover{background:var(--primary-color,#4361ee);color:#fff;border-color:var(--primary-color,#4361ee);transform:scale(1.08)}[data-theme=dark] .community-carousel-arrow-btn{color:#94a3b8;background:#ffffff0d;border-color:#ffffff1a}.community-reviews-carousel-track-container{width:100%;position:relative;overflow:hidden}.community-reviews-carousel-track{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:14px;padding:4px 2px 8px;display:flex;overflow-x:auto}.community-reviews-carousel-track::-webkit-scrollbar{display:none}.community-reviews-carousel-track.no-smooth{scroll-behavior:auto!important}.community-course-review-card{background:var(--card-bg-subtle,#f8fafccc);border:1px solid var(--border-color,#0000000f);box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;flex:0 0 280px;justify-content:space-between;max-width:280px;padding:12px 14px;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;position:relative}[data-theme=dark] .community-course-review-card{background:#1e293bb3;border-color:#ffffff0f}.community-course-review-card:hover{background:var(--card-bg,#fff);border-color:#4361ee66;transform:translateY(-3px);box-shadow:0 8px 24px #4361ee1f}[data-theme=dark] .community-course-review-card:hover{background:#1e293bf2;border-color:#6366f166;box-shadow:0 8px 24px #0006}.review-card-top-row{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.review-card-dept-badge{color:var(--primary-color,#4361ee);text-overflow:ellipsis;white-space:nowrap;background:#4361ee14;border-radius:6px;max-width:110px;padding:2px 7px;font-size:.72rem;font-weight:600;overflow:hidden}[data-theme=dark] .review-card-dept-badge{color:#818cf8;background:#6366f126}.review-card-score-pills{gap:4px;display:flex}.score-pill{border-radius:4px;align-items:center;gap:2px;padding:1px 5px;font-size:.68rem;font-weight:700;display:inline-flex}.score-pill.sweet{color:#db2777;background:#ec48991a}.score-pill.chill{color:#0284c7;background:#0ea5e91a}.score-pill.know{color:#059669;background:#10b9811a}[data-theme=dark] .score-pill.sweet{color:#f472b6;background:#f472b626}[data-theme=dark] .score-pill.chill{color:#38bdf8;background:#38bdf826}[data-theme=dark] .score-pill.know{color:#34d399;background:#34d39926}.review-card-main{margin-bottom:8px}.review-card-title{color:var(--text-color,#0f172a);margin:0 0 4px;font-size:.95rem;font-weight:700;line-height:1.35}[data-theme=dark] .review-card-title{color:#f8fafc}.review-card-teacher-line{color:var(--text-muted,#64748b);align-items:center;gap:4px;font-size:.78rem;display:flex}.review-card-code-tag{color:var(--text-muted,#94a3b8);background:#0000000a;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:.68rem}[data-theme=dark] .review-card-code-tag{color:#94a3b8;background:#ffffff0f}.review-card-quote-box{border-left:3px solid var(--primary-color,#4361ee);color:var(--text-color,#334155);background:#00000005;border-radius:4px;align-items:flex-start;gap:5px;min-height:38px;margin-bottom:10px;padding:6px 8px;font-size:.76rem;line-height:1.4;display:flex}[data-theme=dark] .review-card-quote-box{color:#cbd5e1;background:#ffffff08;border-left-color:#818cf8}.review-card-quote-box.placeholder{color:var(--text-muted,#64748b);border-left-color:#f59e0b;font-style:italic}.quote-icon{color:var(--primary-color,#4361ee);opacity:.6;flex-shrink:0;margin-top:2px;font-size:.7rem}.review-card-footer{border-top:1px dashed var(--border-color,#0000000d);justify-content:space-between;align-items:center;gap:6px;padding-top:6px;display:flex}[data-theme=dark] .review-card-footer{border-top-color:#ffffff0d}.review-card-tags-group{flex-wrap:wrap;gap:4px;max-width:160px;display:flex;overflow:hidden}.review-card-tag-pill{color:var(--text-muted,#64748b);background:#0000000a;border-radius:4px;padding:1px 5px;font-size:.68rem}[data-theme=dark] .review-card-tag-pill{color:#94a3b8;background:#ffffff0f}.review-card-enter-btn{color:var(--primary-color,#4361ee);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:2px;padding:4px 6px;font-size:.74rem;font-weight:700;transition:all .15s;display:inline-flex}.review-card-enter-btn:hover{background:#4361ee14}[data-theme=dark] .review-card-enter-btn{color:#818cf8}.community-carousel-skeleton-card{background:var(--card-bg-subtle,#f8fafc99);border:1px solid var(--border-color,#0000000d);box-sizing:border-box;border-radius:14px;flex:0 0 280px;max-width:280px;padding:14px}.community-carousel-empty-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:24px 16px;display:flex}.community-fab-write-review{background:var(--primary,#4361ee);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);z-index:50;border:none;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:.92rem;font-weight:700;transition:all .22s cubic-bezier(.4,0,.2,1);display:inline-flex;position:absolute;bottom:24px;right:24px;box-shadow:0 4px 18px #4361ee66}.community-fab-write-review i{font-size:1.05rem}.community-fab-write-review:hover,.community-fab-write-review:focus-visible{background:#3451db;transform:translateY(-3px)scale(1.04);box-shadow:0 8px 24px #4361ee8c}.community-fab-write-review:active{background:#2a41b8;transform:translateY(-1px)scale(.98)}[data-theme=dark] .community-fab-write-review{background:var(--primary,#4361ee);box-shadow:0 4px 18px #0006}[data-theme=dark] .community-fab-write-review:hover,[data-theme=dark] .community-fab-write-review:focus-visible{background:#4f6ff3;box-shadow:0 8px 24px #4361ee66}#community-stage-overview:not(.active) .community-fab-write-review,#community-stage-overview:not(.active) #btn-forum-fab-write-review,#forum-layer-3-chat[style*=flex]~#btn-forum-fab-write-review,#forum-layer-3-chat[style*=flex]~.community-fab-write-review,#forum-layer-3-chat:not([style*=none])~#btn-forum-fab-write-review,#forum-layer-3-chat:not([style*=none])~.community-fab-write-review{display:none!important}#subview-forum:has(#forum-layer-3-chat[style*=flex]) #btn-forum-fab-write-review{display:none!important}#subview-forum:has(#forum-layer-3-chat[style*=flex]) .community-fab-write-review{display:none!important}#subview-forum:has(#forum-layer-3-chat:not([style*=none])) #btn-forum-fab-write-review{display:none!important}#subview-forum:has(#forum-layer-3-chat:not([style*=none])) .community-fab-write-review{display:none!important}.community-review-picker-dialog{flex-direction:column;width:620px;max-width:94vw;height:600px;max-height:85dvh;display:flex}.community-modal-icon.review{color:var(--primary-color,#4361ee);background:#4361ee1a}[data-theme=dark] .community-modal-icon.review{color:#818cf8;background:#6366f133}.community-review-picker-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 20px;display:flex;overflow:hidden}.review-picker-semester-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-picker-label{color:var(--text-color,#1e293b);align-items:center;font-size:.88rem;font-weight:700;display:inline-flex}.review-picker-select-wrapper{min-width:170px;position:relative}.review-picker-semester-select{appearance:none;background:var(--input-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);width:100%;color:var(--text-color,#0f172a);cursor:pointer;border-radius:10px;padding:8px 30px 8px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.review-picker-semester-select:focus{border-color:var(--primary-color,#4361ee);outline:none;box-shadow:0 0 0 3px #4361ee26}[data-theme=dark] .review-picker-semester-select{color:#f8fafc;background:#0f172a;border-color:#334155}.review-picker-select-arrow{color:var(--text-muted,#94a3b8);pointer-events:none;font-size:.75rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.review-picker-search-bar{width:100%;position:relative}.review-picker-search-bar input{background:var(--input-bg,#f8fafc);border:1.5px solid var(--border-color,#e2e8f0);width:100%;color:var(--text-color,#0f172a);box-sizing:border-box;border-radius:12px;padding:10px 38px;font-size:.9rem;transition:all .2s}.review-picker-search-bar input:focus{border-color:var(--primary-color,#4361ee);background:#fff;outline:none;box-shadow:0 0 0 3px #4361ee26}[data-theme=dark] .review-picker-search-bar input{color:#f8fafc;background:#0f172a;border-color:#334155}[data-theme=dark] .review-picker-search-bar input:focus{background:#1e293b}.review-picker-search-icon{color:var(--text-muted,#94a3b8);pointer-events:none;font-size:.9rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.review-picker-search-clear{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;padding:2px;font-size:.95rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.review-picker-results-meta{justify-content:space-between;align-items:center;padding:2px;display:flex}.review-picker-results-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.review-picker-course-item{background:var(--card-bg-subtle,#f8fafc);border:1px solid var(--border-color,#0000000f);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}[data-theme=dark] .review-picker-course-item{background:#1e293b99;border-color:#ffffff0f}.review-picker-course-item:hover{background:var(--card-bg,#fff);border-color:var(--primary-color,#4361ee);transform:translate(3px);box-shadow:0 4px 16px #4361ee1f}[data-theme=dark] .review-picker-course-item:hover{background:#1e293bf2;border-color:#818cf8}.review-picker-item-left{flex:1;min-width:0}.review-picker-item-title-row{align-items:center;gap:8px;margin-bottom:5px;display:flex}.review-picker-code-badge{color:var(--primary-color,#4361ee);background:#4361ee14;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.72rem;font-weight:700}[data-theme=dark] .review-picker-code-badge{color:#818cf8;background:#6366f126}.review-picker-course-name{color:var(--text-color,#0f172a);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}[data-theme=dark] .review-picker-course-name{color:#f8fafc}.review-picker-meta-row{color:var(--text-muted,#64748b);flex-wrap:wrap;align-items:center;gap:10px;font-size:.78rem;display:flex}.review-picker-meta-row .meta-item{align-items:center;gap:4px;display:inline-flex}.review-picker-meta-row .meta-item.teacher{color:var(--text-color,#334155);font-weight:600}[data-theme=dark] .review-picker-meta-row .meta-item.teacher{color:#cbd5e1}.review-picker-meta-row .meta-item.credit{background:#0000000a;border-radius:3px;padding:1px 5px;font-size:.72rem}[data-theme=dark] .review-picker-meta-row .meta-item.credit{background:#ffffff0f}.review-picker-item-right{flex-shrink:0}.review-picker-choose-btn{border:1px solid var(--primary-color,#4361ee);color:var(--primary-color,#4361ee);cursor:pointer;background:#4361ee0f;border-radius:8px;align-items:center;gap:4px;padding:7px 12px;font-size:.8rem;font-weight:700;transition:all .2s;display:inline-flex}.review-picker-course-item:hover .review-picker-choose-btn{background:var(--primary-color,#4361ee);color:#fff}[data-theme=dark] .review-picker-choose-btn{color:#818cf8;background:#6366f11a;border-color:#818cf8}[data-theme=dark] .review-picker-course-item:hover .review-picker-choose-btn{color:#fff;background:#6366f1}@media (width<=768px){.community-fab-write-review{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;z-index:99!important;padding:10px 18px!important;font-size:.88rem!important;position:fixed!important;right:16px!important;box-shadow:0 4px 20px #00000047!important}.community-review-picker-dialog{width:96vw;max-width:96vw;height:82dvh;max-height:85dvh}.community-course-review-card{flex:0 0 250px;max-width:250px;padding:10px 12px}}.course-sort-dropdown-wrap{display:inline-block;position:relative}.btn-course-sort{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);color:var(--text-main,#334155);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 1px 3px #0000000a}.btn-course-sort:hover{background:var(--hover-bg,#f1f5f9);border-color:var(--primary,#4361ee);color:var(--primary,#4361ee);transform:translateY(-1px);box-shadow:0 3px 8px #4361ee1f}.btn-course-sort .sort-chevron{opacity:.7;font-size:.7rem;transition:transform .25s}.course-sort-dropdown-wrap.open .btn-course-sort,.btn-course-sort.active{border-color:var(--primary,#4361ee);color:var(--primary,#4361ee)}.course-sort-dropdown-wrap.open .btn-course-sort .sort-chevron,.btn-course-sort.active .sort-chevron{transform:rotate(180deg)}.course-sort-menu{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);z-index:100;opacity:0;-webkit-backdrop-filter:blur(12px);border-radius:12px;width:230px;padding:6px;transition:opacity .2s,transform .2s cubic-bezier(.16,1,.3,1);display:none;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-8px)scale(.97);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.course-sort-dropdown-wrap.open .course-sort-menu,.course-sort-menu.show{opacity:1;pointer-events:auto;display:block;transform:translateY(0)scale(1)}.sort-menu-item{color:var(--text-main,#334155);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.82rem;transition:background .15s,color .15s;display:flex}.sort-menu-item i{text-align:center;width:16px;color:var(--text-muted,#94a3b8);transition:color .15s}.sort-menu-item:hover{background:var(--primary-light-10,#4361ee14);color:var(--primary,#4361ee)}.sort-menu-item:hover i{color:var(--primary,#4361ee)}.sort-menu-item.active{background:var(--primary-light-15,#4361ee1f);color:var(--primary,#4361ee);font-weight:600}.sort-menu-item.active i{color:var(--primary,#4361ee)}.sort-menu-divider{background:var(--border-color,#e2e8f0);height:1px;margin:4px 6px}[data-theme=dark] .btn-course-sort{background:var(--surface-bg,#242526);border-color:var(--border-color,#3e4042);color:var(--text-main,#e4e6eb);box-shadow:0 1px 3px #0000004d}[data-theme=dark] .btn-course-sort:hover{background:var(--hover-bg,#303031);border-color:var(--primary,#4361ee);color:var(--primary,#4361ee);box-shadow:0 3px 8px #4361ee40}[data-theme=dark] .course-sort-dropdown-wrap.open .btn-course-sort,[data-theme=dark] .btn-course-sort.active{border-color:var(--primary,#4361ee);color:var(--primary,#4361ee)}[data-theme=dark] .course-sort-menu{border-color:var(--border-color,#3e4042);background:#242526f2;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #0006}[data-theme=dark] .sort-menu-item{color:var(--text-main,#e4e6eb)}[data-theme=dark] .sort-menu-item i{color:var(--text-sub,#b0b3b8)}[data-theme=dark] .sort-menu-item:hover{color:#82aaff;background:#4361ee2e}[data-theme=dark] .sort-menu-item:hover i{color:#82aaff}[data-theme=dark] .sort-menu-item.active{color:#82aaff;background:#4361ee40}[data-theme=dark] .sort-menu-item.active i{color:#82aaff}[data-theme=dark] .sort-menu-divider{background:var(--border-color,#3e4042)}#detail-modal .detail-modal-box{background:var(--surface-bg,#fff);box-sizing:border-box;border-radius:20px;width:520px;max-width:95vw;box-shadow:0 25px 50px -12px #00000040;flex-direction:column!important;height:85vh!important;min-height:480px!important;max-height:760px!important;padding:0!important;display:flex!important;overflow:hidden!important}@media (height<=600px){#detail-modal .detail-modal-box{height:94vh!important;min-height:0!important}}.detail-modal-header{border-bottom:1px solid var(--border-color,#e2e8f0);background:var(--surface-bg,#fff);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px 12px;display:flex}.detail-header-info h3{color:var(--text-main,#0f172a);margin:0;font-size:1.18rem;font-weight:700;line-height:1.35}.detail-modal-subtitle{color:var(--text-muted,#64748b);margin-top:4px;font-size:.82rem;font-weight:500}.detail-tabs-bar{border-bottom:1px solid var(--border-color,#e2e8f0);background:var(--tab-bg,#f8fafc);flex-shrink:0;padding:0 12px;display:flex;position:relative}[data-theme=dark] .detail-tabs-bar{background:#1a2234}.detail-tab-btn{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex;position:relative}.detail-tab-btn:hover,.detail-tab-btn.active{color:var(--primary,#4361ee)}.detail-tab-indicator{background:var(--primary,#4361ee);border-radius:3px 3px 0 0;width:calc(50% - 12px);height:3px;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:12px}.detail-tabs-bar.tab-stats .detail-tab-indicator{transform:translate(100%)}.detail-panels-viewport{box-sizing:border-box!important;flex:1 1 0!important;width:100%!important;height:0!important;min-height:0!important;display:block!important;position:relative!important;overflow:hidden!important}.detail-panels-track{will-change:transform;transition:transform .35s cubic-bezier(.16,1,.3,1);transform:translate(0%);box-sizing:border-box!important;flex-shrink:0!important;width:200%!important;min-width:200%!important;max-width:200%!important;height:100%!important;min-height:100%!important;max-height:100%!important;display:flex!important}.detail-panels-track.slide-stats{transform:translate(-50%)}.detail-panel{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;box-sizing:border-box!important;flex:0 0 50%!important;width:50%!important;min-width:50%!important;max-width:50%!important;height:100%!important;min-height:0!important;max-height:100%!important;display:block!important;overflow:hidden auto!important}.detail-panel::-webkit-scrollbar{width:6px}.detail-panel::-webkit-scrollbar-track{background:0 0}.detail-panel::-webkit-scrollbar-thumb{background-color:#0000002e;border-radius:4px}.detail-panel::-webkit-scrollbar-thumb:hover{background-color:#00000059}[data-theme=dark] .detail-panel::-webkit-scrollbar-thumb{background-color:#fff3}#detail-modal #detail-content{box-sizing:border-box;line-height:1.7;flex:none!important;width:100%!important;max-width:100%!important;padding:14px 20px 24px!important;overflow:visible!important}#detail-modal #detail-stats-content{box-sizing:border-box;flex:none!important;width:100%!important;max-width:100%!important;padding:0!important;overflow:visible!important}.stats-panel-inner{flex-direction:column;gap:14px;padding:14px 18px 24px;display:flex}.who-took-panel-inner{justify-content:flex-start;min-height:100%;padding:20px 18px 28px}.takers-empty-placeholder{text-align:center;background:var(--card-bg,#f8fafc);border:1px dashed var(--border-color,#cbd5e1);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;margin:20px 0;padding:42px 20px;display:flex}[data-theme=dark] .takers-empty-placeholder{background:#1e293b66;border-color:#334155}.takers-empty-icon{width:54px;height:54px;color:var(--primary,#4361ee);background:#4361ee14;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:1.45rem;display:flex}.takers-empty-title{color:var(--text-main,#0f172a);margin-bottom:6px;font-size:.95rem;font-weight:700}.takers-empty-desc{color:var(--text-muted,#64748b);max-width:280px;font-size:.8rem;line-height:1.5}.stats-metrics-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stats-metric-card{background:var(--card-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;transition:transform .2s,box-shadow .2s;display:flex}[data-theme=dark] .stats-metric-card{background:#1e293b;border-color:#334155}.stats-metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.stats-metric-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:flex}.icon-current-sem{color:#ef4444;background:#ef44441a}.icon-total-sem{color:#3b82f6;background:#3b82f61a}.icon-reviews{color:#10b981;background:#10b9811a}.icon-heat{color:#f59e0b;background:#f59e0b1a}.stats-metric-info{flex-direction:column;min-width:0;display:flex}.stats-metric-value{color:var(--text-main,#0f172a);font-size:1.18rem;font-weight:700;line-height:1.2}.stats-metric-label{color:var(--text-muted,#64748b);margin-top:2px;font-size:.72rem}.radar-chart-card{background:var(--card-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:16px;flex-direction:column;align-items:center;padding:12px 14px;display:flex;position:relative}[data-theme=dark] .radar-chart-card{background:#1e293b;border-color:#334155}.radar-chart-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;display:flex}.radar-chart-title{color:var(--text-main,#0f172a);align-items:center;gap:6px;font-size:.88rem;font-weight:700;display:flex}.radar-chart-title i{color:#f59e0b}.radar-chart-badge{color:var(--primary,#4361ee);background:#4361ee1a;border-radius:12px;padding:2px 8px;font-size:.72rem;font-weight:600}.radar-svg-container{justify-content:center;align-items:center;width:100%;max-width:260px;height:180px;display:flex;position:relative}.radar-svg-container svg{width:100%;height:100%;overflow:visible}.radar-empty-state{text-align:center;color:var(--text-muted,#94a3b8);padding:20px 14px;font-size:.82rem}.radar-empty-state i{opacity:.6;margin-bottom:6px;font-size:1.6rem}.radar-score-pills{justify-content:center;gap:8px;width:100%;margin-top:8px;display:flex}.radar-score-pill{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:600;display:flex}[data-theme=dark] .radar-score-pill{background:#0f172a;border-color:#334155}.pill-sweet{color:#ec4899}.pill-chill{color:#06b6d4}.pill-practical{color:#8b5cf6}.takers-sections-wrap{border-top:1px dashed var(--border-color,#e2e8f0);flex-direction:column;gap:16px;padding-top:16px;display:flex}.takers-row-group{flex-direction:column;gap:8px;display:flex}.takers-row-header{justify-content:space-between;align-items:center;display:flex}.takers-row-title{color:var(--text-main,#0f172a);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.takers-row-title i{color:var(--primary,#4361ee)}.takers-count-tag{background:var(--tag-bg,#f1f5f9);color:var(--text-muted,#64748b);border-radius:10px;padding:2px 7px;font-size:.72rem;font-weight:600}.takers-scroll-viewport{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab;width:100%;padding:6px 2px;position:relative;overflow:auto hidden}.takers-scroll-viewport::-webkit-scrollbar{display:none}.takers-scroll-viewport:active{cursor:grabbing}.takers-scroll-track{align-items:center;gap:12px;width:max-content;display:flex}.taker-avatar-item{scroll-snap-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:4px;width:58px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.taker-avatar-item:hover{transform:translateY(-3px)scale(1.05)}.taker-avatar-wrapper{background:linear-gradient(135deg, var(--primary,#4361ee), #8b5cf6);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:2px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 8px #4361ee33}.taker-avatar-wrapper.is-friend{background:linear-gradient(135deg,#10b981,#06b6d4);box-shadow:0 3px 8px #10b98140}.taker-avatar-wrapper.is-self{background:linear-gradient(135deg,#f59e0b,#ef4444)}.taker-avatar-img{object-fit:cover;background:var(--surface-bg,#fff);border-radius:50%;width:100%;height:100%;display:block}.taker-avatar-fallback{background:var(--surface-bg,#fff);width:100%;height:100%;color:var(--text-muted,#94a3b8);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;display:flex}.taker-avatar-fallback.taker-avatar-hidden,.taker-avatar-img+.taker-avatar-fallback{display:none}.taker-avatar-fallback[style*=display]{display:flex!important}.taker-name-label{color:var(--text-main,#1e293b);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:56px;font-size:.72rem;font-weight:600;overflow:hidden}.takers-empty-hint{background:var(--card-bg,#f8fafc);border:1px dashed var(--border-color,#cbd5e1);color:var(--text-muted,#94a3b8);border-radius:12px;align-items:center;gap:8px;padding:12px 14px;font-size:.78rem;display:flex}.taker-popover-bubble{z-index:10000;background:var(--surface-bg,#fff);border:1px solid var(--border-color,#cbd5e1);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(16px);border-radius:16px;width:250px;padding:14px;transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);position:fixed;transform:scale(.92);box-shadow:0 16px 36px -4px #0000002e,0 6px 12px -2px #00000014}[data-theme=dark] .taker-popover-bubble{background:#1e293bf5;border-color:#475569}.taker-popover-bubble.active{opacity:1;pointer-events:auto;transform:scale(1)}.popover-arrow{background:var(--surface-bg,#fff);border:1px solid var(--border-color,#cbd5e1);z-index:-1;width:10px;height:10px;position:absolute;transform:rotate(45deg)}[data-theme=dark] .popover-arrow{background:#1e293bf5;border-color:#475569}.popover-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.popover-avatar{object-fit:cover;background:#e2e8f0;border-radius:50%;width:38px;height:38px}.popover-user-info{flex-direction:column;min-width:0;display:flex}.popover-name{color:var(--text-main,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.popover-dept{color:var(--text-muted,#64748b);font-size:.72rem}.popover-sem-badge{color:var(--primary,#4361ee);background:#4361ee14;border-radius:8px;align-items:center;gap:5px;margin-bottom:12px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.popover-sem-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.popover-sem-row .popover-sem-badge{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin-bottom:0;overflow:hidden}.popover-sem-count-tag{color:var(--primary,#4361ee);background:#4361ee26;border-radius:6px;margin-left:4px;padding:1px 6px;font-size:.68rem;font-weight:700;display:inline-block}.popover-multi-sem-btn{border:1px solid var(--border-color,#cbd5e1);background:var(--surface-bg,#fff);width:28px;height:28px;color:var(--text-main,#334155);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;transition:all .2s;display:inline-flex}.popover-multi-sem-btn:hover,.popover-multi-sem-btn.active{background:var(--primary,#4361ee);color:#fff;border-color:var(--primary,#4361ee);transform:scale(1.05)}[data-theme=dark] .popover-multi-sem-btn{color:#cbd5e1;background:#334155;border-color:#475569}[data-theme=dark] .popover-multi-sem-btn:hover,[data-theme=dark] .popover-multi-sem-btn.active{background:var(--primary,#4361ee);color:#fff}.popover-sem-dropdown{background:var(--surface-bg-alt,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:10px;max-height:120px;margin-bottom:10px;padding:8px 10px;animation:.2s cubic-bezier(.16,1,.3,1) fadeInSlideDown;overflow-y:auto}[data-theme=dark] .popover-sem-dropdown{background:#0f172a;border-color:#334155}.popover-sem-dropdown-header{color:var(--text-muted,#64748b);align-items:center;gap:4px;margin-bottom:6px;font-size:.7rem;font-weight:700;display:flex}.popover-sem-list{flex-direction:column;gap:4px;display:flex}.popover-sem-item{color:var(--text-main,#1e293b);background:#ffffffb3;border-radius:6px;justify-content:space-between;align-items:center;padding:3px 6px;font-size:.74rem;display:flex}[data-theme=dark] .popover-sem-item{color:#e2e8f0;background:#1e293b99}.popover-sem-bullet{background:var(--primary,#4361ee);border-radius:50%;width:5px;height:5px;margin-right:6px}.popover-sem-tag{color:var(--text-muted,#94a3b8);font-size:.65rem}.popover-view-profile-btn{background:var(--primary,#4361ee);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:7px 12px;font-size:.8rem;font-weight:600;transition:background .2s,transform .15s;display:flex}.popover-view-profile-btn:hover{background:var(--primary-hover,#3651d4);transform:translateY(-1px)}#detail-modal #detail-btn-group{background:var(--surface-bg,#fff)!important;border-top:1px solid var(--border-color,#e2e8f0)!important;z-index:20!important;box-sizing:border-box!important;flex-direction:column!important;flex-shrink:0!important;gap:8px!important;margin-top:auto!important;padding:12px 20px 18px!important;display:flex!important}[data-theme=dark] #detail-modal #detail-btn-group{background:#1e293b!important;border-top-color:#ffffff1a!important}#detail-modal #detail-btn-group .btn-action{box-sizing:border-box!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;gap:6px!important;height:38px!important;min-height:38px!important;margin:0!important;font-size:.85rem!important;font-weight:600!important;transition:all .2s!important;display:inline-flex!important}#detail-modal #detail-btn-group .csp-detail-btn-row{gap:8px!important;width:100%!important;display:flex!important}#detail-modal #detail-btn-group .csp-detail-btn-row .btn-action{flex:1!important}.stats-metric-unit{opacity:.8;font-size:.75rem;font-weight:400}.radar-empty-hint{color:var(--text-muted,#94a3b8);margin-top:4px;font-size:.75rem}.offline-indicator{color:#fff;z-index:9999;cursor:pointer;opacity:.7;-webkit-backdrop-filter:blur(4px);background-color:#ff9800bf;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:transform .2s,opacity .2s,background-color .2s;display:flex;position:fixed;top:20px;left:20px;box-shadow:0 2px 10px #ff98004d}.offline-indicator:hover,.offline-indicator:active{opacity:1;background-color:#ff9800f2;transform:scale(1.08)}.offline-tooltip{color:#fff;white-space:normal;word-break:break-word;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(8px);pointer-events:none;z-index:10000;background-color:#212529eb;border-radius:8px;width:max-content;max-width:min(280px,100vw - 40px);margin-top:10px;padding:8px 12px;font-size:.82rem;line-height:1.5;transition:opacity .2s,visibility .2s;position:absolute;top:100%;left:0;box-shadow:0 6px 16px #0003}.offline-tooltip:before{content:"";border:6px solid #0000;border-top-width:0;border-bottom-color:#212529eb;position:absolute;top:-6px;left:10px}.offline-indicator.show-tooltip .offline-tooltip,.offline-indicator:hover .offline-tooltip,.offline-indicator:active .offline-tooltip{opacity:1;visibility:visible}@media screen and (width<=480px){.offline-indicator{width:28px;height:28px;font-size:14px;top:14px;left:14px}.offline-tooltip{max-width:calc(100vw - 32px);padding:7px 10px;font-size:.76rem;left:0}}#loader-enter-btn,#announcements-modal .btn-action,#announcements-modal .announcements-close{pointer-events:auto!important;opacity:1!important;cursor:pointer!important}.d-none{display:none!important}.disabled-offline{position:relative;opacity:.38!important;pointer-events:none!important;cursor:not-allowed!important;filter:grayscale()!important;-webkit-user-select:none!important;user-select:none!important;box-shadow:none!important}#pwa-update-prompt{z-index:10000;animation:.4s ease-out pwaSlideUp;position:fixed;bottom:24px;right:24px}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-offline-banner:not(.d-none){flex-direction:column;align-items:center;gap:14px;padding:10px 0;animation:.4s fadeIn;display:flex}.login-offline-icon-circle{color:#f59e0b;background:#f59e0b26;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:2px;font-size:24px;display:flex}.login-offline-badge{color:#b45309;background:#fef3c7;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.login-offline-desc{color:#4b5563;text-align:center;margin:0;font-size:.88rem;line-height:1.6}.login-offline-enter-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4361ee,#3f37c9);border:none;border-radius:30px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:6px;padding:13px 20px;font-size:1.05rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 15px #4361ee4d}.login-offline-enter-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4361ee73}.login-offline-retry{color:#6b7280;cursor:pointer;align-items:center;gap:4px;margin-top:4px;font-size:.8rem;transition:color .2s;display:inline-flex}.login-offline-retry:hover{color:var(--primary)}.profile-modal-offline-mode .profile-sidebar-header-info,.profile-modal-offline-mode .profile-name-badges-row,.profile-modal-offline-mode .profile-ig-stats-row,.profile-modal-offline-mode .profile-tab-header-wrapper,.profile-modal-offline-mode #profile-social-links-section,.profile-modal-offline-mode #profile-titles-section,.profile-modal-offline-mode #profile-enrollment-year-section,.profile-modal-offline-mode .profile-settings-sec:not(#profile-sfx-section),.profile-modal-offline-mode .profile-tab-panel:not(#profile-tab-basic),.profile-modal-offline-mode .profile-tab-btn:not([data-tab=basic]){opacity:.38!important;pointer-events:none!important;filter:grayscale()!important;cursor:not-allowed!important;-webkit-user-select:none!important;user-select:none!important}.profile-modal-offline-mode #profile-sfx-section,.profile-modal-offline-mode #profile-sfx-section *,.profile-modal-offline-mode .profile-sidebar-footer,.profile-modal-offline-mode .profile-sidebar-footer *,.profile-modal-offline-mode .profile-close-btn{opacity:1!important;pointer-events:auto!important;filter:none!important;cursor:pointer!important}.offline-profile-notice{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:10px;align-items:center;gap:8px;margin-bottom:15px;padding:10px 14px;font-size:.85rem;font-weight:600;display:none}.profile-modal-offline-mode .offline-profile-notice{display:flex!important}
