:root{--color-primary: #6366F1;--color-primary-light: #818CF8;--color-primary-dark: #4F46E5;--color-success: #22C55E;--color-warning: #F59E0B;--color-danger: #EF4444;--color-info: #3B82F6;--color-bg: #F8FAFC;--color-surface: #FFFFFF;--color-surface-elevated: #FFFFFF;--color-text-primary: #1E293B;--color-text-secondary: #64748B;--color-text-muted: #94A3B8;--color-border: #E2E8F0;--color-border-light: #F1F5F9;--status-strong-bg: #DCFCE7;--status-strong-fg: #16A34A;--status-good-bg: #EEF2FF;--status-good-fg: #4F46E5;--status-developing-bg: #FEF3C7;--status-developing-fg: #D97706;--status-needs-bg: #FEE2E2;--status-needs-fg: #DC2626;--surface-hairline: #E2E8F0;--font-family: Poppins, sans-serif;--auth-page-bg: #060d10;--auth-card-bg: rgba(12,14,18,.88);--auth-card-border: rgba(61,220,99,.45);--auth-card-shadow: 0 24px 64px rgba(0,0,0,.55), 0 0 0 1px rgba(61,220,99,.08);--auth-panel-border: rgba(61,220,99,.12);--auth-accent: #3ddc63;--auth-heading: #eab839;--auth-text: #e2eaf2;--auth-label: #9aafc4;--auth-muted: #6b7a8d;--auth-link-muted: #4a5568;--auth-input-bg: rgba(255,255,255,.04);--auth-input-border: rgba(255,255,255,.1);--auth-input-text: #e2eaf2;--auth-placeholder: #3d4a5a;--auth-role-bg: rgba(255,255,255,.04);--auth-role-border: rgba(255,255,255,.1);--auth-role-text: #5a6a7a;--auth-divider: rgba(255,255,255,.08);--auth-google-bg: rgba(255,255,255,.05);--auth-google-border: rgba(255,255,255,.1);--auth-google-text: #cfdfe2;--auth-student-bg: rgba(38,170,66,.12);--auth-student-border: #26aa42;--auth-student-color: #26aa42;--auth-teacher-bg: rgba(86,238,244,.1);--auth-teacher-border: #56eef4;--auth-teacher-color: #56eef4;--auth-parent-bg: rgba(234,184,57,.1);--auth-parent-border: #eab839;--auth-parent-color: #eab839}body.dark-mode{--color-bg: #0F172A;--color-surface: #1E293B;--color-surface-elevated: #334155;--color-text-primary: #F1F5F9;--color-text-secondary: #94A3B8;--color-text-muted: #64748B;--color-border: #334155;--color-border-light: #1E293B;--status-strong-bg: rgba(34, 197, 94, .16);--status-strong-fg: #4ADE80;--status-good-bg: rgba(99, 102, 241, .18);--status-good-fg: #A5B4FC;--status-developing-bg: rgba(245, 158, 11, .16);--status-developing-fg: #FBBF24;--status-needs-bg: rgba(239, 68, 68, .16);--status-needs-fg: #F87171;--surface-hairline: rgba(255, 255, 255, .08)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-family, "Poppins", sans-serif);background-color:var(--color-bg, #F8FAFC);color:var(--color-text-primary, #1E293B);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p{margin-top:0}button{font-family:inherit;cursor:pointer}.card{background-color:var(--color-surface);border-radius:.75rem;box-shadow:0 1px 2px #0000000d;border:1px solid var(--color-border-light);transition:box-shadow .2s ease}.card:hover{box-shadow:0 4px 6px -1px #0000001a}.btn-primary{background-color:var(--color-primary);color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;font-weight:500;transition:background-color .15s ease}.btn-primary:hover{background-color:var(--color-primary-dark)}body.fs-small{--student-font-base: 13px;--student-font-md: 15px;--student-font-lg: 17px;--student-font-xl: 20px}body.fs-medium{--student-font-base: 14px;--student-font-md: 16px;--student-font-lg: 20px;--student-font-xl: 24px}body.fs-large{--student-font-base: 17px;--student-font-md: 20px;--student-font-lg: 24px;--student-font-xl: 30px}app-student-page,app-game-menu,app-m-market,app-m-lab,app-student-settings{font-size:var(--student-font-base, 14px)}app-student-page p,app-student-page li,app-student-page span,app-student-page td,app-student-page th,app-game-menu p,app-game-menu li,app-game-menu span,app-game-menu td,app-game-menu th,app-m-market p,app-m-market li,app-m-market span,app-m-market td,app-m-market th,app-m-lab p,app-m-lab li,app-m-lab span,app-m-lab td,app-m-lab th,app-student-settings p,app-student-settings li,app-student-settings span,app-student-settings td,app-student-settings th{font-size:var(--student-font-base, 14px)}app-student-page h3,app-game-menu h3,app-m-market h3,app-m-lab h3,app-student-settings h3{font-size:var(--student-font-md, 16px)}app-student-page h2,app-game-menu h2,app-m-market h2,app-m-lab h2,app-student-settings h2{font-size:var(--student-font-lg, 20px)}app-student-page h1,app-game-menu h1,app-m-market h1,app-m-lab h1,app-student-settings h1{font-size:var(--student-font-xl, 24px)}
