*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-ui);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{margin:0;box-sizing:border-box;padding:0}*:focus{outline:none}html{font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.inline-lesson-viewer .book-block-content html{font-size:1rem;line-height:1.5rem}html{height:100%;overflow:hidden}body{font-family:var(--font-ui);line-height:1.5;background:var(--color-bg-primary);color:var(--color-text-primary);height:100%;overflow:hidden;touch-action:manipulation;-webkit-overflow-scrolling:touch;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overscroll-behavior-y:contain}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}body:hover::-webkit-scrollbar-thumb{background:#9ca3af4d}body::-webkit-scrollbar-thumb:hover{background:#9ca3af80}body::-webkit-scrollbar-button{display:none}.dark body:hover::-webkit-scrollbar-thumb{background:#9ca3af33}.dark body::-webkit-scrollbar-thumb:hover{background:#9ca3af66}body{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}body:hover{scrollbar-color:rgba(156,163,175,.3) transparent}.dark body:hover{scrollbar-color:rgba(156,163,175,.2) transparent}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-hover: #e5e7eb;--color-text-primary: #18181b;--color-text-secondary: #52525b;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-border-focus: #d1d5db;--color-success: #3ea36f;--color-error: #d0544a;--color-warning: #de9b3d;--color-warning-fg: #3a2c0d;--color-info: #4a90c2;--color-success-dark: color-mix(in oklab, var(--color-success) 72%, var(--color-text-primary));--color-success-bg: color-mix(in oklab, var(--color-success) 13%, var(--color-bg-primary));--color-success-border: color-mix(in oklab, var(--color-success) 38%, var(--color-bg-primary));--color-error-dark: color-mix(in oklab, var(--color-error) 72%, var(--color-text-primary));--color-error-bg: color-mix(in oklab, var(--color-error) 13%, var(--color-bg-primary));--color-error-border: color-mix(in oklab, var(--color-error) 38%, var(--color-bg-primary));--color-warning-dark: color-mix(in oklab, var(--color-warning) 72%, var(--color-text-primary));--color-warning-bg: color-mix(in oklab, var(--color-warning) 13%, var(--color-bg-primary));--color-warning-border: color-mix(in oklab, var(--color-warning) 38%, var(--color-bg-primary));--color-info-dark: color-mix(in oklab, var(--color-info) 72%, var(--color-text-primary));--color-info-bg: color-mix(in oklab, var(--color-info) 13%, var(--color-bg-primary));--color-info-border: color-mix(in oklab, var(--color-info) 38%, var(--color-bg-primary));--color-accent: #4f5fd0;--color-accent-dark: color-mix(in oklab, var(--color-accent) 84%, var(--color-text-primary));--color-accent-bg: color-mix(in srgb, var(--color-accent) 12%, transparent);--color-accent-border: color-mix(in oklab, var(--color-accent) 40%, var(--color-bg-primary));--color-vivid-red: #ef4444;--color-vivid-green: #10b981;--color-vivid-blue: #3b82f6;--color-vivid-yellow: #f59e0b;--color-vivid-orange: #f97316;--color-vivid-violet: #8b5cf6;--color-vivid-violet-dark: #7c3aed;--color-vivid-indigo: #6366f1;--color-vivid-cyan: #06b6d4;--color-vivid-pink: #ec4899;--color-seal: #b3382e;--color-chat-send: #25d366;--color-chat-send-hover: #20bd5a;--color-chat-read: #53bdeb;--color-chat-read-on-accent: #93c5fd;--color-class-scheduled: var(--color-info-bg);--color-class-scheduled-border: var(--color-info-border);--color-class-scheduled-text: var(--color-info-dark);--color-class-live: var(--color-error-bg);--color-class-live-border: var(--color-error-border);--color-class-live-text: var(--color-error-dark);--color-class-ended: var(--color-bg-tertiary);--color-class-ended-border: var(--color-border);--color-class-ended-text: var(--color-text-muted);--color-class-cancelled: var(--color-warning-bg);--color-class-cancelled-border: var(--color-warning-border);--color-class-cancelled-text: var(--color-warning-dark);--color-class-teaching-ring: var(--color-vivid-violet);--shadow-class-teaching-glow: 0 0 0 3px var(--color-class-teaching-ring), 0 0 16px rgba(139, 92, 246, .55);--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-ambient: 0 0 12px rgba(0, 0, 0, .1);--shadow-focus: 0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);--shadow-glow: 0 0 20px rgba(59, 130, 246, .3);--shadow-vivid-glow-red: 0 8px 24px -4px rgba(239, 68, 68, .55), 0 4px 12px -2px rgba(239, 68, 68, .35);--shadow-vivid-glow-green: 0 8px 24px -4px rgba(16, 185, 129, .55), 0 4px 12px -2px rgba(16, 185, 129, .35);--shadow-vivid-glow-blue: 0 8px 24px -4px rgba(59, 130, 246, .55), 0 4px 12px -2px rgba(59, 130, 246, .35);--shadow-vivid-glow-yellow: 0 8px 24px -4px rgba(245, 158, 11, .55), 0 4px 12px -2px rgba(245, 158, 11, .35);--shadow-vivid-glow-orange: 0 8px 24px -4px rgba(249, 115, 22, .55), 0 4px 12px -2px rgba(249, 115, 22, .35);--shadow-vivid-glow-violet: 0 8px 24px -4px rgba(139, 92, 246, .55), 0 4px 12px -2px rgba(139, 92, 246, .35);--shadow-vivid-glow-pink: 0 8px 24px -4px rgba(236, 72, 153, .55), 0 4px 12px -2px rgba(236, 72, 153, .35);--shadow-vivid-glow-indigo: 0 4px 12px rgba(99, 102, 241, .3);--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-2xl: 1.5rem;--border-radius-full: 9999px;--radius-input: var(--border-radius-xl);--radius-tile: var(--border-radius-xl);--radius-control: .625rem;--radius-button: var(--border-radius-xl);--radius-card: var(--border-radius-xl);--radius-sheet: var(--border-radius-2xl);--emoji-btn-size: 44px;--emoji-btn-font: 30px;--emoji-pill-font: 18px;--emoji-more-btn-font: 22px;--card-pad-none: 0;--card-pad-xs: 2px;--card-pad-sm: 4px;--card-pad-md: 8px;--card-pad-lg: 12px;--card-pad-xl: 16px;--card-border-w-none: 0;--card-border-w-thin: 1px;--card-border-w-medium: 2px;--card-border-w-thick: 3px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-cubic: .2s cubic-bezier(.4, 0, .2, 1);--topbar-logo-scale: 1;--topbar-icon-btn-size: 40px;--topbar-icon-svg-size: 20px;--topbar-gap-left: .75rem;--topbar-gap-right: .75rem;--topbar-avatar-size: 32px;--topbar-menu-btn-size: 40px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-bottom-nav: 1040;--z-bottom-banner: 1045;--z-modal-backdrop: 10000;--z-modal: 10001;--z-dropdown-portal: 10050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--z-room-overlay: 25;--z-room-toolbar: 50;--height-bottom-nav: 64px;--height-header: 48px;--safe-top-mobile: max(env(safe-area-inset-top), 8px);--hero-expanded-h: 232px;--hero-expanded-h-sm: 168px;--hero-expanded-h-lg: 300px;--hero-bar-h: 52px;--hero-chrome-h: calc(var(--height-header) + var(--safe-top-mobile));--hero-collapsed-h: 0px;--hero-min-gesture: 96px;--hero-cover-blur: 20px;--hero-cover-zoom: 1.14;--hero-bar-blur: 14px;--hero-seam-extra: 10px;--hero-seam-h: calc(var(--safe-top-mobile) + var(--hero-seam-extra));--hero-body-lift: 16px;--hero-body-pad-top: 24px;--hero-body-pad-bottom: 16px;--hero-fade-ratio: .62;--hero-dim-max: .42;--hero-scrim-top: 16%;--hero-scrim-solid: 20%;--hero-scrim-mid: 86%;--hero-scrim-mid-pos: 52%;--hero-header-veil: 20%;--hero-header-tint: 65%;--mcard-list-thumb: 112px;--mcard-list-thumb-radius: var(--border-radius-lg);--mcard-list-gap: 12px;--mcard-list-pad-y: 12px;--mcard-list-title-size: 16px;--mcard-list-progress-h: 6px;--mcard-radius: var(--radius-card);--mcard-course-pad: 16px;--mcard-course-icon: 48px;--mcard-course-icon-radius: var(--border-radius-2xl);--mcard-course-bar-h: 8px;--mcard-compact-icon: 44px;--mcard-compact-pad: 14px;--shell-gutter-x: 1rem;--shell-gutter-top: .25rem;--press-scale-control: .95;--press-scale-surface: .99;--pwa-window-controls-width: 72px;--bottom-fixed-offset: env(safe-area-inset-bottom, 0px);--width-content-prose: 48rem;--width-content-media: 64rem;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-spring: .35s;--duration-chrome: .25s;--clock-phase-night: #1e2546;--clock-phase-dawn: #f5b58a;--clock-phase-day: #cfe7fb;--clock-phase-dusk: #d68bb4;--clock-sun-fill: #fde68a;--clock-sun-stroke: #f59e0b;--clock-moon-fill: #f1f5f9;--clock-moon-stroke: #94a3b8;--clock-horizon: rgba(40, 30, 20, .55);--clock-ground-fill: #8b6244;--clock-ground-stroke: #5e3a1f;--clock-ground-night: #2a1f1a;--clock-ground-dawn: #8b5a47;--clock-ground-day: #b5825a;--clock-ground-dusk: #6f4848;--clock-night-ink: #e2e8f0}@keyframes clock-period-pulse{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.clock-period-badge{animation:clock-period-pulse var(--duration-fast) ease-out}:root{--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-chrome: cubic-bezier(.4, 0, .2, 1);--opacity-disabled: .5;--opacity-hover: .8;--opacity-overlay: .75;--overlay-light: rgba(0, 0, 0, .3);--overlay-default: rgba(0, 0, 0, .5);--overlay-oncolor: rgba(255, 255, 255, .2);--overlay-oncolor-strong: rgba(255, 255, 255, .3);--color-switch-thumb: #ffffff;--overlay-heavy: rgba(0, 0, 0, .75);--overlay-full: rgba(0, 0, 0, .9);--overlay-white-5: rgba(255, 255, 255, .05);--overlay-white-10: rgba(255, 255, 255, .1);--overlay-white-20: rgba(255, 255, 255, .2);--overlay-white-25: rgba(255, 255, 255, .25);--text-shadow-media: 0 1px 2px rgba(0, 0, 0, .7), 0 0 6px rgba(0, 0, 0, .4);--video-chrome-bg: #1f2937;--video-chrome-surface: #374151;--video-chrome-text: #d1d5db;--video-chrome-text-muted: #9ca3af;--video-chrome-text-dim: #6b7280;--video-chrome-stage-bg: #000;--video-chrome-stage-gradient: radial-gradient(ellipse at center, #1a1a2e 0%, #0d0d1a 70%, #000 100%);--video-chrome-label-bg: rgba(0, 0, 0, .65);--video-chrome-shadow-soft: 0 4px 12px rgba(0, 0, 0, .4);--video-chrome-shadow-hard: 0 2px 4px rgba(0, 0, 0, .8), 4px 4px 0 rgba(0, 0, 0, .3);--video-chrome-shadow-panel: 0 8px 32px rgba(0, 0, 0, .5);--spacing-1_5: .75rem;--spacing-2_5: 1.25rem;--spacing-4xl: 4rem;--spacing-5xl: 5rem;--color-syntax-key: var(--color-vivid-violet);--color-syntax-string: var(--color-vivid-green);--color-syntax-number: var(--color-vivid-orange);--color-syntax-boolean: var(--color-vivid-blue);--color-syntax-null: var(--color-vivid-red);--color-syntax-punctuation: var(--color-text-muted)}body[data-mobile-shell=active]{--bottom-fixed-offset: calc(var(--height-bottom-nav) + env(safe-area-inset-bottom, 0px))}.dark{--color-bg-primary: #111827;--color-bg-secondary: #1f2937;--color-bg-tertiary: #374151;--color-bg-hover: #4b5563;--color-text-primary: #f4f4f5;--color-text-secondary: #a1a1aa;--color-text-muted: #7f8089;--color-border: #374151;--color-border-focus: #4b5563;--color-accent: #6d7ae8;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .7);--shadow-ambient: 0 0 14px rgba(0, 0, 0, .65)}.dusk{--color-bg-primary: #f7f4f1;--color-bg-secondary: #ebe6e0;--color-bg-tertiary: #dfd9d1;--color-bg-hover: #d3cdc5;--color-text-primary: #2a2420;--color-text-secondary: #6a615a;--color-text-muted: #8f8580;--color-border: #dfd9d1;--color-border-focus: #d3cdc5}.night{--color-bg-primary: #0a0f16;--color-bg-secondary: #121a24;--color-bg-tertiary: #1b2532;--color-bg-hover: #253243;--color-text-primary: #dce6f2;--color-text-secondary: #94a3b8;--color-text-muted: #6d7d92;--color-border: #1b2532;--color-border-focus: #253243;--color-accent: #7b88ee}.clay{--font-ui: "Fredoka", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Fredoka", sans-serif;--color-bg-primary: #fff8f0;--color-bg-secondary: #fffdf8;--color-bg-tertiary: #f4e9da;--color-bg-hover: #eddfcb;--color-text-primary: #594a42;--color-text-secondary: #84736a;--color-text-muted: #a8978c;--color-border: #f0e3d2;--color-border-focus: #e2d1ba;--color-accent: #ff7b6b;--color-success: #5fa182;--color-error: #d96459;--color-warning: #eda85f;--color-info: #6f9ec9;--border-radius-sm: .625rem;--border-radius-md: .875rem;--border-radius-lg: 1.25rem;--border-radius-xl: 1.75rem;--radius-control: var(--border-radius-md);--shadow-sm: 0 2px 8px rgba(89, 74, 66, .08);--shadow-md: 0 8px 20px rgba(89, 74, 66, .1);--shadow-lg: 0 14px 32px rgba(89, 74, 66, .14);--shadow-ambient: 0 0 16px rgba(89, 74, 66, .16)}.arcade{--font-ui: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Montserrat", sans-serif;--color-bg-primary: #15132e;--color-bg-secondary: #221f47;--color-bg-tertiary: #2c2858;--color-bg-hover: #363169;--color-text-primary: #f2f1fa;--color-text-secondary: #a7a2d1;--color-text-muted: #7d78ab;--color-border: #312d5e;--color-border-focus: #45407e;--color-accent: #ff3e8a;--color-success: #7cff6b;--color-error: #ff5c5c;--color-warning: #ffe600;--color-info: #00e5ff;--border-radius-sm: .625rem;--border-radius-md: .875rem;--border-radius-lg: 1.125rem;--border-radius-xl: 1.5rem;--radius-control: var(--border-radius-md);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 6px 20px rgba(0, 0, 0, .55);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6);--shadow-ambient: 0 0 16px rgba(0, 0, 0, .6)}.worksheet-paper{--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-hover: #e5e7eb;--color-text-primary: #18181b;--color-text-secondary: #52525b;--color-text-muted: #6b7280;--color-border: #d1d5db;--color-border-focus: #9ca3af;--worksheet-font-family-serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--worksheet-font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--worksheet-font-family-mono: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--worksheet-font-size-sm: .875rem;--worksheet-font-size-base: 1rem;--worksheet-font-size-lg: 1.125rem;--worksheet-page-padding-compact: 32px;--worksheet-page-padding-normal: 48px;--worksheet-page-padding-spacious: 72px;--worksheet-line-height-compact: 1.4;--worksheet-line-height-normal: 1.55;--worksheet-line-height-spacious: 1.8;--worksheet-page-width-portrait: 794px;--worksheet-page-width-landscape: 1123px;--worksheet-page-height-portrait: 1123px;--worksheet-page-height-landscape: 794px;--worksheet-page-width: var(--worksheet-page-width-portrait);--worksheet-page-height: var(--worksheet-page-height-portrait);--worksheet-page-padding: var(--worksheet-page-padding-normal);--worksheet-line-height: var(--worksheet-line-height-normal);--worksheet-font-family: var(--worksheet-font-family-serif);--worksheet-font-size: var(--worksheet-font-size-base);--worksheet-line-min-height: 1.5rem;--worksheet-blank-line-height: 1.8rem;font-family:var(--worksheet-font-family);font-size:var(--worksheet-font-size);line-height:var(--worksheet-line-height);letter-spacing:normal!important;word-spacing:normal!important;font-stretch:normal!important;font-variant:normal!important;font-kerning:none!important;font-feature-settings:"kern" 0!important;text-rendering:geometricPrecision!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.worksheet-paper *{letter-spacing:inherit!important;word-spacing:inherit!important;font-stretch:inherit!important;font-kerning:inherit!important;font-feature-settings:inherit!important}.\!container{width:100%!important}.container{width:100%}@media (min-width: 320px){.\!container{max-width:320px!important}.container{max-width:320px}}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{top:-.25rem;right:-.25rem;bottom:-.25rem;left:-.25rem}.-inset-1\.5{top:-.375rem;right:-.375rem;bottom:-.375rem;left:-.375rem}.inset-0{top:0;right:0;bottom:0;left:0}.inset-\[20\%\]{top:20%;right:20%;bottom:20%;left:20%}.inset-x-0{left:0;right:0}.inset-x-3{left:.75rem;right:.75rem}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-5{bottom:-1.25rem}.-bottom-6{bottom:-1.5rem}.-left-1{left:-.25rem}.-left-2\.5{left:-.625rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-3{right:-.75rem}.-right-6{right:-1.5rem}.-right-7{right:-1.75rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-14{top:-3.5rem}.-top-16{top:-4rem}.-top-2{top:-.5rem}.-top-2\.5{top:-.625rem}.-top-3{top:-.75rem}.-top-7{top:-1.75rem}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.bottom-1\.5{bottom:.375rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-20{bottom:5rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-\[15\%\]{bottom:15%}.bottom-\[38\%\]{bottom:38%}.bottom-\[55\%\]{bottom:55%}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\.5{left:.375rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-12{right:3rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-16{top:4rem}.top-2{top:.5rem}.top-20{top:5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[20\%\]{top:20%}.top-\[45\%\]{top:45%}.top-full{top:100%}.-z-bottom-banner{z-index:calc(var(--z-bottom-banner) * -1)}.-z-bottom-nav{z-index:calc(var(--z-bottom-nav) * -1)}.-z-dropdown{z-index:calc(var(--z-dropdown) * -1)}.-z-dropdown-portal{z-index:calc(var(--z-dropdown-portal) * -1)}.-z-fixed{z-index:calc(var(--z-fixed) * -1)}.-z-modal{z-index:calc(var(--z-modal) * -1)}.-z-modal-backdrop{z-index:calc(var(--z-modal-backdrop) * -1)}.-z-popover{z-index:calc(var(--z-popover) * -1)}.-z-sticky{z-index:calc(var(--z-sticky) * -1)}.-z-toast{z-index:calc(var(--z-toast) * -1)}.-z-tooltip{z-index:calc(var(--z-tooltip) * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-bottom-banner{z-index:var(--z-bottom-banner)}.z-bottom-nav{z-index:var(--z-bottom-nav)}.z-dropdown{z-index:var(--z-dropdown)}.z-dropdown-portal{z-index:var(--z-dropdown-portal)}.z-fixed{z-index:var(--z-fixed)}.z-modal{z-index:var(--z-modal)}.z-modal-backdrop{z-index:var(--z-modal-backdrop)}.z-popover{z-index:var(--z-popover)}.z-sticky{z-index:var(--z-sticky)}.z-toast{z-index:var(--z-toast)}.z-tooltip{z-index:var(--z-tooltip)}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2 / span 2}.col-span-4{grid-column:span 4 / span 4}.-m-1{margin:-.25rem}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-mx-\[var\(--shell-gutter-x\)\]{margin-left:calc(var(--shell-gutter-x) * -1);margin-right:calc(var(--shell-gutter-x) * -1)}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\!mb-0{margin-bottom:0!important}.\!mt-3{margin-top:.75rem!important}.-mb-px{margin-bottom:-1px}.-ml-0\.5{margin-left:-.125rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-ml-4{margin-left:-1rem}.-mr-1{margin-right:-.25rem}.-mt-0\.5{margin-top:-.125rem}.-mt-1{margin-top:-.25rem}.-mt-1\.5{margin-top:-.375rem}.-mt-2{margin-top:-.5rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.-mt-header-safe{margin-top:calc(calc(var(--height-header) + var(--safe-top-mobile)) * -1)}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-lg{margin-bottom:1.5rem}.mb-md{margin-bottom:1rem}.mb-sm{margin-bottom:.5rem}.mb-xl{margin-bottom:2rem}.mb-xs{margin-bottom:.25rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-11{margin-left:2.75rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-9{margin-left:2.25rem}.ml-auto{margin-left:auto}.ml-xs{margin-left:.25rem}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-auto{margin-right:auto}.mr-sm{margin-right:.5rem}.mr-xs{margin-right:.25rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.mt-lg{margin-top:1.5rem}.mt-md{margin-top:1rem}.mt-sm{margin-top:.5rem}.mt-xs{margin-top:.25rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.\!aspect-auto{aspect-ratio:auto!important}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[21\/9\]{aspect-ratio:21/9}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/1\]{aspect-ratio:4/1}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[5\/4\]{aspect-ratio:5/4}.aspect-auto{aspect-ratio:auto}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.\!h-6{height:1.5rem!important}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-1\/2{height:50%}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\]{height:100dvh}.h-\[14px\]{height:14px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[40dvh\]{height:40dvh}.h-\[52vh\]{height:52vh}.h-\[var\(--mcard-compact-icon\)\]{height:var(--mcard-compact-icon)}.h-\[var\(--mcard-course-bar-h\)\]{height:var(--mcard-course-bar-h)}.h-\[var\(--mcard-course-icon\)\]{height:var(--mcard-course-icon)}.h-\[var\(--mcard-list-progress-h\)\]{height:var(--mcard-list-progress-h)}.h-\[var\(--mcard-list-thumb\)\]{height:var(--mcard-list-thumb)}.h-\[var\(--worksheet-blank-line-height\)\]{height:var(--worksheet-blank-line-height)}.h-auto{height:auto}.h-bottom-nav{height:var(--height-bottom-nav)}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-header-safe{height:calc(var(--height-header) + var(--safe-top-mobile))}.h-px{height:1px}.h-screen{height:100vh}.h-screen-dvh{height:100dvh}.h-tap-lg{height:56px}.h-tap-md{height:48px}.h-tap-sm{height:44px}.max-h-24{max-height:6rem}.max-h-28{max-height:7rem}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[200px\]{max-height:200px}.max-h-\[28rem\]{max-height:28rem}.max-h-\[350px\]{max-height:350px}.max-h-\[360px\]{max-height:360px}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[420px\]{max-height:420px}.max-h-\[480px\]{max-height:480px}.max-h-\[48vh\]{max-height:48vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60dvh\]{max-height:60dvh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80\%\]{max-height:80%}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90dvh\]{max-height:90dvh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[calc\(100vh-120px\)\]{max-height:calc(100vh - 120px)}.max-h-\[calc\(100vh-16px\)\]{max-height:calc(100vh - 16px)}.max-h-\[calc\(70dvh-8rem\)\]{max-height:calc(70dvh - 8rem)}.max-h-full{max-height:100%}.max-h-none{max-height:none}.\!min-h-0{min-height:0px!important}.min-h-0{min-height:0px}.min-h-2{min-height:.5rem}.min-h-\[100px\]{min-height:100px}.min-h-\[118px\]{min-height:118px}.min-h-\[11rem\]{min-height:11rem}.min-h-\[120px\]{min-height:120px}.min-h-\[140px\]{min-height:140px}.min-h-\[200px\]{min-height:200px}.min-h-\[260px\]{min-height:260px}.min-h-\[280px\]{min-height:280px}.min-h-\[3rem\]{min-height:3rem}.min-h-\[400px\]{min-height:400px}.min-h-\[40vh\]{min-height:40vh}.min-h-\[5\.5rem\]{min-height:5.5rem}.min-h-\[60vh\]{min-height:60vh}.min-h-\[6rem\]{min-height:6rem}.min-h-\[70vh\]{min-height:70vh}.min-h-\[80px\]{min-height:80px}.min-h-\[85dvh\]{min-height:85dvh}.min-h-\[85vh\]{min-height:85vh}.min-h-\[var\(--mcard-list-thumb\)\]{min-height:var(--mcard-list-thumb)}.min-h-\[var\(--worksheet-line-min-height\)\]{min-height:var(--worksheet-line-min-height)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-screen-dvh{min-height:100dvh}.min-h-tap-md{min-height:48px}.min-h-tap-sm{min-height:44px}.\!w-28{width:7rem!important}.\!w-6{width:1.5rem!important}.\!w-full{width:100%!important}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[100px\]{width:100px}.w-\[104px\]{width:104px}.w-\[140px\]{width:140px}.w-\[14px\]{width:14px}.w-\[180px\]{width:180px}.w-\[184px\]{width:184px}.w-\[200px\]{width:200px}.w-\[260px\]{width:260px}.w-\[28rem\]{width:28rem}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[5\.5rem\]{width:5.5rem}.w-\[96px\]{width:96px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[var\(--mcard-compact-icon\)\]{width:var(--mcard-compact-icon)}.w-\[var\(--mcard-course-icon\)\]{width:var(--mcard-course-icon)}.w-\[var\(--mcard-list-thumb\)\]{width:var(--mcard-list-thumb)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.w-tap-sm{width:44px}.min-w-0{min-width:0px}.min-w-24{min-width:6rem}.min-w-32{min-width:8rem}.min-w-5{min-width:1.25rem}.min-w-6{min-width:1.5rem}.min-w-80{min-width:20rem}.min-w-96{min-width:24rem}.min-w-\[1\.4rem\]{min-width:1.4rem}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[1\.75rem\]{min-width:1.75rem}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[12rem\]{min-width:12rem}.min-w-\[14px\]{min-width:14px}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.min-w-\[170px\]{min-width:170px}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[210px\]{min-width:210px}.min-w-\[220px\]{min-width:220px}.min-w-\[22px\]{min-width:22px}.min-w-\[232px\]{min-width:232px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[2rem\]{min-width:2rem}.min-w-\[3rem\]{min-width:3rem}.min-w-\[48px\]{min-width:48px}.min-w-\[580px\]{min-width:580px}.min-w-\[60px\]{min-width:60px}.min-w-\[80px\]{min-width:80px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[90px\]{min-width:90px}.min-w-\[9rem\]{min-width:9rem}.min-w-tap-md{min-width:48px}.max-w-0{max-width:0px}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-40{max-width:10rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[140px\]{max-width:140px}.max-w-\[1600px\]{max-width:1600px}.max-w-\[180px\]{max-width:180px}.max-w-\[18rem\]{max-width:18rem}.max-w-\[2\.75rem\]{max-width:2.75rem}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[40\%\]{max-width:40%}.max-w-\[500px\]{max-width:500px}.max-w-\[55\%\]{max-width:55%}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-\[75\%\]{max-width:75%}.max-w-\[80\%\]{max-width:80%}.max-w-\[80vw\]{max-width:80vw}.max-w-\[8rem\]{max-width:8rem}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92vw\]{max-width:92vw}.max-w-\[calc\(100\%-12px\)\]{max-width:calc(100% - 12px)}.max-w-\[calc\(100vw-0\.5rem\)\]{max-width:calc(100vw - .5rem)}.max-w-\[calc\(100vw-16px\)\]{max-width:calc(100vw - 16px)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[calc\(100vw-3rem\)\]{max-width:calc(100vw - 3rem)}.max-w-\[calc\(100vw-40px\)\]{max-width:calc(100vw - 40px)}.max-w-content-media{max-width:var(--width-content-media)}.max-w-content-prose{max-width:var(--width-content-prose)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.\!flex-1{flex:1 1 0%!important}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-0{flex-basis:0px}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\/2{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-7{--tw-translate-x: 1.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-50{--tw-scale-x: .5;--tw-scale-y: .5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-8px,0,0)}40%,80%{transform:translate3d(8px,0,0)}}.animate-shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown .3s ease-out}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.animate-slide-in{animation:slideIn .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .5s ease-out}.animate-spin{animation:spin .8s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-nesw-resize{cursor:nesw-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.cursor-zoom-in{cursor:zoom-in}.cursor-zoom-out{cursor:zoom-out}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.\!resize{resize:both!important}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.scroll-mt-24{scroll-margin-top:6rem}.scroll-mt-28{scroll-margin-top:7rem}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.list-\[upper-alpha\]{list-style-type:upper-alpha}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.grid-cols-\[auto\,1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(280px\,280px\)\)\]{grid-template-columns:repeat(auto-fill,minmax(280px,280px))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.\!justify-start{justify-content:flex-start!important}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-items-center{justify-items:center}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-\[2px\]{gap:2px}.gap-\[var\(--mcard-list-gap\)\]{gap:var(--mcard-list-gap)}.gap-lg{gap:1.5rem}.gap-md{gap:1rem}.gap-sm{gap:.5rem}.gap-xl{gap:2rem}.gap-xs{gap:.25rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-xs{-moz-column-gap:.25rem;column-gap:.25rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}.gap-y-md{row-gap:1rem}.-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-xs>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-edge>:not([hidden])~:not([hidden]){border-color:var(--color-border)}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.\!overflow-hidden{overflow:hidden!important}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-clip{overflow-x:clip}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-button{border-radius:var(--radius-button)!important}.\!rounded-md{border-radius:var(--border-radius-md)!important}.\!rounded-xl{border-radius:var(--border-radius-xl)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--border-radius-2xl)}.rounded-3xl{border-radius:1.5rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[var\(--mcard-course-icon-radius\)\]{border-radius:var(--mcard-course-icon-radius)}.rounded-\[var\(--mcard-list-thumb-radius\)\]{border-radius:var(--mcard-list-thumb-radius)}.rounded-\[var\(--mcard-radius\)\]{border-radius:var(--mcard-radius)}.rounded-button{border-radius:var(--radius-button)}.rounded-card{border-radius:var(--radius-card)}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:var(--border-radius-full)}.rounded-input{border-radius:var(--radius-input)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-tile{border-radius:var(--radius-tile)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-b-lg{border-bottom-right-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-lg)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-xl{border-bottom-right-radius:var(--border-radius-xl);border-bottom-left-radius:var(--border-radius-xl)}.rounded-l-lg{border-top-left-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-lg)}.rounded-r-lg{border-top-right-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg)}.rounded-t-2xl{border-top-left-radius:var(--border-radius-2xl);border-top-right-radius:var(--border-radius-2xl)}.rounded-t-\[var\(--radius-sheet\)\]{border-top-left-radius:var(--radius-sheet);border-top-right-radius:var(--radius-sheet)}.rounded-t-input{border-top-left-radius:var(--radius-input);border-top-right-radius:var(--radius-input)}.rounded-t-lg{border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg)}.rounded-t-xl{border-top-left-radius:var(--border-radius-xl);border-top-right-radius:var(--border-radius-xl)}.rounded-tl-sm{border-top-left-radius:var(--border-radius-sm)}.rounded-tr-sm{border-top-right-radius:var(--border-radius-sm)}.\!border{border-width:1px!important}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-\[3px\]{border-width:3px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.\!border-transparent{border-color:transparent!important}.border-accent{border-color:var(--color-accent)}.border-accent-border{border-color:var(--color-accent-border)}.border-accent-dark{border-color:var(--color-accent-dark)}.border-class-cancelled-border{border-color:var(--color-class-cancelled-border)}.border-class-ended-border{border-color:var(--color-class-ended-border)}.border-class-live-border{border-color:var(--color-class-live-border)}.border-class-scheduled-border{border-color:var(--color-class-scheduled-border)}.border-content{border-color:var(--color-text-primary)}.border-current{border-color:currentColor}.border-edge{border-color:var(--color-border)}.border-edge-focus{border-color:var(--color-border-focus)}.border-error{border-color:var(--color-error)}.border-error-border{border-color:var(--color-error-border)}.border-error-dark{border-color:var(--color-error-dark)}.border-info{border-color:var(--color-info)}.border-info-border{border-color:var(--color-info-border)}.border-success{border-color:var(--color-success)}.border-success-border{border-color:var(--color-success-border)}.border-surface{border-color:var(--color-bg-primary)}.border-transparent{border-color:transparent}.border-vivid-blue{border-color:var(--color-vivid-blue)}.border-vivid-green{border-color:var(--color-vivid-green)}.border-vivid-orange{border-color:var(--color-vivid-orange)}.border-vivid-pink{border-color:var(--color-vivid-pink)}.border-vivid-red{border-color:var(--color-vivid-red)}.border-vivid-violet{border-color:var(--color-vivid-violet)}.border-vivid-yellow{border-color:var(--color-vivid-yellow)}.border-warning{border-color:var(--color-warning)}.border-warning-border{border-color:var(--color-warning-border)}.border-warning-dark{border-color:var(--color-warning-dark)}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-white\/60{border-color:#fff9}.border-white\/80{border-color:#fffc}.border-l-accent{border-left-color:var(--color-accent)}.border-l-error{border-left-color:var(--color-error)}.border-l-info{border-left-color:var(--color-info)}.border-l-success{border-left-color:var(--color-success)}.border-l-warning{border-left-color:var(--color-warning)}.border-t-content{border-top-color:var(--color-text-primary)}.border-t-gray-600{--tw-border-opacity: 1;border-top-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.\!bg-error-bg{background-color:var(--color-error-bg)!important}.\!bg-success-bg{background-color:var(--color-success-bg)!important}.\!bg-surface{background-color:var(--color-bg-primary)!important}.\!bg-surface-raised{background-color:var(--color-bg-tertiary)!important}.\!bg-warning-bg{background-color:var(--color-warning-bg)!important}.bg-\[var\(--overlay-default\)\]{background-color:var(--overlay-default)}.bg-\[var\(--overlay-light\)\]{background-color:var(--overlay-light)}.bg-\[var\(--overlay-strong\)\]{background-color:var(--overlay-strong)}.bg-accent{background-color:var(--color-accent)}.bg-accent-bg{background-color:var(--color-accent-bg)}.bg-accent-dark{background-color:var(--color-accent-dark)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/0{background-color:#0000}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-black\/95{background-color:#000000f2}.bg-class-cancelled{background-color:var(--color-class-cancelled)}.bg-class-ended{background-color:var(--color-class-ended)}.bg-class-live{background-color:var(--color-class-live)}.bg-class-live-text{background-color:var(--color-class-live-text)}.bg-class-scheduled{background-color:var(--color-class-scheduled)}.bg-content{background-color:var(--color-text-primary)}.bg-content-muted{background-color:var(--color-text-muted)}.bg-content-secondary{background-color:var(--color-text-secondary)}.bg-current{background-color:currentColor}.bg-edge{background-color:var(--color-border)}.bg-error{background-color:var(--color-error)}.bg-error-bg{background-color:var(--color-error-bg)}.bg-info{background-color:var(--color-info)}.bg-info-bg{background-color:var(--color-info-bg)}.bg-overlay-oncolor{background-color:var(--overlay-oncolor)}.bg-seal{background-color:var(--color-seal)}.bg-success{background-color:var(--color-success)}.bg-success-bg{background-color:var(--color-success-bg)}.bg-success-dark{background-color:var(--color-success-dark)}.bg-surface{background-color:var(--color-bg-primary)}.bg-surface-alt{background-color:var(--color-bg-secondary)}.bg-surface-hover{background-color:var(--color-bg-hover)}.bg-surface-raised{background-color:var(--color-bg-tertiary)}.bg-switch-thumb{background-color:var(--color-switch-thumb)}.bg-transparent{background-color:transparent}.bg-vivid-blue{background-color:var(--color-vivid-blue)}.bg-vivid-green{background-color:var(--color-vivid-green)}.bg-vivid-orange{background-color:var(--color-vivid-orange)}.bg-vivid-pink{background-color:var(--color-vivid-pink)}.bg-vivid-red{background-color:var(--color-vivid-red)}.bg-vivid-violet{background-color:var(--color-vivid-violet)}.bg-vivid-yellow{background-color:var(--color-vivid-yellow)}.bg-warning{background-color:var(--color-warning)}.bg-warning-bg{background-color:var(--color-warning-bg)}.bg-warning-border{background-color:var(--color-warning-border)}.bg-warning-dark{background-color:var(--color-warning-dark)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/20{background-color:#fff3}.bg-white\/40{background-color:#fff6}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-accent{--tw-gradient-from: var(--color-accent) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/40{--tw-gradient-from: rgb(0 0 0 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/70{--tw-gradient-from: rgb(0 0 0 / .7) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #22c55e var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-info{--tw-gradient-from: var(--color-info) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-surface{--tw-gradient-from: var(--color-bg-primary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-surface-alt{--tw-gradient-from: var(--color-bg-secondary) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/30{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/30{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-yellow-500{--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #eab308 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-accent{--tw-gradient-to: var(--color-accent) var(--tw-gradient-to-position)}.to-accent-dark{--tw-gradient-to: var(--color-accent-dark) var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to: #ef4444 var(--tw-gradient-to-position)}.to-surface-raised{--tw-gradient-to: var(--color-bg-tertiary) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-white{fill:#fff}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-1{padding:.25rem!important}.\!p-2{padding:.5rem!important}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-20{padding:5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[var\(--mcard-compact-pad\)\]{padding:var(--mcard-compact-pad)}.p-\[var\(--mcard-course-pad\)\]{padding:var(--mcard-course-pad)}.p-lg{padding:1.5rem}.p-md{padding:1rem}.p-sm{padding:.5rem}.p-xs{padding:.25rem}.\!px-12{padding-left:3rem!important;padding-right:3rem!important}.\!px-8{padding-left:2rem!important;padding-right:2rem!important}.\!py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.\!py-4{padding-top:1rem!important;padding-bottom:1rem!important}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[0\.8em\]{padding-left:.8em;padding-right:.8em}.px-\[var\(--shell-gutter-x\)\]{padding-left:var(--shell-gutter-x);padding-right:var(--shell-gutter-x)}.px-md{padding-left:1rem;padding-right:1rem}.px-sm{padding-left:.5rem;padding-right:.5rem}.px-xs{padding-left:.25rem;padding-right:.25rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[0\.5em\]{padding-top:.5em;padding-bottom:.5em}.py-\[var\(--mcard-list-pad-y\)\]{padding-top:var(--mcard-list-pad-y);padding-bottom:var(--mcard-list-pad-y)}.py-lg{padding-top:1.5rem;padding-bottom:1.5rem}.py-md{padding-top:1rem;padding-bottom:1rem}.py-sm{padding-top:.5rem;padding-bottom:.5rem}.py-xl{padding-top:2rem;padding-bottom:2rem}.py-xs{padding-top:.25rem;padding-bottom:.25rem}.\!pl-10{padding-left:2.5rem!important}.\!pr-10{padding-right:2.5rem!important}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-2xl{padding-bottom:3rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-bottom-nav-safe{padding-bottom:calc(var(--height-bottom-nav) + env(safe-area-inset-bottom))}.pb-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.pb-xl{padding-bottom:2rem}.pb-xs{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pl-\[calc\(var\(--mcard-list-thumb\)\+var\(--mcard-list-gap\)\)\]{padding-left:calc(var(--mcard-list-thumb) + var(--mcard-list-gap))}.pl-md{padding-left:1rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[var\(--shell-gutter-top\)\]{padding-top:var(--shell-gutter-top)}.pt-lg{padding-top:1.5rem}.pt-md{padding-top:1rem}.pt-safe-top-mobile{padding-top:var(--safe-top-mobile)}.pt-sm{padding-top:.5rem}.pt-xs{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-manga{font-family:Comic Neue,system-ui,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-ui)}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.\!text-2xl{font-size:1.5rem!important;line-height:1.4!important}.text-2xl{font-size:1.5rem;line-height:1.4}.text-2xs{font-size:.625rem;line-height:1.4}.text-3xl{font-size:1.875rem;line-height:1.3}.text-4xl{font-size:2.25rem;line-height:1.2}.text-5xl{font-size:3rem;line-height:1.1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[120px\]{font-size:120px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[length\:var\(--mcard-list-title-size\)\]{font-size:var(--mcard-list-title-size)}.text-base{font-size:1rem;line-height:1.6}.text-lg{font-size:1.125rem;line-height:1.6}.text-sm{font-size:.875rem;line-height:1.5}.text-xl{font-size:1.25rem;line-height:1.5}.text-xs{font-size:.75rem;line-height:1.5}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-loose{line-height:2}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-content{color:var(--color-text-primary)!important}.\!text-content-muted{color:var(--color-text-muted)!important}.\!text-error{color:var(--color-error)!important}.\!text-success{color:var(--color-success)!important}.\!text-warning{color:var(--color-warning)!important}.text-accent{color:var(--color-accent)}.text-accent-dark{color:var(--color-accent-dark)}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-class-cancelled-text{color:var(--color-class-cancelled-text)}.text-class-ended-text{color:var(--color-class-ended-text)}.text-class-live-text{color:var(--color-class-live-text)}.text-class-scheduled-text{color:var(--color-class-scheduled-text)}.text-content{color:var(--color-text-primary)}.text-content-muted{color:var(--color-text-muted)}.text-content-secondary{color:var(--color-text-secondary)}.text-current{color:currentColor}.text-error{color:var(--color-error)}.text-error-dark{color:var(--color-error-dark)}.text-info{color:var(--color-info)}.text-info-dark{color:var(--color-info-dark)}.text-inherit{color:inherit}.text-success{color:var(--color-success)}.text-success-dark{color:var(--color-success-dark)}.text-transparent{color:transparent}.text-vivid-blue{color:var(--color-vivid-blue)}.text-vivid-cyan{color:var(--color-vivid-cyan)}.text-vivid-green{color:var(--color-vivid-green)}.text-vivid-orange{color:var(--color-vivid-orange)}.text-vivid-pink{color:var(--color-vivid-pink)}.text-vivid-red{color:var(--color-vivid-red)}.text-vivid-violet{color:var(--color-vivid-violet)}.text-vivid-yellow{color:var(--color-vivid-yellow)}.text-warning{color:var(--color-warning)}.text-warning-dark{color:var(--color-warning-dark)}.text-warning-fg{color:var(--color-warning-fg)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/55{color:#ffffff8c}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.text-white\/85{color:#ffffffd9}.text-white\/90{color:#ffffffe6}.text-white\/95{color:#fffffff2}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.decoration-accent{text-decoration-color:var(--color-accent)}.decoration-content-muted{text-decoration-color:var(--color-text-muted)}.decoration-dotted{text-decoration-style:dotted}.decoration-2{text-decoration-thickness:2px}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.accent-content{accent-color:var(--color-text-primary)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-ambient{--tw-shadow: var(--shadow-ambient);--tw-shadow-colored: var(--shadow-ambient);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-focus{--tw-shadow: var(--shadow-focus);--tw-shadow-colored: var(--shadow-focus);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-glow{--tw-shadow: var(--shadow-glow);--tw-shadow-colored: var(--shadow-glow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-vivid-glow-blue{--tw-shadow: var(--shadow-vivid-glow-blue);--tw-shadow-colored: var(--shadow-vivid-glow-blue);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-vivid-glow-green{--tw-shadow: var(--shadow-vivid-glow-green);--tw-shadow-colored: var(--shadow-vivid-glow-green);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-vivid-glow-orange{--tw-shadow: var(--shadow-vivid-glow-orange);--tw-shadow-colored: var(--shadow-vivid-glow-orange);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-vivid-glow-pink{--tw-shadow: var(--shadow-vivid-glow-pink);--tw-shadow-colored: var(--shadow-vivid-glow-pink);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-vivid-glow-red{--tw-shadow: var(--shadow-vivid-glow-red);--tw-shadow-colored: var(--shadow-vivid-glow-red);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-vivid-glow-violet{--tw-shadow: var(--shadow-vivid-glow-violet);--tw-shadow-colored: var(--shadow-vivid-glow-violet);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-vivid-glow-yellow{--tw-shadow: var(--shadow-vivid-glow-yellow);--tw-shadow-colored: var(--shadow-vivid-glow-yellow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-green-500\/20{--tw-shadow-color: rgb(34 197 94 / .2);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-\[var\(--overlay-light\)\]{--tw-ring-color: var(--overlay-light)}.ring-accent{--tw-ring-color: var(--color-accent)}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-content{--tw-ring-color: var(--color-text-primary)}.ring-edge{--tw-ring-color: var(--color-border)}.ring-edge-focus{--tw-ring-color: var(--color-border-focus)}.ring-info{--tw-ring-color: var(--color-info)}.ring-success{--tw-ring-color: var(--color-success)}.ring-surface{--tw-ring-color: var(--color-bg-primary)}.ring-surface-alt{--tw-ring-color: var(--color-bg-secondary)}.ring-vivid-blue{--tw-ring-color: var(--color-vivid-blue)}.ring-vivid-green{--tw-ring-color: var(--color-vivid-green)}.ring-vivid-orange{--tw-ring-color: var(--color-vivid-orange)}.ring-vivid-pink{--tw-ring-color: var(--color-vivid-pink)}.ring-vivid-red{--tw-ring-color: var(--color-vivid-red)}.ring-vivid-violet{--tw-ring-color: var(--color-vivid-violet)}.ring-vivid-yellow{--tw-ring-color: var(--color-vivid-yellow)}.ring-warning{--tw-ring-color: var(--color-warning)}.ring-white\/20{--tw-ring-color: rgb(255 255 255 / .2)}.ring-white\/80{--tw-ring-color: rgb(255 255 255 / .8)}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-surface{--tw-ring-offset-color: var(--color-bg-primary)}.ring-offset-transparent{--tw-ring-offset-color: transparent}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-md{--tw-blur: blur(12px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur: blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,transform\]{transition-property:margin,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\]{transition-property:margin;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-base{transition-duration:var(--duration-base)}.duration-chrome{transition-duration:var(--duration-chrome)}.duration-spring{transition-duration:var(--duration-spring)}.ease-chrome{transition-timing-function:var(--ease-chrome)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-spring{transition-timing-function:var(--ease-spring)}.will-change-transform{will-change:transform}.grid-responsive-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr))}.grid-responsive-cards-sm{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr))}.grid-responsive-cards-lg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr))}.grid-responsive-cards-xl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.grid-responsive-cards-xs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100px,100%),1fr))}.kpi-fluid{container-type:inline-size}.kpi-fluid-title,.kpi-fluid-value,.kpi-fluid-desc{min-width:0}.kpi-fluid-value,.kpi-fluid-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-fluid-icon{width:clamp(2.5rem,20cqi,3.125rem);height:clamp(2.5rem,20cqi,3.125rem);flex-shrink:0}.kpi-fluid-title{font-size:clamp(1rem,8cqi,1.25rem);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}.kpi-fluid-value{font-size:clamp(1.5rem,15cqi,2.5rem);line-height:1.1}.kpi-fluid-desc{font-size:clamp(.6875rem,5.5cqi,.875rem);line-height:1.25}.\[blank\:\.\.\.\]{blank:...}.\[blank\:answer\]{blank:answer}.\[blank\:palabra\]{blank:palabra}.\[k\:string\]{k:string}.\[scrollbar-width\:thin\]{scrollbar-width:thin}.\[style\:cartoon\]{style:cartoon}.\[style\:casa\]{style:casa}.\[style\:realista\]{style:realista}.\[tipo\:accent-drill\]{tipo:accent-drill}.\[tipo\:acentuacion\]{tipo:acentuacion}.\[tipo\:agrupar\]{tipo:agrupar}.\[tipo\:ahorcado\]{tipo:ahorcado}.\[tipo\:anagram\]{tipo:anagram}.\[tipo\:anagrama\]{tipo:anagrama}.\[tipo\:analisis-sintactico\]{tipo:analisis-sintactico}.\[tipo\:arrastrar\]{tipo:arrastrar}.\[tipo\:audio\]{tipo:audio}.\[tipo\:boggle\]{tipo:boggle}.\[tipo\:cadena\]{tipo:cadena}.\[tipo\:caligrafia\]{tipo:caligrafia}.\[tipo\:categorizar\]{tipo:categorizar}.\[tipo\:completar\]{tipo:completar}.\[tipo\:conjugacion\]{tipo:conjugacion}.\[tipo\:conjugation-drill\]{tipo:conjugation-drill}.\[tipo\:connections\]{tipo:connections}.\[tipo\:crossword\]{tipo:crossword}.\[tipo\:crucigrama\]{tipo:crucigrama}.\[tipo\:dialogo\]{tipo:dialogo}.\[tipo\:dialogues\]{tipo:dialogues}.\[tipo\:dictado\]{tipo:dictado}.\[tipo\:dictation\]{tipo:dictation}.\[tipo\:diálogo\]{tipo:diálogo}.\[tipo\:drag-drop\]{tipo:drag-drop}.\[tipo\:dragdrop\]{tipo:dragdrop}.\[tipo\:emparejar-rapido\]{tipo:emparejar-rapido}.\[tipo\:emparejar\]{tipo:emparejar}.\[tipo\:escalera\]{tipo:escalera}.\[tipo\:fill-blank\]{tipo:fill-blank}.\[tipo\:fill-blanks\]{tipo:fill-blanks}.\[tipo\:fill-saying\]{tipo:fill-saying}.\[tipo\:fillblank\]{tipo:fillblank}.\[tipo\:fillblanks\]{tipo:fillblanks}.\[tipo\:formar-palabras\]{tipo:formar-palabras}.\[tipo\:gender-drill\]{tipo:gender-drill}.\[tipo\:genero\]{tipo:genero}.\[tipo\:hangman\]{tipo:hangman}.\[tipo\:highlight\]{tipo:highlight}.\[tipo\:hotspot\]{tipo:hotspot}.\[tipo\:image-hotspot-match\]{tipo:image-hotspot-match}.\[tipo\:info-table\]{tipo:info-table}.\[tipo\:info_table\]{tipo:info table}.\[tipo\:juego-turnos\]{tipo:juego-turnos}.\[tipo\:juego-vivo\]{tipo:juego-vivo}.\[tipo\:juego\]{tipo:juego}.\[tipo\:lectura\]{tipo:lectura}.\[tipo\:live-game\]{tipo:live-game}.\[tipo\:mad-libs\]{tipo:mad-libs}.\[tipo\:madlibs\]{tipo:madlibs}.\[tipo\:marcar\]{tipo:marcar}.\[tipo\:matching\]{tipo:matching}.\[tipo\:memorama\]{tipo:memorama}.\[tipo\:memory-game\]{tipo:memory-game}.\[tipo\:memory\]{tipo:memory}.\[tipo\:multiple-choice\]{tipo:multiple-choice}.\[tipo\:multiple_choice\]{tipo:multiple choice}.\[tipo\:opcion_multiple\]{tipo:opcion multiple}.\[tipo\:open-questions\]{tipo:open-questions}.\[tipo\:open_questions\]{tipo:open questions}.\[tipo\:pronunciacion\]{tipo:pronunciacion}.\[tipo\:pronunciation-feedback\]{tipo:pronunciation-feedback}.\[tipo\:pronunciation\]{tipo:pronunciation}.\[tipo\:quiz-game\]{tipo:quiz-game}.\[tipo\:quiz\]{tipo:quiz}.\[tipo\:reading\]{tipo:reading}.\[tipo\:refran\]{tipo:refran}.\[tipo\:relacionar\]{tipo:relacionar}.\[tipo\:respuesta_libre\]{tipo:respuesta libre}.\[tipo\:rich-text\]{tipo:rich-text}.\[tipo\:rich_text\]{tipo:rich text}.\[tipo\:sonido\]{tipo:sonido}.\[tipo\:sopa\]{tipo:sopa}.\[tipo\:speed-matching\]{tipo:speed-matching}.\[tipo\:speedmatching\]{tipo:speedmatching}.\[tipo\:tabla_info\]{tipo:tabla info}.\[tipo\:taboo\]{tipo:taboo}.\[tipo\:tabu\]{tipo:tabu}.\[tipo\:tabú\]{tipo:tabú}.\[tipo\:texto_enriquecido\]{tipo:texto enriquecido}.\[tipo\:tracing\]{tipo:tracing}.\[tipo\:trazado\]{tipo:trazado}.\[tipo\:true-false\]{tipo:true-false}.\[tipo\:true_false\]{tipo:true false}.\[tipo\:turn-game\]{tipo:turn-game}.\[tipo\:verdadero_falso\]{tipo:verdadero falso}.\[tipo\:video\]{tipo:video}.\[tipo\:vídeo\]{tipo:vídeo}.\[tipo\:word-categorize\]{tipo:word-categorize}.\[tipo\:word-chain\]{tipo:word-chain}.\[tipo\:word-highlight\]{tipo:word-highlight}.\[tipo\:word-ladder\]{tipo:word-ladder}.\[tipo\:word-search\]{tipo:word-search}.\[tipo\:wordle\]{tipo:wordle}.\[tipo\:xxx\]{tipo:xxx}:root{--video-control-halo: 0 1px 4px rgba(0, 0, 0, .7)}:root{--historieta-bubble-bg: #ffffff;--historieta-bubble-text: #1c1917;--historieta-bubble-border: #1c1917;--historieta-narration-bg: #fdf3d1}.historieta-canvas{container-type:inline-size}.historieta-bubble{font-size:.8rem;font-size:2.7cqw}.historieta-bubble--sm{font-size:.65rem;font-size:2.1cqw}.historieta-bubble--lg{font-size:1rem;font-size:3.5cqw}.video-fs-container video{transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.video-fs-container:fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;aspect-ratio:auto!important}.video-fs-container:fullscreen video{width:100%;height:100%;max-height:none}:root{--game-chrome-bg: var(--color-bg-primary);--game-card-bg: var(--color-bg-secondary);--game-card-bg-active: var(--color-accent);--game-card-bg-lowtime: var(--color-error);--game-card-border: var(--color-border)}[data-game-chrome=mobile]{--game-card-bg: var(--color-bg-secondary);--game-card-border: transparent}body{background:var(--color-bg-primary)!important}#root{min-height:100vh;min-height:100dvh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}@media (max-width: 375px){.universal-dashboard__content .btn{gap:.25rem}}.inline-lesson-viewer .book-block-content .btn{gap:.5rem}.btn{min-height:42px;padding:.625rem 1.25rem;border-radius:var(--border-radius-md);font-size:1rem;font-weight:500;line-height:1.25}.inline-lesson-viewer .book-block-content .btn{border-radius:.375rem;font-size:1rem;line-height:1.5rem}.btn{cursor:pointer;border-width:1px;border-color:transparent}@media (max-width: 479px){[data-modal-fullscreen=true] .btn{border-left-width:0;border-right-width:0}[data-modal-fullscreen=true] .btn.keep-all-borders{border-width:2px}}.btn{white-space:nowrap;text-decoration-line:none;outline:2px solid transparent;outline-offset:2px;transition-property:none;width:auto;flex-shrink:0}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-dark)}.btn-secondary{background:var(--color-success);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--color-success-dark)}.btn-close{border-style:none;background-color:transparent;display:flex;cursor:pointer;align-items:center;justify-content:center;padding:0;line-height:1}@media (max-width: 375px){[data-mini-drawing-toolbar=true] .btn-close.gap-1 button{width:20px;height:20px}}.btn-close{height:2rem;width:2rem;font-size:1.875rem;line-height:1.3;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.inline-lesson-viewer .book-block-content .btn-close{font-size:1.875rem;line-height:2.25rem;width:2rem;height:auto;height:2rem}@media (max-width: 639px){.inline-lesson-viewer .lesson-content-header .btn-close{width:1.75rem;height:1.75rem}.inline-lesson-viewer .book-block-content .btn-close{width:2rem;height:2rem}}.btn-close{color:var(--color-text-secondary)}.btn-close:hover{color:var(--color-text-primary)}.stat-value{font-size:1.875rem;line-height:1.3;font-weight:800}.inline-lesson-viewer .book-block-content .stat-value{font-size:1.875rem;line-height:2.25rem}.stat-value{margin-bottom:.25rem;line-height:1.25}.inline-lesson-viewer .book-block-content .stat-value{margin-bottom:.25rem}.stat-value{color:var(--color-text-primary)}.stat-label{font-size:.875rem;line-height:1.5;font-weight:600}.inline-lesson-viewer .book-block-content .stat-label{font-size:.875rem;line-height:1.25rem}.input{width:100%;padding:.625rem .875rem;font-size:1rem;line-height:1.5}.inline-lesson-viewer .book-block-content .input{font-size:1rem;line-height:1.5rem}.input{border-radius:var(--border-radius-md)}.inline-lesson-viewer .book-block-content .input{border-radius:.375rem}.input{outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border)}.input:focus,.input:focus-within{border-color:transparent;box-shadow:0 0 0 2px var(--color-accent)}.input:disabled{background:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.select{width:100%;padding:.625rem .875rem;font-size:1rem;line-height:1.5}.inline-lesson-viewer .book-block-content .select{font-size:1rem;line-height:1.5rem}.select{border-radius:var(--border-radius-md)}.inline-lesson-viewer .book-block-content .select{border-radius:.375rem}.select{cursor:pointer;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-size:1.5em 1.5em;padding-right:2.5rem}.select:focus{border-color:transparent;box-shadow:0 0 0 2px var(--color-accent)}.select:disabled{background:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.5;font-weight:500}.inline-lesson-viewer .book-block-content .label{margin-bottom:.25rem;font-size:.875rem;line-height:1.25rem}.label{color:var(--color-text-primary)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--border-radius-full);font-size:.75rem;line-height:1.5;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.inline-lesson-viewer .book-block-content .badge{font-size:.75rem;line-height:1rem}.content-card-badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;background:var(--color-bg-primary);border:none;border-radius:12px;box-shadow:0 4px 6px #00000012,0 10px 15px #0000001a;overflow:hidden;z-index:var(--z-dropdown);animation:dropdownFadeIn var(--transition-fast)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.dropdown{position:fixed;top:calc(72px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));bottom:auto;min-width:auto;max-width:calc(100vw - max(24px,env(safe-area-inset-left) + env(safe-area-inset-right)))}}.dropdown-options{padding:8px}.dropdown-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all var(--transition-base);text-align:left}.dropdown-option:hover{background:var(--color-bg-tertiary)}.dropdown-option.selected{background:var(--color-bg-tertiary);font-weight:600}.dropdown-option-content{flex:1;min-width:0}.dropdown-option-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.dropdown-option-description{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-check{flex-shrink:0;color:var(--color-success)}.alert{margin-bottom:1rem;border-radius:var(--border-radius-lg);padding:1rem}[data-modal-fullscreen=true]>div>.alert:first-child:not(button){border-radius:0}@media (max-width: 480px){.alert{margin-bottom:.75rem;padding:.5rem}}.inline-lesson-viewer .book-block-content .alert{padding:1rem;border-radius:.5rem;margin-bottom:1rem}@media (max-width: 639px){.inline-lesson-viewer .alert{padding-left:.25rem;padding-right:.25rem}.inline-lesson-viewer .book-block-content .alert{padding:revert;padding:1rem}.class-daily-log .matching-duolingo-renderer button.p-2.alert,.class-daily-log .matching-renderer button.p-2.alert,.class-daily-log .multiple-choice-renderer button.p-2.alert{border-radius:9999px;padding:.375rem}.class-daily-log .alert{padding:.375rem}}.alert{border:1px solid var(--color-border)}.container{margin-left:auto;margin-right:auto;width:100%;max-width:1280px;padding-left:1rem;padding-right:1rem}@media (max-width: 375px){[data-modal-fullscreen=true] .container{padding-left:.75rem;padding-right:.75rem}}.inline-lesson-viewer .book-block-content .container{padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}@media (max-width: 639px){.inline-lesson-viewer .container{margin-left:0;margin-right:0;padding-left:.25rem;padding-right:.25rem}.inline-lesson-viewer .book-block-content .container{padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}.class-daily-log .container{margin-left:0;margin-right:0;padding-left:.25rem;padding-right:.25rem}}.divider{margin-top:1.5rem;margin-bottom:1.5rem;height:1px;background:var(--color-border)}.spinner{height:2rem;width:2rem}.spinner{animation:spin .8s linear infinite;border-radius:var(--border-radius-full);border-width:4px}.inline-lesson-viewer .book-block-content .spinner{width:2rem;height:auto;height:2rem}@media (max-width: 639px){.inline-lesson-viewer .lesson-content-header .spinner{width:1.75rem;height:1.75rem}.inline-lesson-viewer .book-block-content .spinner{width:2rem;height:2rem}}.spinner{border-color:var(--color-border);border-top-color:var(--color-accent)}.panel-header{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between}@media (max-width: 480px){.panel-header{margin-bottom:1rem}}@media (max-width: 375px){[data-mini-drawing-toolbar=true] .panel-header.gap-1 button{width:20px;height:20px}}.inline-lesson-viewer .book-block-content .panel-header{margin-bottom:1.5rem}.panel-title{margin:0;font-size:1.5rem;line-height:1.4;font-weight:700}.inline-lesson-viewer .book-block-content .panel-title{font-size:1.5rem;line-height:2rem}.panel-title{color:var(--color-text-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));--tw-bg-opacity: .5;padding:1rem}@media (max-width: 480px){.modal-overlay{padding:.5rem}}@media (max-width: 375px){[data-mini-drawing-toolbar=true] .modal-overlay.gap-1 button{width:20px;height:20px}}.inline-lesson-viewer .book-block-content .modal-overlay{padding:1rem}@media (max-width: 639px){.inline-lesson-viewer .modal-overlay{padding-left:.25rem;padding-right:.25rem}.inline-lesson-viewer .book-block-content .modal-overlay{padding:revert;padding:1rem}.class-daily-log .modal-overlay{padding:.375rem}}.modal-overlay{z-index:1000}.modal-box{display:flex;width:100%;max-width:42rem;flex-direction:column;overflow:hidden;border-radius:var(--border-radius-lg)}[data-modal-fullscreen=true]>div>.modal-box:first-child:not(button){border-radius:0}@media (max-width: 375px){[data-mini-drawing-toolbar=true] .modal-box.gap-1 button{width:20px;height:20px}}.inline-lesson-viewer .book-block-content .modal-box{border-radius:.5rem}@media (max-width: 639px){.class-daily-log .matching-duolingo-renderer button.p-2.modal-box,.class-daily-log .matching-renderer button.p-2.modal-box,.class-daily-log .multiple-choice-renderer button.p-2.modal-box{border-radius:9999px;padding:.375rem}}.modal-box{background:var(--color-bg-secondary);height:700px;max-height:90vh;max-height:90dvh}@media (min-width: 641px){.modal-box{min-width:600px}}@media (max-width: 640px){.modal-overlay{padding:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.modal-box{min-width:auto;margin:0;border-radius:0;height:100vh;height:100dvh;max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right))}}@media (min-width: 641px) and (max-width: 1024px) and (orientation: landscape){.modal-overlay{padding:.5rem}.modal-box{height:auto;max-height:85vh;max-height:85dvh}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom-width:1px;padding:1.5rem 1.5rem 1rem}@media (max-width: 375px){[data-modal-fullscreen=true] .modal-header{padding-left:.75rem;padding-right:.75rem}[data-mini-drawing-toolbar=true] .modal-header.gap-1 button{width:20px;height:20px}}@media (max-width: 639px){.class-daily-log .modal-header{padding-left:.375rem;padding-right:.375rem}}.modal-header{flex-shrink:0;border-color:var(--color-border)}.modal-title{margin:0;font-size:1.5rem;line-height:1.4;font-weight:700}.inline-lesson-viewer .book-block-content .modal-title{font-size:1.5rem;line-height:2rem}.modal-title{color:var(--color-text-primary)}.modal-content{overflow-y:auto;padding:1rem 1.5rem}.modal-content::-webkit-scrollbar{width:8px;height:8px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}.modal-content:hover::-webkit-scrollbar-thumb{background:#9ca3af4d}.modal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af80}.dark .modal-content:hover::-webkit-scrollbar-thumb{background:#9ca3af33}.dark .modal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af66}.modal-content{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}.modal-content:hover{scrollbar-color:rgba(156,163,175,.3) transparent}.dark .modal-content:hover{scrollbar-color:rgba(156,163,175,.2) transparent}@media (max-width: 375px){[data-modal-fullscreen=true] .modal-content{padding-left:.75rem;padding-right:.75rem}}@media (max-width: 639px){.class-daily-log .modal-content{padding-left:.375rem;padding-right:.375rem}}.modal-content{flex:1;min-height:0}.modal-body{overflow-y:auto;padding:1rem 1.5rem}.modal-body::-webkit-scrollbar{width:8px;height:8px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}.modal-body:hover::-webkit-scrollbar-thumb{background:#9ca3af4d}.modal-body::-webkit-scrollbar-thumb:hover{background:#9ca3af80}.dark .modal-body:hover::-webkit-scrollbar-thumb{background:#9ca3af33}.dark .modal-body::-webkit-scrollbar-thumb:hover{background:#9ca3af66}.modal-body{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}.modal-body:hover{scrollbar-color:rgba(156,163,175,.3) transparent}.dark .modal-body:hover{scrollbar-color:rgba(156,163,175,.2) transparent}@media (max-width: 375px){[data-modal-fullscreen=true] .modal-body{padding-left:.75rem;padding-right:.75rem}}@media (max-width: 639px){.class-daily-log .modal-body{padding-left:.375rem;padding-right:.375rem}}.modal-body{flex:1;min-height:0}.modal-footer{display:flex;gap:.75rem;border-top-width:1px;padding:1rem 1.5rem 1.5rem}@media (max-width: 375px){[data-modal-fullscreen=true] .modal-footer{padding-left:.75rem;padding-right:.75rem}.universal-dashboard__content .modal-footer{gap:.375rem}[data-mini-drawing-toolbar=true] .modal-footer.gap-1 button{width:20px;height:20px}}@media (max-width: 639px){.diary-content-header .modal-footer{gap:.5rem}}.inline-lesson-viewer .book-block-content .modal-footer{gap:.75rem}@media (max-width: 639px){.inline-lesson-viewer .lesson-content-header.modal-footer{gap:.5rem}.inline-lesson-viewer .book-block-content .modal-footer{gap:.75rem}.class-daily-log .modal-footer{padding-left:.375rem;padding-right:.375rem}.class-daily-log .diary-content-header .modal-footer{gap:.5rem}}.modal-footer{flex-shrink:0;border-color:var(--color-border)}.modal-footer .btn{flex:1 1 0%;height:42px}@media (max-width: 640px){.modal-footer{flex-direction:column;gap:.5rem}@media (max-width: 375px){.universal-dashboard__content .modal-footer{gap:.25rem}}.inline-lesson-viewer .book-block-content .modal-footer{gap:.5rem}.modal-footer .btn{width:100%;flex:none}}.form-group{margin-bottom:24px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px;line-height:1.5}.modal-tabs-container{flex-shrink:0;overflow-x:auto;padding-left:1.5rem;padding-right:1.5rem}@media (max-width: 375px){[data-modal-fullscreen=true] .modal-tabs-container{padding-left:.75rem;padding-right:.75rem}}@media (max-width: 639px){.class-daily-log .modal-tabs-container{padding-left:.375rem;padding-right:.375rem}}.modal-tabs-container{scrollbar-width:thin;scrollbar-color:transparent transparent;-webkit-overflow-scrolling:touch;transition:scrollbar-color .3s ease}.modal-tabs-container:hover{scrollbar-color:rgba(156,163,175,.3) transparent}.dark .modal-tabs-container:hover{scrollbar-color:rgba(156,163,175,.2) transparent}.modal-tabs-container::-webkit-scrollbar{height:8px;width:8px}.modal-tabs-container::-webkit-scrollbar-track{background:transparent}.modal-tabs-container::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}.modal-tabs-container:hover::-webkit-scrollbar-thumb{background:#9ca3af4d}.modal-tabs-container::-webkit-scrollbar-thumb:hover{background:#9ca3af80}.dark .modal-tabs-container:hover::-webkit-scrollbar-thumb{background:#9ca3af33}.dark .modal-tabs-container::-webkit-scrollbar-thumb:hover{background:#9ca3af66}.modal-tabs{display:flex;gap:.5rem}@media (max-width: 375px){.universal-dashboard__content .modal-tabs{gap:.25rem}[data-mini-drawing-toolbar=true] .modal-tabs.gap-1 button{width:20px;height:20px}}.inline-lesson-viewer .book-block-content .modal-tabs{gap:.5rem}.modal-tabs{min-width:-moz-min-content;min-width:min-content;padding-bottom:4px}.tab{white-space:nowrap;padding:.5rem 1rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (max-width: 375px){[data-modal-fullscreen=true] .tab{padding-left:.75rem;padding-right:.75rem}}.inline-lesson-viewer .book-block-content .tab{padding-left:1rem;padding-right:1rem}@media (max-width: 639px){.inline-lesson-viewer .tab{padding-left:.25rem;padding-right:.25rem}.inline-lesson-viewer .book-block-content .tab{padding-left:1rem;padding-right:1rem}.class-daily-log .tab{padding-left:.25rem;padding-right:.25rem}}.tab{color:var(--color-text-secondary);min-width:100px}.tab:hover{color:var(--color-text-primary)}.tab-active{white-space:nowrap;padding:.5rem 1rem;font-weight:600}@media (max-width: 375px){[data-modal-fullscreen=true] .tab-active{padding-left:.75rem;padding-right:.75rem}}.inline-lesson-viewer .book-block-content .tab-active{padding-left:1rem;padding-right:1rem}@media (max-width: 639px){.inline-lesson-viewer .tab-active{padding-left:.25rem;padding-right:.25rem}.inline-lesson-viewer .book-block-content .tab-active{padding-left:1rem;padding-right:1rem}.class-daily-log .tab-active{padding-left:.25rem;padding-right:.25rem}}.tab-active{border-bottom:2px solid var(--color-accent);min-width:100px;color:var(--color-text-primary)}@media (max-width: 768px){.modal-tabs-container{padding:0 max(1rem,env(safe-area-inset-left)) 0 max(1rem,env(safe-area-inset-right))}.modal-tabs{gap:.5rem}.tab,.tab-active{min-width:auto;padding:.75rem 1rem;font-size:.875rem}.tab-content{padding:1rem}}.inline-icon{display:inline-block;vertical-align:text-bottom}.table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-secondary)}table{width:100%;border-collapse:collapse}thead{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}tbody tr{border-bottom:1px solid var(--color-border);transition:background .15s}tbody tr:hover{background:var(--color-bg-tertiary)}.floating-table tbody tr:hover{background:transparent}td{padding:12px 16px;color:var(--color-text-primary);font-size:14px}.view-toggle{display:flex;gap:.5rem;border-radius:var(--border-radius-lg);padding:.25rem}[data-modal-fullscreen=true]>div>.view-toggle:first-child:not(button){border-radius:0}@media (max-width: 375px){.universal-dashboard__content .view-toggle{gap:.25rem}[data-mini-drawing-toolbar=true] .view-toggle.gap-1 button{width:20px;height:20px}}.inline-lesson-viewer .book-block-content .view-toggle{padding:.25rem;border-radius:.5rem;gap:.5rem}@media (max-width: 639px){.class-daily-log .matching-duolingo-renderer button.p-2.view-toggle,.class-daily-log .matching-renderer button.p-2.view-toggle,.class-daily-log .multiple-choice-renderer button.p-2.view-toggle{border-radius:9999px;padding:.375rem}}.view-toggle{background:var(--color-bg-tertiary)}.view-toggle-btn{border-radius:var(--border-radius-md);padding:.5rem 1rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (max-width: 375px){[data-modal-fullscreen=true] .view-toggle-btn{padding-left:.75rem;padding-right:.75rem}}.inline-lesson-viewer .book-block-content .view-toggle-btn{padding-left:1rem;padding-right:1rem;border-radius:.375rem}@media (max-width: 639px){.inline-lesson-viewer .view-toggle-btn{padding-left:.25rem;padding-right:.25rem}.inline-lesson-viewer .book-block-content .view-toggle-btn{padding-left:1rem;padding-right:1rem}.class-daily-log .view-toggle-btn{padding-left:.25rem;padding-right:.25rem}}.view-toggle-btn{color:var(--color-text-secondary)}.view-toggle-btn.active{font-weight:600;--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.inline-lesson-viewer .book-block-content .view-toggle-btn.active{box-shadow:0 1px 2px #0000000d}.view-toggle-btn.active{background:var(--color-bg-primary);color:var(--color-text-primary)}.view-toggle-btn:hover:not(.active){color:var(--color-text-primary)}@media (max-width: 768px){.searchbar-divider{display:none}.view-toggle-btn{padding:.25rem .5rem}.inline-lesson-viewer .book-block-content .view-toggle-btn{padding-left:.5rem;padding-right:.5rem}@media (max-width: 639px){.inline-lesson-viewer .view-toggle-btn{padding-left:.125rem;padding-right:.125rem}.inline-lesson-viewer .book-block-content .view-toggle-btn{padding-left:.5rem;padding-right:.5rem}}}.searchbar-unified{position:relative;width:100%}.searchbar-container{display:flex;align-items:center;gap:8px;padding:8px 12px;flex-wrap:nowrap;overflow:visible}.searchbar-icon{flex-shrink:0}.searchbar-input{flex:1;border:none;background:transparent;outline:none;padding:0;color:inherit;font-size:inherit;min-width:0}.searchbar-clear{flex-shrink:0;padding:4px;transition:color .15s ease;cursor:pointer;background:none;border:none}.searchbar-divider{width:1px;height:24px;background:var(--color-border);flex-shrink:0}.hidden-mobile{display:block}.searchbar-filters-desktop{display:flex;gap:4px;flex-shrink:0}.searchbar-filters-mobile{display:none}.searchbar-filter-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border-radius:6px;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease;position:relative}.searchbar-filter-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.searchbar-filter-btn.active{background:var(--color-accent-bg);color:var(--color-accent)}.searchbar-filter-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;text-align:center;color:#fff;background:var(--color-accent);border-radius:999px}.searchbar-views{display:flex;gap:2px;flex-shrink:0}.filter-dropdown-container{position:relative}.filter-dropdown-trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;border-radius:6px;background:transparent;border:1px solid transparent;cursor:pointer;color:var(--color-text-secondary);transition:all .15s ease;white-space:nowrap}.filter-dropdown-trigger:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.filter-dropdown-trigger.active{background:var(--color-accent-bg);border-color:var(--color-accent-border);color:var(--color-accent)}.filter-dropdown-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.filter-dropdown-arrow{opacity:.6;transition:transform .15s ease}.filter-dropdown-trigger:hover .filter-dropdown-arrow{opacity:1}.filter-dropdown-clear{opacity:.6;transition:opacity .15s ease}.filter-dropdown-clear:hover{opacity:1}.filter-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:180px;max-height:280px;overflow-y:auto;padding:4px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-md)}.filter-dropdown-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;font-size:13px;text-align:left;border:none;border-radius:6px;background:transparent;cursor:pointer;color:var(--color-text-secondary);transition:all .1s ease}.filter-dropdown-option:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.filter-dropdown-option.selected{background:var(--color-accent-bg);color:var(--color-accent)}.filter-dropdown-check{color:var(--color-accent)}.filter-dropdown-menu--multi{min-width:220px;max-height:350px;display:flex;flex-direction:column}.filter-dropdown-mode{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--color-border)}.filter-dropdown-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;font-size:12px;font-weight:500;border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-secondary);transition:all .15s ease}.filter-dropdown-mode-btn:hover{background:var(--color-bg-tertiary)}.filter-dropdown-mode-btn.active{background:var(--color-success-bg);color:var(--color-success)}.filter-dropdown-mode-btn.active.exclude{background:var(--color-error-bg);color:var(--color-error)}.filter-dropdown-actions{display:flex;gap:8px;padding:6px 8px;border-bottom:1px solid var(--color-border)}.filter-dropdown-actions button{font-size:11px;color:var(--color-text-tertiary);padding:2px 6px;border-radius:4px;transition:all .15s ease}.filter-dropdown-actions button:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.filter-dropdown-options{overflow-y:auto;max-height:250px;padding:4px 0}.filter-dropdown-menu--multi .filter-dropdown-option{gap:8px}.searchbar-popover{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:50;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden}.searchbar-popover-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border)}.searchbar-popover-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.searchbar-popover-clear{font-size:12px;color:var(--color-accent);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s ease}.searchbar-popover-clear:hover{background:var(--color-accent-bg)}.searchbar-popover-content{padding:12px 16px;display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.searchbar-popover-filter{display:flex;flex-direction:column;gap:6px}.searchbar-popover-label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.searchbar-popover-select{width:100%;padding:10px 12px;font-size:14px}.searchbar-popover-footer{padding:12px 16px;border-top:1px solid var(--color-border)}.searchbar-popover-apply{width:100%;padding:10px 16px;font-size:14px;font-weight:500;color:#fff;background:var(--color-accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s ease}.searchbar-popover-apply:hover{background:var(--color-accent-dark)}.gallery-filters-popover-container{display:inline-flex;align-items:center}.gallery-filters-trigger{display:flex;align-items:center;justify-content:center;position:relative;padding:4px 6px;border-radius:6px;color:var(--color-text-secondary, #6b7280);background:transparent;border:none;cursor:pointer;transition:all .15s ease}.gallery-filters-trigger:hover{color:var(--color-text-primary, #111827);background:var(--color-bg-tertiary, #f3f4f6)}.gallery-filters-trigger.active{color:var(--color-accent);background:var(--color-accent-bg)}.gallery-filters-badge{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:16px;text-align:center;color:#fff;background:var(--color-accent);border-radius:999px}.gallery-filters-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:320px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-lg)}.gallery-filters-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-border)}.gallery-filters-popover-title{font-size:13px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center}.gallery-filters-popover-body{padding:12px 14px;max-height:360px;overflow-y:auto}@media (max-width: 768px){.searchbar-filters-desktop{display:none}.searchbar-filters-mobile{display:flex}.hidden-mobile{display:none}.searchbar-container{padding:6px 10px}.gallery-filters-popover{width:280px;right:-8px}}.text-gradient{-webkit-background-clip:text;background-clip:text;color:transparent;background-image:linear-gradient(to right,var(--color-accent),var(--color-success))}.shadow-elevated{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.backdrop-blur{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(var(--color-bg-primary),.8)}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:transparent;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}.custom-scrollbar:hover::-webkit-scrollbar-thumb{background:#9ca3af4d}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af80}.dark .custom-scrollbar:hover::-webkit-scrollbar-thumb{background:#9ca3af33}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af66}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s ease}.custom-scrollbar:hover{scrollbar-color:rgba(156,163,175,.3) transparent}.dark .custom-scrollbar:hover{scrollbar-color:rgba(156,163,175,.2) transparent}.modal-close-btn{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.modal-close-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:scale(1.05)}[data-modal-fullscreen=true] .modal-content-card,[data-modal-fullscreen=true]>div>.rounded-lg:first-child:not(button),[data-modal-fullscreen=true]>div>.rounded-xl:first-child:not(button){border-radius:0}@media (max-width: 479px){[data-modal-fullscreen=true] .border{border-left-width:0;border-right-width:0}[data-modal-fullscreen=true] .border.keep-all-borders,[data-modal-fullscreen=true] .border-2{border-width:2px}[data-modal-fullscreen=true] .modal-section-border{border-left:none;border-right:none;border-radius:0}[data-modal-fullscreen=true] input,[data-modal-fullscreen=true] select,[data-modal-fullscreen=true] textarea{border-radius:.375rem}}input:not([type=checkbox]):not([type=radio]):not(.diary-title-input):not(.search-input-transparent):not(.searchbar-input):not(.profile-field-input),textarea,select{background:var(--color-bg-primary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border)!important;border-radius:var(--radius-input)!important}input:not([type=checkbox]):not([type=radio]):not(.diary-title-input):not(.search-input-transparent):not(.searchbar-input):not(.profile-field-input):focus,textarea:focus,select:focus{background:var(--color-bg-primary)!important;border-color:var(--color-border)!important}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-muted)!important}input::placeholder,textarea::placeholder{color:var(--color-text-muted)!important}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--color-bg-primary) inset!important;-webkit-text-fill-color:var(--color-text-primary)!important}canvas[style*=touchAction]{touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}canvas{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:contents}svg.drawing-canvas-advanced.enabled{touch-action:none!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:contents}.drawing-canvas-advanced-wrapper.active{touch-action:none!important}@media (max-width: 768px){.quick-access-grid{grid-template-columns:1fr}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{animation:shimmer 2s linear infinite}input[type=range].slider-accent{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range].slider-accent::-webkit-slider-track{height:8px;border-radius:4px;background:linear-gradient(to right,var(--color-accent),color-mix(in oklab,var(--color-accent) 72%,var(--color-bg-primary)))}input[type=range].slider-accent::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(to right,var(--color-accent),color-mix(in oklab,var(--color-accent) 72%,var(--color-bg-primary)))}input[type=range].slider-accent::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-accent);cursor:pointer;box-shadow:0 2px 4px #0003;-webkit-transition:all .2s ease;transition:all .2s ease}input[type=range].slider-accent::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:none;box-shadow:0 2px 4px #0003;-moz-transition:all .2s ease;transition:all .2s ease}input[type=range].slider-accent::-webkit-slider-thumb:hover{background:var(--color-accent-dark, var(--color-accent));transform:scale(1.1)}input[type=range].slider-accent::-moz-range-thumb:hover{background:var(--color-accent-dark, var(--color-accent));transform:scale(1.1)}input[type=range].slider-accent::-webkit-slider-thumb:active{background:var(--color-accent-dark, var(--color-accent));transform:scale(.95)}input[type=range].slider-accent::-moz-range-thumb:active{background:var(--color-accent-dark, var(--color-accent));transform:scale(.95)}.dashboard-layout main,.universal-dashboard__content{overflow-y:auto!important;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior-y:contain}.dashboard-layout main::-webkit-scrollbar,.universal-dashboard__content::-webkit-scrollbar{width:12px}.universal-dashboard__content::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:0}.universal-dashboard__content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:6px;border:2px solid var(--color-bg-tertiary)}.universal-dashboard__content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.universal-dashboard__content::-webkit-scrollbar-button{display:none}.universal-dashboard__content{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-tertiary)}.universal-topbar{position:fixed;top:0;left:0;right:0;height:calc(64px + env(safe-area-inset-top,0px));background:var(--color-bg-primary);box-shadow:0 1px 3px #0000000a;display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top,0px) max(.75rem,env(safe-area-inset-right,0px)) 0 max(.75rem,env(safe-area-inset-left,0px));z-index:9999;transition:all .3s ease}.universal-dashboard--viewing-as .universal-topbar{top:44px;height:64px;padding-top:0}.universal-topbar__row{display:flex;align-items:center;width:100%}.universal-topbar__row--main{justify-content:space-between;min-height:56px;flex:1}.universal-topbar__row--actions{display:none}.universal-topbar__nav-desktop{display:flex;align-items:center;gap:.5rem}.universal-topbar__row-title{font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;margin-right:auto}.universal-topbar__left{display:flex;align-items:center;gap:var(--topbar-gap-left, .75rem);flex:2;min-width:0}@supports (padding: env(titlebar-area-x,0px)){.universal-topbar__left{margin-left:env(titlebar-area-x,0px);padding-left:calc(env(titlebar-area-width,0px) + .5rem)}}@media (display-mode: window-controls-overlay){.universal-topbar{padding-left:max(80px,env(safe-area-inset-left,1.5rem))}.universal-topbar__menu-btn{margin-left:.5rem}}@media (display-mode: standalone){.universal-topbar__left{transition:margin-left .3s ease,padding-left .3s ease}}@media (display-mode: standalone) and (pointer: coarse) and (min-width: 768px){.universal-topbar{padding-left:max(36px,env(safe-area-inset-left,0px))}}html[data-pwa-windowed] .universal-topbar,html[data-pwa-windowed] .mobile-floating-header{padding-left:calc(var(--pwa-window-controls-width) + .5rem)}html[data-pwa-windowed] .universal-topbar,html[data-pwa-fullscreen] .universal-topbar{height:64px;padding-top:0}html[data-pwa-windowed] .universal-dashboard__content{margin-top:64px;height:calc(100dvh - 64px);padding-bottom:1.5rem}html[data-modal-blur=off] .modal-backdrop-layer{background:linear-gradient(var(--overlay-default),var(--overlay-default)),var(--color-bg-primary)}html[data-modal-blur=off] .modal-blur-layer{display:none}.active-press:active{transform:scale(var(--press-scale-surface))}.active-press-control:active{transform:scale(var(--press-scale-control))}.universal-topbar__menu-btn{display:flex;align-items:center;justify-content:center;width:var(--topbar-menu-btn-size, 40px);height:var(--topbar-menu-btn-size, 40px);flex-shrink:0;border:none;background:transparent;border-radius:.5rem;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.universal-topbar__menu-btn svg{width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important}.universal-topbar__menu-btn:hover{background:var(--color-bg-tertiary)}.universal-topbar__app-title{flex-shrink:0}.universal-topbar__app-title h1{font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text-primary);white-space:nowrap}.universal-topbar__logo-text{margin:0;color:var(--color-text-primary);white-space:nowrap;transition:font-size .2s ease}.universal-topbar__back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:none;background:var(--color-bg-tertiary);border-radius:.5rem;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease;margin-left:.5rem}.universal-topbar__back-btn:hover{background:var(--color-accent);color:#fff}.universal-topbar__page-title{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.universal-topbar__page-title-text{font-size:.9rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.universal-topbar__page-subtitle{font-size:.7rem;color:var(--color-text-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.universal-topbar__center{display:flex;align-items:center;justify-content:flex-end;flex:1.5;padding-right:1rem}.universal-topbar__actions{display:flex;align-items:center;gap:.5rem}.universal-topbar__action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;min-width:36px;min-height:36px}.universal-topbar__action-btn svg{flex-shrink:0}.universal-topbar__right{display:flex;align-items:center;gap:var(--topbar-gap-right, .75rem);flex:1;justify-content:flex-end}.universal-topbar__icon-btn{display:flex;align-items:center;justify-content:center;width:var(--topbar-icon-btn-size, 40px);height:var(--topbar-icon-btn-size, 40px);min-width:44px;min-height:44px;border:none;background:transparent;border-radius:.5rem;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease;position:relative}.universal-topbar__icon-btn svg{width:var(--topbar-icon-svg-size, 20px);height:var(--topbar-icon-svg-size, 20px)}.universal-topbar__icon-btn:hover{background:var(--color-bg-tertiary)}.universal-topbar__notifications{position:relative}.universal-topbar__badge{position:absolute;top:6px;right:6px;background:var(--color-error);color:#fff;font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:999px;min-width:18px;text-align:center}.universal-topbar__user-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .4rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.universal-topbar__user-btn:hover{background:var(--color-bg-tertiary)}.universal-topbar__avatar{width:var(--topbar-avatar-size, 32px);height:var(--topbar-avatar-size, 32px);border-radius:50%;background:var(--color-accent);display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden;transition:width .2s ease,height .2s ease}.universal-topbar__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.universal-topbar__shortcuts{display:flex;align-items:center;gap:.125rem;flex:0 1 auto;min-width:0;max-width:100%;padding:0 .25rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.universal-topbar__shortcuts::-webkit-scrollbar{display:none;height:0;width:0}.universal-topbar--with-shortcuts .universal-topbar__left{flex:1 1 0}.universal-topbar--with-shortcuts .universal-topbar__right{flex:1 1 0;justify-content:flex-end}.universal-topbar--with-shortcuts .universal-topbar__center{flex:0 0 auto;padding-right:0}.universal-topbar--with-shortcuts .universal-topbar__page-title{display:none}.universal-topbar__shortcut-group{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;border-radius:var(--border-radius-md);overflow:hidden;transition:background var(--duration-fast) ease}.universal-topbar__shortcut{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--border-radius-md);background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.universal-topbar__shortcut-arrow{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:36px;padding:0;background:transparent;color:var(--color-text-muted);border:none;cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.universal-topbar__shortcut-arrow:before{content:"";position:absolute;top:8px;bottom:8px;left:0;width:1px;background:var(--color-border);opacity:.6}.universal-topbar__shortcut-arrow{position:relative}.universal-topbar__shortcut:hover,.universal-topbar__shortcut-arrow:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.universal-topbar__shortcut:focus-visible,.universal-topbar__shortcut-arrow:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.universal-topbar__shortcut-group--active{background:var(--color-accent)}.universal-topbar__shortcut-group--active .universal-topbar__shortcut,.universal-topbar__shortcut-group--active .universal-topbar__shortcut-arrow{color:#fff}.universal-topbar__shortcut-group--active .universal-topbar__shortcut:hover,.universal-topbar__shortcut-group--active .universal-topbar__shortcut-arrow:hover{background:var(--color-accent-dark);color:#fff}.universal-topbar__shortcut-group--active .universal-topbar__shortcut-arrow:before{background:#fff;opacity:.35}.universal-topbar__shortcut-group--open:not(.universal-topbar__shortcut-group--active){background:var(--color-bg-hover)}.universal-topbar__shortcut-chev{opacity:.8;transition:transform var(--duration-fast) ease}.universal-topbar__shortcut-chev--open{transform:rotate(180deg)}.universal-topbar__shortcut-tooltip{position:fixed;transform:translate(-50%);background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;white-space:nowrap;pointer-events:none;z-index:var(--z-tooltip)}.universal-topbar__shortcut-popover{position:fixed;min-width:200px;max-width:260px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);padding:.25rem;z-index:var(--z-popover);display:flex;flex-direction:column;gap:2px}.universal-topbar__shortcut-popover-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:var(--border-radius-sm);background:transparent;color:var(--color-text-primary);border:none;cursor:pointer;font-size:.875rem;text-align:left;width:100%;transition:background var(--duration-fast) ease}.universal-topbar__shortcut-popover-item:hover{background:var(--color-bg-hover)}.universal-topbar__shortcut-popover-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.universal-topbar__shortcut-popover-item--active{background:var(--color-accent-bg);color:var(--color-accent)}.universal-sidemenu{position:fixed;left:0;top:calc(64px + env(safe-area-inset-top,0px));bottom:0;width:260px;background:var(--color-bg-primary);box-shadow:1px 0 3px #00000008;transform:translate(-100%);transition:transform .3s ease,top .3s ease;z-index:var(--z-fixed);display:flex;flex-direction:column;padding-left:env(safe-area-inset-left,0px)}.universal-dashboard--viewing-as .universal-sidemenu{top:108px}.universal-sidemenu--open{transform:translate(0)}.universal-sidemenu__nav{padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.universal-sidemenu__item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s ease;text-align:left;width:100%}.universal-sidemenu__item:hover{background:var(--color-bg-tertiary)}.universal-sidemenu__item--active{background:var(--color-accent);color:#fff}.universal-sidemenu__item--active:hover{background:var(--color-accent-dark)}.universal-sidemenu__group{display:flex;flex-direction:column}.universal-sidemenu__group-row{display:flex;align-items:stretch;gap:0}.universal-sidemenu__item--in-group{flex:1 1 auto;min-width:0;border-top-right-radius:0;border-bottom-right-radius:0;padding-right:.5rem}.universal-sidemenu__group-toggle{display:flex;align-items:center;justify-content:center;width:36px;padding:0 .5rem;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;transition:background .2s ease,color .2s ease;flex-shrink:0}.universal-sidemenu__group-toggle:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.universal-sidemenu__group-toggle--active{background:var(--color-accent);color:#fff}.universal-sidemenu__group-toggle--active:hover{background:var(--color-accent-dark)}.universal-sidemenu__group-chevron{transition:transform .2s ease;flex-shrink:0}.universal-sidemenu__group-chevron--open{transform:rotate(180deg)}.universal-sidemenu__submenu{display:flex;flex-direction:column;margin-left:1.5rem;padding-left:.5rem;border-left:1px solid var(--color-border);margin-top:.25rem;gap:.125rem}.universal-sidemenu__subitem{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s ease;text-align:left;width:100%}.universal-sidemenu__subitem:hover{background:var(--color-bg-tertiary)}.universal-sidemenu__subitem--active{background:var(--color-accent);color:#fff}.universal-sidemenu__subitem--active:hover{background:var(--color-accent-dark)}.universal-sidemenu__icon{flex-shrink:0}.universal-sidemenu__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.universal-sidemenu__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--border-radius-full);background:var(--color-error);color:#fff;font-size:11px;font-weight:700;line-height:1}.universal-sidemenu__divider{display:none;height:1px;background:var(--color-border);margin:.5rem 0}.universal-sidemenu::-webkit-scrollbar{width:6px}.universal-sidemenu::-webkit-scrollbar-track{background:transparent}.universal-sidemenu::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.universal-sidemenu::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.universal-sidemenu__nav::-webkit-scrollbar{display:none}.universal-sidemenu__footer{flex-shrink:0;border-top:1px solid var(--color-border);padding:.5rem .75rem;padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px));position:relative}@media (min-width: 769px){.universal-sidemenu__footer{display:none}}.universal-sidemenu__user-btn{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .625rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;transition:background .2s ease;text-align:left}.universal-sidemenu__user-btn:hover{background:var(--color-bg-tertiary)}.universal-sidemenu__user-avatar{flex-shrink:0}.universal-sidemenu__user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.0625rem}.universal-sidemenu__user-name{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.universal-sidemenu__user-role{font-size:.6875rem;font-weight:500;color:var(--color-text-muted)}.universal-sidemenu__user-chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform .2s ease}.universal-sidemenu__user-chevron--open{transform:rotate(180deg)}.profile-card--popover{position:absolute;bottom:calc(100% + .5rem);left:.5rem;right:.5rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 -4px 24px #0000001f,0 0 1px #00000014;z-index:100;animation:profileCardPopoverIn .15s ease-out}.profile-card--dropdown{position:fixed;top:calc(var(--topbar-height, 48px) + .5rem + env(safe-area-inset-top,0px));right:.75rem;width:280px;max-width:calc(100vw - 1.5rem);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:.75rem;box-shadow:0 4px 24px #00000026,0 0 1px #0000001a;z-index:1000;animation:profileCardDropdownIn .15s ease-out}@keyframes profileCardDropdownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes profileCardPopoverIn{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-card__header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem}.profile-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.profile-card__name{font-size:.9375rem;font-weight:700;color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card__role{font-size:.75rem;font-weight:600;color:var(--color-accent)}.profile-card__details{padding:.5rem 1.25rem .25rem;display:flex;flex-direction:column;gap:.375rem}.profile-card__detail-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-secondary)}.profile-card__detail-icon{flex-shrink:0;color:var(--color-text-muted)}.profile-card__detail-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card__close-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--color-bg-tertiary);border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:background .2s ease}.profile-card__close-btn:hover{background:var(--color-border)}.profile-card__badges{display:flex;flex-wrap:wrap;gap:.375rem;padding:0 1.25rem .25rem;min-height:1.625rem}.profile-card__actions{padding:.375rem .5rem}.profile-card__action-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);transition:all .15s ease;text-align:left}.profile-card__action-item:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.profile-card__action-item--danger{color:var(--color-error)}.profile-card__action-item--danger:hover{background:var(--color-error-bg);color:var(--color-error)}.sidemenu{position:fixed;left:0;top:calc(48px + max(env(safe-area-inset-top),20px));bottom:0;width:260px;background:var(--color-bg-primary);border-right:1px solid var(--color-border);transform:translate(-100%);transition:transform .3s ease,top .3s ease;z-index:var(--z-fixed);overflow-y:auto}@media (min-width: 1024px){.sidemenu{top:64px}}.sidemenu.open{transform:translate(0)}.sidemenu::-webkit-scrollbar{width:6px}.sidemenu::-webkit-scrollbar-track{background:transparent}.sidemenu::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidemenu::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media (min-width: 1024px){.sidemenu-overlay{display:none}}@media (min-width: 768px) and (max-width: 1023px){.sidemenu{top:calc(56px + max(env(safe-area-inset-top),20px));width:100%;max-width:300px;box-shadow:0 0 20px #0000001a}}@media (max-width: 767px){.sidemenu{width:100%;max-width:300px;box-shadow:0 0 20px #0000001a}}.universal-dashboard{min-height:100vh;min-height:100dvh;background:var(--color-bg-primary)}.universal-dashboard__loading,.universal-dashboard__error{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:2rem}.universal-dashboard__error{color:var(--color-error);font-size:1.125rem}.universal-dashboard__overlay{position:fixed;top:calc(64px + env(safe-area-inset-top,0px));left:0;right:0;bottom:0;background:var(--overlay-default);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:85;display:block}.universal-dashboard__content{margin-top:calc(64px + env(safe-area-inset-top,0px));margin-left:0;padding:1.5rem max(1.5rem,env(safe-area-inset-right,0px)) max(1.5rem,env(safe-area-inset-bottom,0px)) max(1.5rem,env(safe-area-inset-left,0px));height:calc(100vh - 64px - env(safe-area-inset-top,0px));height:calc(100dvh - 64px - env(safe-area-inset-top,0px));overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior-y:contain;transition:margin-left .3s ease,margin-top .3s ease}.universal-dashboard--viewing-as .universal-dashboard__content{margin-top:108px;height:calc(100vh - 108px);height:calc(100dvh - 108px)}html[data-pwa-fullscreen] .universal-dashboard__content{margin-top:64px;height:calc(100dvh - 64px);height:calc(100lvh - 64px)}html[data-pwa-fullscreen] .universal-dashboard--viewing-as .universal-dashboard__content{height:calc(100dvh - 108px);height:calc(100lvh - 108px)}@media (min-width: 1025px){.universal-dashboard__content--menu-open{margin-left:260px}.universal-dashboard__overlay{display:none}}html[data-pwa-fullscreen],html[data-pwa-fullscreen] body{height:100lvh}html[data-pwa-fullscreen] #root,html[data-pwa-fullscreen] .universal-dashboard{min-height:100lvh}.universal-dashboard--viewing-as .universal-dashboard__overlay{top:108px}.universal-dashboard__placeholder{max-width:800px;margin:0 auto;text-align:center;padding:4rem 2rem}.universal-dashboard__placeholder h2{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem}.universal-dashboard__placeholder p{color:var(--color-text-muted);font-size:1.125rem}.bottom-sheet__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-default, rgba(0, 0, 0, .5));z-index:var(--z-modal-backdrop);animation:fadeIn .15s ease-out}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-modal);background:var(--color-bg-secondary);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);max-height:70vh;overflow-y:auto;animation:bottomSheetSlideUp .25s ease-out}@keyframes bottomSheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet__handle-area{display:flex;justify-content:center;padding:10px 0 4px}.bottom-sheet__handle{width:2.5rem;height:.25rem;border-radius:var(--border-radius-full);background:var(--color-border)}.bottom-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 12px}.bottom-sheet__title{font-size:15px;font-weight:600;color:var(--color-text-primary)}.bottom-sheet__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.bottom-sheet__sections{padding-bottom:16px}.bottom-sheet__section-title{margin:0;padding:8px 16px 3px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--color-text-muted)}.bottom-sheet__sections>section:first-child .bottom-sheet__section-title{padding-top:0}.bottom-sheet__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:4px;padding:0 12px}@media (min-width: 380px){.bottom-sheet__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width: 768px){:root{--topbar-logo-scale: .76;--topbar-gap-left: .5rem}.universal-topbar{height:calc(56px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(.5rem,env(safe-area-inset-right,0px)) 0 max(.5rem,env(safe-area-inset-left,0px))}.universal-dashboard--viewing-as .universal-topbar{top:38px;height:56px;padding-top:0}.universal-topbar{box-shadow:none;border-bottom:1px solid var(--color-border)}.universal-topbar__right{gap:.25rem}.universal-topbar__icon-btn{min-width:40px;min-height:40px}.universal-topbar__app-title h1{font-size:.95rem}.universal-topbar__left{gap:var(--topbar-gap-left)}.universal-topbar__back-btn{width:32px;height:32px;margin-left:0}.universal-topbar__page-title-text{font-size:.8rem}.universal-topbar__page-subtitle,.universal-topbar__username,.universal-topbar__action-btn span{display:none}.universal-topbar__actions{gap:.25rem}.universal-topbar__center{flex:1;padding-right:.5rem}.universal-sidemenu{top:calc(56px + env(safe-area-inset-top,0px));width:100%;max-width:300px;box-shadow:0 0 20px #0000001a}.universal-dashboard--viewing-as .universal-sidemenu{top:94px}.universal-dashboard__content{margin-top:calc(56px + env(safe-area-inset-top,0px));height:calc(100vh - 56px - env(safe-area-inset-top,0px));height:calc(100dvh - 56px - env(safe-area-inset-top,0px));padding:1rem max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px))}.universal-dashboard__overlay{top:calc(56px + env(safe-area-inset-top,0px))}.universal-dashboard--viewing-as .universal-dashboard__content{margin-top:94px;height:calc(100vh - 94px);height:calc(100dvh - 94px)}.universal-dashboard--viewing-as .universal-dashboard__overlay{top:94px}.universal-dashboard__welcome h1{font-size:1.5rem}}@media (max-width: 768px) and (orientation: landscape){.universal-topbar{height:48px;padding:0 max(1rem,env(safe-area-inset-right,0px)) 0 max(1rem,env(safe-area-inset-left,0px))}.universal-sidemenu{top:48px;padding-left:env(safe-area-inset-left,0px)}.universal-dashboard__content{margin-top:48px;height:calc(100vh - 104px - env(safe-area-inset-bottom,0px));height:calc(100dvh - 104px - env(safe-area-inset-bottom,0px));padding:.75rem max(1rem,env(safe-area-inset-right,0px)) .75rem max(1rem,env(safe-area-inset-left,0px))}.universal-dashboard__overlay{top:48px}}@media (min-width: 769px) and (max-width: 1024px) and (orientation: portrait){.universal-topbar{height:calc(56px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(1.25rem,env(safe-area-inset-right,0px)) 0 max(1.25rem,env(safe-area-inset-left,0px))}.universal-sidemenu{top:calc(56px + env(safe-area-inset-top,0px))}.universal-dashboard__content{margin-top:calc(56px + env(safe-area-inset-top,0px));height:calc(100vh - 56px - env(safe-area-inset-top,0px));height:calc(100dvh - 56px - env(safe-area-inset-top,0px));padding:1rem max(1.25rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1.25rem,env(safe-area-inset-left,0px))}.universal-dashboard__overlay{top:calc(56px + env(safe-area-inset-top,0px))}.universal-dashboard--viewing-as .universal-topbar{top:44px;height:56px;padding-top:0}.universal-dashboard--viewing-as .universal-dashboard__content{margin-top:100px;height:calc(100vh - 100px);height:calc(100dvh - 100px)}.universal-dashboard--viewing-as .universal-dashboard__overlay{top:100px}}@media (min-width: 769px) and (max-width: 1024px) and (orientation: landscape){.universal-topbar{height:calc(56px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(1.25rem,env(safe-area-inset-right,0px)) 0 max(1.25rem,env(safe-area-inset-left,0px))}.universal-sidemenu{top:calc(56px + env(safe-area-inset-top,0px))}.universal-dashboard__content{margin-top:calc(56px + env(safe-area-inset-top,0px));height:calc(100vh - 56px - env(safe-area-inset-top,0px));height:calc(100dvh - 56px - env(safe-area-inset-top,0px))}.universal-dashboard__overlay{top:calc(56px + env(safe-area-inset-top,0px))}}@media (max-width: 480px){:root{--topbar-gap-right: .35rem;--topbar-icon-btn-size: 36px;--topbar-icon-svg-size: 19px;--topbar-avatar-size: 28px}.universal-topbar{padding:env(safe-area-inset-top,0px) max(.4rem,env(safe-area-inset-right,0px)) 0 max(.4rem,env(safe-area-inset-left,0px))}.universal-topbar__right{gap:var(--topbar-gap-right)}.universal-topbar__icon-btn{width:var(--topbar-icon-btn-size);height:var(--topbar-icon-btn-size)}.universal-topbar__icon-btn svg{width:var(--topbar-icon-svg-size);height:var(--topbar-icon-svg-size)}.universal-topbar__user-btn{padding:.3rem .5rem}.universal-topbar__avatar{width:var(--topbar-avatar-size);height:var(--topbar-avatar-size)}}@media (max-width: 430px){:root{--topbar-logo-scale: .75;--topbar-gap-left: .5rem;--topbar-gap-right: .2rem;--topbar-icon-btn-size: 34px;--topbar-icon-svg-size: 18px;--topbar-avatar-size: 26px;--topbar-menu-btn-size: 38px}.universal-topbar__right{gap:var(--topbar-gap-right)}.universal-topbar__icon-btn{width:var(--topbar-icon-btn-size);height:var(--topbar-icon-btn-size);min-width:unset;min-height:unset}.universal-topbar__icon-btn svg{width:var(--topbar-icon-svg-size);height:var(--topbar-icon-svg-size)}.universal-topbar__user-btn{padding:.25rem .4rem;min-width:unset}.universal-topbar__avatar{width:var(--topbar-avatar-size);height:var(--topbar-avatar-size)}}@media (max-width: 375px){:root{--topbar-logo-scale: .68;--topbar-gap-left: .4rem;--topbar-gap-right: .125rem;--topbar-icon-btn-size: 32px;--topbar-icon-svg-size: 18px;--topbar-avatar-size: 24px;--topbar-menu-btn-size: 36px}.universal-topbar{padding:env(safe-area-inset-top,0px) max(.3rem,env(safe-area-inset-right,0px)) 0 max(.3rem,env(safe-area-inset-left,0px))}.universal-topbar__app-title h1{font-size:.85rem}.universal-topbar__left{gap:var(--topbar-gap-left)}.universal-topbar__right{gap:var(--topbar-gap-right)}.universal-topbar__icon-btn{width:var(--topbar-icon-btn-size);height:var(--topbar-icon-btn-size);min-width:unset;min-height:unset;padding:.35rem}.universal-topbar__icon-btn svg{width:var(--topbar-icon-svg-size);height:var(--topbar-icon-svg-size)}.universal-topbar__user-btn{padding:.2rem .3rem;min-width:unset}.universal-topbar__avatar{width:var(--topbar-avatar-size);height:var(--topbar-avatar-size)}.universal-topbar__menu-btn{width:var(--topbar-menu-btn-size);height:var(--topbar-menu-btn-size)}.universal-topbar__menu-btn svg{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}}@media (max-width: 350px){:root{--topbar-logo-scale: .64;--topbar-gap-left: .25rem;--topbar-gap-right: .0625rem;--topbar-icon-btn-size: 30px;--topbar-icon-svg-size: 17px;--topbar-avatar-size: 23px;--topbar-menu-btn-size: 34px}.universal-topbar__right{gap:var(--topbar-gap-right)}.universal-topbar__icon-btn{width:var(--topbar-icon-btn-size);height:var(--topbar-icon-btn-size);min-width:unset;min-height:unset;padding:.3rem}.universal-topbar__icon-btn svg{width:var(--topbar-icon-svg-size);height:var(--topbar-icon-svg-size)}.universal-topbar__user-btn{padding:.15rem .25rem;min-width:unset}.universal-topbar__avatar{width:var(--topbar-avatar-size);height:var(--topbar-avatar-size)}}@media (max-width: 320px){:root{--topbar-logo-scale: .6;--topbar-gap-left: .2rem;--topbar-gap-right: 0;--topbar-icon-btn-size: 28px;--topbar-icon-svg-size: 16px;--topbar-avatar-size: 22px;--topbar-menu-btn-size: 32px}.universal-topbar{padding:env(safe-area-inset-top,0px) max(.2rem,env(safe-area-inset-right,0px)) 0 max(.2rem,env(safe-area-inset-left,0px))}.universal-topbar__app-title h1{font-size:.75rem}.universal-topbar__left{gap:var(--topbar-gap-left)}.universal-topbar__right{gap:var(--topbar-gap-right)}.universal-topbar__icon-btn{width:var(--topbar-icon-btn-size);height:var(--topbar-icon-btn-size);min-width:unset;min-height:unset;padding:.25rem}.universal-topbar__icon-btn svg{width:var(--topbar-icon-svg-size);height:var(--topbar-icon-svg-size)}.universal-topbar__user-btn{padding:.15rem .2rem;min-width:unset}.universal-topbar__avatar{width:var(--topbar-avatar-size);height:var(--topbar-avatar-size)}.universal-topbar__menu-btn{width:var(--topbar-menu-btn-size);height:var(--topbar-menu-btn-size)}.universal-topbar__menu-btn svg{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important}}@media (max-width: 480px){[data-modal-fullscreen=true]{padding:0!important}[data-modal-fullscreen=true]>div{border-radius:0!important;border:none!important;margin:0!important}}@media (max-width: 375px){.modal-body,[data-modal-fullscreen=true] .px-6,[data-modal-fullscreen=true] .px-4{padding-left:.75rem!important;padding-right:.75rem!important}[data-modal-fullscreen=true] .py-5{padding-top:.75rem!important;padding-bottom:.75rem!important}}@media (max-width: 375px){.panel-content .surface-bordered,.universal-dashboard__content .surface-bordered{border:none;box-shadow:none}.panel-content,.card-container{border:1px solid var(--color-border);border-radius:.5rem}.universal-dashboard__content .surface-bordered,.universal-dashboard__content .surface-elevated{min-width:unset!important;width:100%!important}}@media (max-width: 480px){.universal-topbar__page-title-text,.page-title,.panel-header h1,.panel-header h2,.card-title{white-space:normal!important;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.badge-text,.tag-text{white-space:normal;text-overflow:clip}.card-content h3,.card-content p{word-wrap:break-word;overflow-wrap:break-word}}@media (max-width: 375px){.user-name,.student-name,.content-title{white-space:normal!important;word-break:break-word;line-height:1.3}.btn span,.button-text{white-space:normal}.modal-tab,.tab-item{white-space:normal;text-align:center;min-width:60px}}@media (max-width: 768px){.universal-user-manager,.users-section{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.table-container,.data-table-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;max-width:100%}.cards-grid,.card-grid,.grid-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.panel-content,.section-content{overflow-y:auto;max-height:calc(100vh - 140px);-webkit-overflow-scrolling:touch}}@media (max-width: 375px){.modal-body,.modal-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.universal-dashboard__content{overflow-y:auto!important;overflow-x:hidden!important}}@media (max-width: 480px){.universal-dashboard__content{padding:.75rem max(.75rem,env(safe-area-inset-right,0px)) max(.75rem,env(safe-area-inset-bottom,0px)) max(.75rem,env(safe-area-inset-left,0px))!important}.card-content,.panel-body,.section-body{padding:.75rem!important}.gap-6{gap:1rem!important}.gap-4{gap:.75rem!important}.mb-6{margin-bottom:1rem!important}.mb-4{margin-bottom:.75rem!important}.p-6,.p-5{padding:.75rem!important}.p-4{padding:.5rem!important}}@media (max-width: 375px){.universal-dashboard__content{padding:.5rem max(.5rem,env(safe-area-inset-right,0px)) max(.5rem,env(safe-area-inset-bottom,0px)) max(.5rem,env(safe-area-inset-left,0px))!important}.universal-dashboard__content .card-content,.universal-dashboard__content .panel-body{padding:.5rem!important}.universal-dashboard__content .gap-6{gap:.75rem!important}.universal-dashboard__content .gap-4{gap:.5rem!important}.universal-dashboard__content .gap-3{gap:.375rem!important}.universal-dashboard__content .gap-2{gap:.25rem!important}}@media (max-width: 320px){.universal-dashboard__content{padding:.25rem max(.25rem,env(safe-area-inset-right,0px)) max(.25rem,env(safe-area-inset-bottom,0px)) max(.25rem,env(safe-area-inset-left,0px))!important}.card-content,.panel-body{padding:.375rem!important}}@media (max-width: 1000px){.universal-topbar--has-actions{flex-direction:column;align-items:stretch;height:auto!important;min-height:auto}.universal-topbar--has-actions .universal-topbar__nav-desktop,.universal-topbar--has-actions .universal-topbar__center{display:none}.universal-topbar--has-actions .universal-topbar__row--actions{display:flex;align-items:center;gap:.5rem;padding:.5rem max(1.5rem,env(safe-area-inset-right,0px)) .5rem max(1.5rem,env(safe-area-inset-left,0px));background:transparent;border-top:1px solid rgba(128,128,128,.15);min-height:48px}.universal-topbar__row--actions .universal-topbar__back-btn{width:34px;height:34px;min-width:34px;margin-left:0;flex-shrink:0}.universal-topbar__row--actions .universal-topbar__actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.universal-topbar__row--actions .universal-topbar__action-btn{min-width:36px!important;min-height:36px!important;padding:.35rem!important}.universal-topbar__row--actions .universal-topbar__action-btn svg{width:18px;height:18px}.universal-topbar__row--actions .universal-topbar__action-btn span{display:none!important}}@media (max-width: 600px){.universal-topbar__row--actions .universal-topbar__actions{gap:.4rem}.universal-topbar__row--actions .universal-topbar__action-btn{min-width:34px!important;min-height:34px!important}}@media (max-width: 480px){.universal-topbar--has-actions .universal-topbar__row--actions{padding:.35rem .75rem;gap:.4rem}.universal-topbar__row--actions .universal-topbar__actions{gap:.3rem}.universal-topbar__row--actions .universal-topbar__action-btn{min-width:32px!important;min-height:32px!important;padding:.3rem!important}.universal-topbar__row--actions .universal-topbar__action-btn svg{width:17px;height:17px}.universal-topbar__row-title{font-size:.85rem;max-width:100px}}@media (max-width: 375px){.universal-topbar--has-actions .universal-topbar__row--actions{padding:.35rem .5rem;gap:.35rem}.universal-topbar__row--actions .universal-topbar__actions{gap:.25rem}.universal-topbar__row--actions .universal-topbar__action-btn{min-width:30px!important;min-height:30px!important}.universal-topbar__row--actions .universal-topbar__action-btn svg{width:16px;height:16px}.universal-topbar__row-title{font-size:.8rem;max-width:80px}}@media (max-width: 320px){.universal-topbar__row--actions .universal-topbar__actions{gap:.2rem}.universal-topbar__row--actions .universal-topbar__action-btn{min-width:28px!important;min-height:28px!important;padding:.2rem!important}.universal-topbar__row--actions .universal-topbar__action-btn svg{width:15px;height:15px}.universal-topbar__row-title{max-width:60px;font-size:.75rem}}@media (max-width: 1000px){.universal-dashboard:has(.universal-topbar--has-actions) .universal-dashboard__content{margin-top:calc(120px + env(safe-area-inset-top,0px));height:calc(100dvh - 120px - env(safe-area-inset-top,0px))}.universal-dashboard--has-topbar-actions .universal-dashboard__content{margin-top:calc(120px + env(safe-area-inset-top,0px));height:calc(100dvh - 120px - env(safe-area-inset-top,0px))}}.class-daily-log{margin-top:env(safe-area-inset-top,0px)}.class-daily-log--viewing-as{margin-top:calc(44px + env(safe-area-inset-top,0px))}@media (max-width: 768px){.class-daily-log--viewing-as{margin-top:calc(38px + env(safe-area-inset-top,0px))}}@media (max-width: 480px){.game-layout{padding:.5rem!important}.exercise-container,.game-layout>.rounded-2xl{border-radius:.75rem!important;padding:.75rem!important;border-width:1px!important}.option-item,.answer-option,.choice-button{padding:.5rem .75rem!important;font-size:.875rem!important}.question-text,.exercise-question{font-size:1rem!important;line-height:1.4!important}}@media (max-width: 375px){.game-layout{padding:.25rem!important}.exercise-container,.game-layout>.rounded-2xl{border-radius:.5rem!important;padding:.5rem!important}[data-modal-fullscreen=true] .exercise-container,[data-modal-fullscreen=true] .game-layout>div{border:none!important;box-shadow:none!important}.question-text,.exercise-question{font-size:.9375rem!important}.option-item,.answer-option{padding:.375rem .5rem!important;font-size:.8125rem!important}}@media (max-width: 480px){.card-container,[class*=CardGrid]>div{min-height:auto!important;height:auto!important}}@media (max-width: 375px){.universal-dashboard__content .card-container,.universal-dashboard__content .universal-card{min-width:unset!important;max-width:100%!important}.card-header{height:auto!important;min-height:60px!important}.card-icon{width:36px!important;height:36px!important}.card-icon svg{width:20px!important;height:20px!important}}@media (max-width: 480px){.searchbar-container,[class*=SearchBar]{flex-wrap:wrap;gap:.5rem}.search-input{min-width:0;flex:1}.view-mode-buttons{order:2;width:100%;justify-content:flex-end}}@media (max-width: 375px){.search-input{font-size:.875rem;padding:.5rem .75rem}.view-mode-buttons button{padding:.375rem}}@media (max-width: 375px){.universal-dashboard__content .badge,.universal-dashboard__content [class*=Badge]{padding:.125rem .375rem!important;font-size:.6875rem!important}.universal-dashboard__content .badge svg,.universal-dashboard__content [class*=Badge] svg{width:12px!important;height:12px!important}}@media (max-width: 375px){.universal-dashboard__content .btn,.universal-dashboard__content button:not(.universal-topbar__icon-btn):not([data-mini-drawing-toolbar] button):not([role=switch]){min-height:44px;padding:.5rem .75rem;font-size:.875rem}[data-mini-drawing-toolbar=true] button{min-height:unset!important;min-width:unset!important;width:24px!important;height:24px!important;padding:0!important;font-size:inherit!important;flex-shrink:0!important}[data-mini-drawing-toolbar=true] .flex.gap-1 button{width:20px!important;height:20px!important}.btn-sm{min-height:36px;padding:.375rem .5rem;font-size:.8125rem}.btn-icon,.icon-button{width:44px;height:44px;padding:0}.btn-icon svg,.icon-button svg{width:20px;height:20px}}@media (min-width: 1024px){.universal-sidemenu--open{transform:translate(0)}}.messages-panel{display:flex;position:relative;height:100%;min-height:600px;background:var(--color-bg-primary);border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000001a}html:not([data-panels-fullbleed=off]) .universal-dashboard__content:has(.messages-panel),html:not([data-panels-fullbleed=off]) .universal-dashboard__content:has(.ai-chat-page){padding:0;overflow:hidden;scrollbar-gutter:auto;display:flex;flex-direction:column}html:not([data-panels-fullbleed=off]) .universal-dashboard__content .messages-panel{border-radius:0;box-shadow:none;min-height:0!important;flex:1 1 auto!important;height:auto!important;max-height:none!important}html:not([data-panels-fullbleed=off]) .universal-dashboard__content .ai-chat-page{border:none;border-radius:0;min-height:0;max-height:none;flex:1 1 auto;height:auto}.messages-sidebar{width:360px;border-right:1px solid var(--color-border);display:flex;flex-direction:column;background:var(--color-bg-secondary)}.messages-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:.5rem 1rem;min-height:56px}.header-title{display:flex;align-items:center;gap:12px;color:var(--color-text-primary)}.header-title h2{margin:0;font-size:20px;font-weight:700}.unread-badge{background:var(--color-error);color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700}.btn-new-message{padding:10px;background:var(--color-accent);color:#fff;border:none;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-new-message:hover{background:var(--color-accent-dark);transform:scale(1.05)}.messages-search{padding:12px 16px;background:var(--color-bg-secondary);display:flex;align-items:center;gap:12px}.conversations-list{flex:1;overflow-y:auto}.conversation-item-wrapper{position:relative;overflow:hidden}.conversation-item{display:flex;gap:12px;padding:12px 16px;cursor:pointer;transition:transform .15s,background .15s;border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);position:relative}.conversation-item:hover{background:var(--color-bg-tertiary)}.conversation-item.selected{background:var(--color-bg-tertiary);border-left:3px solid var(--color-accent)}.conversation-item.unread{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.conversation-item.unread .conversation-name{font-weight:700}.swipe-action{position:absolute;right:0;top:0;bottom:0;width:80px;display:flex;align-items:center;justify-content:center;cursor:pointer}.swipe-action.delete{background:var(--color-error);color:#fff}.swipe-action.archive{background:var(--color-info);color:#fff}.conversation-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;border:3px solid var(--color-bg-secondary);flex-shrink:0}.conversation-content{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.conversation-name{font-weight:600;color:var(--color-text-primary);font-size:15px}.conversation-item-menu{flex-shrink:0;align-self:center}.conversation-item-menu-btn{opacity:.55;transition:opacity var(--duration-fast) ease}.conversation-item:hover .conversation-item-menu-btn,.conversation-item-menu-btn:focus-visible{opacity:1}.conversation-time{font-size:12px;color:var(--color-text-secondary)}.conversation-preview{display:flex;justify-content:space-between;align-items:center;gap:8px}.conversation-preview p{margin:0;font-size:14px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.conversation-item.unread .conversation-preview p{font-weight:600;color:var(--color-text-primary)}.unread-count{background:var(--color-accent);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;flex-shrink:0}.messages-main{flex:1;display:flex;flex-direction:column;background:var(--color-bg-primary);min-height:0;overflow:hidden}.message-thread{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.thread-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;min-height:56px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.thread-user-info{display:flex;align-items:center;gap:12px}.thread-avatar{width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.thread-user-details h3{margin:0;font-size:16px;color:var(--color-text-primary)}.thread-user-email{font-size:13px;color:var(--color-text-secondary)}.thread-actions{display:flex;gap:8px;position:relative}.mobile-header-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:none;border-radius:var(--border-radius-full);background:transparent;color:var(--color-text-primary);cursor:pointer;transition:background-color var(--duration-base) ease,color var(--duration-base) ease}.mobile-header-icon:hover{background:var(--color-bg-hover)}.mobile-header-icon:active{transform:scale(var(--press-scale-control))}.mobile-header-icon:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-border-focus)}:root[data-mobile-icon-shape=circle] .mobile-icon-tile{border-radius:var(--border-radius-full)}:root[data-mobile-icon-shape=squircle] .mobile-header-icon{border-radius:var(--border-radius-xl)}.mcard-avatar-img{display:none}:root[data-mcard-media=image] .mcard-avatar--has-media .mcard-avatar-img{display:block}:root[data-mcard-media=image] .mcard-avatar--has-media .mcard-avatar-icon{display:none}.mobile-header-icon.is-active,.mobile-header-icon.is-active:hover{background:var(--color-accent);color:#fff}.messages-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:20px;display:flex;flex-direction:column;gap:16px;position:relative;min-height:0;-webkit-overflow-scrolling:touch}.messages-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:14px}.message-bubble-container{display:flex;gap:4px;align-items:flex-end;margin-bottom:2px;padding:0 12px}.message-bubble-container.own{flex-direction:row-reverse}.message-avatar{width:24px;height:24px;border-radius:50%;background:var(--color-accent);color:#fff;display:none;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.message-bubble-container.show-avatar .message-avatar{display:flex}.message-bubble{max-width:75%;min-width:60px;padding:8px 12px;border-radius:12px;position:relative;box-shadow:0 1px 2px #0000000f}.message-bubble-container.own .message-bubble{background:var(--color-accent);color:#fff;border-bottom-right-radius:4px}.message-bubble-container.other .message-bubble{background:var(--color-bg-secondary);color:var(--color-text-primary);border-bottom-left-radius:4px}.message-sender{font-size:12px;font-weight:500;color:var(--color-accent);margin-bottom:2px;display:none}.message-content{font-size:15px;line-height:1.4;word-wrap:break-word;white-space:pre-wrap;overflow-wrap:break-word;margin:0;padding:0}.message-content.is-emoji-jumbo{font-size:44px;line-height:1.2}.message-content.is-emoji-large{font-size:28px;line-height:1.2}.message-content.is-emoji-medium{font-size:22px;line-height:1.25}.message-bubble-container.own .message-time-inline{color:color-mix(in srgb,currentColor 70%,transparent)}.message-bubble-container.other .message-time-inline{color:var(--color-text-tertiary)}.message-time{font-size:11px;color:var(--color-text-tertiary)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-input-container{display:flex;flex-direction:column;gap:0;padding:10px 12px 12px;background:transparent}.input-row{display:flex;align-items:flex-end;gap:4px;padding:4px 4px 4px 6px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-bg-primary);box-shadow:var(--shadow-sm);transition:border-color .15s ease}.input-row:focus-within{border-color:var(--color-accent)}.attach-btn-wrapper{position:relative;display:flex;flex-shrink:0}.textarea-wrapper{flex:1;min-width:0;position:relative;display:flex;align-items:center}.message-input{flex:1;padding:10px 44px 10px 8px;border:none;border-radius:0;font-size:16px;color:var(--color-text-primary);background:transparent;resize:none;min-height:40px;max-height:40px;height:40px;font-family:inherit;line-height:20px;overflow:hidden;white-space:nowrap}.message-input::-moz-placeholder{color:var(--color-text-tertiary)}.message-input::placeholder{color:var(--color-text-tertiary)}.message-input:focus{outline:none}.composer-icon-btn{width:36px;height:36px;min-width:36px;padding:0;flex-shrink:0;border:none;border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;box-shadow:var(--shadow-sm);transition:background var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) ease}.composer-icon-btn:hover:not(:disabled){transform:scale(1.04)}.composer-icon-btn:active:not(:disabled){transform:scale(.94)}.composer-icon-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.composer-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-border-focus)}.composer-icon-btn--accent{background:var(--color-accent)}.composer-icon-btn--accent:hover:not(:disabled){background:var(--color-accent-dark)}.composer-icon-btn--chat-send{background:var(--color-chat-send)}.composer-icon-btn--chat-send:hover:not(:disabled){background:var(--color-chat-send-hover)}.composer-icon-btn--warning{background:var(--color-warning)}.composer-icon-btn--warning:hover:not(:disabled){background:var(--color-warning-dark)}.composer-icon-btn--ghost{background:transparent;color:var(--color-text-secondary);box-shadow:none}.composer-icon-btn--ghost:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.composer-icon-btn--danger-soft{background:var(--color-error-bg);color:var(--color-error);box-shadow:none}.composer-icon-btn--danger-soft:hover:not(:disabled){background:var(--color-error);color:#fff}.inner-input-btn{width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s}.inner-input-btn:hover{color:var(--color-accent)}.inner-input-btn-emoji{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.user-avatar{width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.user-details{flex:1}.user-name{font-weight:600;color:var(--color-text-primary);font-size:15px}.user-email{font-size:13px;color:var(--color-text-secondary)}.spinner-small{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.messages-panel{position:fixed!important;top:56px!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:calc(100vh - 56px)!important;min-height:calc(100vh - 56px)!important;max-height:calc(100vh - 56px)!important;padding:0!important;margin:0!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;display:flex!important;flex-direction:column;background:var(--color-bg-primary);z-index:50!important}.universal-dashboard__content:has(.messages-panel){padding:0!important;margin:0!important;overflow:hidden!important;scrollbar-gutter:auto!important;overscroll-behavior-y:none!important}.messages-sidebar-mobile,.messages-sidebar,.messages-main-mobile,.messages-main{width:100%!important;height:100%!important;padding:0!important;margin:0!important;border:none!important;border-radius:0!important;overflow:hidden!important;display:flex!important;flex-direction:column;background:var(--color-bg-primary)}.message-thread{display:flex!important;flex-direction:column;width:100%!important;height:100%!important;overflow:hidden!important;padding:0!important;margin:0!important;gap:0!important}.messages-sidebar-header{flex-shrink:0!important;padding:8px 16px!important;min-height:56px!important;max-height:56px!important;height:56px!important;border:none!important;background:var(--color-bg-secondary)!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.header-title{display:flex;align-items:center;gap:12px}.header-title h2{font-size:20px;margin:0;color:var(--color-text-primary)}.btn-new-message{min-width:44px;min-height:44px;padding:12px}.messages-search{flex-shrink:0!important;padding:8px 16px;min-height:52px;max-height:52px;border:none}.conversations-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0!important;margin:0!important;-webkit-overflow-scrolling:touch}.conversation-item{padding:12px 16px;min-height:72px;border-left:none!important;border-right:none!important;margin:0}.conversation-item:first-child{border-top:none!important}.conversation-avatar{width:48px;height:48px;font-size:20px}.thread-header{flex-shrink:0!important;padding:8px 16px!important;min-height:56px!important;max-height:56px!important;height:56px!important;gap:12px!important;border:none!important;border-bottom:1px solid var(--color-border)!important;background:var(--color-bg-secondary)!important;display:flex!important;align-items:center!important;justify-content:space-between!important}.thread-user-info{flex:1;min-width:0;gap:10px;display:flex;align-items:center}.thread-avatar{width:40px;height:40px;font-size:16px}.thread-user-details h3{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary)}.thread-user-email{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-secondary)}.thread-actions{gap:8px;flex-shrink:0;display:flex;align-items:center}.menu-divider{height:1px;background:var(--color-border);margin:8px 0}.thread-search-bar{position:relative!important;flex-shrink:0!important;padding:12px 16px;min-height:60px;max-height:60px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.messages-search{position:relative!important;flex-shrink:0!important;padding:8px 16px;min-height:52px;max-height:52px;border:none;background:var(--color-bg-secondary)}.messages-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:16px!important;margin:0!important;-webkit-overflow-scrolling:touch}.message-bubble{max-width:85%}.message-input-container{position:relative!important;flex-shrink:0!important;padding:8px 10px 10px!important;margin:0!important;background:transparent!important}.input-row{display:flex!important;align-items:flex-end!important;gap:4px!important;padding:4px 4px 4px 6px!important;min-height:auto!important;max-height:none!important;margin:0!important;border:1px solid var(--color-border)!important;border-radius:22px!important;background:var(--color-bg-primary)!important}.message-input{flex:1!important;min-height:40px!important;max-height:40px!important;height:40px!important;padding:10px 44px 10px 8px!important;font-size:16px!important;resize:none!important;border:none!important;border-radius:0!important;line-height:20px!important;background:transparent!important;overflow:hidden!important;white-space:nowrap!important}.composer-icon-btn{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;flex-shrink:0!important;border-radius:50%!important}.textarea-wrapper{flex:1!important;min-width:0!important;position:relative!important}.textarea-wrapper .message-input{padding:10px 44px 10px 8px!important}.inner-input-btn{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important}.reply-bar,.edit-bar{flex-shrink:0;padding:8px 16px;min-height:48px;border-bottom:1px solid var(--color-border)}.file-preview-container{flex-shrink:0;padding:8px 16px;min-height:60px;border-bottom:1px solid var(--color-border)}.new-message-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;margin:0!important;padding:0!important;z-index:1100}.messages-sidebar-mobile,.messages-main-mobile{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}}.dark .message-bubble-container.other .message-bubble{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.typing-indicator{display:flex;align-items:flex-end;gap:10px;padding:8px 0;animation:fadeIn .3s ease}.typing-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.typing-bubble{background:var(--color-bg-secondary);border-radius:16px 16px 16px 4px;padding:12px 16px;display:flex;gap:4px;align-items:center;min-width:60px}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-secondary);animation:typingBounce 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.file-preview-container{padding:12px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.image-preview{position:relative;display:inline-block;max-width:200px;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.image-preview img{width:100%;height:auto;display:block}.remove-preview-btn{position:absolute;top:8px;right:8px;padding:6px;background:#000000b3;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-preview-btn:hover{background:#ef4444e6;transform:scale(1.1)}.file-preview{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:10px}.file-info{flex:1;display:flex;flex-direction:column;gap:4px}.file-name{font-size:14px;font-weight:600;color:var(--color-text-primary);word-break:break-word}.file-size{font-size:12px;color:var(--color-text-secondary)}.input-row{display:flex;align-items:flex-end;gap:4px}.textarea-wrapper{position:relative;flex:1;min-width:0;display:flex}.textarea-wrapper .message-input{flex:1;padding:10px 44px 10px 8px;border:none;border-radius:0;font-size:16px;resize:none;background:transparent;color:var(--color-text-primary)}.textarea-wrapper .message-input:focus{outline:none}.inner-input-btn:disabled{opacity:.3;cursor:not-allowed}.emoji-picker{position:absolute;bottom:70px;right:20px;width:380px;height:380px;background:var(--color-bg-secondary);border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;z-index:1000;animation:fadeIn .15s ease;overflow:hidden}.dark .emoji-picker{background:var(--color-bg-secondary)}.emoji-picker.emoji-picker-inline{position:static;inset:auto;width:300px;height:auto;max-height:320px;box-shadow:none;border-radius:var(--border-radius-md);animation:none}.emoji-picker.emoji-picker-inline .emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr));padding:8px}.emoji-picker.emoji-picker-inline .emoji-btn{width:100%;height:auto;font-size:22px}.emoji-picker-modal .emoji-picker.emoji-picker-inline{width:100%;max-height:360px}.emoji-picker-modal .emoji-categories{justify-content:space-between}.emoji-picker-modal .emoji-category-btn{flex:1 1 0;min-width:0}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.emoji-search-row{display:flex;align-items:center;gap:6px;margin:10px 10px 0;padding:6px 10px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-input)}.emoji-search-icon{flex-shrink:0;color:var(--color-text-muted)}.emoji-search-input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:14px;color:var(--color-text-primary)}.emoji-search-input::-moz-placeholder{color:var(--color-text-muted)}.emoji-search-input::placeholder{color:var(--color-text-muted)}.emoji-search-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--border-radius-full);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background var(--duration-fast) ease}.emoji-search-clear:hover{background:var(--color-bg-hover)}.emoji-empty{grid-column:1 / -1;text-align:center;padding:24px 8px;font-size:13px;color:var(--color-text-muted)}.emoji-categories{display:flex;justify-content:space-around;padding:6px 6px 8px;background:var(--color-bg-secondary);flex-shrink:0;overflow-x:auto}.dark .emoji-categories{background:var(--color-bg-secondary)}.emoji-category-btn{padding:6px;background:transparent;border:none;cursor:pointer;transition:all .15s;flex-shrink:0;color:var(--color-text-secondary)!important;display:flex;align-items:center;justify-content:center;border-radius:8px}.emoji-category-btn svg{color:inherit!important;stroke:currentColor!important}.emoji-category-btn:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.emoji-category-btn.active{color:var(--color-accent)!important;background:#5b6b8f26!important;font-weight:600}.emoji-category-btn.active svg{color:var(--color-accent)!important;stroke:currentColor!important}.dark .emoji-category-btn.active{color:var(--color-accent)!important;background:#7b8db833!important}.dark .emoji-category-btn.active svg{color:var(--color-accent)!important;stroke:currentColor!important}.emoji-grid-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 10px 8px;background:var(--color-bg-secondary)}.emoji-section-label{font-size:15px;font-weight:600;color:var(--color-text-secondary);padding:6px 2px 8px}.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;align-content:start}.dark .emoji-grid{background:var(--color-bg-secondary)}.emoji-grid-scroll::-webkit-scrollbar{width:6px}.emoji-grid-scroll::-webkit-scrollbar-track{background:transparent}.emoji-grid-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.emoji-grid-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-border-focus)}.emoji-btn{width:100%;max-width:var(--emoji-btn-size);height:auto;padding:4px;background:transparent;border:none;border-radius:6px;font-size:var(--emoji-btn-font);line-height:1;cursor:pointer;transition:all .1s;display:flex;align-items:center;justify-content:center;aspect-ratio:1}.emoji-btn:hover{background:var(--color-bg-tertiary);transform:scale(1.1)}.emoji-btn:active{transform:scale(1.05)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 769px) and (max-width: 1024px){.messages-panel{display:flex!important;flex-direction:row!important;height:100%!important;min-height:600px!important}.messages-sidebar{width:300px!important;min-width:300px!important;max-width:300px!important;border-right:1px solid var(--color-border)!important;flex-shrink:0!important}.messages-main{flex:1!important;min-width:0!important}.messages-sidebar-header{padding:16px!important}.header-title h2{font-size:18px!important}.conversation-item{padding:14px 16px!important}.conversation-avatar{width:44px!important;height:44px!important}.thread-header{padding:16px!important}.message-bubble{max-width:70%!important}.message-input-container{padding:16px!important}.messages-main{height:100%!important;min-height:0!important;overflow:hidden!important}.message-thread{height:100%!important;overflow:hidden!important}.messages-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}}@media (min-width: 1025px){.messages-panel{display:flex!important;flex-direction:row!important}.messages-sidebar{width:360px!important;min-width:360px!important;max-width:360px!important;flex-shrink:0!important}.messages-main{flex:1!important;min-width:0!important;height:100%!important;overflow:hidden!important}.message-thread{height:100%!important;overflow:hidden!important}.messages-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}}@media (max-width: 768px){.emoji-picker:not(.emoji-picker-centered):not(.emoji-picker-inline){left:10px!important;right:10px!important;width:calc(100vw - 20px)!important;min-width:280px!important;max-width:400px!important}.emoji-picker.emoji-picker-centered,div.emoji-picker.emoji-picker-centered{width:calc(100vw - 40px)!important;max-width:400px!important;height:400px!important;position:relative!important;top:auto!important;left:auto!important;bottom:auto!important;right:auto!important;transform:none!important}.emoji-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}.message-attachment{margin-bottom:0}.message-attachment+.message-content{margin-top:4px}.attachment-image{max-width:300px;border-radius:12px;overflow:hidden;cursor:pointer}.attachment-image img{width:100%;height:auto;display:block;transition:transform .2s}.attachment-image:hover img{transform:scale(1.02)}.attachment-video{max-width:320px;border-radius:var(--radius-lg);overflow:hidden}.attachment-video-player{width:100%;height:auto;display:block;max-height:480px}.hidden-file-input{display:none}.messages-empty-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:.5rem}.emoji-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--overlay-default);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center}.attachment-audio-footer-inline{margin-left:auto;display:flex;align-items:center;gap:2px}.new-message-spinner{width:1.25rem;height:1.25rem;border:2px solid var(--color-edge);border-top-color:var(--color-content-secondary);border-radius:var(--border-radius-full);animation:spin .8s linear infinite}.video-preview-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.link-preview-card{display:block;margin-top:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary);text-decoration:none;color:var(--color-text-primary);transition:transform var(--duration-base, .2s) ease,box-shadow var(--duration-base, .2s) ease}.link-preview-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.link-preview-image{width:100%;max-height:200px;overflow:hidden;background:var(--color-bg-tertiary)}.link-preview-image img{width:100%;height:100%;max-height:200px;-o-object-fit:cover;object-fit:cover;display:block}.link-preview-body{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.link-preview-site{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em}.link-preview-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-preview-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-preview-card--loading{min-height:56px;padding:8px 10px}.link-preview-skeleton{width:100%;height:40px;background:linear-gradient(90deg,var(--color-bg-tertiary) 0%,var(--color-bg-hover) 50%,var(--color-bg-tertiary) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:link-preview-shimmer 1.4s ease-in-out infinite}@keyframes link-preview-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.thread-avatar-wrapper,.conversation-avatar-wrapper{position:relative;display:inline-flex}.presence-dot{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:var(--border-radius-full);background:var(--color-success);box-shadow:0 0 0 2px var(--color-bg-secondary);pointer-events:none}.thread-user-email.is-online{color:var(--color-success);font-weight:600}.attachment-file{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:10px;text-decoration:none;color:var(--color-text-primary);transition:all .2s;max-width:300px}.attachment-file:hover{background:var(--color-bg-secondary);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.attachment-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.attachment-name{font-size:14px;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{font-size:12px;color:var(--color-text-secondary)}.audio-play-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff40;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.message-bubble-container.other .audio-play-btn{background:var(--color-accent);color:#fff}.audio-play-btn:hover{opacity:.9;transform:scale(1.05)}.audio-play-btn:active{transform:scale(.95)}.message-bubble-container.own .audio-progress-bar{background:#ffffff4d}.message-bubble-container.other .audio-progress-bar{background:#0000001a}.message-bubble-container.other .audio-progress-fill{background:var(--color-accent)}.audio-time{display:flex;justify-content:space-between;font-size:10px;color:currentColor;opacity:.75;font-family:monospace}.dark .file-preview{background:var(--color-bg-secondary);border-color:var(--color-border)}.dark .attachment-file{background:#ffffff0d}.dark .attachment-file:hover{background:#ffffff14}.reply-bar,.edit-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-tertiary);border-left:4px solid var(--color-accent);margin-bottom:8px;border-radius:8px}.edit-bar{border-left-color:var(--color-warning)}.reply-bar-content,.edit-bar-content{display:flex;align-items:center;gap:12px;flex:1}.reply-info,.edit-info{display:flex;flex-direction:column;gap:2px}.reply-info strong,.edit-info strong{font-size:13px;font-weight:600;color:var(--color-text-primary)}.reply-info p,.edit-info p{font-size:12px;color:var(--color-text-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.message-actions-container{position:absolute;top:2px;right:-28px;opacity:0;transition:opacity .15s;z-index:10}.message-bubble:hover .message-actions-container{opacity:1}.message-bubble-container.own .message-actions-container{right:auto;left:-28px}.quick-reactions-row{display:flex;justify-content:center;padding:10px 12px;gap:4px;background:transparent;border-radius:8px 8px 0 0}.quick-reaction-btn{width:var(--emoji-btn-size);height:var(--emoji-btn-size);padding:4px;border:none;background:transparent;border-radius:8px;font-size:var(--emoji-btn-font);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s;aspect-ratio:1}.quick-reaction-btn:hover{background:var(--color-bg-tertiary);transform:scale(1.1)}.quick-reaction-btn.more-reactions{font-size:var(--emoji-more-btn-font);font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:50%}@media (max-width: 768px){.quick-reactions-row{gap:0px;padding:8px 4px}.quick-reaction-btn{padding:0!important;line-height:1!important}}.emoji-picker.emoji-picker-centered,div.emoji-picker.emoji-picker-centered{position:relative!important;top:auto!important;left:auto!important;bottom:auto!important;right:auto!important;transform:none!important;z-index:1100!important;box-shadow:0 12px 48px #00000059!important;background:var(--color-bg-primary)!important;width:380px!important;height:380px!important}.dark .emoji-picker.emoji-picker-centered,.dark div.emoji-picker.emoji-picker-centered{background:var(--color-bg-secondary)!important}.message-footer{display:inline-flex;align-items:baseline;gap:4px;margin-left:10px;font-size:12px;line-height:1.4;white-space:nowrap;float:right;position:relative;top:1px}.message-content:after{content:"";display:table;clear:both}.message-time{color:#111b2173;display:inline-flex;align-items:center;gap:3px;font-size:12px}.message-status{display:inline-flex;align-items:center}.message-status .status-icon{width:15px;height:15px}.message-status .status-icon.sent,.message-status .status-icon.delivered{color:color-mix(in srgb,currentColor 60%,transparent)}.message-status .status-icon.read{color:var(--color-chat-read-on-accent)}.message-bubble-container.own .message-time{color:color-mix(in srgb,currentColor 75%,transparent)}.edited-indicator{font-style:italic;opacity:.8;font-size:10px}.message-status{display:inline-flex;align-items:center;gap:1px}.status-icon{flex-shrink:0}.message-reply-preview{background:var(--color-bg-tertiary);border-left:3px solid var(--color-accent);border-radius:6px;padding:8px 12px;margin-bottom:8px;cursor:pointer;transition:all .2s}.message-reply-preview:hover{background:var(--color-bg-secondary);transform:translate(2px)}.reply-line{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent);border-radius:2px 0 0 2px}.reply-content{display:flex;flex-direction:column;gap:2px}.reply-content strong{font-size:12px;font-weight:600;color:var(--color-accent)}.reply-content p{font-size:12px;color:var(--color-text-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:250px}.message-bubble-container.deleted .message-bubble{opacity:.6;font-style:italic}.message-bubble-container.deleted .message-content{color:var(--color-text-tertiary)}.dark .reply-bar,.dark .edit-bar,.dark .message-reply-preview{background:#ffffff0d}.dark .message-reply-preview:hover{background:#ffffff14}.drag-drop-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#6366f1f2;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.drag-drop-content{text-align:center;color:#fff}.drag-drop-content svg{margin-bottom:16px;animation:bounce 1s ease-in-out infinite}.drag-drop-content h3{font-size:24px;font-weight:600;margin:0 0 8px}.drag-drop-content p{font-size:16px;opacity:.9;margin:0}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.image-lightbox{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.lightbox-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000e6}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:16px;z-index:1}.lightbox-content img{max-width:100%;max-height:calc(90vh - 80px);-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.lightbox-close{position:absolute;top:-40px;right:0;padding:8px;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-info{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;color:#fff}.lightbox-download{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-accent);border-radius:6px;color:#fff;text-decoration:none;font-size:14px;transition:all .2s}.lightbox-download:hover{background:var(--color-accent-dark);transform:translateY(-2px)}@media (max-width: 768px){.attachment-image,.attachment-file{max-width:100%}.lightbox-content{max-width:95vw;max-height:95vh}.lightbox-content img{max-height:calc(95vh - 60px)}.drag-drop-content h3{font-size:20px}.drag-drop-content p{font-size:14px}}.thread-search-bar{padding:12px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:12px;animation:slideDown .3s ease}.search-navigation{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--color-bg-tertiary);border-radius:8px}.search-count{font-size:13px;font-weight:600;color:var(--color-text-secondary);min-width:50px;text-align:center}.search-no-results{padding:8px 12px;font-size:13px;color:var(--color-text-secondary);font-style:italic}.message-bubble-container.search-result{animation:searchPulse .5s ease}.message-bubble-container.current-search-result .message-bubble{border:2px solid var(--color-accent);box-shadow:0 0 0 3px #6366f11a}.search-highlight{background:color-mix(in srgb,var(--color-vivid-yellow) 35%,var(--color-bg-primary));color:var(--color-text-primary);padding:2px 4px;border-radius:3px;font-weight:600}@keyframes searchPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dark .thread-search-bar{background:var(--color-bg-tertiary)}@media (max-width: 768px){.thread-search-bar{flex-wrap:wrap}.search-navigation{width:100%;justify-content:center}}.message-reactions{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px;margin-bottom:-2px}.reaction-item{display:flex;align-items:center;gap:2px;padding:4px 8px;background:var(--color-bg-tertiary);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s;font-size:14px}.reaction-item:hover{transform:scale(1.1);border-color:var(--color-accent)}.reaction-item.reacted{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.reaction-emoji{font-size:var(--emoji-pill-font);line-height:1}.reaction-count{font-size:12px;font-weight:700;min-width:14px;text-align:center}.message-bubble:hover .add-reaction-btn{opacity:1}.dark .reaction-item{background:#ffffff1a}.dark .reaction-item.reacted{background:var(--color-accent)}@keyframes spin{to{transform:rotate(360deg)}}.session-item{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;transition:all .2s ease}.session-item:hover{border-color:var(--color-accent);background:var(--color-accent-bg)}.session-group{font-size:13px;color:var(--color-text-primary)}.attendance-view{animation:fadeIn .3s ease-out}.attendance-view.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.attendance-header{margin-bottom:24px}.attendance-title{font-size:24px;font-weight:800;color:var(--color-text-primary);margin:0 0 16px}.attendance-stats{display:flex;gap:16px;flex-wrap:wrap}.stat-item{padding:16px 24px;border-radius:12px;box-shadow:0 2px 8px #0000000f;min-width:120px}.stat-item.stat-present{background:var(--color-success-bg)}.stat-item.stat-pending{background:var(--color-warning-bg)}.stat-item.stat-percentage{background:var(--color-info-bg)}.stat-value{font-size:28px;font-weight:800;color:var(--color-text-primary);line-height:1;margin-bottom:4px}.stat-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.attendance-message{padding:12px 20px;border-radius:10px;font-size:14px;font-weight:600;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.attendance-message.success{background:var(--color-success-bg);color:var(--color-success-dark)}.attendance-message.error{background:var(--color-error-bg);color:var(--color-error-dark)}.attendance-content{display:grid;grid-template-columns:300px 1fr;gap:24px}.sessions-sidebar{background:var(--color-bg-secondary);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a;max-height:600px;overflow-y:auto}.sidebar-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 16px}.sessions-list{display:flex;flex-direction:column;gap:8px}.session-item{padding:12px;background:var(--color-bg-tertiary);border-radius:8px;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent}.session-item:hover{background:var(--color-bg-hover)}.session-item.selected{background:var(--color-bg-hover);border-left-color:var(--color-border-focus)}.session-name{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.session-group{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.session-datetime{font-size:11px;color:var(--color-text-secondary);text-transform:capitalize}.attendance-detail{background:var(--color-bg-secondary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a;min-height:400px}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:16px}.detail-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0}.detail-subtitle{font-size:14px;color:var(--color-text-secondary);margin:4px 0 0}.students-list{display:flex;flex-direction:column;gap:12px}.student-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-bg-tertiary);border-radius:10px;transition:all .2s ease}.student-item:hover{background:var(--color-bg-hover);transform:translate(2px)}.student-info{display:flex;align-items:center;gap:12px}.student-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:50%;font-size:20px;flex-shrink:0}.student-details{display:flex;flex-direction:column;gap:4px}.student-name{font-size:14px;font-weight:600;color:var(--color-text-primary)}.link-clicked-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-success-bg);color:var(--color-success-dark);border-radius:4px;font-size:11px;font-weight:600}.status-badge{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;white-space:nowrap}.status-badge.status-present{background:var(--color-success-bg);color:var(--color-success-dark)}.status-badge.status-absent{background:var(--color-error-bg);color:var(--color-error-dark)}.status-badge.status-late{background:var(--color-warning-bg);color:var(--color-warning-dark)}.status-badge.status-excused{background:var(--color-info-bg);color:var(--color-info-dark)}.status-badge.status-pending{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.empty-sessions,.empty-students{text-align:center;padding:60px 20px;background:var(--color-bg-tertiary);border-radius:12px}.empty-icon{font-size:64px;margin-bottom:16px}.empty-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.empty-text{font-size:14px;color:var(--color-text-secondary);margin:0}.empty-students{padding:40px 20px}.empty-students p{color:var(--color-text-secondary);margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.attendance-content{grid-template-columns:1fr}.sessions-sidebar{max-height:none}.detail-header{flex-direction:column;align-items:flex-start}}@media (max-width: 768px){.attendance-stats{width:100%}.stat-item{flex:1;min-width:auto}.student-item{flex-direction:column;align-items:flex-start;gap:12px}.student-status{width:100%}.status-badge{display:block;text-align:center}}.credit-manager{animation:fadeIn .3s ease-out}.credit-manager.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.credit-message{padding:12px 20px;border-radius:10px;font-size:14px;font-weight:600;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.credit-message.success{background:var(--color-success-bg);color:var(--color-success)}.credit-message.error{background:var(--color-error-bg);color:var(--color-error)}.credit-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.credit-stat-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:12px;background:var(--color-bg-secondary);border:2px solid var(--color-border);transition:all .2s ease}.credit-stat-card:hover{border-color:var(--color-border-focus);box-shadow:0 4px 12px #0000001a}.credit-stat-card .stat-icon{font-size:0;line-height:0}.credit-stat-card .stat-icon svg{color:var(--color-text-secondary);width:24px;height:24px}.credit-stat-card .stat-value{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1;margin:0}.credit-stat-card .stat-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0}.credit-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:stretch}.credit-actions .btn{white-space:nowrap;padding:10px 20px!important;min-height:42px!important;height:42px;line-height:1.5;font-size:16px}.credit-notes-section{padding:20px;background:var(--color-bg-primary);border-radius:12px;margin-bottom:24px}.notes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.notes-title{font-size:16px;font-weight:700;color:var(--color-text-primary, #1f2937);margin:0}.btn-group-sm{display:flex;gap:8px}.notes-textarea{width:100%;padding:12px 16px;font-size:14px;border:none;border-radius:10px;background:var(--color-bg-secondary);color:var(--color-text-primary, #1f2937);resize:vertical;min-height:80px;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000f;box-sizing:border-box}.notes-textarea:focus{outline:none;box-shadow:0 0 0 3px #6366f11a,0 2px 8px #00000014}.notes-display{padding:12px 16px;background:var(--color-bg-secondary);border-radius:10px;font-size:14px;color:var(--color-text-primary, #374151);min-height:80px;white-space:pre-wrap;box-shadow:0 1px 3px #0000000f}.transactions-section{margin-top:32px}.transactions-list{display:flex;flex-direction:column;gap:10px}.transaction-item{display:flex;align-items:center;gap:16px;padding:16px;border-radius:12px;background:var(--color-bg-secondary);border:2px solid var(--color-border);transition:all .2s ease}.transaction-item:hover{border-color:var(--color-border-focus);box-shadow:var(--shadow-sm)}.transaction-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:10px}.transaction-icon svg{color:var(--color-accent);width:22px;height:22px}.transaction-item.purchase .transaction-icon{background:var(--color-success-bg)}.transaction-item.purchase .transaction-icon svg{color:var(--color-success)}.transaction-item.deduction .transaction-icon,.transaction-item.class .transaction-icon{background:var(--color-warning-bg)}.transaction-item.deduction .transaction-icon svg,.transaction-item.class .transaction-icon svg{color:var(--color-warning)}.transaction-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.transaction-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.transaction-type{font-size:14px;font-weight:600;color:var(--color-text-primary)}.transaction-amount{font-size:18px;font-weight:700}.transaction-amount.positive{color:var(--color-success)}.transaction-amount.negative{color:var(--color-warning)}.transaction-reason{font-size:13px;color:var(--color-text-secondary);line-height:1.4}.transaction-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px}.transaction-date{font-size:12px;color:var(--color-text-muted)}.transaction-balance{font-size:12px;font-weight:600;color:var(--color-text-secondary);padding:4px 10px;background:var(--color-bg-tertiary);border-radius:6px}.empty-transactions{text-align:center;padding:40px 20px;background:var(--color-bg-secondary);border-radius:12px;color:var(--color-text-secondary);font-size:14px}.dark .credit-stat-card{background:var(--color-bg-secondary);border-color:var(--color-border)}.dark .credit-stat-card:hover{border-color:var(--color-border-focus);box-shadow:0 4px 12px #0000004d}.dark .credit-stat-card .stat-icon svg{color:var(--color-text-secondary)}.dark .credit-stat-card .stat-value{color:var(--color-text-primary)}.dark .credit-stat-card .stat-label{color:var(--color-text-secondary)}.dark .credit-notes-section{background:#ffffff0d}.dark .notes-textarea,.dark .notes-display{background:#ffffff14;color:var(--color-text-primary)}.dark .notes-textarea:focus{background:#ffffff1a}@media (max-width: 768px){.credit-actions{flex-direction:column}.credit-actions .btn{width:100%}.transaction-header,.transaction-footer{flex-direction:column;align-items:flex-start}}.messages-panel,.homework-review-modal{height:100%;max-height:calc(100vh - 64px - 3rem)}.loading-older-messages{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;color:var(--color-text-secondary);font-size:14px}.loading-older-messages .spinner-small{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.no-more-messages{display:flex;align-items:center;justify-content:center;padding:1rem;margin:.5rem 0}.no-more-messages span{padding:.5rem 1rem;background:var(--color-bg-secondary);border-radius:12px;color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.dark .no-more-messages span{background:var(--color-bg-tertiary)}.media-gallery-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;padding:2rem;animation:fadeIn .2s ease-out}.media-gallery{background:var(--color-bg-primary);border-radius:16px;box-shadow:0 10px 40px #0000004d;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;animation:slideDown .3s ease-out}.dark .media-gallery{background:var(--color-bg-secondary);box-shadow:0 10px 40px #0009}.media-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border)}.media-gallery-header h2{margin:0;font-size:1.25rem;color:var(--color-text-primary)}.media-gallery-search{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.dark .media-gallery-search{background:var(--color-bg-tertiary)}.media-gallery-search svg{color:var(--color-text-secondary);flex-shrink:0}.media-gallery-search input{flex:1;background:none;border:none;color:var(--color-text-primary);font-size:14px;outline:none}.media-gallery-search input::-moz-placeholder{color:var(--color-text-secondary)}.media-gallery-search input::placeholder{color:var(--color-text-secondary)}.media-gallery-content{flex:1;overflow-y:auto;padding:1.5rem;min-height:400px}.media-gallery-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--color-text-secondary)}.media-gallery-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}.media-gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;color:var(--color-text-secondary)}.media-gallery-empty svg{opacity:.3}.media-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.media-gallery-item{aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;background:var(--color-bg-secondary);transition:transform .2s}.media-gallery-item:hover{transform:scale(1.05)}.media-gallery-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.media-item-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem .75rem .75rem;opacity:0;transition:opacity .2s}.media-gallery-item:hover .media-item-overlay{opacity:1}.media-item-name{display:block;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-item-date{display:block;color:#ffffffb3;font-size:11px;margin-top:2px}.media-gallery-files{display:flex;flex-direction:column;gap:.75rem}.media-file-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;text-decoration:none;color:inherit;transition:all .2s}.media-file-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-accent);transform:translate(4px)}.dark .media-file-item{background:var(--color-bg-tertiary)}.dark .media-file-item:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.media-file-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-bg-primary);border-radius:8px;color:var(--color-accent);flex-shrink:0}.dark .media-file-icon{background:var(--color-bg-secondary)}.media-file-info{flex:1;min-width:0}.media-file-name{display:block;font-weight:500;color:var(--color-text-primary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-file-meta{display:flex;align-items:center;gap:.5rem;font-size:12px;color:var(--color-text-secondary)}.media-file-download{color:var(--color-text-secondary);transition:color .2s}.media-file-item:hover .media-file-download{color:var(--color-accent)}@media (max-width: 768px){.media-gallery-overlay{padding:0}.media-gallery{max-width:100%;max-height:100vh;border-radius:0}.media-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.media-gallery-content{padding:1rem}}.attachment-audio-modern{display:flex;align-items:center;gap:8px;padding:4px 0 2px;min-width:200px;max-width:260px}.audio-play-btn-modern{flex-shrink:0;width:36px;height:36px;border-radius:var(--border-radius-full);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:color-mix(in srgb,currentColor 14%,transparent);color:inherit;transition:background var(--duration-fast) ease,transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.audio-play-btn-modern svg{width:18px;height:18px}.message-bubble-container.other .audio-play-btn-modern{background:var(--color-accent);color:#fff}.audio-play-btn-modern:hover{background:color-mix(in srgb,currentColor 24%,transparent);transform:scale(1.06)}.message-bubble-container.other .audio-play-btn-modern:hover{background:color-mix(in srgb,var(--color-accent) 85%,var(--color-text-primary))}.audio-play-btn-modern:active{transform:scale(.94)}.audio-play-btn-modern.playing{box-shadow:0 0 0 4px color-mix(in srgb,currentColor 12%,transparent)}.message-bubble-container.other .audio-play-btn-modern.playing{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 20%,transparent)}.audio-progress-container{flex:1;display:flex;flex-direction:column;gap:2px;min-width:120px}.audio-progress-modern{height:24px;display:flex;align-items:center;gap:2px;cursor:pointer}.message-bubble-container.other .audio-progress-modern{color:var(--color-accent)}.audio-waveform-bar{flex:1;min-width:1px;border-radius:var(--border-radius-full);background:color-mix(in srgb,currentColor 32%,transparent);transition:background var(--duration-fast) ease}.audio-waveform-bar.played{background:currentColor}.audio-progress-modern.decoding .audio-waveform-bar{animation:audio-waveform-decoding 1.2s ease-in-out infinite}@keyframes audio-waveform-decoding{0%,to{opacity:.5}50%{opacity:1}}.audio-time-modern{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:color-mix(in srgb,currentColor 72%,transparent);letter-spacing:.01em;font-variant-numeric:tabular-nums}@media (min-width: 480px) and (max-width: 639px){[data-card-grid]{grid-template-columns:repeat(2,1fr)!important}}.voice-recording-timer{flex:1;width:100%;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:10px;height:100%;min-height:40px;padding:6px 14px;background:var(--color-bg-secondary);border-radius:var(--radius-input)}.recording-indicator{width:8px;height:8px;border-radius:var(--border-radius-full);background:var(--color-error);animation:pulse-red 1.2s ease-in-out infinite;box-shadow:0 0 6px color-mix(in srgb,var(--color-error) 40%,transparent)}@keyframes pulse-red{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.timer-text{font-size:14px;font-weight:500;color:var(--color-text-primary);letter-spacing:.01em;min-width:40px;font-variant-numeric:tabular-nums}.recording-waveform{display:flex;align-items:center;justify-content:flex-start;gap:2px;flex:1;min-width:0;height:20px;overflow:hidden}.recording-waveform-bar{flex:0 0 auto;width:3px;border-radius:var(--border-radius-full);background:var(--color-accent);height:15%;transition:height var(--duration-fast) ease}.recording-waveform-bar.idle{opacity:.3}.voice-preview-modern{flex:1;width:100%;min-width:0;display:flex;align-items:center;gap:10px;height:100%;min-height:40px;padding:6px 12px 6px 6px;background:var(--color-bg-secondary);border-radius:var(--radius-input)}.preview-waveform{flex:1;min-width:0;height:22px;display:flex;align-items:center;justify-content:flex-start;gap:2px;overflow:hidden;cursor:pointer}.preview-waveform-bar{flex:0 0 auto;width:3px;border-radius:var(--border-radius-full);background:color-mix(in srgb,var(--color-text-muted) 45%,transparent);transition:background var(--duration-fast) ease}.preview-waveform-bar.played{background:var(--color-accent)}.preview-time-modern{flex-shrink:0;white-space:nowrap;font-size:11px;color:var(--color-text-secondary);letter-spacing:.01em;font-variant-numeric:tabular-nums}.input-row.voice-mode{align-items:center!important}.sticker-picker-panel{width:min(420px,calc(100vw - 32px));height:min(540px,72vh);display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:8px;overflow:hidden}.sticker-picker-panel .emoji-picker.emoji-picker-inline{width:100%;height:100%;flex:1;min-height:0;max-height:none}.sticker-picker-panel .emoji-picker.emoji-picker-inline .emoji-grid{grid-template-columns:repeat(9,minmax(0,1fr))}.sticker-picker-panel .emoji-picker.emoji-picker-inline .emoji-btn{max-width:none}.emoji-sticker-tabs{margin:2px 10px 4px;flex-shrink:0}.message-bubble-container.sticker.own .message-bubble,.message-bubble-container.sticker.other .message-bubble{background:transparent;box-shadow:none;padding:2px;color:var(--color-text-secondary)}.attachment-sticker{width:128px;max-width:100%}.attachment-sticker img{width:100%;height:auto;display:block}.message-bubble-container.sticker .message-content{padding:0}.slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.slider-thumb::-webkit-slider-track{height:6px;border-radius:3px;background:transparent}.slider-thumb::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent);cursor:pointer;box-shadow:0 1px 3px #0003;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.slider-thumb::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.slider-thumb::-webkit-slider-thumb:active{transform:scale(1.05)}.slider-thumb::-moz-range-track{height:6px;border-radius:3px;background:transparent}.slider-thumb::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--color-accent);cursor:pointer;box-shadow:0 1px 3px #0003;-moz-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.slider-thumb::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.slider-thumb::-moz-range-thumb:active{transform:scale(1.05)}.slider-thumb::-moz-range-progress{background:var(--color-accent);height:6px;border-radius:3px}@keyframes fadeInBounce{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.9)}50%{transform:translate(-50%) translateY(-5px) scale(1.05)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.join-game-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--color-accent) 0%,color-mix(in srgb,var(--color-accent) 65%,black) 100%);padding:1.5rem}.join-container{width:100%;max-width:450px}.join-header{text-align:center;margin-bottom:2rem}.join-title{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:.5rem;letter-spacing:-.02em}.join-subtitle{font-size:1.125rem;color:#ffffffe6;font-weight:500}.join-card{background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:1.5rem;padding:2rem;box-shadow:0 20px 60px #0000004d}.card-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem;text-align:center}.card-description{color:var(--color-text-secondary);text-align:center;margin-bottom:2rem;font-size:.875rem}.join-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{position:relative}.input-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem}.code-input{width:100%;padding:1rem;font-size:2rem;font-weight:700;text-align:center;letter-spacing:.5em;border:2px solid var(--color-border);border-radius:.75rem;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:ui-monospace,SF Mono,monospace;transition:all .2s}.code-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-primary);box-shadow:var(--shadow-focus)}.code-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.code-dot{width:12px;height:12px;border-radius:50%;background:var(--color-border-focus);transition:all .2s}.code-dot.filled{background:var(--color-accent);transform:scale(1.2)}.name-input{width:100%;padding:.875rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:.75rem;background:var(--color-bg-secondary);color:var(--color-text-primary);transition:all .2s}.name-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-primary);box-shadow:var(--shadow-focus)}.input-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:.5rem}.students-list{margin:1.5rem 0;padding:1rem;background:var(--color-bg-secondary);border-radius:.75rem}.list-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.75rem}.students-chips{display:flex;flex-wrap:wrap;gap:.5rem}.student-chip{padding:.375rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:9999px;font-size:.875rem;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.student-chip:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-focus)}.student-chip.selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.error-box{padding:.875rem 1rem;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:.5rem;color:var(--color-error);font-size:.875rem;font-weight:500}.btn-primary-large{width:100%;padding:1rem 1.5rem;background:var(--color-accent);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary-large:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 85%,black);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-accent) 40%,transparent)}.btn-primary-large:active:not(:disabled){transform:translateY(0)}.btn-primary-large:disabled{opacity:.5;cursor:not-allowed}.btn-secondary-large{padding:1rem 1.5rem;background:var(--color-bg-primary);color:var(--color-text-secondary);border:2px solid var(--color-border);border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary-large:hover{background:var(--color-bg-secondary);border-color:var(--color-border-focus)}.spinner-inline{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.success-check{width:64px;height:64px;margin:0 auto 1rem;background:var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.form-actions{display:flex;gap:1rem}.form-actions button{flex:1}.join-footer{text-align:center;margin-top:2rem;color:#ffffffe6;font-size:.875rem}@media (max-width: 640px){.join-game-page{padding:1rem}.join-title{font-size:2rem}.join-subtitle{font-size:1rem}.join-card{padding:1.5rem}.code-input{font-size:1.5rem;letter-spacing:.3em}}.ProseMirror .column-resize-handle{background-color:var(--color-accent)!important;bottom:0!important;cursor:col-resize!important;pointer-events:auto!important;position:absolute!important;right:-3px!important;top:0!important;width:6px!important;z-index:9999!important;opacity:.8;border-radius:3px;transition:opacity .2s,width .2s}.ProseMirror .column-resize-handle:hover{opacity:1;width:8px;right:-4px}.ProseMirror .tableWrapper,.ProseMirror table{position:relative;z-index:50!important;overflow:visible!important}.ProseMirror .selectedCell:after{z-index:2!important;background:var(--color-accent-bg)!important}.floating-textbox .ProseMirror p:has(>br.ProseMirror-trailingBreak:only-child){font-size:var(--caret-size, inherit)}.floating-textbox .ProseMirror,.floating-textbox .ProseMirror p{font-family:inherit;font-size:inherit}.floating-textbox[data-has-font] .ProseMirror,.floating-textbox[data-has-font] .ProseMirror p{line-height:1.15}.ProseMirror ::selection,.floating-textbox ::selection,.text-block-renderer ::selection{background:var(--color-accent);color:#fff}.ProseMirror ::-moz-selection,.floating-textbox ::-moz-selection,.text-block-renderer ::-moz-selection{background:var(--color-accent);color:#fff}.ProseMirror{overflow:visible!important}.ProseMirror table{overflow:visible}.resize-cursor,.ProseMirror.resize-cursor,.resize-cursor *{cursor:col-resize!important}.table-resize-enabled,.table-resize-enabled .ProseMirror,.text-block-renderer .ProseMirror,.editor-container .ProseMirror,.enhanced-text-editor-v3 .ProseMirror{overflow:visible!important}.table-resize-enabled .tableWrapper,.text-block-renderer .tableWrapper,.editor-container .tableWrapper,.enhanced-text-editor-v3 .tableWrapper{overflow:visible!important;position:relative}.table-resize-enabled .column-resize-handle,.text-block-renderer .column-resize-handle,.editor-container .column-resize-handle,.enhanced-text-editor-v3 .column-resize-handle{pointer-events:auto!important;z-index:9999!important;cursor:col-resize!important}.floating-textbox,.floating-image{transition:box-shadow .2s ease,border .2s ease}.floating-textbox .toolbar-handle,.floating-image .toolbar-handle{opacity:1;pointer-events:auto!important}.resize-handle{pointer-events:auto!important}@media (max-width: 639px){.diary-entry-container{padding-left:0!important;padding-right:0!important}.diary-entry-width{max-width:100%!important;margin-left:0!important;margin-right:0!important}.diary-content-card{border-radius:0!important;border-left-width:0!important;border-right-width:0!important}.diary-content-header{padding:.625rem .75rem!important}.diary-content-body{padding:.75rem!important}.diary-content-card{font-size:.875rem}.diary-content-card h2,.diary-content-card .text-lg{font-size:1rem!important}.diary-content-card .ProseMirror{padding-left:.75rem!important;padding-right:.75rem!important}.exercise-inline-container .exercise-content{padding-left:.5rem!important;padding-right:.5rem!important}.diary-content-card,.exercise-inline-container{--mobile-font-scale: .85}.exercise-inline-container .exercise-body,.exercise-inline-container .question-text,.exercise-inline-container .option-text,.exercise-inline-container .fill-blank-text{font-size:calc(var(--exercise-font-size, 1rem) * var(--mobile-font-scale, .85))!important}.exercise-inline-container button,.exercise-inline-container .option-button{font-size:.875rem!important;padding:.5rem .75rem!important}.diary-content-card{--rich-text-font-size: var(--font-size-sm);--rich-text-line-height: 1.5}.diary-content-card .prose,.diary-content-card .reading-content,.diary-content-card .dialogue-content{font-size:.875rem!important;line-height:1.5!important}.diary-content-header .w-10{width:2rem!important;height:2rem!important}.diary-content-header .w-9{width:1.75rem!important;height:1.75rem!important}.diary-content-header .gap-3{gap:.5rem!important}.diary-content-header .gap-4{gap:.75rem!important}}@media (max-width: 639px) and (orientation: landscape){.diary-entry-container,.diary-content-header{padding-top:.5rem!important;padding-bottom:.5rem!important}}.lesson-contents-wrapper{padding:0}.lesson-content-item{padding:.5rem 0}.inline-lesson-viewer .lesson-content-card{border:none!important;border-radius:0!important;box-shadow:none!important}.inline-lesson-viewer .diary-content-card,.inline-lesson-viewer .exercise-inline-container{border:none!important;border-radius:0!important;box-shadow:none!important;background-color:var(--color-bg-primary)!important}.inline-lesson-viewer .text-block-renderer,.inline-lesson-viewer .diary-content-card.text-block-renderer{border:none!important;border-radius:0!important;box-shadow:none!important}.inline-lesson-viewer .book-block-content .p-4{padding:1rem!important}.inline-lesson-viewer .book-block-content .p-3{padding:.75rem!important}.inline-lesson-viewer .book-block-content .p-2{padding:.5rem!important}.inline-lesson-viewer .book-block-content .p-1{padding:.25rem!important}.inline-lesson-viewer .book-block-content .p-6{padding:1.5rem!important}.inline-lesson-viewer .book-block-content .p-8{padding:2rem!important}.inline-lesson-viewer .book-block-content .px-4{padding-left:1rem!important;padding-right:1rem!important}.inline-lesson-viewer .book-block-content .px-2{padding-left:.5rem!important;padding-right:.5rem!important}.inline-lesson-viewer .book-block-content .mx-auto{margin-left:auto!important;margin-right:auto!important}.inline-lesson-viewer .book-block-content .rounded-md{border-radius:.375rem!important}.inline-lesson-viewer .book-block-content .rounded-lg{border-radius:.5rem!important}.inline-lesson-viewer .book-block-content .rounded-xl{border-radius:.75rem!important}.inline-lesson-viewer .book-block-content .rounded-sm{border-radius:.125rem!important}.inline-lesson-viewer .book-block-content .shadow-sm{box-shadow:0 1px 2px #0000000d!important}.inline-lesson-viewer .book-block-content .shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important}.inline-lesson-viewer .book-block-content .shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important}.inline-lesson-viewer .book-block-content .prose{font-size:inherit!important;line-height:inherit!important}.inline-lesson-viewer .book-block-content .prose-sm{font-size:.875rem!important;line-height:1.5714!important}.inline-lesson-viewer .book-block-content .mb-4{margin-bottom:1rem!important}.inline-lesson-viewer .book-block-content .mb-2{margin-bottom:.5rem!important}.inline-lesson-viewer .book-block-content .mb-1{margin-bottom:.25rem!important}.inline-lesson-viewer .book-block-content .mb-6{margin-bottom:1.5rem!important}.inline-lesson-viewer .book-block-content .mb-8{margin-bottom:2rem!important}.inline-lesson-viewer .book-block-content .text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.inline-lesson-viewer .book-block-content .text-2xl{font-size:1.5rem!important;line-height:2rem!important}.inline-lesson-viewer .book-block-content .text-xl{font-size:1.25rem!important;line-height:1.75rem!important}.inline-lesson-viewer .book-block-content .text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.inline-lesson-viewer .book-block-content .text-base{font-size:1rem!important;line-height:1.5rem!important}.inline-lesson-viewer .book-block-content .text-sm{font-size:.875rem!important;line-height:1.25rem!important}.inline-lesson-viewer .book-block-content .text-xs{font-size:.75rem!important;line-height:1rem!important}@media (min-width: 640px){.inline-lesson-viewer .book-block-content .sm\:text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.inline-lesson-viewer .book-block-content .sm\:text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.inline-lesson-viewer .book-block-content .sm\:text-2xl{font-size:1.5rem!important;line-height:2rem!important}.inline-lesson-viewer .book-block-content .sm\:prose-base{font-size:1rem!important;line-height:1.75!important}}.inline-lesson-viewer .book-block-content .border-l-4{border-left-width:4px!important;border-left-style:solid!important}.inline-lesson-viewer .book-block-content .gap-3{gap:.75rem!important}.inline-lesson-viewer .book-block-content .gap-2{gap:.5rem!important}.inline-lesson-viewer .book-block-content .gap-4{gap:1rem!important}.inline-lesson-viewer .book-block-content .w-8{width:2rem!important;height:auto!important}.inline-lesson-viewer .book-block-content .h-8{height:2rem!important}@media (max-width: 639px){.inline-lesson-viewer .lesson-entry-width,.inline-lesson-viewer .lesson-entry-width.max-w-xl,.inline-lesson-viewer .lesson-entry-width.max-w-3xl,.inline-lesson-viewer .lesson-entry-width.max-w-5xl,.inline-lesson-viewer .lesson-content-item{max-width:100%!important;margin-left:0!important;margin-right:0!important;width:100%!important}.inline-lesson-viewer .mx-auto{margin-left:0!important;margin-right:0!important}.inline-lesson-viewer .lesson-content-header,.inline-lesson-viewer .lesson-content-body{padding-left:.375rem!important;padding-right:.375rem!important}.inline-lesson-viewer .diary-content-header{padding:.5rem .375rem!important}.inline-lesson-viewer .exercise-inline-container{padding:0!important}.inline-lesson-viewer .exercise-inline-container>div:not(.diary-content-header){padding-left:.375rem!important;padding-right:.375rem!important}.inline-lesson-viewer .exercise-inline-container>div>div{padding-left:.375rem!important;padding-right:.375rem!important}.inline-lesson-viewer .matching-renderer,.inline-lesson-viewer .matching-duolingo-renderer,.inline-lesson-viewer .matching-turn-renderer,.inline-lesson-viewer .multiple-choice-renderer,.inline-lesson-viewer .open-questions-renderer,.inline-lesson-viewer .fill-blanks-renderer{padding-left:.25rem!important;padding-right:.25rem!important;margin-left:0!important;margin-right:0!important}.inline-lesson-viewer .matching-duolingo-renderer>div,.inline-lesson-viewer .matching-renderer>div,.inline-lesson-viewer .multiple-choice-renderer>div{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.inline-lesson-viewer .multiple-choice-renderer button{padding:.5rem!important;margin-left:0!important;margin-right:0!important}.inline-lesson-viewer .matching-duolingo-renderer .flex-wrap{gap:.375rem!important;padding:0!important}.inline-lesson-viewer .px-4,.inline-lesson-viewer .p-4,.inline-lesson-viewer .p-3{padding-left:.25rem!important;padding-right:.25rem!important}.inline-lesson-viewer .px-2{padding-left:.125rem!important;padding-right:.125rem!important}.inline-lesson-viewer .lesson-content-card{font-size:.875rem}.inline-lesson-viewer .lesson-content-header h3{font-size:.9375rem!important}.inline-lesson-viewer .lesson-content-header .w-8{width:1.75rem!important;height:1.75rem!important}.inline-lesson-viewer .lesson-content-header.gap-3{gap:.5rem!important}.inline-lesson-viewer .chained-nav-btn{padding:0!important;aspect-ratio:1 / 1!important;border-radius:9999px!important}.inline-lesson-viewer .text-block-renderer,.inline-lesson-viewer .lesson-text-block{border:none!important}.inline-lesson-viewer{--rich-text-font-size: var(--font-size-sm);--rich-text-line-height: 1.5}.inline-lesson-viewer .prose{font-size:.875rem!important;line-height:1.5!important}.inline-lesson-viewer .exercise-inline-container>div:nth-child(2){padding:.25rem!important}.inline-lesson-viewer .exercise-inline-container>div:nth-child(2)>div{padding:.25rem!important;margin:0!important}.inline-lesson-viewer .exercise-inline-container [style*=padding]{padding-left:.25rem!important;padding-right:.25rem!important}.inline-lesson-viewer .exercise-inline-container,.inline-lesson-viewer .exercise-inline-container>div,.inline-lesson-viewer .exercise-inline-container>div>div{max-width:100%!important;width:100%!important}.inline-lesson-viewer .video-renderer,.inline-lesson-viewer .video-container,.inline-lesson-viewer [class*=video]{padding-left:0!important;padding-right:0!important}.inline-lesson-viewer .book-block-content .p-4,.inline-lesson-viewer .book-block-content .p-3{padding:revert!important}.inline-lesson-viewer .book-block-content .p-4{padding:1rem!important}.inline-lesson-viewer .book-block-content .p-3{padding:.75rem!important}.inline-lesson-viewer .book-block-content .px-4{padding-left:1rem!important;padding-right:1rem!important}.inline-lesson-viewer .book-block-content .px-2{padding-left:.5rem!important;padding-right:.5rem!important}.inline-lesson-viewer .book-block-content .mx-auto{margin-left:auto!important;margin-right:auto!important}.inline-lesson-viewer .book-block-content .prose{font-size:inherit!important;line-height:inherit!important}.inline-lesson-viewer .book-block-content .gap-3{gap:.75rem!important}.inline-lesson-viewer .book-block-content .w-8{width:2rem!important}.inline-lesson-viewer .book-block-content .h-8{height:2rem!important}.inline-lesson-viewer .book-block-content button{padding:revert!important}}@media (max-width: 639px) and (orientation: landscape){.lesson-content-item{padding:.25rem 0}.inline-lesson-viewer .lesson-content-header{padding-top:.375rem!important;padding-bottom:.375rem!important}}@media (max-width: 639px){.class-daily-log .diary-entry-width,.class-daily-log .diary-entry-width.max-w-xl,.class-daily-log .diary-entry-width.max-w-3xl,.class-daily-log .diary-entry-width.max-w-5xl{max-width:100%!important;margin-left:0!important;margin-right:0!important;width:100%!important}.class-daily-log .mx-auto{margin-left:0!important;margin-right:0!important}.class-daily-log .diary-entry-container{padding:0!important;background-color:var(--color-bg-secondary)!important}.class-daily-log .diary-content-card,.class-daily-log .exercise-inline-container,.class-daily-log .exercise-container,.class-daily-log .game-layout,.class-daily-log .game-layout>div{border-left:none!important;border-right:none!important;border-radius:0!important;border-top:none!important}.class-daily-log .diary-content-card>div[class*=rounded],.class-daily-log .exercise-inline-container>div[class*=rounded],.class-daily-log>div[class*=rounded]{border-radius:0!important}.class-daily-log .diary-content-card{border-bottom:1px solid var(--color-border)!important}.class-daily-log .matching-duolingo-renderer button.p-2.rounded-lg,.class-daily-log .matching-renderer button.p-2.rounded-lg,.class-daily-log .multiple-choice-renderer button.p-2.rounded-lg{border-radius:9999px!important;padding:.375rem!important}.class-daily-log .diary-content-header{padding:.5rem .375rem!important}.class-daily-log .diary-content-body,.class-daily-log .px-8,.class-daily-log .px-6{padding-left:.375rem!important;padding-right:.375rem!important}.class-daily-log .px-4{padding-left:.25rem!important;padding-right:.25rem!important}.class-daily-log .p-6,.class-daily-log .p-4{padding:.375rem!important}.class-daily-log .matching-renderer,.class-daily-log .matching-duolingo-renderer,.class-daily-log .matching-turn-renderer,.class-daily-log .multiple-choice-renderer,.class-daily-log .word-highlight-renderer,.class-daily-log .open-questions-renderer,.class-daily-log .fill-blanks-renderer{padding-left:.25rem!important;padding-right:.25rem!important;margin-left:0!important;margin-right:0!important}.class-daily-log .matching-duolingo-renderer>div,.class-daily-log .matching-renderer>div,.class-daily-log .multiple-choice-renderer>div{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.class-daily-log .multiple-choice-renderer button{padding:.5rem!important;margin-left:0!important;margin-right:0!important}.class-daily-log .matching-duolingo-renderer .flex-wrap{gap:.375rem!important;padding:0!important}.class-daily-log .video-renderer,.class-daily-log .video-container,.class-daily-log [class*=video]{padding-left:0!important;padding-right:0!important}.class-daily-log .exercise-inline-container,.class-daily-log .exercise-inline-container>div,.class-daily-log .exercise-inline-container>div>div{max-width:100%!important;width:100%!important}.class-daily-log .exercise-inline-container{padding:0!important}.class-daily-log .exercise-inline-container>div:nth-child(2){padding:.25rem!important}.class-daily-log .exercise-inline-container>div:nth-child(2)>div{padding:.25rem!important;margin:0!important}.class-daily-log .diary-content-card{font-size:.875rem}.class-daily-log .diary-content-header h2{font-size:.9375rem!important}.class-daily-log .diary-content-header .w-10,.class-daily-log .diary-content-header .w-9{width:1.75rem!important;height:1.75rem!important}.class-daily-log .diary-content-header .gap-3{gap:.5rem!important}.class-daily-log{--rich-text-font-size: var(--font-size-sm);--rich-text-line-height: 1.5}.class-daily-log .prose{font-size:.875rem!important;line-height:1.5!important}.class-daily-log .text-block-renderer{border-left:none!important;border-right:none!important;border-radius:0!important}}@media (max-width: 639px) and (orientation: landscape){.class-daily-log .diary-content-header{padding-top:.25rem!important;padding-bottom:.25rem!important}}.live-game-student{min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column;padding:1rem}.student-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;padding:1rem;background:var(--color-bg-secondary);border-radius:.75rem;border:1px solid var(--color-border)}.student-info{flex:1}.student-name-display{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.student-stats{display:flex;gap:1rem;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--color-text-secondary)}.stat-label{color:var(--color-text-secondary)}.stat-value{font-weight:700;font-size:1rem;color:var(--color-accent)}.student-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.student-loading .spinner{border-color:var(--color-border);border-top-color:var(--color-accent)}.student-loading p{color:var(--color-text-secondary)}.student-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem}.student-error p{color:var(--color-text-primary);font-size:1.125rem}.student-waiting{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.5rem;padding:2rem}.student-waiting h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.waiting-animation{display:flex;gap:.75rem;margin-bottom:1rem}.waiting-dot{width:1rem;height:1rem;background:var(--color-accent);border-radius:50%;animation:waitingBounce 1.4s infinite ease-in-out both}.waiting-dot:nth-child(1){animation-delay:-.32s}.waiting-dot:nth-child(2){animation-delay:-.16s}@keyframes waitingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.waiting-text{font-size:1rem;color:var(--color-text-secondary)}.connected-indicator{display:flex;align-items:center;gap:.5rem;background:var(--color-bg-tertiary);padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;color:var(--color-text-primary);border:1px solid var(--color-border)}.dot-connected{width:.5rem;height:.5rem;background:var(--color-success);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.student-paused{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem}.student-paused h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.student-paused p{color:var(--color-text-secondary)}.student-turn{flex:1;display:flex;flex-direction:column;gap:1rem}.turn-banner{background:var(--color-accent);color:#fff;padding:1rem;border-radius:.5rem;text-align:center;font-size:1.125rem;font-weight:700;border:2px solid var(--color-accent-dark)}.turn-icon{display:inline-block;margin:0 .25rem}.question-info{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-tertiary);border-radius:.5rem;font-size:.875rem;border:1px solid var(--color-border)}.question-counter{font-weight:600;color:var(--color-text-secondary)}.time-display{font-weight:700;padding:.25rem .75rem;background:var(--color-bg-secondary);border-radius:1rem;color:var(--color-accent);border:1px solid var(--color-accent)}.time-display.warning{background:var(--color-error);color:#fff;border-color:var(--color-error-dark);animation:blink 1s infinite}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.5}}@keyframes tanim-glow-pulse{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 10px var(--tanim-glow-color))}}@keyframes tanim-blink{0%,50%{opacity:1}50.01%,to{opacity:.2}}@keyframes tanim-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes tanim-color-cycle{0%{filter:drop-shadow(0 0 9px var(--color-vivid-red))}17%{filter:drop-shadow(0 0 9px var(--color-vivid-orange))}34%{filter:drop-shadow(0 0 9px var(--color-vivid-yellow))}50%{filter:drop-shadow(0 0 9px var(--color-vivid-green))}67%{filter:drop-shadow(0 0 9px var(--color-vivid-blue))}84%{filter:drop-shadow(0 0 9px var(--color-vivid-violet))}to{filter:drop-shadow(0 0 9px var(--color-vivid-red))}}.question-text-mobile{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:1.5rem;border-radius:.5rem;font-size:1.25rem;font-weight:600;border:1px solid var(--color-border);line-height:1.5}.error-message{background:var(--color-error-bg);color:var(--color-error);padding:.75rem 1rem;border-radius:.5rem;text-align:center;font-size:.875rem;border:1px solid var(--color-error)}.options-mobile{display:flex;flex-direction:column;gap:.75rem}.option-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:2px solid var(--color-border);padding:1rem;border-radius:.5rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s;font-size:1rem;text-align:left}.option-button:hover{transform:translateY(-2px);border-color:var(--color-accent);background:var(--color-bg-hover)}.option-button:active{transform:scale(.98)}.option-button:disabled{opacity:.6;cursor:not-allowed}.option-disabled{opacity:.5;cursor:default;pointer-events:none}.option-disabled:hover{transform:none;border-color:var(--color-border);background:var(--color-bg-tertiary)}.option-letter-mobile{background:var(--color-accent);color:#fff;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.125rem;flex-shrink:0}.option-text-mobile{flex:1;font-weight:500;line-height:1.4}.submitting-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;z-index:1000}.submitting-overlay p{color:#fff;font-weight:600}.spinner-small{width:3rem;height:3rem;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-fast 1s linear infinite}@keyframes spin-fast{to{transform:rotate(360deg)}}.answer-submitted{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem}.answer-submitted h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.answer-submitted p{color:var(--color-text-secondary)}.checkmark-circle{width:5rem;height:5rem;background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;animation:pop-in .5s ease-out}@keyframes pop-in{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.student-waiting-turn{flex:1;display:flex;flex-direction:column;gap:1.5rem}.not-turn-message{background:var(--color-bg-secondary);padding:1.5rem;border-radius:.5rem;text-align:center;border:1px solid var(--color-border)}.not-turn-message h2{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text-primary)}.not-turn-message strong{color:var(--color-accent)}.not-turn-message p{color:var(--color-text-secondary);font-size:.875rem}.scoreboard-mini{background:var(--color-bg-secondary);padding:1rem;border-radius:.5rem;border:1px solid var(--color-border)}.scoreboard-mini h3{text-align:center;margin-bottom:1rem;font-size:1.125rem;font-weight:700;color:var(--color-text-primary)}.mini-scores{display:flex;flex-direction:column;gap:.5rem}.mini-score-item{background:var(--color-bg-tertiary);padding:.75rem 1rem;border-radius:.5rem;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-border)}.mini-score-item.current{background:var(--color-accent);border-color:var(--color-accent-dark)}.mini-score-item.current .mini-name,.mini-score-item.current .mini-score{color:#fff}.mini-score-item.me{border:2px solid var(--color-accent)}.mini-name{font-weight:600;color:var(--color-text-primary)}.mini-score{font-weight:800;font-size:1.125rem;color:var(--color-accent)}.student-finished{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2rem;padding:2rem}.student-finished h1{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.final-rank{display:flex;flex-direction:column;align-items:center;gap:1rem}.final-rank p{color:var(--color-text-secondary);font-size:1rem}.rank-circle{width:8rem;height:8rem;background:linear-gradient(135deg,color-mix(in srgb,var(--color-vivid-yellow) 75%,white),var(--color-vivid-yellow));color:color-mix(in srgb,var(--color-vivid-yellow) 35%,black);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:800;box-shadow:0 4px 12px #00000026}.final-stats{display:flex;gap:2rem;margin-top:1rem}.final-stat{text-align:center;background:var(--color-bg-secondary);padding:1.5rem;border-radius:.5rem;border:1px solid var(--color-border);min-width:120px}.final-stat-value{font-size:2.5rem;font-weight:800;margin-bottom:.5rem;color:var(--color-accent)}.final-stat-label{font-size:1rem;color:var(--color-text-secondary)}.spinner{width:3rem;height:3rem;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin-fast 1s linear infinite}@media (max-width: 640px){.student-name-display{font-size:1.125rem}.student-stats{font-size:.75rem}.stat-value{font-size:.875rem}.question-text-mobile{font-size:1.125rem;padding:1.25rem}.option-button{padding:.875rem}.option-letter-mobile{width:2rem;height:2rem;font-size:1rem}.option-text-mobile{font-size:.875rem}}.content-player{width:100%;max-width:100%;display:flex;flex-direction:column;height:100%}.content-player-header,.content-player-body,.content-player-footer{width:100%;max-width:100%}.content-player-body{flex:1;overflow-y:auto;padding:1.5rem}.content-player-header{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #f9fafb)}.content-header-info{display:flex;flex-direction:column;gap:.5rem}.content-type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:color-mix(in oklab,var(--color-accent) 15%,var(--color-bg-primary));color:var(--color-accent, #5b6b8f);border-radius:9999px;font-size:.75rem;font-weight:500;width:-moz-fit-content;width:fit-content}.content-progress-info{display:flex;align-items:center;gap:1rem;color:var(--color-text-secondary, #6b7280);font-size:.875rem}.content-progress-info span{display:inline-flex;align-items:center;gap:.25rem}.content-player-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-secondary, #f9fafb)}.footer-left,.footer-navigation{display:flex;align-items:center;gap:.5rem}.btn-mark-complete{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--color-success, #22c55e);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-mark-complete:hover{background:var(--color-success-hover, #16a34a)}.completed-indicator{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--color-success-bg);color:var(--color-success, #22c55e);border-radius:.5rem;font-size:.875rem;font-weight:500}.btn-nav{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem;color:var(--color-text-secondary, #6b7280);font-size:.875rem;cursor:pointer;transition:all .15s ease}.btn-nav:hover:not(:disabled){background:var(--color-bg-tertiary, #f3f4f6);color:var(--color-text-primary, #111827)}.btn-nav:disabled{opacity:.5;cursor:not-allowed}.btn-nav-next{background:var(--color-accent, #5b6b8f);color:#fff;border-color:var(--color-accent, #5b6b8f)}.btn-nav-next:hover:not(:disabled){background:var(--color-accent-hover, #4a5a7f);color:#fff}.content-player .loading-container,.content-player .error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;min-height:300px}.content-player .error-icon{margin-bottom:1rem}.content-player .error-container h2{font-size:1.25rem;font-weight:600;color:var(--color-text-primary, #111827);margin-bottom:.5rem}.content-player .error-container p{color:var(--color-text-secondary, #6b7280);margin-bottom:1rem}.standalone-exercise-viewer{width:100%;min-height:100%;background:var(--color-bg-primary)}.standalone-exercise-viewer .exercise-inline-container,.standalone-exercise-viewer .diary-content-card{border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important}.standalone-exercise-viewer .diary-content-header{padding:.75rem 1rem!important}.standalone-exercise-viewer .diary-content-body,.standalone-exercise-viewer .exercise-inline-container>div:nth-child(2){padding:.5rem 1rem!important}@media (max-width: 639px){.standalone-exercise-viewer .diary-content-header{padding:.5rem .75rem!important}.standalone-exercise-viewer .diary-content-body,.standalone-exercise-viewer .exercise-inline-container>div:nth-child(2){padding:.25rem .5rem!important}.standalone-exercise-viewer .exercise-inline-container,.standalone-exercise-viewer .exercise-inline-container>div{max-width:100%!important;width:100%!important}}.inline-icon{display:inline-block;vertical-align:middle}.dark .content-player-header,.dark .content-player-footer{background:var(--color-bg-secondary, #1f2937);border-color:var(--color-border, #374151)}.dark .content-type-badge{background:#5b6b8f33}.dark .btn-nav{border-color:var(--color-border, #374151);color:var(--color-text-secondary, #9ca3af)}.dark .btn-nav:hover:not(:disabled){background:var(--color-bg-tertiary, #374151);color:var(--color-text-primary, #f9fafb)}.content-video,.content-container{width:100%;max-width:100%}.content-video iframe,.video-renderer iframe,[class*=video] iframe{pointer-events:auto!important;touch-action:manipulation!important;-webkit-touch-callout:default!important;position:relative;z-index:1}.content-video,.video-renderer{position:relative;touch-action:manipulation}.video-time-separator{margin:0 1px}@media (max-width: 399px){.video-controls-bar{padding:.5rem!important}.video-controls-bar>div{gap:.25rem!important}.video-btn-secondary{display:none!important}.video-controls-bar button{padding:.25rem!important}}@media (min-width: 400px){.video-btn-secondary{display:flex!important}}.course-viewer{width:100%;max-width:100%;display:flex;flex-direction:column;height:100%}.course-viewer-header,.tab-content{width:100%;max-width:100%}@keyframes speakingPulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes speakingGlow{0%{box-shadow:0 0 8px 2px #4a9f7c99}50%{box-shadow:0 0 20px 8px #4a9f7ce6}to{box-shadow:0 0 8px 2px #4a9f7c99}}.floating-video-bubble{backface-visibility:hidden;-webkit-backface-visibility:hidden}.floating-video-bubble:hover{filter:brightness(1.05)}.floating-video-bubble:active{cursor:grabbing}.speaking-ring-animation{animation:speakingPulse 1.2s ease-in-out infinite}.floating-video-layout{scrollbar-width:none;-ms-overflow-style:none}.floating-video-layout::-webkit-scrollbar{display:none}.floating-video-layout .lk-control-bar{background:#000000b3!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1)!important;border-radius:16px 16px 0 0}.floating-video-layout .lk-control-bar .lk-button{border-radius:50%!important;width:44px!important;height:44px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.floating-video-layout .lk-control-bar .lk-disconnect-button{background:#c85a54e6!important}.floating-video-layout .lk-control-bar .lk-disconnect-button:hover{background:#c85a54!important}.bubble-resize-handle:hover{background:#fff6!important}.bubble-resize-handle:active{background:#4a9f7ce6!important}.bubble-name-label span{transition:transform .15s ease,background .15s ease}.bubble-settings-panel{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.bubble-settings-panel::-webkit-scrollbar{width:4px}.bubble-settings-panel::-webkit-scrollbar-track{background:transparent}.bubble-settings-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.bubble-settings-panel::-webkit-scrollbar-thumb:hover{background:#ffffff40}.bubble-settings-panel input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:#ffffff26;outline:none}.bubble-settings-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--color-success);cursor:pointer;border:2px solid rgba(255,255,255,.3);-webkit-transition:transform .15s ease;transition:transform .15s ease}.bubble-settings-panel input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.bubble-settings-panel input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--color-success);cursor:pointer;border:2px solid rgba(255,255,255,.3)}.landing-page{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.dark .landing-page{background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%)}.container{max-width:1280px;margin:0 auto;padding:0 24px}.landing-nav{position:sticky;top:0;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md);z-index:1000;padding:12px 0;border-bottom:1px solid var(--color-border)}.dark .landing-nav{background:#09090bf2;box-shadow:var(--shadow-lg);border-bottom:1px solid rgba(244,244,245,.1)}.nav-container{display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:32px;color:var(--color-text-primary)}.nav-links{display:flex;align-items:center;gap:32px}.nav-links a{text-decoration:none;color:var(--color-text-secondary);font-weight:500;transition:color .3s}.nav-links a:hover{color:var(--color-text-primary)}.btn{padding:12px 24px;border-radius:12px;font-weight:600;font-size:16px;border:none;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-block}.btn-primary{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--color-bg-primary)}.hero-section{padding:120px 0;color:var(--color-text-primary);position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%)}.dark .hero-section{color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%)}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(99,102,241,.05) 0%,transparent 50%);pointer-events:none}.dark .hero-section:before{background:radial-gradient(circle at 20% 50%,rgba(244,244,245,.03) 0%,transparent 50%)}.hero-content{max-width:800px;margin:0 auto;text-align:center}.hero-title{font-size:56px;font-weight:800;line-height:1.2;margin-bottom:24px;color:var(--color-text-primary)}.dark .hero-title{color:var(--color-text-primary)}.gradient-text{background:linear-gradient(135deg,var(--color-accent) 0%,color-mix(in oklab,var(--color-accent) 70%,var(--color-bg-primary)) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dark .gradient-text{background:linear-gradient(135deg,color-mix(in oklab,var(--color-accent) 70%,var(--color-bg-primary)),color-mix(in oklab,var(--color-info) 70%,var(--color-bg-primary)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:20px;line-height:1.6;margin-bottom:32px;opacity:.9;color:var(--color-text-secondary)}.dark .hero-description{color:var(--color-text-secondary)}.hero-buttons{display:flex;gap:16px;margin-bottom:48px;justify-content:center}.hero-stats{display:flex;gap:48px;padding-top:32px;border-top:1px solid var(--color-border);justify-content:center}.dark .hero-stats{border-top:1px solid rgba(244,244,245,.2)}.stat{text-align:center}.stat-number{font-size:36px;font-weight:700;margin-bottom:8px;color:var(--color-text-primary)}.dark .stat-number{color:var(--color-text-primary)}.stat-label{font-size:14px;opacity:.7;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary)}.dark .stat-label{color:var(--color-text-muted)}.dark .mockup-screen{background:var(--color-bg-secondary);box-shadow:0 8px 24px #0006}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dark .demo-option{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border)}.dark .demo-option:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.features-section{background:var(--color-bg-secondary);padding:120px 0;position:relative}.dark .features-section{background:var(--color-bg-primary)}.landing-section-header{text-align:center;margin-bottom:64px}.landing-section-title{font-size:48px;font-weight:700;color:var(--color-text-primary);margin-bottom:16px}.landing-section-subtitle{font-size:20px;color:var(--color-text-secondary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;max-width:1200px;margin:0 auto}@media (min-width: 1024px){.features-grid{grid-template-columns:repeat(3,1fr)}}.dark .benefits-section{background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);color:var(--color-text-primary)}.dark .benefits-section:before{background:radial-gradient(circle at 80% 20%,rgba(244,244,245,.02) 0%,transparent 50%)}.dark .mockup-card{background:var(--color-bg-tertiary);color:var(--color-text-primary);box-shadow:0 8px 24px #0000004d;border:1px solid var(--color-border)}.card-header{font-size:20px;font-weight:600;margin-bottom:16px;color:inherit}.dark .mini-stat{background:var(--color-bg-secondary);color:var(--color-text-primary)}.dark .pricing-section{background:var(--color-bg-primary)}.dark .popular-badge{background:var(--color-accent);color:#fff}.price{display:flex;align-items:baseline;justify-content:center;gap:4px}.faq-section{background:var(--color-bg-primary);padding:120px 0;position:relative}.faq-container{max-width:800px;margin:0 auto}.faq-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;margin-bottom:16px;overflow:hidden;cursor:pointer;transition:all .3s}.faq-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-focus)}.dark .faq-item:hover{box-shadow:var(--shadow-lg)}.faq-question{padding:24px;display:flex;justify-content:space-between;align-items:center}.faq-question h4{color:var(--color-text-primary);font-size:18px;margin:0}.faq-icon{font-size:24px;color:var(--color-text-primary);font-weight:300}.faq-answer{padding:0 24px 24px;color:var(--color-text-secondary);line-height:1.6;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cta-section{background:var(--color-accent);padding:120px 0;color:#fff;text-align:center;position:relative;overflow:hidden}.dark .cta-section{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%)}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.dark .cta-section:before{background:radial-gradient(circle at 50% 50%,rgba(244,244,245,.03) 0%,transparent 50%)}.cta-title{font-size:48px;font-weight:700;margin-bottom:16px;color:#fff}.cta-description{font-size:20px;margin-bottom:32px;opacity:.95;color:#fff}.dark .cta-description{color:var(--color-text-secondary)}.cta-buttons{display:flex;gap:16px;justify-content:center}.landing-footer{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:60px 0 30px;border-top:1px solid var(--color-border)}.dark .landing-footer{background:var(--color-bg-primary);color:#fff;border-top:1px solid rgba(244,244,245,.1)}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.footer-brand h3{font-size:24px;margin-bottom:12px;color:var(--color-text-primary)}.dark .footer-brand h3{color:var(--color-text-primary)}.footer-brand p{color:var(--color-text-secondary)}.dark .footer-brand p{color:var(--color-text-muted)}.footer-column h4{margin-bottom:16px;font-size:16px;color:var(--color-text-primary)}.dark .footer-column h4{color:var(--color-text-primary)}.footer-column a{display:block;color:var(--color-text-secondary);text-decoration:none;margin-bottom:12px;transition:color .3s}.dark .footer-column a{color:var(--color-text-muted)}.footer-column a:hover,.dark .footer-column a:hover{color:var(--color-text-primary)}.footer-bottom{text-align:center;padding-top:30px;border-top:1px solid var(--color-border);color:var(--color-text-secondary)}.dark .footer-bottom{color:var(--color-text-muted)}.inline-icon{display:inline;vertical-align:middle;margin-right:8px;color:var(--color-success)}@media (max-width: 1024px){.hero-content,.benefit-item{grid-template-columns:1fr;gap:48px}.features-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:repeat(2,1fr);gap:24px}.hero-title{font-size:44px}.landing-section-title{font-size:40px}}@media (max-width: 768px){.container{padding:0 20px}.nav-links{gap:16px}.nav-links a{display:none}.landing-nav{padding:10px 0}.hero-section,.features-section,.benefits-section,.pricing-section,.faq-section,.cta-section{padding:48px 0}.hero-title{font-size:28px;line-height:1.2}.hero-description{font-size:16px;line-height:1.5}.hero-image,.benefit-image{display:none}.hero-stats{flex-direction:row;gap:16px;justify-content:space-around}.stat-number{font-size:28px}.stat-label{font-size:12px}.features-grid,.pricing-grid{grid-template-columns:1fr}.landing-section-title{font-size:32px}.landing-section-subtitle{font-size:16px}.footer-content{grid-template-columns:1fr;gap:32px}.cta-buttons,.hero-buttons{flex-direction:column}.btn{width:100%}.cta-title{font-size:36px}}@media (max-width: 480px){.hero-title,.landing-section-title{font-size:24px}.hero-stats{gap:8px}.stat-number{font-size:20px}.hero-section,.features-section,.benefits-section,.pricing-section,.faq-section,.cta-section{padding:32px 0}}.card-scrim{background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.75) 30%,rgba(0,0,0,.35) 55%,transparent 85%)}.card-scrim-soft{background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.4) 40%,transparent 90%)}.card-scrim-light{background:linear-gradient(to top,rgba(255,255,255,.9) 0%,rgba(255,255,255,.65) 35%,transparent 90%)}.text-on-image{text-shadow:0 1px 3px rgba(0,0,0,.6),0 1px 10px rgba(0,0,0,.35)}.text-on-image-strong{text-shadow:0 1px 2px rgba(0,0,0,.85),0 2px 14px rgba(0,0,0,.5)}.card-tone-info{background:radial-gradient(ellipse 130% 80% at 50% 32%,var(--color-info-bg) 0%,var(--color-bg-secondary) 62%)}.card-tone-success{background:radial-gradient(ellipse 130% 80% at 50% 32%,var(--color-success-bg) 0%,var(--color-bg-secondary) 62%)}.card-tone-warning{background:radial-gradient(ellipse 130% 80% at 50% 32%,var(--color-warning-bg) 0%,var(--color-bg-secondary) 62%)}.card-tone-error{background:radial-gradient(ellipse 130% 80% at 50% 32%,var(--color-error-bg) 0%,var(--color-bg-secondary) 62%)}.card-tone-accent{background:radial-gradient(ellipse 130% 80% at 50% 32%,var(--color-accent-bg) 0%,var(--color-bg-secondary) 62%)}.card-halo-info{box-shadow:0 0 32px -4px var(--color-info-border)}.card-halo-success{box-shadow:0 0 32px -4px var(--color-success-border)}.card-halo-warning{box-shadow:0 0 32px -4px var(--color-warning-border)}.card-halo-error{box-shadow:0 0 32px -4px var(--color-error-border)}.card-halo-accent{box-shadow:0 0 32px -4px var(--color-accent-border)}.card-rarity-epic:hover{box-shadow:0 0 0 1px var(--color-accent),0 8px 24px #0000001a}.card-rarity-legendary{position:relative}.card-rarity-legendary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--color-warning);opacity:.35;transition:opacity var(--duration-base) ease}.card-rarity-legendary:hover:after{opacity:1}.card-rarity-legendary:hover{box-shadow:0 0 0 1px var(--color-warning),0 10px 28px #00000024}.house-skin-default{--house-wall: var(--color-bg-tertiary);--house-wall-shadow: var(--color-bg-hover);--house-floor: var(--color-bg-secondary);--house-floor-alt: var(--color-bg-primary);--house-zone-fill: rgba(91, 107, 143, .1);--house-zone-highlight: var(--color-accent);--house-avatar-body: var(--color-text-primary);--house-avatar-hair: var(--color-text-secondary);--house-avatar-shirt: var(--color-accent);--house-furniture-wood: #a08164;--house-furniture-fabric: var(--color-accent);--house-bg: var(--color-bg-primary);--house-zone-completed: #16a34a}.house-skin-night{--house-wall: #1e1b3a;--house-wall-shadow: #110f24;--house-floor: #2a2750;--house-floor-alt: #353063;--house-zone-fill: rgba(139, 92, 246, .18);--house-zone-highlight: #8b5cf6;--house-avatar-body: #0f0d1c;--house-avatar-hair: #e0d9f5;--house-avatar-shirt: #8b5cf6;--house-furniture-wood: #4a3a6e;--house-furniture-fabric: #c084fc;--house-bg: #0f0d1c;--house-zone-completed: #22c55e}.house-skin-retro{--house-wall: #d97757;--house-wall-shadow: #b35a3e;--house-floor: #f7e8c8;--house-floor-alt: #f5d8a3;--house-zone-fill: rgba(34, 139, 84, .18);--house-zone-highlight: #228b54;--house-avatar-body: #3a2410;--house-avatar-hair: #6b3410;--house-avatar-shirt: #d97757;--house-furniture-wood: #8b5a2b;--house-furniture-fabric: #e0a040;--house-bg: #f7e8c8;--house-zone-completed: #84cc16}.house-skin-minimal{--house-wall: #d4d4d8;--house-wall-shadow: #a1a1aa;--house-floor: #fafafa;--house-floor-alt: #f4f4f5;--house-zone-fill: rgba(82, 82, 91, .1);--house-zone-highlight: #52525b;--house-avatar-body: #18181b;--house-avatar-hair: #52525b;--house-avatar-shirt: #71717a;--house-furniture-wood: #a1a1aa;--house-furniture-fabric: #71717a;--house-bg: #fafafa;--house-zone-completed: #22c55e}.house-skin-kenney{--house-wall: var(--color-bg-tertiary);--house-wall-shadow: var(--color-bg-hover);--house-floor: var(--color-bg-secondary);--house-floor-alt: var(--color-bg-primary);--house-zone-fill: rgba(91, 107, 143, .1);--house-zone-highlight: var(--color-accent);--house-avatar-body: var(--color-text-primary);--house-avatar-hair: var(--color-text-secondary);--house-avatar-shirt: var(--color-accent);--house-furniture-wood: #a17856;--house-furniture-fabric: #5b6b8f;--house-bg: var(--color-bg-primary);--house-zone-completed: #16a34a}.trail-skin-classic{--trail-bg: var(--color-bg-primary);--trail-track: var(--color-border);--trail-track-done: var(--color-success);--trail-node-done-bg: var(--color-success);--trail-node-done-edge: var(--color-success-dark);--trail-node-current-bg: var(--color-accent);--trail-node-current-edge: var(--color-accent-dark);--trail-node-locked-bg: var(--color-bg-tertiary);--trail-node-locked-edge: var(--color-border);--trail-node-locked-fg: var(--color-text-muted);--trail-node-goal-bg: var(--color-warning);--trail-node-goal-edge: var(--color-warning-dark);--trail-node-oncolor-fg: #ffffff;--trail-ring-fill: var(--color-warning);--trail-ring-rest: var(--color-bg-tertiary);--trail-bubble-bg: var(--color-accent);--trail-bubble-fg: #ffffff;--trail-label-fg: var(--color-text-secondary);--trail-pulse-color: var(--color-accent);--trail-pulse-duration: 1.8s;--trail-bob-duration: 2.2s;--trail-ambient-bg: var(--color-bg-primary);--trail-ambient-surface: var(--color-bg-secondary);--trail-ambient-surface-alt: var(--color-bg-tertiary);--trail-ambient-fg: var(--color-text-primary);--trail-ambient-fg-secondary: var(--color-text-secondary);--trail-ambient-fg-muted: var(--color-text-muted);--trail-ambient-border: var(--color-border);--trail-ambient-accent: var(--color-accent);--trail-ambient-accent-dark: var(--color-accent-dark)}.trail-skin-space{--trail-bg: var(--color-bg-primary);--trail-track: #4a5590;--trail-track-done: #34d399;--trail-node-done-bg: #10b981;--trail-node-done-edge: #047857;--trail-node-current-bg: #8b5cf6;--trail-node-current-edge: #6d28d9;--trail-node-locked-bg: #272b4a;--trail-node-locked-edge: #14162b;--trail-node-locked-fg: #8188b5;--trail-node-goal-bg: #f59e0b;--trail-node-goal-edge: #b45309;--trail-node-oncolor-fg: #ffffff;--trail-ring-fill: #fbbf24;--trail-ring-rest: #272b4a;--trail-bubble-bg: #8b5cf6;--trail-bubble-fg: #ffffff;--trail-label-fg: #c7cdf4;--trail-pulse-color: #8b5cf6;--trail-pulse-duration: 1.8s;--trail-bob-duration: 2.2s;--trail-decoration-opacity: .9;--trail-ambient-bg: #0b1020;--trail-ambient-surface: #141a2e;--trail-ambient-surface-alt: #1e2540;--trail-ambient-fg: #eef1fb;--trail-ambient-fg-secondary: #c7cdf4;--trail-ambient-fg-muted: #8188b5;--trail-ambient-border: #2a3152;--trail-ambient-accent: #8b5cf6;--trail-ambient-accent-dark: #6d28d9}.trail-skin-jungle{--trail-bg: var(--color-bg-primary);--trail-board-bg: #14532d;--trail-track: #9bb89b;--trail-track-done: #facc15;--trail-track-width: 7px;--trail-node-radius: 20px;--trail-node-done-bg: #16a34a;--trail-node-done-edge: #107535;--trail-node-current-bg: #f59e0b;--trail-node-current-edge: #b07208;--trail-node-locked-bg: #1f3d2b;--trail-node-locked-edge: #1a3425;--trail-node-locked-fg: #9fc4ab;--trail-node-goal-bg: #facc15;--trail-node-goal-edge: #b4930f;--trail-node-oncolor-fg: #ffffff;--trail-ring-fill: #facc15;--trail-ring-rest: #1f3d2b;--trail-bubble-bg: #f59e0b;--trail-bubble-fg: #ffffff;--trail-label-fg: #eafbe7;--trail-pulse-color: #f59e0b;--trail-pulse-duration: 1.8s;--trail-bob-duration: 2.2s;--trail-decoration-opacity: .95;--trail-ambient-bg: #0e2f1c;--trail-ambient-surface: #14532d;--trail-ambient-surface-alt: #1f6b3c;--trail-ambient-fg: #eafbe7;--trail-ambient-fg-secondary: #c5e8c8;--trail-ambient-fg-muted: #8fb89a;--trail-ambient-border: #2a6b41;--trail-ambient-accent: #f59e0b;--trail-ambient-accent-dark: #b07208}.trail-skin-ocean{--trail-bg: var(--color-bg-primary);--trail-board-bg: #0c3654;--trail-track: #4a7fa5;--trail-track-done: #2dd4bf;--trail-track-width: 6px;--trail-node-done-bg: #14b8a6;--trail-node-done-edge: #0e8478;--trail-node-current-bg: #fb923c;--trail-node-current-edge: #b5692b;--trail-node-locked-bg: #164a6b;--trail-node-locked-edge: #133f5b;--trail-node-locked-fg: #7fb3d5;--trail-node-goal-bg: #fbbf24;--trail-node-goal-edge: #b58a1a;--trail-node-oncolor-fg: #ffffff;--trail-ring-fill: #fbbf24;--trail-ring-rest: #164a6b;--trail-bubble-bg: #fb923c;--trail-bubble-fg: #ffffff;--trail-label-fg: #d6ecfa;--trail-pulse-color: #fb923c;--trail-pulse-duration: 1.8s;--trail-bob-duration: 2.2s;--trail-decoration-opacity: .9;--trail-ambient-bg: #082238;--trail-ambient-surface: #0c3654;--trail-ambient-surface-alt: #134a6b;--trail-ambient-fg: #d6ecfa;--trail-ambient-fg-secondary: #a9d3ec;--trail-ambient-fg-muted: #6f9fbd;--trail-ambient-border: #1a5578;--trail-ambient-accent: #fb923c;--trail-ambient-accent-dark: #b5692b}.trail-root{background:var(--trail-bg)}:root[data-immersive] .mobile-shell-root{background-color:transparent}[data-immersive] .trail-root{background:transparent}[data-immersive]{--color-success-bg: color-mix(in srgb, var(--color-success) 20%, var(--trail-ambient-surface, var(--color-bg-secondary)));--color-error-bg: color-mix(in srgb, var(--color-error) 20%, var(--trail-ambient-surface, var(--color-bg-secondary)));--color-warning-bg: color-mix(in srgb, var(--color-warning) 20%, var(--trail-ambient-surface, var(--color-bg-secondary)));--color-info-bg: color-mix(in srgb, var(--color-info) 20%, var(--trail-ambient-surface, var(--color-bg-secondary)));--color-accent-bg: color-mix(in srgb, var(--color-accent) 22%, var(--trail-ambient-surface, var(--color-bg-secondary)));--color-success-border: color-mix(in srgb, var(--color-success) 45%, var(--trail-ambient-border, var(--color-border)));--color-error-border: color-mix(in srgb, var(--color-error) 45%, var(--trail-ambient-border, var(--color-border)));--color-warning-border: color-mix(in srgb, var(--color-warning) 45%, var(--trail-ambient-border, var(--color-border)));--color-info-border: color-mix(in srgb, var(--color-info) 45%, var(--trail-ambient-border, var(--color-border)))}[data-immersive] .trail-board{background:transparent;border-radius:0}[data-immersive] .trail-backdrop{display:none}:root[data-immersive] .trail-board{max-width:none;margin-left:-1rem;margin-right:-1rem}:root[data-immersive] .mobile-floating-header,:root[data-immersive] .mobile-bottom-nav{background-color:transparent}.immersive-scope{position:relative;overflow:hidden}.immersive-scope .trail-root{position:relative;z-index:1}.immersive-backdrop.immersive-backdrop--scoped{position:absolute;z-index:0}.immersive-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:0;transition:opacity var(--duration-slow) ease}.immersive-backdrop.is-visible{opacity:1}.immersive-backdrop__scene{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;background-position:center;background-size:cover;background-repeat:no-repeat;animation:immersive-drift 26s ease-in-out infinite alternate}.immersive-backdrop__scene--tile{background-size:auto;background-repeat:repeat}.immersive-backdrop__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--trail-ambient-bg) 0%,color-mix(in srgb,var(--trail-ambient-bg) 82%,transparent) 8%,color-mix(in srgb,var(--trail-ambient-bg) 30%,transparent) 18%,transparent 28%,transparent 68%,color-mix(in srgb,var(--trail-ambient-bg) 42%,transparent) 86%,color-mix(in srgb,var(--trail-ambient-bg) 78%,transparent) 100%)}@keyframes immersive-drift{0%{transform:translateZ(0) scale(1.05)}to{transform:translate3d(0,-2.6%,0) scale(1.09)}}@media (prefers-reduced-motion: reduce){.immersive-backdrop__scene{animation:none}.immersive-backdrop{transition:none}}.ambient-creatures{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;container-type:size}.ambient-fish{position:absolute;left:0;height:auto;will-change:transform;animation:fish-rtl var(--dur, 32s) linear infinite}.ambient-fish--ltr{animation-name:fish-ltr}@keyframes fish-rtl{0%{transform:translate(112cqw)}to{transform:translate(-16cqw)}}@keyframes fish-ltr{0%{transform:translate(-16cqw) scaleX(-1)}to{transform:translate(112cqw) scaleX(-1)}}.ambient-mote{position:absolute;bottom:-8cqh;border-radius:50%;will-change:transform,opacity;animation:mote-rise var(--dur, 10s) linear infinite}.ambient-mote--bubble{border:1.5px solid color-mix(in srgb,var(--trail-ambient-fg, #cfefff) 45%,transparent);background:color-mix(in srgb,var(--trail-ambient-fg, #cfefff) 12%,transparent)}.ambient-mote--firefly{background:#fde68a;box-shadow:0 0 6px 2px color-mix(in srgb,#fde047 70%,transparent)}.ambient-mote--spark{background:#ede9fe;box-shadow:0 0 5px 1px color-mix(in srgb,#c4b5fd 70%,transparent)}@keyframes mote-rise{0%{transform:translate(0);opacity:0}12%{opacity:.62}88%{opacity:.62}to{transform:translate(var(--drift, 10px),-116cqh);opacity:0}}@media (prefers-reduced-motion: reduce){.ambient-creatures{display:none}}.immersive-welcome{position:fixed;top:calc(var(--height-header) + var(--safe-top-mobile, 8px) + 12px);left:50%;transform:translate(-50%);z-index:var(--z-popover, 40);width:-moz-max-content;width:max-content;max-width:min(88vw,30rem);pointer-events:none}.immersive-welcome__card{pointer-events:auto;animation:immersive-welcome-in var(--duration-slow) ease both}@keyframes immersive-welcome-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.immersive-welcome__card{animation:immersive-welcome-fade var(--duration-slow) ease both}}@keyframes immersive-welcome-fade{0%{opacity:0}to{opacity:1}}.celebrate-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-toast)}.trail-board{border-radius:var(--radius-card);background:var(--trail-board-bg, transparent)}.trail-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;pointer-events:none}.trail-backdrop--tile{background-size:100% auto;background-repeat:repeat-y;background-position:top center}.trail-decoration-anchor{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.trail-decoration{display:block;width:var(--trail-decoration-size, 44px);height:var(--trail-decoration-size, 44px);opacity:var(--trail-decoration-opacity, 1);-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform}@media (prefers-reduced-motion: no-preference){.trail-decoration--swim{animation:deco-swim 9s ease-in-out infinite alternate}.trail-decoration--sway{animation:deco-sway 4.5s ease-in-out infinite alternate;transform-origin:bottom center}.trail-decoration--rise{animation:deco-rise 6s ease-in infinite}.trail-decoration--drift{animation:deco-drift 16s ease-in-out infinite alternate}.trail-decoration--twinkle{animation:deco-twinkle 3.6s ease-in-out infinite alternate}.trail-decoration--float{animation:deco-float 6s ease-in-out infinite alternate}}@keyframes deco-swim{0%{transform:translate(-7px,2px)}to{transform:translate(9px,-3px)}}@keyframes deco-sway{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes deco-rise{0%{transform:translateY(7px);opacity:0}18%{opacity:var(--trail-decoration-opacity, 1)}82%{opacity:var(--trail-decoration-opacity, 1)}to{transform:translateY(-22px);opacity:0}}@keyframes deco-drift{0%{transform:translate(-4px,2px) scale(1)}to{transform:translate(5px,-3px) scale(1.05)}}@keyframes deco-twinkle{0%{opacity:.4;transform:scale(.9)}to{opacity:1;transform:scale(1.08)}}@keyframes deco-float{0%{transform:translateY(-4px)}to{transform:translateY(5px)}}.trail-segment{fill:none;stroke:var(--trail-track);stroke-width:var(--trail-track-width, 5px);stroke-linecap:round;vector-effect:non-scaling-stroke;transition:stroke var(--duration-base) ease}.trail-segment--done{stroke:var(--trail-track-done)}.trail-node{border-radius:var(--trail-node-radius, var(--border-radius-full));box-shadow:0 5px 0 var(--_edge);transition:transform var(--duration-base) var(--ease-spring),box-shadow var(--duration-base) ease}.trail-node:not(:disabled):active{transform:translateY(4px);box-shadow:0 1px 0 var(--_edge)}.trail-node--done{background:var(--trail-node-done-bg);color:var(--trail-node-oncolor-fg);--_edge: var(--trail-node-done-edge)}.trail-node--current{background:var(--trail-node-current-bg);color:var(--trail-node-oncolor-fg);--_edge: var(--trail-node-current-edge)}.trail-node--locked{background:var(--trail-node-locked-bg);color:var(--trail-node-locked-fg);--_edge: var(--trail-node-locked-edge)}.trail-node--goal{background:var(--trail-node-goal-bg);color:var(--trail-node-oncolor-fg);--_edge: var(--trail-node-goal-edge)}.trail-ring{border-radius:calc(var(--trail-node-radius, var(--border-radius-full)) + 6px);background:conic-gradient(var(--trail-ring-fill) calc(var(--trail-ring-pct, 0) * 3.6deg),var(--trail-ring-rest) 0)}@keyframes trail-pulse{0%{transform:scale(1);opacity:.45}to{transform:scale(1.6);opacity:0}}.trail-node-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--trail-node-radius, var(--border-radius-full));background:var(--trail-pulse-color);animation:trail-pulse var(--trail-pulse-duration, 1.8s) ease-out infinite;pointer-events:none}@keyframes trail-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-6px)}}.trail-bubble{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);padding:4px 12px;border-radius:var(--border-radius-full);background:var(--trail-bubble-bg);color:var(--trail-bubble-fg);font-size:.75rem;font-weight:700;white-space:nowrap;box-shadow:var(--shadow-md);animation:trail-bob var(--trail-bob-duration, 2.2s) ease-in-out infinite;pointer-events:none;z-index:1}.trail-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--trail-bubble-bg)}.trail-label{color:var(--trail-label-fg)}@media (prefers-reduced-motion: reduce){.trail-node-pulse,.trail-bubble{animation:none}}.collapsing-hero{--hero-open-h: calc(var(--hero-expanded-h) + var(--hero-extra-h, 0px));position:relative;height:var(--hero-open-h);margin-top:calc(-1 * var(--hero-collapsed-h))}.collapsing-hero--immersive{--hero-extra-h: var(--hero-chrome-h)}.collapsing-hero--sm{--hero-expanded-h: var(--hero-expanded-h-sm)}.collapsing-hero--lg{--hero-expanded-h: var(--hero-expanded-h-lg)}.collapsing-hero--with-bar{--hero-collapsed-h: var(--hero-bar-h)}.collapsing-hero--bleed{margin-inline:calc(-1 * var(--shell-gutter-x));margin-top:calc(-1 * (var(--hero-collapsed-h) + var(--shell-gutter-top)))}.collapsing-hero--bleed-x{margin-inline:calc(-1 * var(--shell-gutter-x));margin-top:calc(-1 * var(--shell-gutter-top))}.collapsing-hero--with-bar.collapsing-hero--bleed{margin-top:0}.collapsing-hero__layer{position:sticky;top:0;height:calc(var(--hero-open-h) - var(--collapse-p, 0) * (var(--hero-open-h) - var(--hero-collapsed-h)));overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}.collapsing-hero__cover{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform-origin:center 35%;transform:scale(calc(1 + var(--collapse-p, 0) * (var(--hero-cover-zoom) - 1)));will-change:transform}.collapsing-hero__cover--blur{filter:blur(var(--hero-cover-blur));opacity:var(--collapse-p, 0);transform:scale(calc(var(--hero-cover-zoom) * 1.06))}.collapsing-hero__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--color-bg-primary) 0%,var(--color-bg-primary) var(--hero-scrim-solid),color-mix(in srgb,var(--color-bg-primary) var(--hero-scrim-mid),transparent) var(--hero-scrim-mid-pos),color-mix(in srgb,var(--color-bg-primary) var(--hero-scrim-top),transparent) 100%)}.collapsing-hero__scrim:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg-primary);opacity:calc(var(--collapse-p, 0) * var(--hero-dim-max))}.collapsing-hero__body{position:relative;z-index:1;padding:var(--hero-body-pad-top) var(--shell-gutter-x) var(--hero-body-pad-bottom);opacity:clamp(0,calc(1 - var(--collapse-p, 0) / var(--hero-fade-ratio)),1);transform:translateY(calc(-1 * var(--collapse-p, 0) * var(--hero-body-lift)));will-change:opacity,transform}.collapsing-hero[data-collapsed=true] .collapsing-hero__body{pointer-events:none}.collapsing-hero-bar{position:sticky;top:0;z-index:var(--z-sticky);height:var(--hero-bar-h);display:flex;align-items:center;gap:.5rem;opacity:var(--collapse-p, 0);pointer-events:none}.collapsing-hero-bar[data-collapsed=true]{pointer-events:auto}.collapsing-hero-bar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;backdrop-filter:blur(var(--hero-bar-blur));-webkit-backdrop-filter:blur(var(--hero-bar-blur));background:color-mix(in srgb,var(--color-bg-primary) 72%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);opacity:var(--collapse-p, 0)}@media (prefers-reduced-motion: reduce){.collapsing-hero__cover{transform:none}.collapsing-hero__cover--blur{display:none}.collapsing-hero__body{transform:none}.collapsing-hero-bar:before{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-bg-primary)}}.mobile-floating-header--cover{background:transparent;will-change:auto}.mobile-header-glass{position:absolute;left:0;right:0;top:0;height:calc(var(--height-header) + var(--safe-top-mobile));z-index:calc(var(--z-fixed) - 1);backdrop-filter:blur(var(--hero-bar-blur));-webkit-backdrop-filter:blur(var(--hero-bar-blur));opacity:var(--collapse-p, 0);pointer-events:none}.mobile-header-cover{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 35%;filter:blur(var(--hero-cover-blur));opacity:var(--collapse-p, 0);--hero-header-veil-color: color-mix( in srgb, var(--hero-cover-color, var(--color-bg-primary)) var(--hero-header-tint), var(--color-bg-primary) );box-shadow:inset 0 0 0 100vmax color-mix(in srgb,var(--hero-header-veil-color) var(--hero-header-veil),transparent);will-change:opacity;pointer-events:none}.mobile-header-seam{position:absolute;inset:0 0 auto 0;height:var(--hero-seam-h);background:linear-gradient(to bottom,var(--hero-cover-color, transparent) 0%,color-mix(in srgb,var(--hero-cover-color, transparent) 40%,transparent) 32%,transparent 100%);opacity:calc(1 - var(--collapse-p, 0));pointer-events:none}.mobile-header-cover--flat{filter:none;box-shadow:none;background:color-mix(in srgb,var(--hero-header-veil-color) var(--hero-header-veil),transparent)}.mobile-floating-header--cover .mobile-header-title{opacity:var(--collapse-p, 1);will-change:opacity}.mobile-floating-header--cover .mobile-header-icon{background:color-mix(in srgb,var(--color-bg-primary) calc((1 - var(--collapse-p, 0)) * 55%),transparent);backdrop-filter:blur(var(--hero-bar-blur));-webkit-backdrop-filter:blur(var(--hero-bar-blur))}@media (prefers-reduced-motion: reduce){.mobile-header-cover{filter:none;background-image:none!important;background:var(--color-bg-primary)}.mobile-header-glass{backdrop-filter:none;-webkit-backdrop-filter:none}}.mobile-shell-root[data-hero-cover=true] .collapsing-hero--immersive:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:100vh;background:var(--hero-cover-color);pointer-events:none}.mobile-shell-root[data-hero-cover=true] .mobile-bottom-nav{translate:0 calc(var(--collapse-p, 0) * 100%);transition:none}.mobile-shell-root[data-hero-cover=true][data-collapsed=true] .mobile-bottom-nav{pointer-events:none}@media (prefers-reduced-motion: reduce){.mobile-shell-root[data-hero-cover=true] .mobile-bottom-nav{translate:none}.mobile-shell-root[data-hero-cover=true][data-collapsed=true] .mobile-bottom-nav{pointer-events:auto}}.rich-text{font-size:var(--rich-text-font-size, var(--font-size-base));line-height:var(--rich-text-line-height, 1.8);color:var(--color-text-primary);overflow-wrap:break-word}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text p{margin:.75em 0}.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4{color:var(--color-text-primary);line-height:1.3;margin:1.25em 0 .5em}.rich-text h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.rich-text h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.rich-text h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.rich-text h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.rich-text ul,.rich-text ol{margin:.75em 0;padding-left:1.5em}.rich-text ul{list-style-type:disc}.rich-text ol{list-style-type:decimal}.rich-text ul ul{list-style-type:circle}.rich-text li{margin:.25em 0}.rich-text li>ul,.rich-text li>ol{margin:.25em 0}.rich-text blockquote{margin:1em 0;padding-left:1em;border-left:3px solid var(--color-border-focus);color:var(--color-text-secondary)}.rich-text a{color:var(--color-accent);text-decoration:underline}.rich-text strong{font-weight:var(--font-weight-bold)}.rich-text mark{background-color:var(--color-warning-bg);color:inherit;padding:0 .15em;border-radius:var(--border-radius-sm)}.rich-text code{background-color:var(--color-bg-tertiary);padding:.15em .35em;border-radius:var(--border-radius-sm);font-size:.9em}.rich-text pre{background-color:var(--color-bg-tertiary);padding:.75em 1em;border-radius:var(--border-radius-md);overflow-x:auto;margin:1em 0}.rich-text pre code{background:none;padding:0;font-size:inherit}.rich-text hr{border:none;border-top:1px solid var(--color-border);margin:1.5em 0}.rich-text img{max-width:100%;height:auto;border-radius:var(--border-radius-md)}.rich-text iframe{width:100%;max-width:100%;aspect-ratio:16 / 9;border:0;border-radius:var(--border-radius-md)}.rich-text table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95em}.rich-text th,.rich-text td{border:1px solid var(--color-border);padding:.4em .6em;text-align:left}.rich-text th{background-color:var(--color-bg-secondary);font-weight:var(--font-weight-semibold)}.rich-text-sm{--rich-text-font-size: var(--font-size-sm);--rich-text-line-height: 1.6}.rich-text-lg{--rich-text-font-size: var(--font-size-lg);--rich-text-line-height: 1.8}.rich-text p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-muted);float:left;height:0;pointer-events:none}.marker\:font-semibold *::marker{font-weight:600}.marker\:text-content-secondary *::marker{color:var(--color-text-secondary)}.marker\:font-semibold::marker{font-weight:600}.marker\:text-content-secondary::marker{color:var(--color-text-secondary)}.placeholder\:text-content-muted::-moz-placeholder{color:var(--color-text-muted)}.placeholder\:text-content-muted::placeholder{color:var(--color-text-muted)}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:border-r-0:last-child{border-right-width:0px}.empty\:hidden:empty{display:none}.focus-within\:border-edge-focus:focus-within{border-color:var(--color-border-focus)}.focus-within\:border-transparent:focus-within{border-color:transparent}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-accent:focus-within{--tw-ring-color: var(--color-accent)}.hover\:z-10:hover{z-index:10}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-edge:hover{border-color:var(--color-border)}.hover\:border-edge-focus:hover{border-color:var(--color-border-focus)}.hover\:border-error:hover{border-color:var(--color-error)}.hover\:border-error-dark:hover{border-color:var(--color-error-dark)}.hover\:border-info:hover{border-color:var(--color-info)}.hover\:border-info-border:hover{border-color:var(--color-info-border)}.hover\:border-success-border:hover{border-color:var(--color-success-border)}.hover\:border-white\/50:hover{border-color:#ffffff80}.hover\:border-white\/60:hover{border-color:#fff9}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-accent-bg:hover{background-color:var(--color-accent-bg)}.hover\:bg-accent-dark:hover{background-color:var(--color-accent-dark)}.hover\:bg-black\/65:hover{background-color:#000000a6}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-edge:hover{background-color:var(--color-border)}.hover\:bg-error:hover{background-color:var(--color-error)}.hover\:bg-error-bg:hover{background-color:var(--color-error-bg)}.hover\:bg-error-dark:hover{background-color:var(--color-error-dark)}.hover\:bg-info:hover{background-color:var(--color-info)}.hover\:bg-info-bg:hover{background-color:var(--color-info-bg)}.hover\:bg-info-dark:hover{background-color:var(--color-info-dark)}.hover\:bg-overlay-oncolor:hover{background-color:var(--overlay-oncolor)}.hover\:bg-overlay-oncolor-strong:hover{background-color:var(--overlay-oncolor-strong)}.hover\:bg-success:hover{background-color:var(--color-success)}.hover\:bg-success-bg:hover{background-color:var(--color-success-bg)}.hover\:bg-success-dark:hover{background-color:var(--color-success-dark)}.hover\:bg-surface:hover{background-color:var(--color-bg-primary)}.hover\:bg-surface-alt:hover{background-color:var(--color-bg-secondary)}.hover\:bg-surface-hover:hover{background-color:var(--color-bg-hover)}.hover\:bg-surface-raised:hover{background-color:var(--color-bg-tertiary)}.hover\:bg-warning-bg:hover{background-color:var(--color-warning-bg)}.hover\:bg-warning-dark:hover{background-color:var(--color-warning-dark)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/25:hover{background-color:#ffffff40}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:bg-opacity-50:hover{--tw-bg-opacity: .5}.hover\:bg-opacity-80:hover{--tw-bg-opacity: .8}.hover\:\!text-content-secondary:hover{color:var(--color-text-secondary)!important}.hover\:\!text-error:hover{color:var(--color-error)!important}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-accent-dark:hover{color:var(--color-accent-dark)}.hover\:text-content:hover{color:var(--color-text-primary)}.hover\:text-content-secondary:hover{color:var(--color-text-secondary)}.hover\:text-error:hover{color:var(--color-error)}.hover\:text-error-dark:hover{color:var(--color-error-dark)}.hover\:text-info:hover{color:var(--color-info)}.hover\:text-success:hover{color:var(--color-success)}.hover\:text-success-dark:hover{color:var(--color-success-dark)}.hover\:text-vivid-blue:hover{color:var(--color-vivid-blue)}.hover\:text-vivid-cyan:hover{color:var(--color-vivid-cyan)}.hover\:text-vivid-green:hover{color:var(--color-vivid-green)}.hover\:text-vivid-orange:hover{color:var(--color-vivid-orange)}.hover\:text-vivid-violet:hover{color:var(--color-vivid-violet)}.hover\:text-vivid-yellow:hover{color:var(--color-vivid-yellow)}.hover\:text-warning:hover{color:var(--color-warning)}.hover\:text-warning-border:hover{color:var(--color-warning-border)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-accent:hover{text-decoration-color:var(--color-accent)}.hover\:\!opacity-80:hover{opacity:.8!important}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-accent:hover{--tw-ring-color: var(--color-accent)}.hover\:ring-edge-focus:hover{--tw-ring-color: var(--color-border-focus)}.hover\:ring-offset-1:hover{--tw-ring-offset-width: 1px}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:border-edge-focus:focus{border-color:var(--color-border-focus)}.focus\:border-info:focus{border-color:var(--color-info)}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-warning:focus{border-color:var(--color-warning)}.focus\:bg-surface-hover:focus{background-color:var(--color-bg-hover)}.focus\:text-content:focus{color:var(--color-text-primary)}.focus\:shadow-focus:focus{--tw-shadow: var(--shadow-focus);--tw-shadow-colored: var(--shadow-focus);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent:focus{--tw-ring-color: var(--color-accent)}.focus\:ring-edge:focus{--tw-ring-color: var(--color-border)}.focus\:ring-edge-focus:focus{--tw-ring-color: var(--color-border-focus)}.focus\:ring-error:focus{--tw-ring-color: var(--color-error)}.focus\:ring-info:focus{--tw-ring-color: var(--color-info)}.focus\:ring-success:focus{--tw-ring-color: var(--color-success)}.focus\:ring-warning:focus{--tw-ring-color: var(--color-warning)}.focus\:ring-white\/50:focus{--tw-ring-color: rgb(255 255 255 / .5)}.focus\:ring-offset-1:focus{--tw-ring-offset-width: 1px}.focus\:ring-offset-surface:focus{--tw-ring-offset-color: var(--color-bg-primary)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color: var(--color-accent)}.focus-visible\:ring-edge-focus:focus-visible{--tw-ring-color: var(--color-border-focus)}.focus-visible\:ring-white:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-surface:focus-visible{--tw-ring-offset-color: var(--color-bg-primary)}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x: .99;--tw-scale-y: .99;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-accent:active{background-color:var(--color-accent)}.active\:bg-error:active{background-color:var(--color-error)}.active\:bg-error-dark:active{background-color:var(--color-error-dark)}.active\:bg-surface-hover:active{background-color:var(--color-bg-hover)}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-accent:disabled{background-color:var(--color-accent)}.disabled\:bg-surface-raised:disabled{background-color:var(--color-bg-tertiary)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:scale-100:hover:disabled{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-accent{background-color:var(--color-accent)}.group:hover .group-hover\:bg-black\/40{background-color:#0006}.group:hover .group-hover\:bg-surface{background-color:var(--color-bg-primary)}.group:hover .group-hover\:bg-surface-hover{background-color:var(--color-bg-hover)}.group:hover .group-hover\:bg-warning{background-color:var(--color-warning)}.group:hover .group-hover\:text-accent{color:var(--color-accent)}.group:hover .group-hover\:text-content{color:var(--color-text-primary)}.group\/ft:hover .group-hover\/ft\:opacity-100,.group\/table:hover .group-hover\/table\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-20{opacity:.2}.group:focus-visible .group-focus-visible\:ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group:focus-visible .group-focus-visible\:ring-edge-focus{--tw-ring-color: var(--color-border-focus)}@media (min-width: 640px){.sm\:inset-x-auto{left:auto;right:auto}.sm\:bottom-auto{bottom:auto}.sm\:left-8{left:2rem}.sm\:left-auto{left:auto}.sm\:right-4{right:1rem}.sm\:right-8{right:2rem}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-span-3{grid-column:span 3 / span 3}.sm\:col-span-4{grid-column:span 4 / span 4}.sm\:mb-8{margin-bottom:2rem}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-44{height:11rem}.sm\:h-5{height:1.25rem}.sm\:h-60{height:15rem}.sm\:h-9{height:2.25rem}.sm\:max-h-96{max-height:24rem}.sm\:max-h-\[400px\]{max-height:400px}.sm\:w-16{width:4rem}.sm\:w-36{width:9rem}.sm\:w-40{width:10rem}.sm\:w-44{width:11rem}.sm\:w-5{width:1.25rem}.sm\:w-56{width:14rem}.sm\:w-72{width:18rem}.sm\:w-80{width:20rem}.sm\:w-9{width:2.25rem}.sm\:w-96{width:24rem}.sm\:w-\[420px\]{width:420px}.sm\:min-w-\[1\.6rem\]{min-width:1.6rem}.sm\:min-w-\[2rem\]{min-width:2rem}.sm\:max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-1{flex:1 1 0%}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-1{gap:.25rem}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-8{gap:2rem}.sm\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:gap-y-8{row-gap:2rem}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.sm\:overflow-hidden{overflow:hidden}.sm\:rounded-2xl{border-radius:var(--border-radius-2xl)}.sm\:rounded-lg{border-radius:var(--border-radius-lg)}.sm\:border{border-width:1px}.sm\:border-edge{border-color:var(--color-border)}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-2{padding-left:.5rem;padding-right:.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:1.4}.sm\:text-3xl{font-size:1.875rem;line-height:1.3}.sm\:text-\[0\.55rem\]{font-size:.55rem}.sm\:text-\[80px\]{font-size:80px}.sm\:text-base{font-size:1rem;line-height:1.6}.sm\:text-lg{font-size:1.125rem;line-height:1.6}.sm\:text-sm{font-size:.875rem;line-height:1.5}.sm\:text-xl{font-size:1.25rem;line-height:1.5}.sm\:shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.sm\:duration-200{transition-duration:.2s}}@media (min-width: 768px){.md\:sticky{position:sticky}.md\:left-16{left:4rem}.md\:right-16{right:4rem}.md\:top-0{top:0}.md\:top-4{top:1rem}.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.md\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:grid{display:grid}.md\:hidden{display:none}.md\:\!h-\[90dvh\]{height:90dvh!important}.md\:\!max-h-\[90dvh\]{max-height:90dvh!important}.md\:w-1\/2{width:50%}.md\:w-1\/3{width:33.333333%}.md\:w-16{width:4rem}.md\:w-2\/5{width:40%}.md\:w-64{width:16rem}.md\:w-72{width:18rem}.md\:w-auto{width:auto}.md\:min-w-0{min-width:0px}.md\:\!max-w-\[860px\]{max-width:860px!important}.md\:max-w-sm{max-width:24rem}.md\:flex-1{flex:1 1 0%}.md\:flex-shrink{flex-shrink:1}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-\[160px_1fr\]{grid-template-columns:160px 1fr}.md\:grid-cols-\[240px_1fr\]{grid-template-columns:240px 1fr}.md\:grid-cols-\[300px_1fr\]{grid-template-columns:300px 1fr}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-center{justify-content:center}.md\:justify-between{justify-content:space-between}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\:self-start{align-self:flex-start}.md\:overflow-visible{overflow:visible}.md\:p-2{padding:.5rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:p-lg{padding:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:text-left{text-align:left}.md\:text-2xl{font-size:1.5rem;line-height:1.4}.md\:text-3xl{font-size:1.875rem;line-height:1.3}.md\:text-4xl{font-size:2.25rem;line-height:1.2}.md\:text-5xl{font-size:3rem;line-height:1.1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.6}.md\:text-lg{font-size:1.125rem;line-height:1.6}.md\:text-xl{font-size:1.25rem;line-height:1.5}}@media (min-width: 1024px){.lg\:relative{position:relative}.lg\:sticky{position:sticky}.lg\:top-4{top:1rem}.lg\:top-6{top:1.5rem}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:flex{display:flex}.lg\:contents{display:contents}.lg\:hidden{display:none}.lg\:min-h-\[calc\(100vh-3\.5rem\)\]{min-height:calc(100vh - 3.5rem)}.lg\:w-56{width:14rem}.lg\:w-64{width:16rem}.lg\:w-72{width:18rem}.lg\:w-full{width:100%}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-md{max-width:28rem}.lg\:max-w-xs{max-width:20rem}.lg\:flex-1{flex:1 1 0%}.lg\:flex-shrink-0{flex-shrink:0}.lg\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-\[1fr_260px\]{grid-template-columns:1fr 260px}.lg\:grid-cols-\[minmax\(320px\,1fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(320px,1fr) minmax(0,2fr)}.lg\:flex-row{flex-direction:row}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:gap-1{gap:.25rem}.lg\:gap-6{gap:1.5rem}.lg\:overflow-visible{overflow:visible}.lg\:rounded-full{border-radius:var(--border-radius-full)}.lg\:border{border-width:1px}.lg\:border-r{border-right-width:1px}.lg\:border-edge{border-color:var(--color-border)}.lg\:bg-surface-raised{background-color:var(--color-bg-tertiary)}.lg\:bg-transparent{background-color:transparent}.lg\:p-8{padding:2rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:pb-4{padding-bottom:1rem}.lg\:text-left{text-align:left}.lg\:shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1100px){.min-\[1100px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}.\[\&\:\:-moz-range-thumb\]\:h-3\.5::-moz-range-thumb{height:.875rem}.\[\&\:\:-moz-range-thumb\]\:w-3\.5::-moz-range-thumb{width:.875rem}.\[\&\:\:-moz-range-thumb\]\:cursor-pointer::-moz-range-thumb{cursor:pointer}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:var(--border-radius-full)}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-width:0px}.\[\&\:\:-moz-range-thumb\]\:bg-accent::-moz-range-thumb{background-color:var(--color-accent)}.\[\&\:\:-moz-range-thumb\]\:shadow-sm::-moz-range-thumb{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:h-3\.5::-webkit-slider-thumb{height:.875rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3\.5::-webkit-slider-thumb{width:.875rem}.\[\&\:\:-webkit-slider-thumb\]\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:var(--border-radius-full)}.\[\&\:\:-webkit-slider-thumb\]\:bg-accent::-webkit-slider-thumb{background-color:var(--color-accent)}.\[\&\:\:-webkit-slider-thumb\]\:bg-surface::-webkit-slider-thumb{background-color:var(--color-bg-primary)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-md::-webkit-slider-thumb{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\[\&\:\:-webkit-slider-thumb\]\:shadow-sm::-webkit-slider-thumb{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\[\&\:\:-webkit-slider-thumb\]\:ring-2::-webkit-slider-thumb{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\:\:-webkit-slider-thumb\]\:ring-surface::-webkit-slider-thumb{--tw-ring-color: var(--color-bg-primary)}.\[\&\>svg\]\:h-full>svg{height:100%}.\[\&\>svg\]\:w-full>svg{width:100%}.\[\&_\.lk-button\]\:\!min-w-0 .lk-button{min-width:0px!important}.\[\&_\.lk-control-bar\]\:\!max-w-full .lk-control-bar{max-width:100%!important}.\[\&_\.lk-control-bar\]\:\!flex-wrap .lk-control-bar{flex-wrap:wrap!important}.\[\&_\.lk-control-bar\]\:\!justify-center .lk-control-bar{justify-content:center!important}.\[\&_\.lk-control-bar\]\:\!gap-1 .lk-control-bar{gap:.25rem!important}.\[\&_\.lk-control-bar\]\:pb-\[env\(safe-area-inset-bottom\)\] .lk-control-bar{padding-bottom:env(safe-area-inset-bottom)}.\[\&_svg\]\:h-full svg{height:100%}.\[\&_svg\]\:w-full svg{width:100%}@keyframes spin{to{transform:rotate(360deg)}0%{transform:rotate(0)}to{transform:rotate(360deg)}}.\[\&_svg\]\:animate-spin svg{animation:spin .8s linear infinite}
