@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";@font-face{font-display:block;font-family:bootstrap-icons;src:url(/assets/bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a)format("woff2"),url(/assets/bootstrap-icons-BeopsB42.woff?e34853135f9e39acf64315236852cd5a)format("woff")}.bi:before,[class^=bi-]:before,[class*=\ bi-]:before{font-variant:normal;text-transform:none;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;line-height:1;display:inline-block;font-family:bootstrap-icons!important;font-weight:400!important}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}.bi-bluesky:before{content:""}.bi-tux:before{content:"滑"}.bi-beaker-fill:before{content:"串"}.bi-beaker:before{content:"句"}.bi-flask-fill:before{content:"龜"}.bi-flask-florence-fill:before{content:"龜"}.bi-flask-florence:before{content:"契"}.bi-flask:before{content:"金"}.bi-leaf-fill:before{content:"喇"}.bi-leaf:before{content:"奈"}.bi-measuring-cup-fill:before{content:"懶"}.bi-measuring-cup:before{content:"癩"}.bi-unlock2-fill:before{content:"羅"}.bi-unlock2:before{content:"蘿"}.bi-battery-low:before{content:"螺"}.bi-anthropic:before{content:"裸"}.bi-apple-music:before{content:"邏"}.bi-claude:before{content:"樂"}.bi-openai:before{content:"洛"}.bi-perplexity:before{content:"烙"}.bi-css:before{content:"珞"}.bi-javascript:before{content:"落"}.bi-typescript:before{content:"酪"}.bi-fork-knife:before{content:"駱"}.bi-globe-americas-fill:before{content:"亂"}.bi-globe-asia-australia-fill:before{content:"卵"}.bi-globe-central-south-asia-fill:before{content:"欄"}.bi-globe-europe-africa-fill:before{content:"爛"}:root{--c-primary-50:#e8f5e9;--c-primary-100:#c8e6c9;--c-primary-300:#66bb6a;--c-primary-500:#2e7d32;--c-primary-600:#246428;--c-primary-700:#1b5e20;--c-primary-900:#123d18;--c-secondary-100:#f5ecd6;--c-secondary-300:#d9b86a;--c-secondary-500:#b8893b;--c-secondary-700:#8a6526;--c-danger-500:#dc2626;--c-danger-700:#991b1b;--c-success-500:#1e7a4d;--c-warning-500:#b8893b;--c-info-500:#2f6f8f;--c-success-bg:#e3f3ea;--c-success-text:#1e7a4d;--c-danger-bg:#fde8e8;--c-danger-text:#991b1b;--c-warning-bg:#faf0d6;--c-warning-text:#8a6526;--c-bg:#eef2f0;--c-surface:#f4f7f5;--c-surface-2:#e7ece9;--c-border:#d9e0dc;--c-text:#1f2a24;--c-text-muted:#5c6b63;--c-text-on-primary:#fff;--c-focus:#2f8f5b;--sh-raised:-6px -6px 12px #ffffffb3, 6px 6px 12px #00000014;--sh-raised-sm:-3px -3px 6px #ffffffa6, 3px 3px 6px #00000012;--sh-pressed:inset -4px -4px 8px #fff9, inset 4px 4px 8px #0000001a;--sh-flat:0 1px 2px #0000000d;--sh-overlay:0 6px 24px #123d182e;--r-input:8px;--r-button:10px;--r-card:12px;--r-pill:999px;--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:40px;--sp-6:48px;--sp-8:64px;--sp-half:4px;--font-heading:"Outfit", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-h1:2.5rem;--lh-h1:1.15;--ls-h1:-.02em;--fs-h2:2rem;--lh-h2:1.2;--ls-h2:-.01em;--fs-h3:1.5rem;--lh-h3:1.25;--fs-h4:1.25rem;--lh-h4:1.3;--fs-body:1rem;--lh-body:1.6;--fs-sm:.875rem;--fs-caption:.75rem;--lh-caption:1.4;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ease-standard:cubic-bezier(.2, 0, 0, 1);--dur-fast:.15s;--dur-base:.22s;--dur-slow:.3s;--z-base:1;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-toast:50;--z-tooltip:60}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s}}:root[data-theme=dark]{--c-bg:#21262a;--c-surface:#272d31;--c-surface-2:#1d2226;--c-border:#39424733;--c-text:#e7ece9;--c-text-muted:#9fb0a8;--c-focus:#5fd39a;--c-primary-50:#233329;--c-primary-500:#43a047;--c-primary-600:#4caf50;--c-primary-700:#82c785;--c-primary-900:#b7dfbd;--c-primary-300:#66bb6a;--c-secondary-100:#332b18;--c-secondary-500:#d4a44e;--c-secondary-700:#e0c07e;--c-text-on-primary:#0e1411;--c-success-bg:#1b3a2c;--c-success-text:#86d6aa;--c-danger-bg:#3a2123;--c-danger-text:#f3a6a6;--c-warning-bg:#332c18;--c-warning-text:#e3c485;--sh-raised:-6px -6px 12px #ffffff0a, 6px 6px 14px #00000073;--sh-raised-sm:-3px -3px 6px #ffffff09, 3px 3px 7px #0006;--sh-pressed:inset -4px -4px 8px #ffffff0a, inset 4px 4px 8px #00000073;--sh-flat:0 1px 2px #00000059;--sh-overlay:0 8px 28px #0000008c}:root{--theme-transition:background var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard)}body,.ds-card,.ds-btn,.home-card,.hero-card,.sidebar,.topnav,.auth-card{transition:var(--theme-transition)}.ds-h1{font:var(--fw-bold) var(--fs-h1)/var(--lh-h1) var(--font-heading);letter-spacing:var(--ls-h1);color:var(--c-text);margin:0}.ds-h2{font:var(--fw-semibold) var(--fs-h2)/var(--lh-h2) var(--font-heading);letter-spacing:var(--ls-h2);color:var(--c-text);margin:0}.ds-h3{font:var(--fw-semibold) var(--fs-h3)/var(--lh-h3) var(--font-heading);color:var(--c-text);margin:0}.ds-h4{font:var(--fw-medium) var(--fs-h4)/var(--lh-h4) var(--font-heading);color:var(--c-text);margin:0}.ds-body{font:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-body);color:var(--c-text)}.ds-caption{font:var(--fw-regular) var(--fs-caption)/var(--lh-caption) var(--font-body);color:var(--c-text-muted)}.ds-focusable:focus-visible,.ds-btn:focus-visible,.ds-input:focus-visible,.ds-select:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.ds-surface{background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--sh-raised)}@keyframes ds-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ds-fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes ds-fade-in-scale{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}html{scroll-behavior:smooth}.auth-card{animation:ds-fade-in-scale var(--dur-slow) var(--ease-standard) both}.home-content{animation:ds-fade-in var(--dur-base) var(--ease-standard) both}.home-hero{animation:ds-fade-in-up var(--dur-slow) var(--ease-standard) both}.home-grid>*,.puzzles-hero,.theme-link,.courses-grid>*,.notif-item{animation:ds-fade-in-up var(--dur-base) var(--ease-standard) both}.home-grid>:nth-child(2),.theme-link:nth-child(2){animation-delay:50ms}.home-grid>:nth-child(3),.theme-link:nth-child(3){animation-delay:.1s}.home-grid>:nth-child(4),.theme-link:nth-child(4){animation-delay:.15s}.home-grid>:nth-child(5),.theme-link:nth-child(5){animation-delay:.2s}.home-grid>:nth-child(6),.theme-link:nth-child(6){animation-delay:.25s}.profile-dropdown{animation:ds-fade-in-up var(--dur-fast) var(--ease-standard) both}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.001ms!important;animation-delay:0s!important}}:root[data-reduce-motion="1"] *,:root[data-reduce-motion="1"] :before,:root[data-reduce-motion="1"] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}.board-wrap img,[data-piece] svg,[data-piece] img,[class*=piece] svg,[class*=piece] img{filter:drop-shadow(0 2px 2px #00000061)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0}body{font-family:var(--font-body,"Inter", system-ui, sans-serif);background:var(--c-bg,#eef2f0);color:var(--c-text,#1f2a24);line-height:var(--lh-body,1.6);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading,"Outfit", sans-serif);color:var(--c-text)}a{color:var(--c-primary-700)}button,input,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--c-focus,#2f8f5b);outline-offset:2px}input,textarea,select{background:var(--c-surface);color:var(--c-text)}input::placeholder,textarea::placeholder{color:var(--c-text-muted)}.ds-btn{font:var(--fw-semibold) var(--fs-body)/1 var(--font-heading);justify-content:center;align-items:center;gap:var(--sp-1);min-height:44px;padding:0 var(--sp-3);border-radius:var(--r-button);cursor:pointer;color:var(--c-text);background:var(--c-surface);transition:box-shadow var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);border:none;display:inline-flex}.ds-btn--primary{background:var(--c-primary-500);color:var(--c-text-on-primary);box-shadow:var(--sh-raised-sm)}.ds-btn--primary:hover{background:var(--c-primary-600)}.ds-btn--primary:active{background:var(--c-primary-700);box-shadow:var(--sh-pressed)}.ds-btn--secondary{background:var(--c-surface);color:var(--c-primary-700);box-shadow:var(--sh-raised-sm)}.ds-btn--secondary:active{box-shadow:var(--sh-pressed)}.ds-btn--danger{background:var(--c-danger-500);color:#fff;box-shadow:var(--sh-raised-sm)}.ds-btn--danger:active{background:var(--c-danger-700);box-shadow:var(--sh-pressed)}.ds-btn--ghost{box-shadow:none;color:var(--c-primary-700);background:0 0}.ds-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:var(--sh-flat)}.ds-btn__spin{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite ds-spin}@keyframes ds-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ds-btn__spin{animation:none}}.ds-card{background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--sh-raised);padding:var(--sp-3);transition:box-shadow var(--dur-base) var(--ease-standard)}.ds-card--interactive{cursor:pointer}.ds-card--interactive:hover{box-shadow:var(--sh-raised),0 4px 14px #123d1814}.ds-card--selected{box-shadow:var(--sh-pressed);outline:2px solid var(--c-primary-500);outline-offset:-2px}.ds-badge{font:var(--fw-semibold) var(--fs-caption)/1 var(--font-body);border-radius:var(--r-pill);align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.ds-badge--neutral{background:var(--c-surface-2);color:var(--c-text-muted)}.ds-badge--primary{background:var(--c-primary-50);color:var(--c-primary-700)}.ds-badge--secondary{background:var(--c-secondary-100);color:var(--c-secondary-700)}.ds-badge--success{background:var(--c-success-bg);color:var(--c-success-text)}.ds-badge--danger{background:var(--c-danger-bg);color:var(--c-danger-text)}.ds-badge--dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.ds-field{flex-direction:column;gap:6px;display:flex}.ds-label{font:var(--fw-medium) var(--fs-sm)/1.2 var(--font-body);color:var(--c-text)}.ds-input,.ds-select{font:var(--fw-regular) var(--fs-body)/1.4 var(--font-body);color:var(--c-text);min-height:44px;padding:0 var(--sp-2);border:1px solid var(--c-border);border-radius:var(--r-input);background:var(--c-surface);box-shadow:var(--sh-pressed);transition:box-shadow var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.ds-input::placeholder{color:var(--c-text-muted)}.ds-input:focus,.ds-select:focus{outline:2px solid var(--c-focus);outline-offset:1px;border-color:var(--c-focus)}.ds-field--error .ds-input,.ds-field--error .ds-select{border-color:var(--c-danger-500)}.ds-input:disabled,.ds-select:disabled{opacity:.55;cursor:not-allowed}.ds-help{font:var(--fw-regular) var(--fs-caption)/1.3 var(--font-body);color:var(--c-text-muted)}.ds-field--error .ds-help{color:var(--c-danger-700)}.ds-empty{text-align:center;align-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-3);flex-direction:column;display:flex}.ds-empty__art{background:var(--c-surface);width:96px;height:96px;box-shadow:var(--sh-pressed);color:var(--c-primary-500);border-radius:50%;place-items:center;display:grid}.ds-empty__title{font:var(--fw-semibold) var(--fs-h4)/1.3 var(--font-heading);color:var(--c-text)}.ds-empty__text{font:var(--fw-regular) var(--fs-body)/1.5 var(--font-body);color:var(--c-text-muted);max-width:38ch}.ds-backdrop{z-index:var(--z-modal);padding:var(--sp-3);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:ds-fade var(--dur-fast) var(--ease-standard);background:#123d1847;place-items:center;display:grid;position:fixed;inset:0}.ds-modal{background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--sh-overlay);width:100%;max-width:480px;padding:var(--sp-3);animation:ds-pop var(--dur-base) var(--ease-standard)}.ds-modal__title{font:var(--fw-semibold) var(--fs-h3)/1.25 var(--font-heading);color:var(--c-text);margin:0 0 var(--sp-1)}.ds-modal__foot{justify-content:flex-end;gap:var(--sp-1);margin-top:var(--sp-3);display:flex}@keyframes ds-fade{0%{opacity:0}to{opacity:1}}@keyframes ds-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ds-backdrop,.ds-modal{animation:none}}.ds-tip-wrap{display:inline-flex;position:relative}.ds-tip{z-index:var(--z-tooltip);white-space:nowrap;background:var(--c-text);color:#fff;font:var(--fw-medium) var(--fs-caption)/1.3 var(--font-body);box-shadow:var(--sh-overlay);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-standard);border-radius:8px;padding:6px 10px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ds-tip-wrap:hover .ds-tip,.ds-tip-wrap:focus-within .ds-tip{opacity:1}.ds-table{border-collapse:separate;border-spacing:0;width:100%;font:var(--fw-regular) var(--fs-sm)/1.4 var(--font-body);color:var(--c-text)}.ds-table thead th{text-align:left;font-weight:var(--fw-semibold);color:var(--c-text-muted);padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--c-border)}.ds-table tbody td{padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--c-border)}.ds-table--zebra tbody tr:nth-child(2n){background:var(--c-surface-2)}.ds-table tbody tr{transition:background var(--dur-fast) var(--ease-standard)}.ds-table tbody tr:hover{background:var(--c-primary-50)}.ds-table tbody tr[aria-selected=true]{background:var(--c-primary-50);box-shadow:inset 3px 0 0 var(--c-primary-500)}.ds-spinner{border:3px solid var(--c-surface-2);border-top-color:var(--c-primary-500);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite ds-spin}.ds-skeleton{background:linear-gradient(90deg,var(--c-surface-2) 25%,var(--c-surface) 37%,var(--c-surface-2) 63%);border-radius:var(--r-input);background-size:400% 100%;animation:1.4s infinite ds-shimmer}@keyframes ds-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.ds-spinner,.ds-skeleton{animation:none}}.ds-toast-region{right:var(--sp-3);bottom:var(--sp-3);z-index:var(--z-toast);gap:var(--sp-1);flex-direction:column;max-width:360px;display:flex;position:fixed}.ds-toast{gap:var(--sp-1);background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--sh-overlay);padding:var(--sp-2);border-left:4px solid var(--c-info-500);animation:ds-toast-in var(--dur-base) var(--ease-standard);align-items:flex-start;display:flex}.ds-toast--success{border-left-color:var(--c-success-500)}.ds-toast--warning{border-left-color:var(--c-warning-500)}.ds-toast--error{border-left-color:var(--c-danger-500)}.ds-toast__body{font:var(--fw-regular) var(--fs-sm)/1.4 var(--font-body);color:var(--c-text);flex:1}.ds-toast__title{font-weight:var(--fw-semibold);margin-bottom:2px;display:block}.ds-toast__close{cursor:pointer;color:var(--c-text-muted);background:0 0;border:none;padding:2px;font-size:18px;line-height:1}@keyframes ds-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ds-toast{animation:none}}.ds-theme-toggle{background:var(--c-surface);width:40px;height:40px;box-shadow:var(--sh-raised-sm);color:var(--c-text);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.ds-theme-toggle:active{box-shadow:var(--sh-pressed)}.confirm-dialog{grid-template-columns:auto 1fr;align-items:flex-start;gap:16px;padding:4px 2px 0;display:grid}.confirm-dialog__icon{background:var(--c-primary-50);width:46px;height:46px;color:var(--c-primary-700);border-radius:16px;justify-content:center;align-items:center;font-size:22px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #2e7d321f}.confirm-dialog.danger .confirm-dialog__icon{color:#991b1b;background:#fee2e2;box-shadow:inset 0 0 0 1px #fecaca}.confirm-dialog__body h2{color:var(--c-primary-900);margin:0 0 8px;font-size:20px;font-weight:900;line-height:1.2}.confirm-dialog__body p{color:var(--c-text-muted);margin:0;font-size:14px;line-height:1.5}@media (width<=520px){.confirm-dialog{grid-template-columns:1fr}}.admin-page{max-width:1080px;margin:0 auto;padding:8px 4px 48px}.admin-sub{color:var(--c-text-muted);margin:4px 0 20px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.admin-stat{flex-direction:column;gap:4px;display:flex}.admin-stat-val{color:var(--c-text);font-size:2rem;font-weight:700;line-height:1}.admin-stat-lbl{color:var(--c-text-muted);font-size:.9rem}.admin-stat-icon{color:var(--c-primary-500);font-size:1.4rem}.admin-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.admin-toolbar .admin-search{flex:240px}.admin-filters{gap:6px;display:inline-flex}.admin-filter-btn{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);border-radius:var(--r-pill,999px);cursor:pointer;padding:6px 14px;font-size:.9rem}.admin-filter-btn.active{background:var(--c-primary-500);color:#fff;border-color:var(--c-primary-500)}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--c-border);vertical-align:middle;padding:10px 12px;font-size:.92rem}.admin-table th{color:var(--c-text-muted);white-space:nowrap;font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-name{color:var(--c-text);font-weight:600}.admin-email{color:var(--c-text-muted);font-size:.85rem}.admin-roles{flex-wrap:wrap;gap:4px;display:inline-flex}.admin-role-badge{background:var(--c-surface-2);color:var(--c-text-muted);border-radius:var(--r-pill,999px);padding:2px 8px;font-size:.72rem;font-weight:600}.admin-role-editor{flex-direction:column;align-items:flex-start;gap:4px;min-width:132px;display:inline-flex}.admin-role-select{border:1px solid var(--c-border);border-radius:var(--r-md,10px);background:var(--c-surface);width:100%;color:var(--c-text);cursor:pointer;padding:6px 28px 6px 10px;font-size:.82rem;font-weight:700}.admin-role-select:disabled{cursor:not-allowed;opacity:.62}.admin-role-hint{color:var(--c-text-muted);font-size:.72rem}.admin-table th:last-child,.admin-table td:last-child{min-width:340px}.admin-actions{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;display:inline-flex}.admin-license-row td{background:var(--c-surface-2);padding:12px 16px}.admin-license-box{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-license-muted{color:var(--c-text-muted)}.admin-pagination{justify-content:center;align-items:center;gap:14px;margin-top:20px;display:flex}.admin-page-info{color:var(--c-text-muted);font-size:.9rem}.admin-forbidden{text-align:center;padding:48px 16px}.admin-forbidden-icon{color:var(--c-danger-500);font-size:2.4rem}.admin-status-cell{white-space:nowrap}.admin-loading{text-align:center;color:var(--c-text-muted);padding:24px}.admin-actions .ds-btn{flex:none;padding:6px 12px;font-size:.85rem}.admin-reject-pending-btn{min-width:118px}.admin-pagination .ds-btn{padding:6px 12px;font-size:.85rem}.analysis-page{max-width:1040px;padding:var(--sp-3) var(--sp-2);margin:0 auto}.analysis-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.analysis-head--center{text-align:center;justify-content:center}.analysis-back{border:1px solid color-mix(in srgb, var(--c-primary-500) 46%, var(--c-border));border-radius:var(--r-button);background:var(--c-surface);min-height:42px;color:var(--c-primary-700);font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-semibold);box-shadow:var(--sh-flat);justify-content:center;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.analysis-back:hover{background:var(--c-primary-50);border-color:var(--c-primary-500);color:var(--c-primary-900)}.analysis-muted{color:var(--c-text-muted);font-size:var(--fs-sm)}.analysis-empty{padding:var(--sp-3);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.analysis-card{padding:var(--sp-3)}.mono{font-family:var(--font-mono)}.move-icon{border-radius:var(--r-pill);color:#fff;font-weight:var(--fw-bold);box-shadow:var(--sh-flat);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.move-icon__glyph{transform:translateY(-1px)}.bilan{max-width:720px;margin:0 auto}.bilan__head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:baseline;display:flex}.bilan__title{font-family:var(--font-heading);font-size:var(--fs-h4);font-weight:var(--fw-semibold);color:var(--c-text)}.bilan__opening{font-size:var(--fs-caption);color:var(--c-text-muted)}.bilan__players,.bilan__accuracy,.bilan__line{align-items:center;gap:var(--sp-1);grid-template-columns:1fr 64px 64px;display:grid}.bilan__player{justify-content:center;align-items:center;gap:6px;display:flex}.bilan__dot{border-radius:var(--r-pill);border:2px solid var(--c-border);width:18px;height:18px}.bilan__dot.is-white{background:#f4f4f4}.bilan__dot.is-black{background:#2b2b2b}.bilan__pname{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-text)}.bilan__accuracy{padding:var(--sp-1) 0 var(--sp-2);border-bottom:1px solid var(--c-border);margin-bottom:var(--sp-1)}.bilan__row-label{color:var(--c-text-muted);font-size:var(--fs-sm)}.acc-pill{text-align:center;border-radius:var(--r-button);min-width:52px;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;background:var(--c-surface-2);color:var(--c-text);justify-self:center;padding:6px 0}.acc-pill--good{background:var(--c-success-bg);color:var(--c-success-text)}.acc-pill--mid{background:var(--c-warning-bg);color:var(--c-warning-text)}.acc-pill--low{background:var(--c-danger-bg);color:var(--c-danger-text)}.bilan__grid{margin-top:var(--sp-1)}.bilan__line{border-bottom:1px solid color-mix(in srgb, var(--c-border) 60%, transparent);padding:7px 0}.bilan__cat{align-items:center;gap:10px;display:flex}.bilan__cat-label{font-size:var(--fs-sm);color:var(--c-text)}.bilan__count{text-align:center;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.bilan__start{width:100%;margin-top:var(--sp-3)}.bilan-performance{margin-top:var(--sp-2);border:1px solid var(--c-border);border-radius:var(--r-card);background:linear-gradient(135deg, var(--c-surface), color-mix(in srgb, var(--c-primary-50) 54%, var(--c-surface)));box-shadow:var(--sh-flat);padding:14px}.bilan-performance__head{justify-content:space-between;align-items:baseline;gap:var(--sp-1);margin-bottom:12px;display:flex}.bilan-performance__head span{color:var(--c-text);font-family:var(--font-heading);font-weight:var(--fw-semibold)}.bilan-performance__head small{color:var(--c-text-muted);font-size:var(--fs-caption)}.bilan-performance__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.bilan-performance__card{border:1px solid var(--c-border);border-radius:var(--r-button);background:var(--c-surface);padding:12px}.bilan-performance__card.is-good{border-color:color-mix(in srgb, var(--c-success-text) 28%, var(--c-border));background:color-mix(in srgb, var(--c-success-bg) 55%, var(--c-surface))}.bilan-performance__card.is-mid{border-color:color-mix(in srgb, var(--c-warning-text) 18%, var(--c-border))}.bilan-performance__card.is-low{border-color:color-mix(in srgb, var(--c-danger-text) 26%, var(--c-border));background:color-mix(in srgb, var(--c-danger-bg) 48%, var(--c-surface))}.bilan-performance__player{min-width:0;color:var(--c-text);font-weight:var(--fw-semibold);align-items:center;gap:7px;display:flex}.bilan-performance__player span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bilan-performance__value{color:var(--c-text);font-family:var(--font-heading);font-size:clamp(28px,4vw,40px);line-height:1;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;margin-top:10px}.bilan-performance__meta{color:var(--c-text-muted);font-size:var(--fs-caption);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.bilan-performance__meta strong{color:var(--c-text);font-size:var(--fs-sm)}.analysis-breakdown{border:1px solid var(--c-border);border-radius:var(--r-card);background:var(--c-surface);box-shadow:var(--sh-flat);overflow:hidden}.analysis-breakdown__table{flex-direction:column;display:flex}.analysis-breakdown__row{align-items:center;gap:var(--sp-1);border-bottom:1px solid color-mix(in srgb, var(--c-border) 58%, transparent);grid-template-columns:minmax(140px,1.15fr) minmax(110px,.9fr) minmax(110px,.9fr);min-height:44px;padding:8px 14px;display:grid}.analysis-breakdown__row:last-child{border-bottom:none}.analysis-breakdown__row:nth-child(2n):not(.analysis-breakdown__row--head){background:color-mix(in srgb, var(--c-surface-2) 42%, transparent)}.analysis-breakdown__row--head{background:linear-gradient(135deg, color-mix(in srgb, var(--c-primary-50) 72%, transparent), var(--c-surface));border-bottom-color:var(--c-border);min-height:56px}.analysis-breakdown__row--accuracy{background:var(--c-surface)}.analysis-breakdown__label{color:var(--c-text-muted);font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.analysis-breakdown__player{min-width:0;color:var(--c-text);font-weight:var(--fw-semibold);justify-content:center;align-items:center;gap:7px;display:inline-flex}.analysis-breakdown__player-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.analysis-breakdown__player-name em{color:var(--c-text-muted);font-style:normal;font-weight:var(--fw-regular);margin-left:4px}.analysis-breakdown__category{color:var(--c-text);font-size:var(--fs-sm);font-weight:var(--fw-medium);align-items:center;gap:10px;display:inline-flex}.analysis-breakdown__count{text-align:center;font-size:var(--fs-h4);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.analysis-breakdown.is-compact{box-shadow:none;border-radius:var(--r-button)}.analysis-breakdown.is-compact .analysis-breakdown__row{grid-template-columns:minmax(104px,1fr) minmax(64px,.58fr) minmax(64px,.58fr);min-height:32px;padding:5px 8px}.analysis-breakdown.is-compact .analysis-breakdown__row--head{min-height:38px}.analysis-breakdown.is-compact .analysis-breakdown__label{font-size:10px}.analysis-breakdown.is-compact .analysis-breakdown__player{justify-content:center;gap:4px}.analysis-breakdown.is-compact .analysis-breakdown__player-name{max-width:72px;font-size:11px}.analysis-breakdown.is-compact .analysis-breakdown__player-name em{display:none}.analysis-breakdown.is-compact .bilan__dot{width:12px;height:12px}.analysis-breakdown.is-compact .analysis-breakdown__category{gap:6px;font-size:12px}.analysis-breakdown.is-compact .analysis-breakdown__count{font-size:14px}.analysis-breakdown.is-compact .acc-pill{min-width:44px;padding:4px 0;font-size:12px}.review{gap:var(--sp-3);grid-template-columns:minmax(0,1fr) 400px;align-items:start;display:grid}.review__left{align-items:stretch;gap:10px;display:flex}.review__board-column{flex-direction:column;flex:0 560px;gap:10px;min-width:0;max-width:560px;display:flex}.review__board{aspect-ratio:1;flex:0 560px;min-width:0;max-width:560px;position:relative}.review__board.is-evaluating{cursor:progress}.review__side-controls{z-index:20;flex-direction:column;gap:12px;display:flex;position:absolute;top:12px;left:calc(100% + 12px)}.review__side-button{border:1px solid var(--c-border);background:var(--c-primary-50);width:38px;height:38px;color:var(--c-primary-700);cursor:pointer;border-radius:12px;font-size:1rem;font-weight:900;line-height:1;transition:transform .15s,background .15s,box-shadow .15s;box-shadow:0 8px 20px #1b5e201f}.review__side-button:hover{background:var(--c-primary-100,#dcf5df);transform:translateY(-1px);box-shadow:0 12px 24px #1b5e2029}.review__overlay{pointer-events:none;position:absolute;inset:0}.sq-hl{background:color-mix(in srgb, var(--move-color,var(--c-primary-500)) 24%, transparent);width:12.5%;height:12.5%;position:absolute}.sq-hl--to{box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--move-color,var(--c-primary-500)) 72%, #fff)}.sq-icon{justify-content:flex-end;align-items:flex-start;width:12.5%;height:12.5%;display:flex;position:absolute}.sq-icon .move-icon{border:2px solid #fff;transform:translate(35%,-35%)}.sq-selected{background:color-mix(in srgb, var(--c-primary-500) 14%, transparent);width:12.5%;height:12.5%;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--c-primary-700) 38%, transparent);position:absolute}.sq-dot{justify-content:center;align-items:center;width:12.5%;height:12.5%;display:flex;position:absolute}.sq-dot span{background:color-mix(in srgb, var(--c-text) 42%, transparent);border-radius:999px;width:18%;min-width:9px;max-width:14px;height:18%;min-height:9px;max-height:14px;box-shadow:0 1px 3px #0000002e}.evalbar{background:#2b2b2b;border-radius:6px;align-self:stretch;width:16px;position:relative;overflow:hidden}.evalbar__fill{transition:height var(--dur-base) var(--ease-standard);background:#f4f4f4;position:absolute;left:0;right:0}.evalbar__num{text-align:center;font-size:9px;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;position:absolute;left:0;right:0}.evalbar__num.is-white{color:#2b2b2b}.evalbar__num.is-black{color:#f4f4f4}.review__panel{gap:var(--sp-1);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);padding:var(--sp-2);box-shadow:var(--sh-flat);flex-direction:column;display:flex}.review__caption{background:linear-gradient(135deg, color-mix(in srgb, var(--move-color,var(--c-primary-500)) 12%, transparent), transparent 72%);border-radius:var(--r-card);grid-template-columns:46px minmax(0,1fr);align-items:start;gap:12px;min-height:72px;padding:12px;display:grid}.review__caption--empty{background:var(--c-surface-2);align-items:center;min-height:44px;display:flex}.review__coach-avatar{width:46px;height:46px;color:color-mix(in srgb, var(--move-color,var(--c-primary-500)) 88%, #111);background:color-mix(in srgb, var(--move-color,var(--c-primary-500)) 16%, var(--c-surface));border:1px solid color-mix(in srgb, var(--move-color,var(--c-primary-500)) 24%, var(--c-border));box-shadow:var(--sh-flat);border-radius:16px;justify-content:center;align-items:center;font-size:25px;display:inline-flex}.review__caption-bubble{background:var(--c-surface);border:1px solid color-mix(in srgb, var(--move-color,var(--c-primary-500)) 18%, var(--c-border));box-shadow:var(--sh-flat);border-radius:16px;padding:12px 14px;position:relative}.review__caption-bubble:before{content:"";background:var(--c-surface);border-left:1px solid color-mix(in srgb, var(--move-color,var(--c-primary-500)) 18%, var(--c-border));border-bottom:1px solid color-mix(in srgb, var(--move-color,var(--c-primary-500)) 18%, var(--c-border));width:12px;height:12px;position:absolute;top:18px;left:-7px;transform:rotate(45deg)}.review__caption-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.review__caption-title{color:var(--c-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;gap:10px;line-height:1.25;display:inline-flex}.review__variation-badge{border-radius:var(--r-pill);background:color-mix(in srgb, var(--move-color,var(--c-primary-500)) 14%, var(--c-surface-2));color:color-mix(in srgb, var(--move-color,var(--c-primary-500)) 78%, var(--c-text));font-size:10px;font-style:normal;font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;align-items:center;margin-right:7px;padding:2px 7px;display:inline-flex}.review__caption-txt{font-size:var(--fs-sm);color:var(--c-text);flex:1}.review__caption-desc{color:var(--c-text-muted);font-size:var(--fs-caption);margin:8px 0 0;line-height:1.35}.review__caption-eval{font-family:var(--font-mono);font-weight:var(--fw-bold);color:var(--c-text);background:var(--c-surface-2);box-shadow:inset 0 0 0 1px var(--c-border);border-radius:8px;flex:none;padding:4px 8px}.review__best{font-size:var(--fs-sm);color:var(--c-text-muted);padding:0 2px}.review__loss{color:var(--c-danger-500)}.review__next{width:100%}.review__variation-status{border:1px solid color-mix(in srgb, var(--c-primary-500) 24%, var(--c-border));border-radius:var(--r-button);background:color-mix(in srgb, var(--c-primary-50) 56%, var(--c-surface));color:var(--c-primary-800);font-size:var(--fs-caption);font-weight:var(--fw-semibold);padding:8px 10px}.review__variation-status.is-error{border-color:color-mix(in srgb, var(--c-danger-500) 32%, var(--c-border));background:color-mix(in srgb, var(--c-danger-bg) 52%, var(--c-surface));color:var(--c-danger-text)}.review__progress{border:1px solid color-mix(in srgb, var(--c-primary-500) 24%, var(--c-border));border-radius:var(--r-button);background:linear-gradient(135deg, color-mix(in srgb, var(--c-primary-50) 70%, transparent), var(--c-surface));padding:10px 12px}.review__progress-head{color:var(--c-text-muted);font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.review__progress-head strong{color:var(--c-primary-800);font-size:var(--fs-caption);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;white-space:nowrap}.review__progress-track{border-radius:var(--r-pill);background:color-mix(in srgb, var(--c-primary-50) 42%, var(--c-surface-2));height:9px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c-primary-500) 12%, transparent);overflow:hidden}.review__progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--c-primary-500), var(--c-primary-700));height:100%;transition:width var(--dur-base) var(--ease-standard);display:block}.review__moves{border:1px solid var(--c-border);border-radius:var(--r-button);max-height:240px;padding:4px;overflow-y:auto}.rv-row-wrap:nth-child(odd)>.rv-row{background:color-mix(in srgb, var(--c-surface-2) 50%, transparent)}.rv-row{grid-template-columns:34px 1fr 1fr;align-items:center;gap:4px;display:grid}.rv-no{color:var(--c-text-muted);font-size:var(--fs-caption);text-align:right;padding-right:4px}.rv-move{cursor:pointer;color:var(--c-text);font-size:var(--fs-sm);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;display:flex}.rv-move:hover{background:var(--c-surface-2)}.rv-move.is-active{background:color-mix(in srgb, var(--move-color,var(--c-primary-500)) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--move-color,var(--c-primary-500)) 54%, var(--c-border))}.rv-move--empty{cursor:default}.rv-move--empty:hover{background:0 0}.rv-variation{grid-template-columns:34px minmax(0,1fr);gap:4px;padding:2px 0 5px;display:grid}.rv-variation-bar{border-left:2px solid color-mix(in srgb, var(--c-text-muted) 34%, transparent);border-bottom:2px solid color-mix(in srgb, var(--c-text-muted) 34%, transparent);border-bottom-left-radius:8px;justify-self:end;width:12px;min-height:28px}.rv-variation-line{background:color-mix(in srgb, var(--c-surface-2) 70%, transparent);min-height:32px;color:var(--c-text-muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 7px;display:flex}.rv-variation-move{min-height:24px;color:var(--c-text-muted);cursor:pointer;font-size:var(--fs-caption);font-weight:var(--fw-semibold);background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:3px 7px;display:inline-flex}.rv-variation-move:hover,.rv-variation-move.is-active{background:var(--c-surface);color:var(--c-text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c-primary-500) 38%, var(--c-border))}.rv-variation-no{color:color-mix(in srgb, var(--c-text-muted) 78%, transparent);font-variant-numeric:tabular-nums}.rv-context-menu{z-index:1000;border:1px solid var(--c-border);background:var(--c-surface);min-width:210px;box-shadow:var(--sh-raised-md,0 18px 40px #0000002e);border-radius:12px;position:fixed;overflow:hidden}.rv-context-menu button{width:100%;color:var(--c-text);cursor:pointer;text-align:left;font-size:var(--fs-caption);font-weight:var(--fw-semibold);background:0 0;border:0;padding:10px 12px;display:block}.rv-context-menu button:hover{background:var(--c-primary-50);color:var(--c-primary-900)}.evalgraph{background:var(--c-surface-2);border-radius:var(--r-button);width:100%;height:70px}.evalgraph--empty{opacity:.5}.evalgraph__area{fill:color-mix(in srgb, var(--c-text) 14%, transparent)}.evalgraph__line{fill:none;stroke:var(--c-text-muted);stroke-width:1px}.evalgraph__mid{stroke:var(--c-border);stroke-width:1px;stroke-dasharray:3 3}.evalgraph__cursor{stroke:var(--c-primary-500);stroke-width:1.5px}.review__nav{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.review__nav button{background:var(--c-surface);border:1px solid color-mix(in srgb, var(--c-primary-500) 38%, var(--c-border));border-radius:var(--r-button);cursor:pointer;min-height:44px;color:var(--c-primary-800);font-size:15px;font-weight:var(--fw-bold);box-shadow:var(--sh-flat);padding:9px 0}.review__nav button:nth-child(3){background:var(--c-primary-500);border-color:var(--c-primary-500);color:#fff;box-shadow:var(--sh-raised-sm)}.review__nav button:hover:not(:disabled){background:var(--c-primary-50);border-color:var(--c-primary-500);color:var(--c-primary-900)}.review__nav button:nth-child(3):hover:not(:disabled){background:var(--c-primary-700);color:#fff}.review__nav button:disabled{opacity:.42;cursor:default;box-shadow:none}.review__back{background:var(--c-surface);border:1px solid color-mix(in srgb, var(--c-primary-500) 44%, var(--c-border));border-radius:var(--r-button);min-height:42px;color:var(--c-primary-800);cursor:pointer;font-family:var(--font-heading);font-size:var(--fs-sm);font-weight:var(--fw-semibold);box-shadow:var(--sh-flat);justify-content:center;align-self:flex-start;align-items:center;padding:0 18px;display:inline-flex}.review__back:hover{background:var(--c-primary-50);border-color:var(--c-primary-500);color:var(--c-primary-900)}@media (width<=880px){.review{grid-template-columns:1fr}.review__board{margin:0 auto}.review__caption{grid-template-columns:1fr}.review__coach-avatar,.review__caption-bubble:before{display:none}}@media (width<=640px){.review__side-controls{left:auto;right:12px}.bilan-performance__head,.bilan-performance__meta{flex-direction:column;align-items:flex-start}.bilan-performance__grid{grid-template-columns:1fr}.analysis-breakdown__row{grid-template-columns:minmax(120px,1fr) minmax(72px,.6fr) minmax(72px,.6fr);padding:7px 10px}.analysis-breakdown__player-name em{display:none}.analysis-breakdown__count{font-size:18px}}.bilan__elo{color:var(--c-text-muted);font-weight:var(--fw-regular);font-size:var(--fs-caption)}.review__players{justify-content:space-between;gap:var(--sp-1);font-size:var(--fs-sm);display:flex}.rv-player{color:var(--c-text);font-weight:var(--fw-medium);align-items:center;gap:6px;display:inline-flex}.rv-player em{color:var(--c-text-muted);font-style:normal;font-weight:var(--fw-regular)}.rv-player .bilan__dot{width:14px;height:14px}.courses-content{flex-direction:column;flex:1;gap:28px;min-width:0;padding:32px 36px;display:flex;overflow-y:auto}.courses-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.courses-header-text h1{color:var(--c-text);margin:0 0 4px;font-size:22px;font-weight:800}.courses-header-text p{color:var(--c-text-muted);margin:0;font-size:13px}.btn-new-course{background:var(--c-primary-700);color:var(--c-surface);cursor:pointer;white-space:nowrap;border:none;border-radius:12px;padding:10px 22px;font-size:14px;font-weight:700;transition:background .15s}.btn-new-course:hover{background:var(--c-primary-700)}.course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.course-card{background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer;border-radius:16px;flex-direction:column;gap:10px;padding:22px;transition:box-shadow .15s,transform .12s;display:flex}.course-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #1665341f}.course-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.course-card-title{color:var(--c-text);font-size:16px;font-weight:700;line-height:1.3}.course-excerpt{color:var(--c-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.course-tags{flex-wrap:wrap;gap:6px;display:flex}.course-tag{background:var(--c-surface);color:var(--c-text);border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600}.course-card-footer{color:var(--c-text-muted);justify-content:space-between;align-items:center;gap:10px;margin-top:4px;font-size:12px;display:flex}.badge-diff{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:700}.diff-1{color:#065f46;background:#d1fae5}.diff-2{color:#1e40af;background:#dbeafe}.diff-3{color:#92400e;background:#fef3c7}.diff-4{color:#991b1b;background:#fee2e2}.diff-5{color:#6b21a8;background:#f3e8ff}.badge-pub{border-radius:8px;padding:2px 8px;font-size:11px;font-weight:700}.badge-pub.yes{color:#065f46;background:#d1fae5}.badge-pub.no{background:var(--c-surface-2);color:var(--c-text-muted)}.courses-empty{text-align:center;color:var(--c-text-muted);padding:70px 20px}.courses-empty .empty-icon{margin-bottom:14px;font-size:52px}.courses-empty p{font-size:15px}.courses-loading{color:var(--c-text-muted);text-align:center;margin-top:60px;font-size:15px}.courses-error{color:var(--c-danger-500);background:#fee2e2;border:1px solid #fca5a5;border-radius:12px;padding:14px 18px;font-size:14px;font-weight:600}.course-detail-wrap{flex-direction:column;gap:20px;max-width:780px;display:flex}.course-detail-actions{flex-wrap:wrap;gap:12px;display:flex}.course-detail-header{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.course-detail-header h1{color:var(--c-text);flex:1;margin:0;font-size:26px;font-weight:800;line-height:1.25}.course-meta{color:var(--c-text-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.meta-dot{opacity:.35}.course-body{background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text);white-space:pre-wrap;word-break:break-word;border-radius:16px;padding:28px 32px;font-size:15px;line-height:1.75}.btn-back{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);cursor:pointer;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:600;transition:background .15s}.btn-publish{background:var(--c-primary-700);color:var(--c-surface);cursor:pointer;border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:700;transition:background .15s}.btn-publish:hover:not(:disabled){background:var(--c-primary-700)}.btn-publish:disabled{opacity:.55;cursor:not-allowed}.btn-complete{background:var(--c-success-500);color:var(--c-surface);cursor:pointer;border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:700;transition:background .15s}.btn-complete:hover:not(:disabled){background:var(--c-success-500)}.btn-complete:disabled{background:var(--c-border);color:var(--c-text-muted);opacity:1;cursor:not-allowed}.create-course-wrap{flex-direction:column;gap:6px;max-width:680px;display:flex}.create-course-wrap h1{color:var(--c-text);margin:0 0 4px;font-size:22px;font-weight:800}.create-subtitle{color:var(--c-text-muted);margin:0 0 24px;font-size:13px}.course-form{flex-direction:column;gap:20px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{color:var(--c-text);font-size:13px;font-weight:700}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--c-border);color:var(--c-text);background:var(--c-surface);border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--c-primary-700);box-shadow:0 0 0 3px #16653414}.form-field textarea{resize:vertical;min-height:260px;line-height:1.65}.form-hint{color:var(--c-text-muted);font-size:12px}.form-actions{gap:12px;margin-top:6px;display:flex}.btn-submit{background:var(--c-primary-700);color:var(--c-surface);cursor:pointer;border:none;border-radius:12px;padding:12px 30px;font-size:15px;font-weight:700;transition:background .15s}.btn-submit:hover:not(:disabled){background:var(--c-primary-700)}.btn-submit:disabled{opacity:.55;cursor:not-allowed}.form-error{color:var(--c-danger-500);background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:600}.access-denied{text-align:center;color:var(--c-text-muted);padding:70px 20px}.access-denied .deny-icon{margin-bottom:12px;font-size:48px}.access-denied p{font-size:15px}.btn-delete-course{color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;transition:background .15s,transform .12s}.btn-delete-course:hover:not(:disabled){background:#fecaca;transform:translateY(-1px)}.btn-delete-course:disabled{opacity:.55;cursor:not-allowed}.btn-delete-course.detail{border-radius:10px;padding:9px 18px;font-size:14px}.tournaments-content{flex-direction:column;flex:1;gap:24px;min-width:0;padding:32px 36px;display:flex;overflow-y:auto}.tournaments-hero,.tournament-detail-hero{background:linear-gradient(135deg, var(--c-surface) 0%, var(--c-primary-50) 100%);border:1px solid var(--c-border);box-shadow:var(--sh-flat);border-radius:24px;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 32px;display:flex}.tournaments-kicker{color:var(--c-primary-700);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.tournaments-hero h1,.tournament-detail-hero h1,.tournament-form-header h1{color:var(--c-primary-900);font-family:var(--font-heading);margin:0;font-size:clamp(28px,4vw,42px);line-height:1.05}.tournaments-hero p,.tournament-detail-hero p,.tournament-form-header p{max-width:680px;color:var(--c-text-muted);margin:10px 0 0;font-size:15px;line-height:1.6}.tournament-detail-date{font-weight:700;color:var(--c-primary-700)!important}.tournament-status-tabs{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.tournament-status-tab{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;text-align:left;box-shadow:var(--sh-flat);border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;display:grid}.tournament-status-tab:hover{transform:translateY(-2px);box-shadow:0 12px 28px #1665341a}.tournament-status-tab.active{background:linear-gradient(135deg, var(--c-primary-50), var(--c-surface));border-color:#16653459}.tournament-status-tab-icon{background:var(--c-primary-50);width:42px;height:42px;color:var(--c-primary-700);border-radius:14px;place-items:center;font-size:18px;display:grid}.tournament-status-tab-text{flex-direction:column;gap:3px;min-width:0;display:flex}.tournament-status-tab-text strong{color:var(--c-primary-900);font-size:14px}.tournament-status-tab-text small{color:var(--c-text-muted);font-size:12px;line-height:1.25}.tournament-status-tab-count{background:var(--c-surface-2);min-width:30px;height:30px;color:var(--c-text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 9px;font-size:13px;font-weight:900;display:inline-flex}.tournament-status-tab.active .tournament-status-tab-count{background:var(--c-primary-700);color:var(--c-surface)}.tournament-user-badge{background:var(--c-primary-50);width:fit-content;color:var(--c-primary-700);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:900;display:inline-flex}.tournament-user-badge.played{color:#92400e;background:#fef3c7}.tournaments-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.tournament-card,.tournament-panel,.tournament-edit-panel,.tournament-form-wrap{background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-flat);border-radius:20px}.tournament-card{flex-direction:column;gap:16px;padding:22px;transition:transform .15s,box-shadow .15s;display:flex}.tournament-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #1665341f}.tournament-card-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tournament-card h2{color:var(--c-text);margin:0;font-size:19px;line-height:1.25}.tournament-status,.tournament-format,.pairing-result{letter-spacing:.02em;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.tournament-format{background:var(--c-surface-2);color:var(--c-text-muted)}.status-registration{color:#065f46;background:#d1fae5}.status-active{color:#1e40af;background:#dbeafe}.status-finished{color:#374151;background:#f3f4f6}.status-cancelled{color:#991b1b;background:#fee2e2}.tournament-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tournament-meta-grid span{color:var(--c-text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.tournament-meta-grid i{color:var(--c-primary-700)}.tournament-card-actions,.tournament-detail-actions,.tournament-form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tournament-primary-btn,.tournament-secondary-btn,.tournament-danger-btn,.tournament-back-btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:800;transition:transform .12s,opacity .12s,background .12s;display:inline-flex}.tournament-primary-btn{background:var(--c-primary-700);color:var(--c-surface)}.tournament-primary-btn.compact{padding:9px 14px}.tournament-secondary-btn,.tournament-back-btn{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border)}.tournament-danger-btn{color:#991b1b;background:#fee2e2}.tournament-primary-btn:hover:not(:disabled),.tournament-secondary-btn:hover:not(:disabled),.tournament-danger-btn:hover:not(:disabled),.tournament-back-btn:hover:not(:disabled){transform:translateY(-1px)}.tournament-primary-btn:disabled,.tournament-secondary-btn:disabled,.tournament-danger-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.tournament-alert{border-radius:14px;padding:14px 16px;font-size:14px;font-weight:700}.tournament-alert.error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.tournaments-loading,.tournament-muted{color:var(--c-text-muted);font-size:15px}.tournaments-empty{text-align:center;border:1px dashed var(--c-border);background:var(--c-surface);border-radius:24px;padding:70px 20px}.tournaments-empty-icon{margin-bottom:12px;font-size:48px}.tournaments-empty h2{color:var(--c-text);margin:0 0 8px}.tournaments-empty p{color:var(--c-text-muted);margin:0}.tournament-detail-grid{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:18px;display:grid}.tournament-panel{padding:22px}.tournament-edit-panel{background:radial-gradient(circle at 100% 0%, #22c55e14, transparent 26%), var(--c-surface);padding:22px}.tournament-panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tournament-panel-header h2{color:var(--c-primary-900);margin:0;font-size:18px}.tournament-panel-header span{color:var(--c-text-muted);font-size:13px;font-weight:700}.tournament-table{flex-direction:column;gap:4px;display:flex}.tournament-table-row{color:var(--c-text);border-radius:12px;grid-template-columns:44px minmax(0,1fr) 70px 70px 90px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.tournament-table-row.head{background:var(--c-surface-2);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.tournament-table-row.excluded{opacity:.68;background:#fff7ed}.tournament-table-row.excluded>span:nth-child(2){flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tournament-excluded-badge{color:#991b1b;text-transform:uppercase;letter-spacing:.04em;background:#fee2e2;border-radius:999px;align-items:center;padding:2px 7px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.pairing-list{flex-direction:column;gap:12px;display:flex}.pairing-card{border:1px solid var(--c-border);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.pairing-card>div:first-child{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pairing-card span{color:var(--c-text-muted)}.result-pending{color:#92400e;background:#fef3c7}.result-white_win,.result-black_win,.result-bye{color:#065f46;background:#d1fae5}.result-draw{color:#1e40af;background:#dbeafe}.pairing-actions{grid-column:1/-1;gap:8px;display:flex}.pairing-actions button{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;border-radius:10px;padding:8px 12px;font-weight:800}.pairing-actions button:hover:not(:disabled){background:var(--c-primary-50);color:var(--c-primary-700)}.pairing-actions button:disabled{opacity:.55;cursor:not-allowed}.tournament-form-wrap{flex-direction:column;gap:20px;max-width:780px;padding:28px;display:flex}.tournament-form-header{flex-direction:column;display:flex}.tournament-form{flex-direction:column;gap:18px;display:flex}.tournament-form.compact{gap:14px}.tournament-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tournament-form label{color:var(--c-text);flex-direction:column;gap:7px;font-size:13px;font-weight:800;display:flex}.tournament-form input,.tournament-form select{border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-text);font:inherit;border-radius:12px;outline:none;padding:12px 14px}.tournament-form input:focus,.tournament-form select:focus{border-color:var(--c-primary-700);box-shadow:0 0 0 3px #16653414}@media (width<=900px){.tournaments-content{padding:24px 18px}.tournaments-hero,.tournament-detail-hero{flex-direction:column}.tournament-detail-grid{grid-template-columns:1fr}}@media (width<=640px){.tournament-status-tab{grid-template-columns:38px minmax(0,1fr) auto;padding:12px}.tournament-status-tab-icon{width:38px;height:38px}.tournament-meta-grid,.tournament-form-row,.pairing-card{grid-template-columns:1fr}.tournament-table-row{grid-template-columns:34px minmax(0,1fr) 50px 50px 68px;font-size:12px}}.board-side-controls{z-index:20;flex-direction:column;gap:12px;display:flex;position:absolute;top:12px;right:-58px}.board-side-button{border:1px solid var(--c-border);background:var(--c-primary-50);width:38px;height:38px;color:var(--c-primary-700);cursor:pointer;border-radius:12px;font-size:1rem;font-weight:900;line-height:1;transition:transform .15s,background .15s,box-shadow .15s;box-shadow:0 8px 20px #1b5e201f}.board-side-button:hover{background:var(--c-primary-100,#dcf5df);transform:translateY(-1px);box-shadow:0 12px 24px #1b5e2029}.board-settings-overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1b5e202e;border-radius:16px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.board-settings-panel{border:1px solid var(--c-border);background:var(--c-surface);border-radius:18px;width:min(460px,100% - 32px);padding:18px;box-shadow:0 18px 45px #1b5e2038}.board-settings-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.board-settings-header p{color:var(--c-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-size:.78rem;font-weight:900}.board-settings-header h3{color:var(--c-primary-700);margin:0;font-size:1.25rem;font-weight:900}.board-settings-header button{background:var(--c-surface-2);width:34px;height:34px;color:var(--c-text-muted);cursor:pointer;border:none;border-radius:10px;font-size:1.3rem;font-weight:700}.board-settings-label{color:var(--c-primary-700);margin:14px 0 8px;font-weight:900;display:block}.board-settings-select{border:1px solid var(--c-border);background:var(--c-surface);width:100%;height:40px;color:var(--c-primary-700);border-radius:10px;padding:0 10px;font-weight:800}.board-settings-save{background:var(--c-primary-500);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;height:42px;margin-top:18px;font-weight:900}.board-piece-frame{justify-content:center;align-items:center;display:flex;overflow:hidden}.board-piece-frame img{object-fit:contain;width:78%;height:78%;display:block}@media (width<=760px){.board-side-controls{flex-direction:row;gap:8px;top:8px;right:8px}}.explore-page{min-width:0;color:var(--c-text);flex:1;padding:clamp(18px,2.4vw,36px);overflow-y:auto}.explore-hero{border:1px solid var(--c-border);background:radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--c-primary-200) 55%, transparent), transparent 38%), linear-gradient(135deg, var(--c-surface), var(--c-surface-2));width:min(100%,1280px);box-shadow:var(--sh-raised-sm);border-radius:28px;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 auto 24px;padding:clamp(22px,3vw,34px);display:flex}.explore-kicker{color:var(--c-primary-700);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-weight:900}.explore-hero h1{color:var(--c-primary-900);font-family:var(--font-heading);margin:0;font-size:clamp(34px,5vw,58px);line-height:.98}.explore-hero p:not(.explore-kicker){max-width:760px;color:var(--c-text-muted);margin:16px 0 0;font-size:clamp(16px,1.7vw,21px);line-height:1.55}.explore-hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.explore-layout{grid-template-columns:minmax(420px,1fr) minmax(360px,430px);align-items:start;gap:clamp(42px,5vw,72px);width:min(100%,1280px);margin:0 auto;display:grid}.explore-board-column{flex-direction:column;align-items:center;gap:14px;min-width:0;display:flex}.explore-board-stage{grid-template-columns:18px minmax(0,620px);align-items:stretch;gap:12px;width:min(100%,650px);max-width:calc(100vw - 520px);display:grid}.explore-board-stage.is-eval-hidden{grid-template-columns:minmax(0,620px);width:min(100%,620px)}.explore-evalbar-wrap{align-self:stretch;min-height:0;display:flex}.explore-evalbar-wrap .evalbar{background:#2b2b2b;border-radius:9px;align-self:stretch;width:18px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff2e,0 8px 20px #0f311224}.explore-evalbar-wrap .evalbar__fill{transition:height var(--dur-base) var(--ease-standard);background:#f4f4f4;position:absolute;left:0;right:0}.explore-evalbar-wrap .evalbar__num{text-align:center;font-size:9px;font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;position:absolute;left:0;right:0}.explore-evalbar-wrap .evalbar__num.is-white{color:#2b2b2b}.explore-evalbar-wrap .evalbar__num.is-black{color:#f4f4f4}.explore-board-shell{width:100%;min-width:0;position:relative}.explore-board-tools{z-index:20;flex-direction:column;gap:12px;display:flex;position:absolute;top:14px;right:-58px}.explore-board-tool{border:1px solid color-mix(in srgb, var(--c-primary-500) 28%, var(--c-border));background:var(--c-surface);width:42px;height:42px;color:var(--c-primary-800);cursor:pointer;border-radius:14px;font-size:1.05rem;font-weight:900;transition:transform .15s,background .15s,box-shadow .15s;box-shadow:0 10px 26px #1b5e2024}.explore-board-tool:hover{background:var(--c-primary-50);transform:translateY(-1px);box-shadow:0 14px 30px #1b5e202e}.explore-board-overlay{z-index:12;pointer-events:none;position:absolute;inset:0}.explore-square-selected,.explore-legal-dot{width:12.5%;height:12.5%;position:absolute}.explore-square-selected{background:color-mix(in srgb, var(--c-primary-500) 18%, transparent);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--c-primary-800) 40%, transparent)}.explore-legal-dot{place-items:center;display:grid}.explore-legal-dot span{background:color-mix(in srgb, var(--c-primary-900) 50%, transparent);border-radius:999px;width:22%;height:22%;box-shadow:0 0 0 5px #ffffff6b}.explore-status-row{width:min(100%,650px);min-width:0;color:var(--c-text-muted);font-size:var(--fs-caption);align-items:center;gap:12px;display:flex}.explore-copy-fen{border:1px solid color-mix(in srgb, var(--c-text-muted) 30%, transparent);color:var(--c-text-muted);font-size:var(--fs-caption);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 12px;font-family:inherit;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.explore-copy-fen:hover{background:color-mix(in srgb, var(--c-primary-900) 8%, transparent);border-color:color-mix(in srgb, var(--c-primary-900) 35%, transparent);color:var(--c-primary-900)}.explore-panel{flex-direction:column;gap:16px;min-width:0;display:flex}.explore-card{border-radius:22px;padding:18px}.explore-card-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.explore-card-head p{color:var(--c-primary-700);font-size:var(--fs-caption);letter-spacing:.09em;text-transform:uppercase;margin:0 0 4px;font-weight:900}.explore-card-head h2{color:var(--c-primary-900);font-family:var(--font-heading);margin:0;font-size:24px}.explore-card-head>span{color:var(--c-text-muted);white-space:nowrap;font-weight:800}.explore-switch{border:1px solid var(--c-border);background:var(--c-surface-2);min-width:58px;height:34px;color:var(--c-text-muted);cursor:pointer;border-radius:999px;font-weight:900}.explore-switch.is-on{border-color:var(--c-primary-500);background:var(--c-primary-500);color:#fff}.explore-muted,.explore-empty{color:var(--c-text-muted);margin:0;line-height:1.5}.explore-error{color:var(--c-danger-500);margin:10px 0 0;font-weight:800}.explore-analysis-result{background:linear-gradient(135deg, var(--c-primary-50), var(--c-surface));border:1px solid color-mix(in srgb, var(--c-primary-500) 24%, var(--c-border));border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;display:grid}.explore-analysis-result>.move-icon{place-items:center;display:grid}.explore-analysis-result>.move-icon svg,.explore-move .move-icon svg{margin:auto;display:block}.explore-move .move-icon{place-items:center;display:grid}.explore-analysis-result strong,.explore-analysis-result span{display:block}.explore-analysis-result strong{color:var(--c-primary-900);font-family:var(--font-heading);font-size:18px}.explore-analysis-result span{color:var(--c-text-muted);font-size:var(--fs-sm);margin-top:3px}.explore-moves-card{min-height:430px}.explore-move-list{border:1px solid var(--c-border);background:color-mix(in srgb, var(--c-surface-2) 72%, transparent);border-radius:18px;max-height:430px;padding:6px;overflow-y:auto}.explore-move-row{border-radius:12px;grid-template-columns:38px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:4px 6px;display:grid}.explore-move-row:nth-child(2n){background:color-mix(in srgb, var(--c-primary-50) 35%, transparent)}.explore-move-no{color:var(--c-text-muted);text-align:right;font-weight:800}.explore-move-wrap{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:4px;min-width:0;display:grid}.explore-move{min-width:0;min-height:32px;color:var(--c-text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:15px;font-weight:800;display:inline-flex}.explore-move span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.explore-move:hover,.explore-move.is-active{border-color:color-mix(in srgb, var(--c-primary-500) 45%, var(--c-border));background:var(--c-surface);color:var(--c-primary-900)}.explore-move-delete{width:26px;height:26px;color:var(--c-text-muted);cursor:pointer;opacity:.45;background:0 0;border:1px solid #0000;border-radius:9px;font-size:18px;font-weight:900;line-height:1;transition:opacity .15s,background .15s,color .15s,border-color .15s}.explore-move-wrap:hover .explore-move-delete,.explore-move.is-active+.explore-move-delete{opacity:1}.explore-move-delete:hover{border-color:color-mix(in srgb, var(--c-danger-500) 35%, var(--c-border));background:color-mix(in srgb, var(--c-danger-500) 10%, var(--c-surface));color:var(--c-danger-500)}.explore-move.is-empty{pointer-events:none}.explore-nav{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.explore-nav button{border:1px solid color-mix(in srgb, var(--c-primary-500) 30%, var(--c-border));background:var(--c-surface);min-height:42px;color:var(--c-primary-900);cursor:pointer;border-radius:14px;font-weight:900}.explore-nav button:disabled{opacity:.4;cursor:not-allowed}.explore-settings-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a1e0d5c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.explore-settings{border:1px solid var(--c-border);background:var(--c-surface);border-radius:28px;width:min(940px,100%);max-height:min(860px,100vh - 40px);padding:clamp(18px,2vw,26px);overflow-y:auto;box-shadow:0 24px 70px #0a1e0d42}.explore-settings-head,.explore-settings-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.explore-settings-head{margin-bottom:20px}.explore-settings-head p{color:var(--c-primary-700);font-size:var(--fs-caption);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-weight:900}.explore-settings-head h2,.explore-settings-title h3{color:var(--c-primary-900);font-family:var(--font-heading);margin:0}.explore-settings-head button[aria-label=Fermer]{background:var(--c-surface-2);width:38px;height:38px;color:var(--c-text-muted);cursor:pointer;border:none;border-radius:12px;font-size:24px;font-weight:800}.explore-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.explore-settings label,.explore-fen-label{color:var(--c-primary-800);flex-direction:column;gap:8px;font-weight:900;display:flex}.explore-settings select,.explore-settings textarea{border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-text);font:inherit;border-radius:13px}.explore-settings select{height:44px;padding:0 12px}.explore-settings textarea{resize:vertical;min-height:86px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:700}.explore-settings-section{border:1px solid var(--c-border);background:color-mix(in srgb, var(--c-surface-2) 68%, transparent);border-radius:22px;padding:18px}.explore-settings-section+.explore-settings-section{margin-top:16px}.explore-edit-toggle{font-size:var(--fs-sm);align-items:center;color:var(--c-text-muted)!important;flex-direction:row!important;gap:10px!important}.explore-edit-toggle input{width:18px;height:18px;accent-color:var(--c-primary-500)}.explore-eval-toggle{border:1px solid var(--c-border);background:var(--c-surface);border-radius:13px;justify-content:flex-start;align-self:end;min-height:44px;padding:0 12px}.explore-fen-label{margin-top:16px}.explore-settings-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.explore-turn-selector{flex-wrap:wrap;gap:8px;display:flex}.explore-turn-selector button{border:1px solid var(--c-border);background:var(--c-surface);min-height:34px;color:var(--c-text-muted);cursor:pointer;border-radius:999px;padding:0 12px;font-weight:900}.explore-turn-selector button.is-active{border-color:var(--c-primary-500);background:var(--c-primary-50);color:var(--c-primary-800)}.explore-piece-palette{grid-template-columns:repeat(7,minmax(42px,1fr));gap:8px;margin:16px 0 12px;display:grid}.explore-piece-palette button{border:1px solid var(--c-border);background:var(--c-surface);min-height:48px;color:var(--c-primary-900);cursor:pointer;box-shadow:var(--sh-flat);border-radius:14px;font-size:25px}.explore-piece-palette button.is-active{border-color:var(--c-primary-500);background:var(--c-primary-50);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--c-primary-500) 25%, transparent)}.explore-piece-palette button.is-erase{color:var(--c-danger-500);font-size:28px;font-weight:900}@media (width<=1180px){.explore-layout{grid-template-columns:1fr}.explore-board-shell{max-width:none}.explore-board-stage{max-width:min(650px,100vw - 170px)}.explore-panel{width:min(100%,720px);margin:0 auto}}@media (width<=760px){.explore-page{padding:14px}.explore-hero{flex-direction:column;align-items:flex-start}.explore-hero-actions{justify-content:flex-start}.explore-board-stage,.explore-board-shell{max-width:100%}.explore-board-tools{flex-direction:row;top:10px;right:10px}.explore-settings-grid{grid-template-columns:1fr}.explore-settings-title{flex-direction:column}.explore-piece-palette{grid-template-columns:repeat(4,minmax(42px,1fr))}}.fairplay-page{flex-direction:column;flex:1;gap:22px;min-width:0;padding:32px 36px 56px;display:flex}.fairplay-hero{border:1px solid var(--c-border);background:radial-gradient(circle at 90% 15%, #dc262614, transparent 28%), linear-gradient(135deg, var(--c-surface) 0%, var(--c-primary-50) 100%);box-shadow:var(--sh-flat);border-radius:24px;justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 32px;display:flex}.fairplay-kicker{color:var(--c-primary-700);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:900}.fairplay-hero h1,.fairplay-detail-header h2,.fairplay-panel-head h2{color:var(--c-primary-900);font-family:var(--font-heading);margin:0}.fairplay-hero h1{font-size:clamp(30px,4vw,46px);line-height:1}.fairplay-hero p,.fairplay-detail-header p,.fairplay-panel-head p,.fairplay-muted{color:var(--c-text-muted);line-height:1.55}.fairplay-hero p{max-width:760px;margin:12px 0 0}.fairplay-refresh-btn{background:var(--c-primary-700);color:var(--c-text-on-primary);cursor:pointer;min-height:42px;box-shadow:var(--sh-raised-sm);border:none;border-radius:14px;align-items:center;gap:8px;padding:0 18px;font-weight:800;display:inline-flex}.fairplay-overview-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.fairplay-overview-card{border-left:5px solid var(--c-border);flex-direction:column;gap:6px;padding:18px;display:flex}.fairplay-overview-card span,.fairplay-overview-card small{color:var(--c-text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:800}.fairplay-overview-card strong{color:var(--c-primary-900);font-family:var(--font-heading);font-size:30px;line-height:1}.fairplay-overview-card.danger{border-left-color:#dc2626}.fairplay-overview-card.warning{border-left-color:#d97706}.fairplay-overview-card.primary{border-left-color:var(--c-primary-700)}.fairplay-overview-card.success{border-left-color:#059669}.fairplay-overview-card.neutral{border-left-color:#64748b}.fairplay-tabs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.fairplay-tab{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);text-align:left;cursor:pointer;box-shadow:var(--sh-flat);border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.fairplay-tab.active{background:linear-gradient(135deg, var(--c-primary-50), var(--c-surface));border-color:#16653459}.fairplay-tab-icon{background:var(--c-primary-50);width:42px;height:42px;color:var(--c-primary-700);border-radius:14px;place-items:center;font-size:18px;display:grid}.fairplay-tab strong{color:var(--c-primary-900);font-size:14px;display:block}.fairplay-tab small{color:var(--c-text-muted);font-size:12px;display:block}.fairplay-tab em{background:var(--c-surface-2);min-width:30px;height:30px;color:var(--c-text-muted);border-radius:999px;place-items:center;font-style:normal;font-weight:900;display:inline-grid}.fairplay-tab.active em{background:var(--c-primary-700);color:var(--c-surface)}.fairplay-layout{grid-template-columns:minmax(340px,.92fr) minmax(0,1.4fr);align-items:start;gap:18px;display:grid}.fairplay-list-panel,.fairplay-detail-panel{padding:18px}.fairplay-panel-head,.fairplay-section-title,.fairplay-detail-header,.fairplay-event-top,.fairplay-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.fairplay-panel-head p,.fairplay-detail-header p{margin:4px 0 0;font-size:13px}.fairplay-case-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.fairplay-case-card{border:1px solid var(--c-border);background:var(--c-surface);text-align:left;cursor:pointer;width:100%;color:var(--c-text);border-radius:16px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.fairplay-case-card.selected{background:linear-gradient(135deg, var(--c-primary-50), var(--c-surface));border-color:#1665346b}.fairplay-case-score{background:var(--c-surface-2);width:48px;height:48px;color:var(--c-primary-900);border-radius:16px;place-items:center;font-size:18px;font-weight:950;display:grid}.fairplay-case-card.medium .fairplay-case-score{background:var(--c-warning-bg);color:var(--c-warning-text)}.fairplay-case-card.high .fairplay-case-score,.fairplay-case-card.critical .fairplay-case-score{background:var(--c-danger-bg);color:var(--c-danger-text)}.fairplay-case-main{flex-direction:column;gap:3px;min-width:0;display:flex}.fairplay-case-main strong,.fairplay-section-title h3,.fairplay-sanctions h3{color:var(--c-primary-900)}.fairplay-case-main small,.fairplay-case-meta{color:var(--c-text-muted)}.fairplay-case-meta{font-size:12px}.fairplay-pagination{color:var(--c-text-muted);justify-content:center;align-items:center;gap:10px;margin-top:16px;font-size:13px;display:flex}.fairplay-recent-sanctions{padding:20px}.fairplay-recent-sanction-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.fairplay-recent-sanction{border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-text);text-align:left;cursor:pointer;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.fairplay-recent-sanction:hover{border-color:#16653459;transform:translateY(-1px);box-shadow:0 12px 28px #1665341a}.fairplay-recent-sanction span{flex-direction:column;gap:3px;min-width:0;display:flex}.fairplay-recent-sanction strong{color:var(--c-primary-900);font-size:13px}.fairplay-recent-sanction small{color:var(--c-text-muted);font-size:12px}.fairplay-recent-sanction em{color:#991b1b;background:#fee2e2;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:900}.fairplay-score-ring{background:var(--c-primary-50);width:86px;height:86px;color:var(--c-primary-900);box-shadow:var(--sh-pressed);border-radius:28px;align-content:center;place-items:center;display:grid}.fairplay-score-ring strong{font-size:30px;line-height:1}.fairplay-score-ring span{color:var(--c-text-muted);font-size:11px}.fairplay-score-ring.high,.fairplay-score-ring.critical{background:var(--c-danger-bg);color:var(--c-danger-text)}.fairplay-score-ring.medium{background:var(--c-warning-bg);color:var(--c-warning-text)}.fairplay-detail-grid{border:1px solid var(--c-border);border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0;display:grid;overflow:hidden}.fairplay-detail-grid>div{background:var(--c-surface-2);border-right:1px solid var(--c-border);flex-direction:column;gap:6px;padding:14px;display:flex}.fairplay-detail-grid>div:last-child{border-right:none}.fairplay-detail-grid span{color:var(--c-text-muted);font-size:12px}.fairplay-case-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0 0 14px;display:grid}.fairplay-case-summary>div{border:1px solid var(--c-border);background:linear-gradient(135deg, var(--c-surface), var(--c-primary-50));border-radius:18px;flex-direction:column;gap:5px;min-width:0;padding:14px;display:flex}.fairplay-case-summary span,.fairplay-case-summary small{color:var(--c-text-muted);font-size:12px}.fairplay-case-summary strong{color:var(--c-primary-900)}.fairplay-accordion{border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--sh-flat);border-radius:18px;margin-top:12px;overflow:hidden}.fairplay-accordion summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;list-style:none;display:flex}.fairplay-accordion summary::-webkit-details-marker{display:none}.fairplay-accordion summary>span{flex-direction:column;gap:3px;display:flex}.fairplay-accordion summary strong{color:var(--c-primary-900)}.fairplay-accordion summary small{color:var(--c-text-muted)}.fairplay-accordion summary i{color:var(--c-primary-700);transition:transform .16s}.fairplay-accordion[open] summary i{transform:rotate(180deg)}.fairplay-sanctions,.fairplay-events,.fairplay-review-form{border-top:1px solid var(--c-border);padding:16px}.fairplay-sanction-item{background:var(--c-surface-2);border-radius:14px;grid-template-columns:minmax(130px,auto) minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;display:grid}.fairplay-sanction-item span,.fairplay-sanction-item em{color:var(--c-text-muted);font-style:normal}.fairplay-timeline{flex-direction:column;gap:12px;display:flex}.fairplay-event{grid-template-columns:18px minmax(0,1fr);gap:10px;display:grid;position:relative}.fairplay-event-dot{background:var(--c-primary-500);width:12px;height:12px;box-shadow:0 0 0 5px var(--c-primary-50);border-radius:999px;margin-top:6px}.fairplay-event.high .fairplay-event-dot,.fairplay-event.critical .fairplay-event-dot{background:var(--c-danger-500);box-shadow:0 0 0 5px var(--c-danger-bg)}.fairplay-event.medium .fairplay-event-dot{background:var(--c-warning-500);box-shadow:0 0 0 5px var(--c-warning-bg)}.fairplay-event p{color:var(--c-text);margin:5px 0}.fairplay-event small{color:var(--c-text-muted)}.fairplay-review-form{flex-direction:column;gap:14px;display:flex}.fairplay-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.fairplay-review-form label{color:var(--c-primary-900);flex-direction:column;gap:6px;font-size:13px;font-weight:800;display:flex}.fairplay-review-form select,.fairplay-review-form input,.fairplay-review-form textarea{border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-text);font:inherit;box-shadow:var(--sh-pressed);border-radius:12px;padding:10px 12px}.fairplay-review-form textarea{resize:vertical}.fairplay-loading,.fairplay-empty-panel{min-height:180px;color:var(--c-text-muted);text-align:center;align-content:center;place-items:center;gap:10px;display:grid}.fairplay-empty-panel i{color:var(--c-primary-700);font-size:34px}@media (width<=1100px){.fairplay-layout{grid-template-columns:1fr}}@media (width<=760px){.fairplay-page{padding:24px 18px 48px}.fairplay-hero,.fairplay-detail-header,.fairplay-actions{flex-direction:column;align-items:flex-start}.fairplay-detail-grid,.fairplay-case-summary,.fairplay-form-grid{grid-template-columns:1fr}.fairplay-detail-grid>div{border-right:none;border-bottom:1px solid var(--c-border)}.fairplay-detail-grid>div:last-child{border-bottom:none}}.game-content{flex-direction:column;flex:1;gap:16px;min-width:0;padding:clamp(16px,2vw,32px);display:flex;overflow-y:auto}.game-loading{color:var(--c-text-muted);text-align:center;margin-top:40px;font-size:15px}.game-over-banner{background:linear-gradient(135deg, var(--c-primary-700), var(--c-primary-500));color:var(--c-surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 20px;font-size:15px;display:flex}.end-reason{opacity:.8;font-size:13px}.btn-back{color:var(--c-surface);cursor:pointer;background:#ffffff26;border:1px solid #fff6;border-radius:10px;margin-left:auto;padding:8px 18px;font-size:13px;font-weight:600}.btn-back:hover{background:#ffffff40}.draw-offer{color:#92400e;background:#fff8e1;border:1px solid #ffe082;border-radius:12px;align-items:center;gap:12px;padding:12px 18px;font-size:14px;font-weight:600;display:flex}.btn-accept-draw,.btn-decline-draw{cursor:pointer;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600}.btn-accept-draw{background:var(--c-primary-500);color:var(--c-surface);border:none}.btn-decline-draw{background:var(--c-surface);color:var(--c-danger-500);border:1px solid #fca5a5}.game-error{color:var(--c-danger-500);background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600}.game-layout{justify-content:center;align-items:flex-start;gap:clamp(52px,4vw,78px);width:min(100%,1060px);min-height:0;margin:8px auto 0;display:flex}.board-col{flex-direction:column;flex:0 560px;gap:12px;width:min(560px,100%);display:flex}.board-wrap{width:min(560px,100vw - 460px);max-width:100%;position:relative}.game-board-overlay{z-index:12;pointer-events:none;position:absolute;inset:0}.game-square-selected,.game-legal-dot{width:12.5%;height:12.5%;position:absolute}.game-square-selected{background:color-mix(in srgb, var(--c-primary-500) 14%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--c-primary-700) 36%, transparent)}.game-legal-dot{justify-content:center;align-items:center;display:flex}.game-legal-dot span{background:color-mix(in srgb, var(--c-text) 42%, transparent);border-radius:999px;width:18%;min-width:9px;max-width:14px;height:18%;min-height:9px;max-height:14px;box-shadow:0 1px 3px #0000002e}.player-row{align-items:center;gap:10px;display:flex}.player-color-dot{border-radius:50%;flex-shrink:0;width:18px;height:18px}.player-name{color:var(--c-text);flex:1;font-size:14px;font-weight:700}.clock{font-variant-numeric:tabular-nums;color:var(--c-text);background:var(--c-surface-2);text-align:center;border-radius:10px;min-width:80px;padding:6px 14px;font-size:22px;font-weight:900}.clock.clock-active{background:var(--c-primary-900);color:var(--c-surface)}.clock.clock-low{background:var(--c-danger-500);color:var(--c-surface);animation:1s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.panel-col{flex-direction:column;flex:0 320px;gap:16px;width:320px;min-width:280px;max-width:320px;display:flex}.moves-box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;flex-direction:column;flex:1;display:flex;overflow:hidden}.moves-title{text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:12px 14px;font-size:12px;font-weight:700}.move-list{flex-direction:column;flex:1;gap:2px;max-height:420px;padding:10px 14px;display:flex;overflow-y:auto}.move-pair{grid-template-columns:28px 1fr 1fr;gap:4px;font-size:13px;line-height:1.8;display:grid}.move-num{color:var(--c-text-muted);font-size:12px}.move-san{color:var(--c-text);border-radius:4px;padding:0 4px;font-family:monospace;font-weight:600}.move-san:hover{background:var(--c-surface)}.game-actions{flex-direction:column;gap:10px;display:flex}.btn-draw,.btn-resign{cursor:pointer;border-radius:12px;width:100%;padding:11px 14px;font-size:14px;font-weight:700;transition:background .15s}.btn-draw{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border)}.btn-draw:hover{background:var(--c-surface-2)}.btn-resign{background:var(--c-surface);color:var(--c-danger-500);border:1px solid #fca5a5}.btn-resign:hover{background:#fee2e2}.chat-box{background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.chat-box .chat-title{text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:10px 14px;font-size:12px;font-weight:700}.chat-box .chat-messages{flex-direction:column;flex:1;gap:6px;min-height:140px;max-height:200px;padding:10px 12px;display:flex;overflow-y:auto}.chat-box .chat-empty{color:var(--c-text-muted);text-align:center;margin:auto;padding:16px 0;font-size:12px}.chat-msg{flex-direction:column;gap:2px;max-width:85%;display:flex}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-msg.theirs{align-self:flex-start;align-items:flex-start}.chat-sender{color:var(--c-text-muted);padding:0 4px;font-size:10px;font-weight:700}.chat-bubble{word-break:break-word;border-radius:12px;padding:7px 11px;font-size:13px;line-height:1.4}.chat-msg.mine .chat-bubble{background:var(--c-primary-700);color:var(--c-surface);border-bottom-right-radius:4px}.chat-msg.theirs .chat-bubble{color:var(--c-text);background:#f1f5f9;border-bottom-left-radius:4px}.chat-form{border-top:1px solid var(--c-border);gap:6px;padding:8px;display:flex}.chat-input{border:1px solid var(--c-border);background:var(--c-surface-2);border-radius:8px;outline:none;flex:1;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.chat-input:focus{border-color:var(--c-primary-700);background:var(--c-surface)}.chat-send{background:var(--c-primary-700);color:var(--c-surface);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:7px 12px;font-size:14px;font-weight:700;transition:background .15s}.chat-send:hover{background:var(--c-primary-700)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.btn-analyse{border-radius:var(--r-button);background:var(--c-primary-500);color:#fff;min-height:38px;font-family:var(--font-heading);box-shadow:var(--sh-raised-sm);align-items:center;margin-right:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn-analyse:active{box-shadow:var(--sh-pressed)}@media (width<=1180px){.game-layout{gap:48px;width:min(100%,960px)}.board-wrap{width:min(520px,100vw - 430px)}}@media (width<=980px){.game-layout{flex-direction:column;align-items:center;gap:22px;width:100%}.board-col{width:min(560px,100%)}.board-wrap{width:min(560px,100vw - 140px)}.panel-col{width:min(560px,100%);min-width:0;max-width:560px}}@media (width<=760px){.board-wrap{width:100%}.player-row{padding-right:0}.clock{min-width:72px;font-size:18px}}.license-page{max-width:760px;margin:0 auto;padding:32px 24px 48px}.license-sub{color:var(--c-text-muted);margin:0 0 24px}.license-offer{margin-bottom:8px}.license-offer-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.license-offer-title{font-family:var(--font-heading);color:var(--c-text);margin:0 0 4px;font-size:1.15rem;font-weight:600}.license-offer-desc{color:var(--c-text-muted);max-width:48ch;margin:0;line-height:1.5}.license-price{font-family:var(--font-heading);color:var(--c-primary-700);white-space:nowrap;font-size:1.5rem;font-weight:700}.license-active{align-items:center;gap:12px;padding-top:6px;display:flex}.license-active-text{color:var(--c-text-muted)}.license-pending{color:var(--c-secondary-700);font-size:var(--fs-sm);margin:0 0 12px}.license-secure{font-size:var(--fs-caption);color:var(--c-text-muted);margin:12px 0 0}.license-fields{flex-wrap:wrap;gap:16px;margin:4px 0 14px;display:flex}.license-field{flex-direction:column;flex:220px;gap:6px;min-width:200px;display:flex}.license-field-label{font-size:var(--fs-sm);color:var(--c-text);font-weight:600}.license-input{border:1px solid var(--c-border);border-radius:var(--r-button);background:var(--c-surface);height:44px;color:var(--c-text);padding:0 12px;font-size:1rem}.license-input:focus{border-color:var(--c-primary-500);box-shadow:0 0 0 3px var(--c-primary-100,#2563eb26);outline:none}.license-quote{color:var(--c-text-muted);font-size:var(--fs-sm);margin:0 0 14px}.license-empty{color:var(--c-text-muted)}.license-list{margin:0;padding:0;list-style:none}.license-row{border-top:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.license-row:first-child{border-top:none}.license-row-title{color:var(--c-text);margin:0 0 2px;font-weight:600}.license-row-sub{font-size:var(--fs-sm);color:var(--c-text-muted);margin:0}.pay-icon{width:64px;height:64px;box-shadow:var(--sh-pressed);border-radius:50%;place-items:center;margin:0 auto 8px;display:grid}.pay-icon.ok{background:var(--c-success-bg);color:var(--c-success-text)}.pay-icon.wait{background:var(--c-secondary-100);color:var(--c-secondary-700)}.pay-icon.cancel{background:var(--c-danger-bg);color:var(--c-danger-text)}.pay-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;display:flex}.pay-link-btn{border-radius:var(--r-button);background:var(--c-primary-500);color:#fff;min-height:44px;font-family:var(--font-heading);box-shadow:var(--sh-raised-sm);align-items:center;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.pay-link-btn:active{box-shadow:var(--sh-pressed)}.pay-link-btn.ghost{background:var(--c-surface);color:var(--c-primary-700)}.auth-page{--auth-accent:var(--c-primary-500);--auth-accent-dark:var(--c-primary-700);--auth-bg:var(--c-bg);--auth-card:var(--c-surface);--auth-border:var(--c-border);--auth-text:var(--c-text);--auth-muted:var(--c-text-muted);--auth-error:var(--c-danger-700);--auth-success:var(--c-success-500);background:var(--auth-bg);min-height:100vh;font-family:var(--font-body);color:var(--auth-text);justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{background:var(--auth-card);border-radius:var(--r-card);width:100%;max-width:400px;box-shadow:var(--sh-raised);padding:32px 28px}.auth-brand{font-family:var(--font-heading);color:var(--auth-accent-dark);justify-content:center;align-items:center;gap:8px;margin-bottom:18px;font-size:15px;font-weight:700;display:flex}.auth-brand .auth-mark{font-size:22px}.auth-brand .auth-logo{object-fit:contain;border-radius:6px;width:26px;height:26px}.auth-title{font-family:var(--font-heading);text-align:center;margin:0 0 4px;font-size:24px;font-weight:700}.auth-subtitle{text-align:center;color:var(--auth-muted);margin:0 0 22px;font-size:14px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-row{gap:12px;display:flex}.auth-row>.auth-field{flex:1}.auth-field{text-align:left;flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--auth-muted);font-size:12.5px;font-weight:600}.auth-field input{box-sizing:border-box;border:1px solid var(--auth-border);border-radius:var(--r-input);background:var(--c-surface);width:100%;min-height:44px;box-shadow:var(--sh-pressed);color:var(--c-text);padding:0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:2px solid var(--c-focus);outline-offset:1px;border-color:var(--c-focus)}.auth-field input.has-error{border-color:var(--auth-error)}.auth-field-error{color:var(--auth-error);font-size:12px}.auth-banner{border-radius:var(--r-input);padding:10px 12px;font-size:13px;line-height:1.35}.auth-banner.error{background:var(--c-danger-bg);color:var(--c-danger-text)}.auth-banner.success{background:var(--c-success-bg);color:var(--c-success-text)}.auth-btn{border-radius:var(--r-pill);width:100%;min-height:44px;font-family:var(--font-heading);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:15px;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex}.auth-btn.primary{background:var(--auth-accent);color:#fff;box-shadow:var(--sh-raised-sm)}.auth-btn.primary:hover:not(:disabled){background:var(--auth-accent-dark)}.auth-btn:active:not(:disabled){box-shadow:var(--sh-pressed)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation:none}}.auth-switch{text-align:center;color:var(--auth-muted);margin:18px 0 0;font-size:13.5px}.auth-switch a{color:var(--auth-accent-dark);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-divider{color:var(--auth-muted);align-items:center;gap:12px;margin:20px 0 14px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--auth-border);flex:1;height:1px}.auth-social{border-radius:var(--r-pill);background:var(--c-surface);width:100%;min-height:44px;box-shadow:var(--sh-raised-sm);color:var(--auth-text);cursor:pointer;border:none;margin-bottom:9px;padding:10px;font-size:14px;transition:box-shadow .15s}.auth-social:active:not(:disabled){box-shadow:var(--sh-pressed)}.auth-social:disabled{opacity:.55;cursor:not-allowed}.auth-hint{text-align:center;color:var(--auth-muted);margin-top:4px;font-size:11.5px}.usb-wrap{width:100%;position:relative}.usb-input-row{border:1px solid var(--c-border);background:var(--c-surface);border-radius:12px;align-items:center;gap:8px;padding:0 12px;transition:border-color .15s,box-shadow .15s;display:flex}.usb-input-row:focus-within{border-color:var(--c-primary-300);box-shadow:0 0 0 3px #2e7d321a}.usb-icon{opacity:.5;flex-shrink:0;font-size:14px}.usb-input{color:var(--c-text);background:0 0;border:none;outline:none;flex:1;padding:11px 0;font-size:14px}.usb-input::placeholder{color:var(--c-text-muted)}.usb-spinner{border:2px solid var(--c-border);border-top-color:var(--c-primary-500);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.usb-clear{cursor:pointer;color:var(--c-text-muted);background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;line-height:1}.usb-clear:hover{color:var(--c-text)}.usb-dropdown{background:var(--c-surface);border:1px solid var(--c-border);z-index:300;border-radius:12px;max-height:340px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 30px #0000001f}.usb-item{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.usb-item:hover{background:var(--c-surface)}.usb-item:active{background:var(--c-primary-50)}.usb-avatar{object-fit:cover;border-radius:50%;flex-shrink:0}.usb-avatar-initials{background:var(--c-primary-500);color:var(--c-surface);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.usb-info{flex-direction:column;flex:1;min-width:0;display:flex}.usb-name{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.usb-email{color:var(--c-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.usb-elo{color:var(--c-primary-700);background:var(--c-primary-50);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:12px;font-weight:700}.usb-empty{background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-text-muted);text-align:center;z-index:300;border-radius:12px;padding:14px 16px;font-size:13px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 30px #00000014}.messaging-shell{flex-direction:column;flex:1;min-width:0;height:calc(100vh - 58px);display:flex;overflow:hidden}.msg-global-error{color:var(--c-danger-500);z-index:10;background:#fee2e2;border-bottom:1px solid #fca5a5;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;font-size:13px;font-weight:600;display:flex}.msg-global-error button{cursor:pointer;color:var(--c-danger-500);background:0 0;border:none;font-size:15px;line-height:1}.messaging-panels{flex:1;min-height:0;display:flex;overflow:hidden}.channels-panel{border-right:1px solid var(--c-border);background:var(--c-surface);flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden}.channels-header{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;padding:18px 16px 12px;display:flex}.channels-header h2{color:var(--c-primary-900);margin:0;font-size:16px;font-weight:800}.btn-new-channel{border:1px solid var(--c-border);background:var(--c-surface);width:30px;height:30px;color:var(--c-primary-500);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.btn-new-channel:hover{background:var(--c-primary-50)}.new-channel-panel{border-bottom:1px solid var(--c-border);padding-bottom:10px}.new-channel-tabs{gap:6px;padding:8px 12px 0;display:flex}.nc-tab{border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text-muted);cursor:pointer;border-radius:8px;flex:1;padding:7px 0;font-size:13px;font-weight:600;transition:all .15s}.nc-tab.active{background:var(--c-primary-50);border-color:var(--c-primary-500);color:var(--c-primary-500)}.channel-filter-tabs{gap:8px;padding:8px 12px 4px;display:flex}.channel-filter-btn{border:1px solid var(--c-border);background:var(--c-surface-2);min-width:0;color:var(--c-text-muted);cursor:pointer;border-radius:999px;flex:1;padding:7px 6px;font-size:12px;font-weight:800}.channel-filter-btn.active{background:var(--c-primary-50);border-color:var(--c-primary-500);color:var(--c-primary-700)}.nc-search{padding:10px 12px 4px}.nc-loading{color:var(--c-text-muted);margin:6px 12px 0;font-size:12px}.new-channel-form{gap:6px;padding:10px 12px 4px;display:flex}.new-channel-form input{border:1px solid var(--c-border);border-radius:8px;flex:1;padding:7px 10px;font-size:13px}.new-channel-form button{background:var(--c-primary-500);color:var(--c-surface);cursor:pointer;border:none;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.group-channel-form{flex-direction:column;gap:10px;padding:10px 12px 6px;display:flex}.group-channel-form>input{box-sizing:border-box;border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-text);border-radius:10px;outline:none;padding:9px 11px;font-size:13px}.group-channel-form>input:focus{border-color:var(--c-primary-300);box-shadow:0 0 0 3px #2e7d321a}.group-member-list{flex-wrap:wrap;gap:6px;display:flex}.group-member-chip{border:1px solid var(--c-border);background:var(--c-primary-50);max-width:100%;color:var(--c-primary-700);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:12px;font-weight:700;display:inline-flex}.group-member-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.group-member-chip strong{font-size:14px;line-height:1}.group-create-help{color:var(--c-text-muted);margin:-2px 0 0;font-size:11px;line-height:1.35}.btn-create-group{background:var(--c-primary-500);min-height:36px;color:var(--c-surface);cursor:pointer;border:none;border-radius:10px;font-size:13px;font-weight:800}.btn-create-group:disabled{opacity:.45;cursor:not-allowed}.channel-list{flex:1;padding:8px;overflow-y:auto}.empty-channels{text-align:center;color:var(--c-text-muted);margin-top:20px;font-size:13px}.channel-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:background .15s;display:flex}.channel-item:hover{background:var(--c-surface)}.channel-item.active{background:var(--c-primary-50);border-color:var(--c-border)}.channel-avatar{background:var(--c-primary-500);width:36px;height:36px;color:var(--c-surface);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.channel-info{flex-direction:column;min-width:0;display:flex}.channel-name{color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.channel-type{color:var(--c-text-muted);font-size:11px}.chat-panel{background:var(--c-surface);flex-direction:column;flex:1;min-width:0;display:flex}.chat-empty{color:var(--c-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.chat-empty-icon{font-size:48px}.chat-empty p{font-size:15px}.chat-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.chat-heading{flex-direction:column;flex:280px;min-width:0;margin-right:auto;display:flex}.chat-title-row{align-items:center;gap:8px;min-width:0;display:flex}.chat-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--c-primary-900);font-size:17px;font-weight:900;overflow:hidden}.btn-title-edit{border:1px solid var(--c-border);background:var(--c-surface-2);width:32px;height:32px;color:var(--c-primary-700);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:900;transition:transform .12s,background .15s,border-color .15s;display:inline-flex}.btn-title-edit:hover:not(:disabled){background:var(--c-primary-50);border-color:var(--c-primary-300);transform:translateY(-1px)}.btn-title-edit:disabled{opacity:.45;cursor:not-allowed}.chat-members{color:var(--c-text-muted);font-size:12px}.chat-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.btn-delete-conversation{color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;transition:transform .12s,background .15s}.btn-delete-conversation:hover:not(:disabled){background:#fecaca;transform:translateY(-1px)}.btn-delete-conversation:disabled{opacity:.55;cursor:not-allowed}.btn-leave-group{color:#9a3412;cursor:pointer;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;transition:transform .12s,background .15s}.btn-leave-group:hover:not(:disabled){background:#ffedd5;transform:translateY(-1px)}.btn-leave-group:disabled{opacity:.55;cursor:not-allowed}.btn-add-person,.btn-toggle-members{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-primary-700);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;transition:transform .12s,background .15s}.btn-add-person:hover,.btn-toggle-members:hover{background:var(--c-primary-50);transform:translateY(-1px)}.chat-actions button{justify-content:center;align-items:center;gap:7px;min-height:38px;display:inline-flex;box-shadow:0 8px 22px #0f172a0a}.chat-actions button:before{border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:inline-flex}.btn-delete-conversation:before{content:"×";color:#991b1b;background:#fecaca}.btn-leave-group:before{content:"↪";color:#9a3412;background:#ffedd5}.btn-add-person:before{content:"+";background:var(--c-primary-50);color:var(--c-primary-700)}.btn-toggle-members:before{content:"👥";background:var(--c-primary-50);color:var(--c-primary-700)}.group-rename-panel{border-bottom:1px solid var(--c-border);background:var(--c-surface-2);flex-shrink:0;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;padding:12px 20px;display:grid}.group-rename-panel input{border:1px solid var(--c-border);background:var(--c-surface);min-width:0;color:var(--c-text);border-radius:12px;padding:10px 12px;font-weight:700}.group-rename-panel button{border:1px solid var(--c-primary-600);background:var(--c-primary-600);color:#fff;cursor:pointer;border-radius:12px;padding:10px 14px;font-weight:900}.group-rename-panel button.ghost{border-color:var(--c-border);background:var(--c-surface);color:var(--c-primary-700)}.group-rename-panel button:disabled{opacity:.55;cursor:not-allowed}.channel-add-person-panel{border-bottom:1px solid var(--c-border);background:var(--c-surface-2);flex-shrink:0;padding:12px 20px}.group-admin-panel{border-bottom:1px solid var(--c-border);background:linear-gradient(180deg, var(--c-surface), var(--c-surface-2));flex-shrink:0;padding:12px 20px}.group-admin-panel-head{color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;font-weight:900;display:flex}.group-admin-panel-head strong{color:var(--c-primary-700);font-size:11px}.group-admin-members{flex-direction:column;gap:8px;max-height:220px;display:flex;overflow-y:auto}.group-admin-member{border:1px solid var(--c-border);background:var(--c-surface);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.group-admin-member-main{flex-direction:column;min-width:0;display:flex}.group-admin-member-main span{color:var(--c-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.group-admin-member-main small{color:var(--c-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.group-role-badge{background:var(--c-surface-2);color:var(--c-text-muted);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.group-role-badge.admin{background:var(--c-primary-50);color:var(--c-primary-700)}.group-member-actions{align-items:center;gap:6px;display:flex}.group-member-actions button{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-primary-700);cursor:pointer;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800}.group-member-actions button.danger{color:#991b1b;border-color:#fecaca}.group-member-actions button:disabled{opacity:.55;cursor:not-allowed}.chat-messages{flex-direction:column;flex:1;gap:8px;padding:20px;display:flex;overflow-y:auto}.chat-loading{text-align:center;color:var(--c-text-muted);font-size:13px}.chat-date-separator{pointer-events:none;justify-content:center;margin:10px 0;display:flex}.chat-date-separator span{background:var(--c-primary-50);color:var(--c-primary-700);letter-spacing:.04em;text-transform:uppercase;border:1px solid #2e7d3229;border-radius:999px;padding:6px 14px;font-size:11px;font-weight:900;box-shadow:0 8px 20px #0f332014}.msg-row{align-items:flex-end;gap:6px;display:flex}.msg-row.mine{flex-direction:row-reverse}.msg-row.theirs{flex-direction:row}.msg-bubble{border-radius:16px;max-width:60%;padding:10px 14px;position:relative}.msg-row.mine .msg-bubble{background:var(--c-primary-500);color:var(--c-surface);border-bottom-right-radius:4px}.msg-row.theirs .msg-bubble{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);border-bottom-left-radius:4px}.bot-badge{opacity:.8;margin-bottom:2px;font-size:10px;display:block}.msg-text{word-break:break-word;margin:0;font-size:14px;line-height:1.5}.msg-text .deleted{opacity:.6;font-style:italic}.msg-time{opacity:.65;text-align:right;margin-top:4px;font-size:10px;display:block}.msg-delete{width:22px;height:22px;color:var(--c-danger-500);cursor:pointer;opacity:0;background:#fee2e2;border:none;border-radius:50%;flex-shrink:0;font-size:10px;transition:opacity .15s}.msg-row:hover .msg-delete{opacity:1}.chat-input-bar{background:var(--c-surface);border-top:1px solid var(--c-border);flex-shrink:0;gap:10px;padding:14px 20px;display:flex}.chat-input-bar input{border:1px solid var(--c-border);border-radius:999px;outline:none;flex:1;padding:10px 14px;font-size:14px;transition:border-color .15s}.chat-input-bar input:focus{border-color:var(--c-primary-300)}.chat-input-bar button{background:var(--c-primary-500);color:var(--c-surface);cursor:pointer;border:none;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:700;transition:background .15s}.chat-input-bar button:hover{background:var(--c-primary-700)}.chat-input-bar button:disabled{opacity:.5;cursor:not-allowed}.msg-reply-preview{opacity:.92;background:#ffffff2e;border-left:3px solid;border-radius:10px;gap:2px;margin-bottom:8px;padding:7px 9px;font-size:12px;display:grid}.msg-row.theirs .msg-reply-preview{background:var(--c-surface-2);color:var(--c-text-muted)}.msg-reply-preview strong{color:inherit;font-weight:900}.msg-reply-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg-footer{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.msg-footer .msg-time{margin-top:0}.msg-actions{opacity:0;align-items:center;gap:4px;transition:opacity .15s,transform .15s;display:inline-flex;transform:translateY(2px)}.msg-row:hover .msg-actions,.msg-bubble:focus-within .msg-actions{opacity:1;transform:translateY(0)}.msg-actions button{width:24px;height:24px;color:inherit;cursor:pointer;background:#ffffff24;border:1px solid #ffffff73;border-radius:999px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.msg-row.theirs .msg-actions button{border-color:var(--c-border);background:var(--c-surface-2);color:var(--c-primary-700)}.msg-actions button:hover{transform:translateY(-1px)}.msg-hover-reactions{z-index:4;border:1px solid var(--c-border);background:var(--c-surface);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:5px;padding:5px;transition:opacity .14s,transform .14s;display:inline-flex;position:absolute;top:calc(100% + 6px);right:12px;transform:translateY(-4px)scale(.98);box-shadow:0 14px 34px #0f172a24}.msg-hover-reactions:before{content:"";height:12px;position:absolute;top:-12px;left:0;right:0}.msg-row.theirs .msg-hover-reactions{left:12px;right:auto}.msg-row:hover .msg-hover-reactions,.msg-bubble:focus-within .msg-hover-reactions,.msg-hover-reactions:hover{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.msg-hover-reactions button{border:1px solid var(--c-border);background:var(--c-surface-2);width:28px;height:28px;color:var(--c-text);cursor:pointer;text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,system-ui,sans-serif;font-size:17px;line-height:1;display:inline-flex}.msg-hover-reactions button:hover{background:var(--c-primary-50);border-color:var(--c-primary-300);transform:translateY(-1px)}.msg-hover-reactions button.custom{color:var(--c-primary-700);font-family:inherit;font-size:17px;font-weight:900}.msg-reactions{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.msg-reaction{min-height:24px;color:inherit;cursor:pointer;background:#ffffff24;border:1px solid #ffffff59;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.msg-reaction span{justify-content:center;align-items:center;min-width:18px;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,system-ui,sans-serif;line-height:1;display:inline-flex}.msg-row.theirs .msg-reaction{border-color:var(--c-border);background:var(--c-surface-2);color:var(--c-text)}.msg-reaction.active{border-color:var(--c-primary-300);background:var(--c-primary-50);color:var(--c-primary-800)}.msg-emoji-picker{background:#ffffff29;border:1px solid #ffffff59;border-radius:14px;gap:8px;min-width:250px;margin-top:10px;padding:8px;display:grid;box-shadow:0 14px 34px #0f172a24}.msg-row.theirs .msg-emoji-picker{border-color:var(--c-border);background:var(--c-surface)}.msg-emoji-quick{flex-wrap:wrap;gap:6px;display:flex}.msg-emoji-quick button{cursor:pointer;background:#fff3;border:1px solid #0000;border-radius:10px;width:30px;height:30px;font-size:17px}.msg-row.theirs .msg-emoji-quick button{background:var(--c-surface-2);border-color:var(--c-border)}.msg-emoji-custom{gap:6px;display:flex}.msg-emoji-custom input{border:1px solid var(--c-border);border-radius:10px;outline:none;flex:1;min-width:0;padding:8px 10px}.msg-emoji-custom button{background:var(--c-primary-600);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:0 12px;font-weight:900}.chat-reply-composer{border-top:1px solid var(--c-border);background:linear-gradient(90deg, var(--c-primary-50), var(--c-surface));color:var(--c-primary-900);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.chat-reply-composer div{gap:2px;min-width:0;display:grid}.chat-reply-composer strong{text-transform:uppercase;letter-spacing:.04em;font-size:12px}.chat-reply-composer span{text-overflow:ellipsis;white-space:nowrap;color:var(--c-text-muted);font-size:13px;overflow:hidden}.chat-reply-composer button{border:1px solid var(--c-border);background:var(--c-surface);width:30px;height:30px;color:var(--c-primary-700);cursor:pointer;border-radius:999px}.msg-report-backdrop{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a52;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.msg-report-modal{border:1px solid var(--c-border);background:var(--c-surface);border-radius:24px;gap:14px;width:min(480px,100%);padding:24px;display:grid;box-shadow:0 28px 80px #0f172a38}.msg-report-icon{color:#b91c1c;background:#fef2f2;border-radius:16px;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;display:inline-flex}.msg-report-kicker{color:var(--c-primary-700);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900}.msg-report-modal h3{color:var(--c-primary-900);margin:4px 0;font-size:1.35rem}.msg-report-modal p{color:var(--c-text-muted);margin:0;line-height:1.45}.msg-report-modal blockquote{border-left:4px solid var(--c-primary-300);background:var(--c-surface-2);color:var(--c-text-muted);border-radius:12px;margin:0;padding:12px 14px}.msg-report-modal textarea{resize:vertical;border:1px solid var(--c-border);min-height:110px;font:inherit;border-radius:14px;outline:none;padding:12px}.msg-report-modal textarea:focus{border-color:var(--c-primary-300);box-shadow:0 0 0 3px #2e7d321a}.msg-report-actions{justify-content:flex-end;gap:10px;display:flex}.msg-report-actions button{border:1px solid var(--c-primary-600);background:var(--c-primary-600);color:#fff;cursor:pointer;border-radius:999px;min-height:40px;padding:0 16px;font-weight:900}.msg-report-actions button.ghost{border-color:var(--c-border);background:var(--c-surface);color:var(--c-primary-700)}.msg-report-actions button:disabled{opacity:.55;cursor:not-allowed}.notifs-content{flex:1;min-width:0;max-width:740px;padding:32px}.notifs-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.notifs-header h1{color:var(--c-primary-900);margin:0 0 4px;font-size:22px;font-weight:800}.notifs-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.notifs-badge{color:#d97706;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.btn-read-all{border:1px solid var(--c-border);background:var(--c-surface);height:36px;color:var(--c-primary-500);cursor:pointer;white-space:nowrap;border-radius:10px;padding:0 16px;font-size:13px;font-weight:600}.btn-read-all:hover{background:var(--c-primary-50)}.btn-delete-all{color:#b91c1c;cursor:pointer;white-space:nowrap;background:#fff7f7;border:1px solid #fecaca;border-radius:10px;height:36px;padding:0 16px;font-size:13px;font-weight:700}.btn-delete-all:hover{background:#fee2e2}.notifs-loading{color:var(--c-text-muted);font-size:14px}.notifs-empty{color:var(--c-text-muted);flex-direction:column;align-items:center;gap:10px;padding:60px 0;display:flex}.notifs-empty span{font-size:40px}.notifs-empty p{margin:0;font-size:15px}.notifs-list{flex-direction:column;gap:10px;display:flex}.notif-card{border:1px solid var(--c-border);background:var(--c-surface);border-radius:14px;align-items:flex-start;gap:14px;padding:16px 18px;transition:border-color .15s;display:flex}.notif-card.unread{border-left:3px solid var(--c-primary-500);background:var(--c-surface-2)}.notif-card:hover{border-color:var(--c-border)}.notif-card.clickable{cursor:pointer}.notif-card.clickable:hover{box-shadow:var(--sh-raised-sm)}.notif-card.clickable:focus-visible{outline:2px solid var(--c-primary-700);outline-offset:2px}.notif-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.notif-body{flex:1;min-width:0}.notif-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.notif-type{text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.notif-text{color:var(--c-text);margin:0 0 6px;font-size:14px;line-height:1.5}.notif-time{color:var(--c-text-muted);font-size:12px}.notif-read-btn{border:1px solid var(--c-border);background:var(--c-surface);width:28px;height:28px;color:var(--c-primary-500);cursor:pointer;border-radius:8px;flex-shrink:0;font-size:14px;transition:background .15s}.notif-read-btn:hover{background:var(--c-primary-50)}.notif-delete-btn{color:#b91c1c;cursor:pointer;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;flex-shrink:0;width:28px;height:28px;font-size:15px;font-weight:900;line-height:1;transition:background .15s}.notif-delete-btn:hover{background:#fee2e2}.notifs-more{justify-content:center;margin-top:18px;display:flex}.btn-load-more{border:1px solid var(--c-border);background:var(--c-surface);height:38px;color:var(--c-primary-500);cursor:pointer;border-radius:10px;padding:0 22px;font-size:13px;font-weight:600}.btn-load-more:hover{background:var(--c-primary-50)}.btn-load-more:disabled{opacity:.6;cursor:default}.notifs-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.btn-page{border:1px solid var(--c-border);background:var(--c-surface);height:38px;color:var(--c-primary-500);cursor:pointer;border-radius:999px;padding:0 18px;font-size:13px;font-weight:800}.btn-page:hover:not(:disabled){background:var(--c-primary-50);border-color:var(--c-primary-300)}.btn-page:disabled{opacity:.45;cursor:default}.page-indicator{text-align:center;min-width:110px;color:var(--c-text-muted);font-size:13px;font-weight:800}.report-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#091f1457;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.report-modal{background:var(--c-surface);border:1px solid #2e7d322e;border-radius:28px;width:min(720px,100%);max-height:min(86vh,860px);padding:30px;position:relative;overflow:auto;box-shadow:0 28px 80px #091f143d}.report-modal-close{border:1px solid var(--c-border);background:var(--c-surface-2);width:38px;height:38px;color:var(--c-primary-900);cursor:pointer;border-radius:999px;font-size:24px;line-height:1;position:absolute;top:18px;right:18px}.report-modal-close:hover{background:var(--c-primary-50)}.report-modal-kicker{color:#b91c1c;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900}.report-modal h2{color:var(--c-primary-900);margin:0;font-size:28px;line-height:1.1}.report-modal-intro{color:var(--c-text-muted);margin:10px 48px 22px 0;line-height:1.5}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.report-summary>div{border:1px solid var(--c-border);background:var(--c-surface-2);border-radius:18px;padding:14px 16px}.report-summary span,.report-field span{color:var(--c-text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:900;display:block}.report-summary strong{color:var(--c-primary-900);font-size:15px}.report-summary-full{grid-column:1/-1}.report-summary blockquote{color:var(--c-text);word-break:break-word;margin:0;line-height:1.55}.report-resolution-form{flex-direction:column;gap:14px;display:flex}.report-field select,.report-field input,.report-field textarea{border:1px solid var(--c-border);background:var(--c-surface);width:100%;color:var(--c-primary-900);font:inherit;border-radius:16px;outline:none;font-weight:700}.report-field select,.report-field input{height:48px;padding:0 14px}.report-field textarea{resize:vertical;min-height:92px;padding:12px 14px}.report-field select:focus,.report-field input:focus,.report-field textarea:focus{border-color:var(--c-primary-500);box-shadow:0 0 0 3px #2e7d321f}.sanction-choice-help{background:var(--c-primary-50);color:var(--c-text-muted);border-radius:16px;margin-top:-4px;padding:12px 14px;font-size:14px}.report-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.btn-report-primary,.btn-report-secondary{cursor:pointer;border-radius:16px;height:46px;padding:0 20px;font-weight:900}.btn-report-primary{border:1px solid var(--c-primary-500);background:var(--c-primary-500);color:#fff}.btn-report-primary:hover:not(:disabled){background:var(--c-primary-700)}.btn-report-primary:disabled{opacity:.65;cursor:default}.btn-report-secondary{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-primary-500)}.btn-report-secondary:hover{background:var(--c-primary-50)}@media (width<=720px){.notifs-content{padding:20px}.report-modal{border-radius:22px;padding:24px 18px}.report-summary{grid-template-columns:1fr}.report-modal-actions{flex-direction:column-reverse}.btn-report-primary,.btn-report-secondary{width:100%}}.play-content{flex:1;min-width:0;padding:32px;overflow-y:auto}.challenges-bar{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.incoming-challenge{background:#fff8e1;border:1px solid #ffe082;border-left:4px solid #f59e0b;border-radius:12px;align-items:center;gap:14px;padding:14px 18px;display:flex}.challenge-icon{font-size:24px}.challenge-body{flex:1}.challenge-title{color:#92400e;margin:0;font-size:14px;font-weight:700}.challenge-sub{color:#b45309;margin:2px 0 0;font-size:12px}.challenge-actions{gap:8px;display:flex}.btn-accept{background:var(--c-primary-500);color:var(--c-surface);cursor:pointer;border:none;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600}.btn-accept:hover{background:var(--c-primary-700)}.btn-refuse{background:var(--c-surface);color:var(--c-danger-500);cursor:pointer;border:1px solid #fca5a5;border-radius:8px;padding:7px 16px;font-size:13px;font-weight:600}.btn-refuse:hover{background:#fee2e2}.sent-toast{background:var(--c-primary-50);color:var(--c-primary-500);border:1px solid #a5d6a7;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 18px;font-size:14px;font-weight:600;display:flex}.sent-toast button{cursor:pointer;color:var(--c-primary-500);background:0 0;border:none;font-size:16px}.active-game-banner{background:linear-gradient(135deg, var(--c-primary-700) 0%, var(--c-primary-500) 100%);color:var(--c-surface);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:14px 20px;font-size:15px;font-weight:700;display:flex}.play-hero{flex-direction:column;align-items:center;gap:28px;margin-bottom:40px;display:flex}.play-hero-left{text-align:center}.play-hero-left h1{color:var(--c-primary-900);margin:0 0 8px;font-size:28px;font-weight:900}.play-hero-left p{color:var(--c-text-muted);margin:0 0 24px;font-size:15px}.btn-challenge{background:var(--c-primary-500);color:var(--c-surface);cursor:pointer;border:none;border-radius:14px;padding:14px 40px;font-size:16px;font-weight:700;transition:background .15s,transform .1s}.btn-challenge:hover{background:var(--c-primary-700);transform:translateY(-1px)}.btn-challenge:active{transform:translateY(0)}.play-hero-board{justify-content:center;display:flex}.board-preview{width:min(520px,100vw - 96px);position:relative}.preview-sq{display:none}.preview-sq.light{background:#f0d9b5}.preview-sq.dark{background:#b58863}.history-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.history-section h2{color:var(--c-primary-900);margin:0;font-size:18px;font-weight:800}.history-header span{background:var(--c-primary-50);color:var(--c-primary-700);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800}.loading-text,.empty-text{color:var(--c-text-muted);font-size:14px}.table-wrap{border:1px solid var(--c-border);border-radius:12px;overflow-x:auto}.games-table{border-collapse:collapse;width:100%;font-size:14px}.games-table th{text-align:left;background:var(--c-surface);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 16px;font-size:12px;font-weight:700}.game-row td{border-top:1px solid var(--c-surface-2);color:var(--c-text);padding:12px 16px}.game-row:hover td{background:var(--c-surface-2)}.tc-cell{font-family:monospace}.result-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.result-badge.win{color:#16a34a;background:#dcfce7}.result-badge.loss{color:var(--c-danger-500);background:#fee2e2}.result-badge.draw{color:#d97706;background:#fef3c7}.status-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge.in_progress{color:#2563eb;background:#dbeafe}.status-badge.finished{background:var(--c-surface-2);color:var(--c-text-muted)}.status-badge.waiting{color:#d97706;background:#fef3c7}.modal-backdrop{z-index:200;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--c-surface);border-radius:18px;width:420px;max-width:calc(100vw - 40px);padding:28px;box-shadow:0 20px 60px #0003}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3{color:var(--c-primary-900);margin:0;font-size:18px;font-weight:800}.modal-close{cursor:pointer;color:var(--c-text-muted);background:0 0;border:none;font-size:18px}.modal-close:hover{color:var(--c-text)}.field-label{color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field-input{border:1px solid var(--c-border);box-sizing:border-box;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .15s}.field-input:focus{border-color:var(--c-primary-300)}.selected-opponent{background:var(--c-primary-50);color:var(--c-primary-500);border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.opp-elo{color:var(--c-text-muted);font-weight:500}.field-error{color:var(--c-danger-500);margin:8px 0 0;font-size:13px}.tc-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px;display:grid}.tc-btn{border:1px solid var(--c-border);background:var(--c-surface-2);color:var(--c-text);cursor:pointer;border-radius:10px;padding:9px 4px;font-size:13px;font-weight:600;transition:all .15s}.tc-btn:hover{background:var(--c-surface);border-color:var(--c-border)}.tc-btn.active{background:var(--c-primary-50);border-color:var(--c-primary-500);color:var(--c-primary-500)}.custom-tc{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.btn-cancel{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);cursor:pointer;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600}.btn-primary{background:var(--c-primary-500);color:var(--c-surface);cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700;transition:background .15s}.btn-primary:hover{background:var(--c-primary-700)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.row-analyse{color:var(--c-primary-700);font-size:.85rem;font-weight:600;text-decoration:none}.row-analyse:hover{text-decoration:underline}.history-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:18px;display:flex}.history-page-btn{border:1px solid var(--c-border);background:var(--c-surface);height:38px;color:var(--c-primary-500);cursor:pointer;border-radius:999px;padding:0 18px;font-size:13px;font-weight:800}.history-page-btn:hover:not(:disabled){background:var(--c-primary-50);border-color:var(--c-primary-300)}.history-page-btn:disabled{opacity:.45;cursor:default}.history-page-indicator{text-align:center;min-width:110px;color:var(--c-text-muted);font-size:13px;font-weight:800}.profile-content{flex-direction:column;flex:1;align-items:center;min-width:0;padding:32px;display:flex}.profile-content>*{width:100%;max-width:700px}.profile-loading{color:var(--c-text-muted);padding:40px 0}.profile-hero{background:linear-gradient(135deg, var(--c-surface), var(--c-surface));border:1px solid var(--c-border);border-radius:20px;align-items:center;gap:24px;margin-bottom:18px;padding:28px;display:flex}.profile-avatar-xl{background:var(--c-primary-500);width:80px;height:80px;color:var(--c-surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:30px;font-weight:800;display:flex}.profile-title{color:var(--c-primary-900);text-transform:capitalize;margin:0 0 4px;font-size:22px;font-weight:800}.profile-sub{color:var(--c-text-muted);margin:0 0 10px;font-size:14px}.profile-badges{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.profile-role-badge{background:var(--c-primary-50);color:var(--c-primary-500);border:1px solid var(--c-border);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.profile-verified{background:var(--c-success-bg);color:var(--c-success-text);border:none;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.profile-joined{color:var(--c-text-muted);margin:0;font-size:12px}.profile-stats-bar{background:var(--c-border);border:1px solid var(--c-border);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:24px;display:grid;overflow:hidden}.pstat{background:var(--c-surface);flex-direction:column;align-items:center;gap:2px;padding:16px;display:flex}.pstat-val{color:var(--c-primary-900);font-size:22px;font-weight:800}.pstat-lbl{color:var(--c-text-muted);font-size:12px}.profile-form{background:var(--c-surface);border:1px solid var(--c-border);border-radius:20px;padding:28px}.profile-form h2{color:var(--c-primary-900);margin:0 0 22px;font-size:17px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--c-text);font-size:13px;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--c-border);border-radius:var(--r-input);color:var(--c-text);background:var(--c-surface);box-shadow:var(--sh-pressed);resize:vertical;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--c-text-muted)}.form-group input:focus,.form-group textarea:focus{outline:2px solid var(--c-focus);outline-offset:1px;border-color:var(--c-focus)}.form-error{color:var(--c-danger-500);margin-bottom:12px;font-size:13px}.form-success{color:var(--c-success-text);margin-bottom:12px;font-size:13px}.form-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.btn-cancel{border:1px solid var(--c-border);background:var(--c-surface);height:40px;color:var(--c-text);cursor:pointer;border-radius:10px;padding:0 20px;font-size:14px;font-weight:600}.btn-cancel:hover{background:var(--c-surface-2)}.btn-save{background:var(--c-primary-500);height:40px;color:var(--c-surface);cursor:pointer;border:none;border-radius:10px;padding:0 24px;font-size:14px;font-weight:700;transition:background .15s}.btn-save:hover{background:var(--c-primary-700)}.btn-save:disabled{opacity:.6;cursor:not-allowed}.profile-error{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;display:flex}.profile-error-help{color:var(--c-text-muted);max-width:42ch;margin:0}.profile-error-btn{border-radius:var(--r-button);background:var(--c-primary-500);color:#fff;min-height:44px;font-family:var(--font-heading);box-shadow:var(--sh-raised-sm);align-items:center;margin-top:12px;padding:0 22px;font-weight:600;text-decoration:none;display:inline-flex}.profile-error-btn:active{box-shadow:var(--sh-pressed)}.puzzles-page{background:var(--c-surface);min-height:100vh;color:var(--c-text);font-family:Inter,sans-serif}.puzzles-page *{box-sizing:border-box}.puzzles-wrapper{max-width:1280px;margin:0 auto;padding:32px 24px 48px}.puzzles-hero{background:radial-gradient(circle at top right, #4caf502e, transparent 36%), linear-gradient(135deg, var(--c-surface) 0%, var(--c-surface) 100%);border:1px solid var(--c-border);border-radius:26px;grid-template-columns:1fr 280px;align-items:center;gap:28px;min-height:300px;padding:40px;display:grid;box-shadow:0 20px 50px #1b5e2014}.puzzles-kicker,.section-label{color:var(--c-primary-500);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:850}.puzzles-hero h1{max-width:760px;color:var(--c-primary-900);letter-spacing:-1.4px;margin:0;font-size:44px;line-height:1.08}.puzzles-hero h1 span{color:var(--c-primary-500)}.puzzles-hero p{max-width:690px;color:var(--c-text-muted);margin:20px 0 0;font-size:18px;line-height:1.65}.puzzles-hero-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:22px;flex-direction:column;align-items:flex-start;padding:26px;display:flex;box-shadow:0 18px 35px #1b5e2014}.puzzles-hero-icon{background:var(--c-primary-50);border:1px solid var(--c-border);width:58px;height:58px;color:var(--c-primary-700);border-radius:18px;justify-content:center;align-items:center;margin-bottom:18px;font-size:31px;display:flex}.puzzles-hero-icon img{object-fit:contain;filter:drop-shadow(0 3px 5px #1b5e202e);width:42px;height:42px;display:block}.puzzles-hero-card strong{color:var(--c-primary-900);font-size:26px;font-weight:850}.puzzles-hero-card span{color:var(--c-text-muted);margin-top:6px;line-height:1.5}.themes-section{background:var(--c-surface);border:1px solid var(--c-border);border-radius:24px;margin-top:24px;padding:26px}.themes-section-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.themes-section h2{color:var(--c-primary-900);letter-spacing:-.6px;margin:0;font-size:28px}.themes-count-badge{background:var(--c-primary-50);border:1px solid var(--c-border);color:var(--c-primary-700);white-space:nowrap;border-radius:999px;padding:9px 14px;font-weight:800}.themes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.theme-link{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:20px;margin:0;padding:0;display:block}.theme-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:20px;align-items:flex-start;gap:18px;min-height:148px;padding:22px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:flex}.theme-link:hover .theme-card{border-color:var(--theme-accent);background:var(--c-surface);transform:translateY(-3px);box-shadow:0 18px 32px #2e7d321f}.theme-icon{background:radial-gradient(circle at 30% 20%, #ffffffc7, transparent 42%), var(--theme-accent-soft);border:1px solid color-mix(in srgb, var(--theme-accent) 34%, transparent);border-radius:18px;justify-content:center;align-items:center;width:58px;min-width:58px;height:58px;font-size:30px;line-height:1;display:flex}.theme-piece-stack{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:relative}.theme-piece-stack img{object-fit:contain;filter:drop-shadow(0 3px 5px #1b5e202e);-webkit-user-select:none;user-select:none;width:44px;height:44px;display:block}.theme-piece-stack.multi img{width:38px;height:38px;position:absolute}.theme-piece-stack.multi img:first-child{opacity:.86;transform:translate(-7px,5px)scale(.86)}.theme-piece-stack.multi img:last-child{transform:translate(8px,-5px)scale(.92)}.theme-piece-stack.count-3 img:first-child{opacity:.72;transform:translate(-13px,6px)scale(.72)}.theme-piece-stack.count-3 img:nth-child(2){z-index:2;transform:translateY(-2px)scale(1.04)}.theme-piece-stack.count-3 img:last-child{opacity:.72;transform:translate(14px,7px)scale(.72)}.theme-icon-fallback{color:var(--c-primary-700);font-size:28px;line-height:1}.theme-icon-symbol{color:var(--theme-accent);font-size:32px;font-weight:950;line-height:1}.theme-content{flex:1}.theme-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.theme-title{color:var(--c-primary-900);margin:0;font-size:22px;font-weight:850;line-height:1.15}.theme-count{color:var(--theme-accent);background:var(--theme-accent-soft);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:13px;font-weight:750}.theme-description{color:var(--c-text-muted);margin:0;font-size:15px;line-height:1.5}.theme-cta{color:var(--c-primary-700);align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:850;display:inline-flex}.theme-cta i{transition:transform .16s}.theme-link:hover .theme-cta i{transform:translate(4px)}@media (width<=1000px){.puzzles-hero,.themes-grid{grid-template-columns:1fr}}@media (width<=640px){.puzzles-wrapper{padding:20px 14px 36px}.puzzles-hero{padding:26px}.puzzles-hero h1{font-size:32px}.themes-section-header{flex-direction:column;align-items:flex-start}.theme-card{flex-direction:column}.theme-header{flex-direction:column;align-items:flex-start}}.back-button{border:1px solid var(--c-border);background:var(--c-surface);height:42px;color:var(--c-primary-700);cursor:pointer;border-radius:12px;margin-bottom:18px;padding:0 16px;font-weight:800;transition:background .15s,border-color .15s,transform .15s}.back-button:hover{background:var(--c-primary-50);border-color:var(--c-primary-300);transform:translate(-2px)}.puzzle-elo-pill{color:#14532d;background:#dcfce7;border:1px solid #22c55e59;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-top:18px;padding:6px 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.puzzle-elo-pill strong{color:#14532d;font-size:14px;font-weight:800}:root[data-theme=dark] .puzzle-elo-pill{color:#bbf7d0;background:#22c55e2e;border-color:#86efac6b;box-shadow:0 0 0 1px #86efac14}:root[data-theme=dark] .puzzle-elo-pill strong{color:#dcfce7;text-shadow:0 1px 8px #00000059}.puzzles-hero-card,.theme-card{transition:transform var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard);box-shadow:var(--sh-raised)!important;border-radius:var(--r-card)!important;border:none!important}.theme-link:hover .theme-card{transform:translateY(-3px)}.puzzles-hero-icon{box-shadow:var(--sh-pressed);border:none}.settings-page{max-width:760px;margin:0 auto;padding:32px 24px 48px}.settings-sub{color:var(--c-text-muted);margin:0 0 24px}.settings-card{background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--sh-raised);margin-bottom:18px;padding:24px}.settings-card h2{margin:0 0 16px}.settings-row{border-top:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.settings-row:first-of-type{border-top:none}.settings-row-title{color:var(--c-text);margin:0 0 2px;font-weight:600}.settings-row-help{font-size:var(--fs-sm);color:var(--c-text-muted);margin:0}.settings-switch{border-radius:var(--r-pill);background:var(--c-surface);width:48px;height:28px;box-shadow:var(--sh-pressed);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard);border:none;flex-shrink:0;position:relative}.settings-switch.on{background:var(--c-primary-500)}.settings-switch-knob{background:var(--c-surface);width:20px;height:20px;box-shadow:var(--sh-raised-sm);transition:transform var(--dur-fast) var(--ease-standard);border-radius:50%;position:absolute;top:4px;left:4px}.settings-switch.on .settings-switch-knob{transform:translate(20px)}.settings-info{grid-template-columns:1fr;gap:0;margin:0 0 18px;display:grid}.settings-info>div{border-top:1px solid var(--c-border);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.settings-info>div:first-child{border-top:none}.settings-info dt{color:var(--c-text-muted);font-size:var(--fs-sm)}.settings-info dd{color:var(--c-text);text-align:right;text-overflow:ellipsis;margin:0;font-weight:500;overflow:hidden}.settings-link-btn{border-radius:var(--r-button);background:var(--c-surface);min-height:44px;box-shadow:var(--sh-raised-sm);color:var(--c-primary-700);font-family:var(--font-heading);align-items:center;padding:0 20px;font-weight:600;text-decoration:none;display:inline-flex}.settings-link-btn:active{box-shadow:var(--sh-pressed)}.topnav{background:var(--c-surface);border-bottom:1px solid var(--c-border);height:58px;z-index:var(--z-sticky);box-shadow:var(--sh-flat);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.topnav-brand{font-family:var(--font-heading);color:var(--c-primary-900);align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.topnav-mark{color:var(--c-primary-500);font-size:22px}.topnav-logo{object-fit:contain;border-radius:7px;width:28px;height:28px;display:block}.topnav-right{position:relative}.user-btn{background:var(--c-surface);border-radius:var(--r-pill);cursor:pointer;box-shadow:var(--sh-raised-sm);transition:box-shadow var(--dur-fast) var(--ease-standard);border:none;align-items:center;gap:10px;padding:5px 14px 5px 6px;display:flex}.user-btn:hover{box-shadow:var(--sh-raised)}.user-btn:active{box-shadow:var(--sh-pressed)}.avatar-sm{background:var(--c-primary-500);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-fullname{color:var(--c-text);font-size:14px;font-weight:500}.chevron{color:var(--c-text-muted);font-size:9px}.profile-dropdown{background:var(--c-surface);border-radius:var(--r-card);width:300px;box-shadow:var(--sh-overlay);z-index:var(--z-dropdown);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.profile-header{background:var(--c-surface-2);border-bottom:1px solid var(--c-border);align-items:center;gap:14px;padding:20px;display:flex}.avatar-lg{background:var(--c-primary-500);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;font-weight:700;display:flex}.profile-info{min-width:0}.profile-name{font-family:var(--font-heading);color:var(--c-primary-900);text-transform:capitalize;margin:0 0 2px;font-size:15px;font-weight:600}.profile-email{color:var(--c-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-size:12px;overflow:hidden}.profile-role{background:var(--c-primary-50);color:var(--c-primary-700);border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.05em;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.profile-stats{background:var(--c-border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stat-item{background:var(--c-surface);flex-direction:column;align-items:center;gap:2px;padding:14px 6px;display:flex}.stat-val{font-family:var(--font-heading);color:var(--c-primary-900);font-size:18px;font-weight:700}.stat-lbl{color:var(--c-text-muted);font-size:11px}.profile-footer{flex-direction:column;gap:8px;padding:12px 16px;display:flex}.profile-edit-link{border-radius:var(--r-input);background:var(--c-surface);height:38px;box-shadow:var(--sh-raised-sm);color:var(--c-primary-700);transition:box-shadow var(--dur-fast) var(--ease-standard);justify-content:center;align-items:center;font-size:13px;font-weight:600;text-decoration:none;display:flex}.profile-edit-link:active{box-shadow:var(--sh-pressed)}.profile-logout{border-radius:var(--r-input);background:var(--c-surface);width:100%;height:38px;box-shadow:var(--sh-raised-sm);color:var(--c-danger-500);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard);border:none;font-size:13px;font-weight:600}.profile-logout:hover{color:var(--c-danger-700)}.profile-logout:active{box-shadow:var(--sh-pressed)}.topnav-actions{align-items:center;gap:14px;display:flex}.topnav-left{align-items:center;gap:12px;display:flex}.topnav-brand{text-decoration:none}.topnav-toggle{border-radius:var(--r-button);background:var(--c-surface);width:38px;height:38px;box-shadow:var(--sh-raised-sm);color:var(--c-primary-700);cursor:pointer;transition:box-shadow var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard);border:none;justify-content:center;align-items:center;font-size:20px;display:flex}.topnav-toggle:hover{color:var(--c-primary-600)}.topnav-toggle:active{box-shadow:var(--sh-pressed)}.app-shell{background:var(--c-bg);min-height:100vh;color:var(--c-text);padding-top:58px;display:flex}.sidebar{background:var(--c-surface);border-right:1px solid var(--c-border);width:240px;height:calc(100vh - 58px);transition:width var(--dur-base) var(--ease-standard),padding var(--dur-base) var(--ease-standard);flex-direction:column;flex-shrink:0;padding:22px 16px;display:flex;position:sticky;top:58px;overflow:hidden auto}.sidebar.collapsed{width:74px;padding-left:12px;padding-right:12px}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:0}.sidebar.collapsed .nav-item-label{opacity:0;white-space:nowrap;pointer-events:none;width:0;overflow:hidden}.sidebar.collapsed .logout-btn{justify-content:center;gap:0}.sidebar-brand{border-bottom:1px solid var(--c-border);align-items:center;gap:12px;margin-bottom:12px;padding-bottom:24px;display:flex}.brand-mark{background:var(--c-surface);width:42px;height:42px;box-shadow:var(--sh-raised-sm);color:var(--c-primary-700);border-radius:14px;justify-content:center;align-items:center;font-size:23px;font-weight:700;display:flex}.brand-text{font-family:var(--font-heading);color:var(--c-primary-900);font-size:18px;font-weight:700}.sidebar-nav{flex-direction:column;gap:8px;display:flex}.nav-item{border-radius:var(--r-button);height:46px;color:var(--c-text);white-space:nowrap;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);border:1px solid #0000;align-items:center;gap:12px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.nav-item:hover{background:var(--c-surface);box-shadow:var(--sh-raised-sm);color:var(--c-primary-700)}.nav-item.active{background:var(--c-primary-50);color:var(--c-primary-700);box-shadow:var(--sh-pressed)}.nav-item-icon{flex-shrink:0;font-size:18px;line-height:1;display:inline-flex}.nav-item-label{transition:opacity var(--dur-fast) var(--ease-standard)}.nav-item{position:relative}.nav-item-count{background:var(--c-danger,#dc2626);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.sidebar.collapsed .nav-item-count{min-width:16px;height:16px;margin-left:0;padding:0 4px;font-size:9px;position:absolute;top:4px;right:4px}.pending-actions{flex-direction:column;gap:8px;display:flex}.pending-challenges-banner{border-radius:var(--r-button);background:var(--c-primary-50);border:1px solid var(--c-primary-700);color:var(--c-primary-700);align-items:center;gap:10px;margin:12px 16px 0;padding:10px 14px;font-weight:600;display:flex}.pending-challenges-banner .pcb-icon{font-size:18px}.pending-challenges-banner .pcb-text{flex:1}.pending-challenges-banner .pcb-action{border-radius:var(--r-button);background:var(--c-primary-700);color:#fff;cursor:pointer;border:none;padding:6px 14px;font-weight:700}.pending-challenges-banner.pcb-alert{color:#b91c1c;background:#fef2f2;border-color:#dc2626}.pending-challenges-banner .pcb-action-alert{background:#dc2626}.sidebar-footer{border-top:1px solid var(--c-border);margin-top:auto;padding-top:18px}.logout-btn{border-radius:var(--r-button);background:var(--c-surface);width:100%;height:42px;box-shadow:var(--sh-raised-sm);color:var(--c-primary-700);font-family:var(--font-heading);cursor:pointer;white-space:nowrap;transition:box-shadow var(--dur-fast) var(--ease-standard);border:none;justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.logout-btn:hover{color:var(--c-primary-600)}.logout-btn:active{box-shadow:var(--sh-pressed)}.layout-content{flex-direction:column;flex:1;min-width:0;display:flex}.layout-content>main,.layout-content>.home-content,.layout-content>.profile-content,.layout-content>.courses-content{flex:1}.home-content{flex:1;min-width:0;padding:32px}.home-hero{background:var(--c-surface);border-radius:var(--r-card);min-height:360px;box-shadow:var(--sh-raised);grid-template-columns:1.5fr .8fr;align-items:center;gap:32px;padding:42px;display:grid}.hero-kicker{color:var(--c-secondary-700);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:700}.home-hero h1{font-family:var(--font-heading);max-width:760px;color:var(--c-text);letter-spacing:-1.5px;margin:0;font-size:46px;font-weight:700;line-height:1.08}.home-hero h1 span{color:var(--c-primary-500)}.hero-text{max-width:650px;color:var(--c-text-muted);margin:20px 0 0;font-size:18px;line-height:1.7}.hero-actions{gap:14px;margin-top:30px;display:flex}.primary-action,.secondary-action{border-radius:var(--r-button);min-height:46px;font-family:var(--font-heading);transition:box-shadow var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard);justify-content:center;align-items:center;padding:0 24px;font-weight:600;text-decoration:none;display:inline-flex}.primary-action{background:var(--c-primary-500);color:#fff;box-shadow:var(--sh-raised-sm)}.primary-action:hover{background:var(--c-primary-600)}.primary-action:active{box-shadow:var(--sh-pressed)}.secondary-action{background:var(--c-surface);color:var(--c-primary-700);box-shadow:var(--sh-raised-sm)}.secondary-action:active{box-shadow:var(--sh-pressed)}.hero-card{background:var(--c-surface);border-radius:var(--r-card);box-shadow:var(--sh-raised);padding:26px}.hero-card-icon{background:var(--c-surface);width:54px;height:54px;box-shadow:var(--sh-pressed);color:var(--c-primary-700);border-radius:16px;justify-content:center;align-items:center;margin-bottom:18px;font-size:30px;display:flex}.hero-card h2{font-family:var(--font-heading);color:var(--c-text);margin:0 0 10px}.hero-card p{color:var(--c-text-muted);margin:0;line-height:1.6}.home-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;display:grid}.home-card{background:var(--c-surface);border-radius:var(--r-card);color:inherit;box-shadow:var(--sh-raised);transition:box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard);cursor:pointer;padding:24px;text-decoration:none}.home-card:hover{transform:translateY(-3px)}.card-icon{background:var(--c-surface);width:44px;height:44px;box-shadow:var(--sh-pressed);color:var(--c-primary-700);border-radius:14px;justify-content:center;align-items:center;margin-bottom:16px;font-size:25px;display:flex}.home-card h3{font-family:var(--font-heading);color:var(--c-text);margin:0 0 8px}.home-card p{color:var(--c-text-muted);margin:0;line-height:1.55}@media (width<=900px){.app-shell{flex-direction:column}.layout-content{width:100%}.sidebar{z-index:50;width:240px;height:calc(100vh - 58px);transition:transform .2s;position:fixed;top:58px;left:0;transform:translate(0);box-shadow:0 8px 24px #0000002e}.sidebar.collapsed{width:240px;padding:22px 16px;transform:translate(-100%)}.sidebar.collapsed .nav-item{justify-content:flex-start;gap:12px;padding:0 14px}.sidebar .nav-item-label,.sidebar.collapsed .nav-item-label{opacity:1;width:auto}.sidebar.collapsed .logout-btn{justify-content:center;gap:10px}.home-hero,.home-grid{grid-template-columns:1fr}.home-hero h1{font-size:34px}}
