@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/50cc6d76ab2a2da3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/0421fed624cfafec-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/e79147326f4a3c39-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/5b45b5fd85b63a3d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/ca1d48d650382c09-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e0245f199a3e64d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/443896d591e4f761-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Code Pro Fallback;src:local("Arial");ascent-override:73.11%;descent-override:20.28%;line-gap-override:0.00%;size-adjust:134.59%}.__className_a06722{font-family:Source Code Pro,Source Code Pro Fallback;font-style:normal}.__variable_a06722{--font-code:"Source Code Pro","Source Code Pro Fallback"}.theme-professional{--shadow-soft:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--shadow-medium:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-large:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1)}.theme-professional .card{box-shadow:var(--shadow-soft)}.theme-professional .card:hover,.theme-professional .elevated{box-shadow:var(--shadow-medium)}.theme-playful{--shadow-soft:0 4px 8px -2px rgb(59 130 246/0.15),0 2px 4px -2px rgb(251 146 60/0.15);--shadow-medium:0 10px 25px -5px rgb(59 130 246/0.2),0 4px 10px -4px rgb(251 146 60/0.15);--shadow-large:0 20px 35px -10px rgb(59 130 246/0.25),0 8px 15px -6px rgb(251 146 60/0.2);--shadow-glow:0 0 15px rgb(59 130 246/0.25)}.theme-playful .card{box-shadow:var(--shadow-soft);border-width:2px;border-radius:1rem;background:hsl(var(--card));transition:all .2s ease}.theme-playful .card:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px);border-color:hsl(var(--primary))}.theme-playful .button{border-radius:1rem;font-weight:600;background:hsl(var(--primary));color:hsl(var(--primary-foreground));transition:all .2s ease;box-shadow:0 4px 12px rgb(59 130 246/.2)}.theme-playful .button:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgb(59 130 246/.3)}.theme-playful .button svg,.theme-playful .nav-item svg{color:hsl(var(--primary-foreground));fill:currentColor}.theme-playful .animated{animation:playful-bounce 2s ease-in-out infinite}.theme-playful .icon{filter:drop-shadow(0 2px 4px rgb(59 130 246/.2))}.theme-playful .text-heading{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.theme-playful .sidebar{background:linear-gradient(180deg,hsl(var(--sidebar-background)) 0,hsl(var(--secondary)) 100%)}.theme-playful .nav-item{border-radius:1rem;transition:all .3s ease}.theme-playful .nav-item:hover{transform:translateX(4px);box-shadow:0 4px 12px rgb(324 100% 58%/.2)}@keyframes playful-bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-4px)}50%{transform:translateY(-2px)}75%{transform:translateY(-6px)}}@keyframes rainbow-glow{0%{box-shadow:0 0 20px rgb(324 100% 58%/.3)}33%{box-shadow:0 0 20px rgb(120 100% 55%/.3)}66%{box-shadow:0 0 20px rgb(45 100% 60%/.3)}to{box-shadow:0 0 20px rgb(324 100% 58%/.3)}}.theme-playful .special-glow{animation:rainbow-glow 3s ease-in-out infinite}.theme-focus{--shadow-soft:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-medium:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-large:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1)}.theme-focus .card{box-shadow:var(--shadow-soft);border-radius:.5rem}.theme-focus .card:hover{box-shadow:var(--shadow-medium)}.theme-focus .text{line-height:1.6}.theme-energetic{--shadow-soft:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-medium:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-large:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1)}.theme-energetic .card{box-shadow:var(--shadow-medium);border-radius:.75rem}.theme-energetic .card:hover{box-shadow:var(--shadow-large);transform:scale(1.02)}.theme-energetic .button{background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:600}.theme-energetic .button svg,.theme-energetic .nav-item svg{color:hsl(var(--primary-foreground));fill:currentColor}.theme-energetic .animated{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.theme-minimal{--shadow-soft:none;--shadow-medium:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--shadow-large:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1)}.theme-minimal .card{box-shadow:none;border-radius:.25rem;border-width:1px}.theme-minimal .card:hover{box-shadow:var(--shadow-medium)}.theme-minimal .button{border-radius:.25rem;font-weight:500}.role-admin{--admin-accent:hsl(var(--primary))}.role-teacher{--teacher-accent:hsl(var(--secondary))}.role-parent{--parent-accent:hsl(var(--accent))}.role-student{--student-accent:hsl(var(--accent))}.stage-early-childhood{--content-padding:1.5rem;--content-gap:1rem}.stage-elementary{--content-padding:1.25rem;--content-gap:0.875rem}.stage-high-school,.stage-middle-school{--content-padding:1rem;--content-gap:0.75rem}.stage-college-prep{--content-padding:0.75rem;--content-gap:0.5rem}.density-compact{--density-scale:0.75;--spacing-xs:0.25rem;--spacing-sm:0.375rem;--spacing-md:0.5rem;--spacing-lg:0.75rem;--spacing-xl:1rem}.density-comfortable{--density-scale:1;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem}.density-spacious{--density-scale:1.25;--spacing-xs:0.375rem;--spacing-sm:0.625rem;--spacing-md:1rem;--spacing-lg:1.25rem;--spacing-xl:2rem}.font-size-small{--font-size-xs:0.675rem;--font-size-sm:0.75rem;--font-size-base:0.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.25rem}.font-size-medium{--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem}.font-size-large{--font-size-xs:0.875rem;--font-size-sm:1rem;--font-size-base:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.75rem}.high-contrast{--primary:0 0% 0%;--primary-foreground:0 0% 100%;--secondary:0 0% 20%;--secondary-foreground:0 0% 100%;--background:0 0% 100%;--foreground:0 0% 0%;--border:0 0% 0%;--ring:0 0% 0%}.high-contrast.dark{--primary:0 0% 100%;--primary-foreground:0 0% 0%;--secondary:0 0% 80%;--secondary-foreground:0 0% 0%;--background:0 0% 0%;--foreground:0 0% 100%;--border:0 0% 100%;--ring:0 0% 100%}.reduced-motion,.reduced-motion *,.reduced-motion :after,.reduced-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.colorblind-protanopia{filter:url(#protanopia-filter)}.colorblind-deuteranopia{filter:url(#deuteranopia-filter)}.colorblind-tritanopia{filter:url(#tritanopia-filter)}.theme-transition{transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out}.theme-transition.reduced-motion{transition:none}@media print{.theme-energetic,.theme-focus,.theme-minimal,.theme-playful,.theme-professional{--background:255 255 255;--foreground:0 0 0;--card:255 255 255;--card-foreground:0 0 0;--shadow-soft:none;--shadow-medium:none;--shadow-large:none}.card{box-shadow:none!important}.button,.card{border:1px solid #000!important}.button{background:#fff!important;color:#000!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--muted));border-radius:4px}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--accent))}.focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.interactive{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.interactive:hover{opacity:.8}.interactive:active{transform:scale(.95)}.interactive.reduced-motion:active{transform:none}.theme-energetic .nav-item,.theme-playful .nav-item{position:relative}.theme-energetic .nav-item svg,.theme-energetic button svg,.theme-playful .nav-item svg,.theme-playful button svg{color:hsl(var(--primary-foreground))!important;fill:currentColor!important;stroke:currentColor!important}.dark .theme-energetic .button svg,.dark .theme-energetic .nav-item svg,.dark .theme-playful .button svg,.dark .theme-playful .nav-item svg{color:hsl(var(--primary-foreground))!important;opacity:1!important}.dark .text-muted-foreground,.dark .text-secondary{color:hsl(var(--muted-foreground))!important;opacity:1!important}.dark .text-sm.text-muted-foreground{opacity:.95!important}.dark .caption,.dark .description,.dark .subtitle,.dark .text-sm.text-muted-foreground{color:hsl(var(--muted-foreground))!important}.loading{opacity:.6;pointer-events:none}.loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-top:2px solid hsl(var(--muted));border:2px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}.loading.reduced-motion:after{animation:none;content:"⏳";border:none;font-size:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.playful-theme .text-heading{background:linear-gradient(135deg,#3b82f6,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 15px rgba(59,130,246,.2);animation:gentle-glow 3s ease-in-out infinite}@keyframes gentle-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}.playful-theme .animate-bounce-subtle{animation:bounce-subtle 2s infinite}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.playful-theme .animate-wiggle{animation:wiggle 1s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.playful-theme .animate-pulse-glow{animation:pulse-glow 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px rgba(59,130,246,.3)}50%{box-shadow:0 0 25px rgba(59,130,246,.4)}}