:root{--code-bg:#1c1917;--code-header-bg:#292524;--code-text:#e7e5e4;--user-message-bg:var(--brand-primary);--user-message-text:white;--assistant-message-bg:var(--surface-muted);--assistant-message-text:var(--text-primary);--system-message-bg:var(--semantic-warning-soft);--system-message-text:var(--semantic-warning-text);--scrollbar-thumb:var(--stone-300);--scrollbar-thumb-hover:var(--stone-400);--chat-width:360px;--content-padding:2rem;--primary-color-alpha:#2563eb1a;--accent-alpha:#7c3aed1a}:root[data-theme=dark]{--code-bg:#0d0c0b;--code-header-bg:#1c1917;--code-text:#f5f5f4;--user-message-text:#1c1917;--system-message-bg:#d9770626;--system-message-text:#fde68a;--scrollbar-thumb:var(--stone-600);--scrollbar-thumb-hover:var(--stone-500);--primary-color-alpha:#3b82f61a;--accent-alpha:#a78bfa1a}@media(max-width:1200px){:root{--sidebar-width:250px;--chat-width:320px}}@media(max-width:1024px){:root{--sidebar-width:220px;--chat-width:300px;--content-padding:1.5rem}}@media(max-width:768px){:root{--content-padding:1rem}}@media(pointer:coarse){button,a,input[type=button],input[type=submit],input[type=checkbox],input[type=radio]{min-width:44px;min-height:44px}}.definition-card{background:var(--card);border:1px solid #fbbf24;border-left:4px solid #f59e0b;border-radius:12px;margin:1rem 0;padding:1rem 1.25rem;box-shadow:0 2px 8px #f59e0b1a}.definition-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.definition-icon{font-size:1.1rem}.definition-label{text-transform:uppercase;letter-spacing:.05em;color:#92400e;font-size:.75rem;font-weight:700}.definition-content{color:#78350f}.definition-term{color:#78350f;margin-bottom:.5rem;font-size:1.1rem;font-weight:700;display:block}.definition-text{color:#92400e;margin:0;font-size:.95rem;line-height:1.6}:root[data-theme=dark] .definition-card{background:var(--card);border-color:#fbbf2466 #fbbf2466 #fbbf2466 #f59e0b}:root[data-theme=dark] .definition-label{color:#fbbf24}:root[data-theme=dark] .definition-content,:root[data-theme=dark] .definition-term,:root[data-theme=dark] .definition-text{color:#fde68a}.elaboration-card{background:var(--card);border:1px solid #c4b5fd;border-left:4px solid #8b5cf6;border-radius:12px;margin:1rem 0;padding:1rem 1.25rem;box-shadow:0 2px 8px #8b5cf61a}.elaboration-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.elaboration-icon{font-size:1.1rem}.elaboration-label{text-transform:uppercase;letter-spacing:.05em;color:#6d28d9;font-size:.75rem;font-weight:700}.elaboration-text{color:#5b21b6;margin:0;font-size:.95rem;line-height:1.6}:root[data-theme=dark] .elaboration-card{background:var(--card);border-color:#8b5cf666 #8b5cf666 #8b5cf666 #8b5cf6}:root[data-theme=dark] .elaboration-label{color:#a78bfa}:root[data-theme=dark] .elaboration-text{color:#ddd6fe}.relevance-card{background:var(--card);border:1px solid #86efac;border-left:4px solid #22c55e;border-radius:12px;margin:1rem 0;padding:1rem 1.25rem;box-shadow:0 2px 8px #22c55e1a}.relevance-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.relevance-icon{font-size:1.1rem}.relevance-label{text-transform:uppercase;letter-spacing:.05em;color:#166534;font-size:.75rem;font-weight:700}.relevance-text{color:#15803d;margin:0;font-size:.95rem;line-height:1.6}:root[data-theme=dark] .relevance-card{background:var(--card);border-color:#22c55e66 #22c55e66 #22c55e66 #22c55e}:root[data-theme=dark] .relevance-label{color:#4ade80}:root[data-theme=dark] .relevance-text{color:#bbf7d0}[data-theme=nebula]{--nebula-cream:#fdf8f3;--nebula-sand-50:#faf6f1;--nebula-sand-100:#f5ede3;--nebula-sand-200:#e8ddd0;--nebula-sand-300:#d4c4b0;--nebula-sand-400:#b8a089;--nebula-sand-500:#96816a;--nebula-sand-600:#7a6854;--nebula-sand-700:#5c4f40;--nebula-sand-800:#3d352c;--nebula-sand-900:#2a2420;--nebula-leaf:#5b8c5a;--nebula-leaf-soft:#e8f2e8;--nebula-terracotta:#c67b5c;--nebula-terracotta-soft:#faede8;--nebula-sky:#6b9ac4;--nebula-sky-soft:#e8f0f7;--surface-page:var(--nebula-sand-50);--surface-card:var(--nebula-cream);--surface-elevated:#fff;--surface-muted:var(--nebula-sand-100);--text-primary:var(--nebula-sand-800);--text-secondary:var(--nebula-sand-600);--text-muted:var(--nebula-sand-500);--text-faint:var(--nebula-sand-400);--border:var(--nebula-sand-200);--border-muted:var(--nebula-sand-100);--border-strong:var(--nebula-sand-300);--state-hover:var(--nebula-sand-100);--state-active:var(--nebula-sand-200);--shadow-sm:0 1px 2px #5a46320a;--shadow-md:0 4px 12px #5a46320f;--shadow-lg:0 12px 24px #5a463214;--bg:var(--surface-page);--bg-page:var(--surface-page);--bg-card:var(--surface-card);--bg-muted:var(--surface-muted);--card:var(--surface-card);--text:var(--text-primary);--muted:var(--text-muted)}[data-theme=nebula] .content,[data-theme=nebula] .focus-section{font-size:1.05rem;line-height:1.75}[data-theme=nebula] h1,[data-theme=nebula] h2,[data-theme=nebula] h3{color:var(--nebula-sand-800);font-weight:600}[data-theme=nebula] .block-callout{background:var(--nebula-leaf-soft);border-left-color:var(--nebula-leaf)}[data-theme=nebula] .block-callout.callout-warning{background:var(--nebula-terracotta-soft);border-left-color:var(--nebula-terracotta)}[data-theme=nebula] .block-callout.callout-info{background:var(--nebula-sky-soft);border-left-color:var(--nebula-sky)}[data-theme=nebula] pre,[data-theme=nebula] code{background:var(--nebula-sand-100);color:var(--nebula-sand-800)}[data-theme=nebula] pre{border:1px solid var(--nebula-sand-200)}[data-theme=nebula] .content a:not(.btn):not(button),[data-theme=nebula] .focus-section a:not(.btn):not(button){color:var(--nebula-leaf)}[data-theme=nebula] .content a:not(.btn):not(button):hover,[data-theme=nebula] .focus-section a:not(.btn):not(button):hover{color:#4a7349}[data-theme=nebula] .puzzle-container{background:var(--nebula-cream);border:2px solid var(--nebula-sand-200);border-radius:16px}[data-theme=nebula] .focus-backdrop{background:linear-gradient(180deg,var(--nebula-cream) 0%,var(--nebula-sand-50) 100%)}[data-theme=nebula] .focus-section{background:var(--nebula-cream);box-shadow:var(--shadow-md);border-radius:20px;height:calc(100% - 2rem);margin:1rem;padding:2.5rem}[data-theme=nebula] .progress-dot .dot-inner{background:var(--nebula-sand-300)}[data-theme=nebula] .progress-dot.active .dot-inner{background:var(--nebula-leaf);box-shadow:0 0 0 4px #5b8c5a33}[data-theme=nebula] .progress-dot.completed .dot-inner{background:var(--nebula-leaf)}[data-theme=nebula] .reading-progress-fill{background:linear-gradient(90deg,var(--nebula-leaf) 0%,var(--nebula-terracotta) 100%)}.container{width:100%;max-width:var(--max-width-content);padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.section{padding-top:var(--space-8);padding-bottom:var(--space-8)}.section-sm{padding-top:var(--space-4);padding-bottom:var(--space-4)}.section-lg{padding-top:var(--space-12);padding-bottom:var(--space-12)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grid-cols-1{grid-template-columns:repeat(1,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-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-cols-auto-sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-cols-auto-lg{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-auto{grid-auto-rows:minmax(0,1fr)}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-full{grid-row:1/-1}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.top-1{top:var(--space-1)}.top-2{top:var(--space-2)}.top-4{top:var(--space-4)}.right-0{right:0}.right-1{right:var(--space-1)}.right-2{right:var(--space-2)}.right-4{right:var(--space-4)}.bottom-0{bottom:0}.bottom-1{bottom:var(--space-1)}.bottom-2{bottom:var(--space-2)}.bottom-4{bottom:var(--space-4)}.left-0{left:0}.left-1{left:var(--space-1)}.left-2{left:var(--space-2)}.left-4{left:var(--space-4)}.inset-0{inset:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-100{z-index:100}.z-1000{z-index:1000}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-auto{margin-top:auto}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-6{margin-right:var(--space-6)}.mr-8{margin-right:var(--space-8)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-auto{margin-bottom:auto}.ml-0{margin-left:0}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-6{margin-left:var(--space-6)}.ml-8{margin-left:var(--space-8)}.ml-auto{margin-left:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.pt-0{padding-top:0}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pr-0{padding-right:0}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pr-6{padding-right:var(--space-6)}.pr-8{padding-right:var(--space-8)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pl-0{padding-left:0}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pl-6{padding-left:var(--space-6)}.pl-8{padding-left:var(--space-8)}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.w-max{width:max-content}.w-min{width:min-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.h-screen{height:100vh}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.max-w-content{max-width:var(--max-width-content)}.max-w-prose{max-width:var(--max-width-prose)}@media(max-width:1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,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\:flex-col{flex-direction:column}.lg\:hidden{display:none}}@media(max-width:768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-col{flex-direction:column}.md\:hidden{display:none}.md\:px-4{padding-left:var(--space-4);padding-right:var(--space-4)}}@media(max-width:480px){.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:flex-col{flex-direction:column}.sm\:hidden{display:none}.sm\:px-2{padding-left:var(--space-2);padding-right:var(--space-2)}}:root{--brand:#2563eb;--brand-hover:#1d4ed8;--brand-active:#1e40af;--brand-soft:#dbeafe;--neutral-0:#fff;--neutral-50:#fafaf9;--neutral-100:#f5f5f4;--neutral-200:#e7e5e4;--neutral-300:#d6d3d1;--neutral-400:#a8a29e;--neutral-500:#78716c;--neutral-600:#57534e;--neutral-700:#44403c;--neutral-800:#292524;--neutral-900:#1c1917;--success:#16a34a;--success-soft:#f0fdf4;--warning:#d97706;--warning-soft:#fffbeb;--error:#dc2626;--error-soft:#fef2f2;--surface-page:var(--neutral-50);--surface-card:var(--neutral-0);--surface-elevated:var(--neutral-0);--surface-muted:var(--neutral-100);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-600);--text-muted:var(--neutral-500);--text-faint:var(--neutral-400);--text-inverse:var(--neutral-0);--border:var(--neutral-200);--border-muted:var(--neutral-100);--border-strong:var(--neutral-300);--interactive:var(--brand);--interactive-hover:var(--brand-hover);--focus-ring:0 0 0 3px #2563eb4d;--state-hover:var(--neutral-100);--state-active:var(--neutral-200);--state-selected:var(--brand-soft);--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Literata", "Georgia", "Times New Roman", serif;--font-display:"Fraunces", "Georgia", serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--leading-story:1.85;--max-width-story:62ch;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2.25rem;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #00000005;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 6px #0000000d, 0 2px 4px #00000008;--shadow-lg:0 10px 15px #0000000f, 0 4px 6px #00000008;--shadow-xl:0 20px 25px #00000014, 0 8px 10px #0000000a;--shadow-2xl:0 25px 50px #0000001f;--shadow-inner:inset 0 2px 4px #0000000a;--shadow-glow-sm:0 0 8px #2563eb33;--shadow-glow-md:0 0 16px #2563eb40;--shadow-glow-lg:0 0 32px #2563eb4d;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal-backdrop:40;--z-modal:50;--z-popover:60;--z-tooltip:70;--z-toast:80;--z-overlay:90;--z-max:100;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--duration-instant:0s;--duration-fast:.1s;--duration-normal:.2s;--duration-slow:.3s;--duration-slower:.4s;--duration-slowest:.5s;--ease-linear:linear;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-spring:cubic-bezier(.175, .885, .32, 1.275);--ease-apple:cubic-bezier(.25, .1, .25, 1);--ease-apple-decelerate:cubic-bezier(.33, 1, .68, 1);--ease-apple-accelerate:cubic-bezier(.32, 0, .67, 0);--transition-colors:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);--transition-opacity:opacity var(--duration-normal) var(--ease-out);--transition-transform:transform var(--duration-normal) var(--ease-out);--transition-shadow:box-shadow var(--duration-normal) var(--ease-out);--transition-all:all var(--duration-normal) var(--ease-out);--max-width-content:1200px;--max-width-prose:65ch;--sidebar-width:280px;--grammar-noun:#1f2937;--grammar-article:#7dd3fc;--grammar-adjective:#3b82f6;--grammar-pronoun:#a855f7;--grammar-verb:#ef4444;--grammar-adverb:#f97316;--grammar-preposition:#22c55e;--grammar-conjunction:#ec4899;--grammar-interjection:#eab308;--role-admin:#16a34a;--role-admin-bg:#f0fdf4;--role-admin-border:#bbf7d0;--role-guide:#2563eb;--role-guide-bg:#dbeafe;--role-guide-border:#bfdbfe;--role-student:#d97706;--role-student-bg:#fffbeb;--role-student-border:#fde68a;--role-parent:#7c3aed;--role-parent-bg:#f5f3ff;--role-parent-border:#ddd6fe;--phil-primary:#5c4d3d;--phil-secondary:#6b8e6b;--phil-text:#5c4d3d;--phil-muted:#8b7355;--phil-surface:#fefcf9;--phil-accent:#6b8e6b;--phil-accent-light:#e8f0e8;--phil-highlight:#f5f0e8;--phil-shadow:#5c4d3d14;--phil-indigo:#6366f1;--phil-emerald:#10b981;--phil-amber:#f59e0b;--phil-pink:#ec4899;--phil-purple:#8b5cf6;--curriculum-nebula:#6b8e6b;--curriculum-starforge:#e67e22;--curriculum-frontier:#3498db;--primary:var(--brand);--primary-hover:var(--brand-hover);--primary-light:var(--brand-soft);--accent:var(--brand);--accent-hover:var(--brand-hover);--accent-light:var(--brand-soft);--bg:var(--surface-page);--bg-page:var(--surface-page);--bg-card:var(--surface-card);--bg-muted:var(--surface-muted);--card:var(--surface-card);--text:var(--text-primary);--muted:var(--text-muted);--border-default:var(--border);--border-focus:var(--brand);--interactive-primary:var(--brand);--interactive-primary-hover:var(--brand-hover);--hover-bg:var(--state-hover);--active-bg:var(--state-active);--success-light:var(--success-soft);--warning-light:var(--warning-soft);--danger:var(--error);--danger-light:var(--error-soft);--info:var(--brand);--info-light:var(--brand-soft);--shadow-focus:var(--focus-ring);--font-normal:var(--weight-normal);--font-medium:var(--weight-medium);--font-semibold:var(--weight-semibold);--font-bold:var(--weight-bold);--primary-color:var(--brand);--primary-color-alpha:#2563eb1a;--sky-500:var(--brand);--sky-600:var(--brand-hover);--slate-50:var(--neutral-50);--slate-100:var(--neutral-100);--slate-200:var(--neutral-200);--slate-300:var(--neutral-300);--slate-400:var(--neutral-400);--slate-500:var(--neutral-500);--slate-600:var(--neutral-600);--slate-700:var(--neutral-700);--slate-800:var(--neutral-800);--slate-900:var(--neutral-900);--stone-50:var(--neutral-50);--stone-100:var(--neutral-100);--stone-200:var(--neutral-200);--stone-300:var(--neutral-300);--stone-400:var(--neutral-400);--stone-500:var(--neutral-500);--stone-600:var(--neutral-600);--stone-700:var(--neutral-700);--stone-800:var(--neutral-800);--stone-900:var(--neutral-900)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-theme=dark]{--surface-page:var(--neutral-900);--surface-card:var(--neutral-800);--surface-elevated:var(--neutral-700);--surface-muted:var(--neutral-800);--text-primary:var(--neutral-50);--text-secondary:var(--neutral-300);--text-muted:var(--neutral-400);--text-faint:var(--neutral-500);--border:var(--neutral-700);--border-muted:var(--neutral-800);--border-strong:var(--neutral-600);--brand:#3b82f6;--brand-hover:#2563eb;--brand-soft:#3b82f626;--state-hover:var(--neutral-700);--state-active:var(--neutral-600);--state-selected:#3b82f633;--success:#22c55e;--success-soft:#22c55e26;--warning:#fbbf24;--warning-soft:#fbbf2426;--error:#f87171;--error-soft:#f8717126;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px #00000059, 0 2px 4px #0003;--shadow-lg:0 10px 15px #0006, 0 4px 6px #0003;--shadow-xl:0 20px 25px #00000080, 0 8px 10px #0000004d;--shadow-2xl:0 25px 50px #0009;--shadow-inner:inset 0 2px 4px #0003;--shadow-glow-sm:0 0 8px #3b82f640;--shadow-glow-md:0 0 16px #3b82f64d;--shadow-glow-lg:0 0 32px #3b82f659;--primary-color-alpha:#3b82f61a}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--interactive);transform:translateY(-2px)}.card-elevated{box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-lg)}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;gap:var(--space-2);border:none;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--interactive);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--interactive-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary{background:var(--surface-muted);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--state-hover);border-color:var(--interactive);color:var(--interactive)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){box-shadow:var(--shadow-sm);background:#15803d;transform:translateY(-1px)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--state-hover);color:var(--text-primary)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.badge{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);align-items:center;gap:var(--space-1);line-height:1;display:inline-flex}.badge-primary{background:var(--interactive);color:#fff}.badge-success{background:var(--success);color:#fff}.badge-muted{background:var(--surface-muted);color:var(--text-secondary)}.progress-bar{align-items:center;gap:var(--space-2);display:flex}.progress-track{background:var(--state-hover);border-radius:var(--radius-full);flex-grow:1;overflow:hidden}.progress-fill{background:var(--interactive);border-radius:var(--radius-full);height:100%;transition:width var(--duration-normal) var(--ease-out)}.progress-track-sm{height:4px}.progress-track-md{height:6px}.progress-track-lg{height:8px}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--weight-normal)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-faint{color:var(--text-faint)}.text-inverse{color:var(--text-inverse)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.border{border:1px solid var(--border)}.border-0{border:0}.border-2{border-width:2px}.border-muted{border-color:var(--border-muted)}.border-strong{border-color:var(--border-strong)}.border-interactive{border-color:var(--interactive)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}.bg-page{background-color:var(--surface-page)}.bg-card{background-color:var(--surface-card)}.bg-muted{background-color:var(--surface-muted)}.bg-hover{background-color:var(--state-hover)}.bg-active{background-color:var(--state-active)}.transition,.transition-fast{transition:all var(--duration-fast) var(--ease-out)}.transition-normal{transition:all var(--duration-normal) var(--ease-out)}.transition-slow{transition:all var(--duration-slow) var(--ease-out)}.hover\:scale-105:hover{transform:scale(1.05)}.hover\:scale-110:hover{transform:scale(1.1)}.hover\:-translate-y-1:hover{transform:translateY(-4px)}.hover\:-translate-y-2:hover{transform:translateY(-8px)}.chart-container{--chart-padding:1.5rem;background:var(--surface-card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,12px);padding:var(--chart-padding);flex-direction:column;display:flex}@media(max-width:1024px){.chart-container{--chart-padding:1.25rem}}@media(max-width:768px){.chart-container{--chart-padding:1rem}}.chart-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.chart-title{color:var(--text-primary,#1f2937);margin:0;font-size:1rem;font-weight:600}.chart-legend{color:var(--text-muted,#6b7280);gap:1rem;font-size:.875rem;display:flex}.chart-legend-item{align-items:center;gap:.375rem;display:flex}.chart-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}@media(max-width:768px){.chart-header{flex-direction:column;align-items:flex-start;gap:.25rem}.chart-title{font-size:.875rem}.chart-legend{display:none}}.chart-summary{color:var(--text-muted,#9ca3af);gap:.625rem;margin-top:.5rem;font-size:.6875rem;font-weight:400;display:none}.chart-summary-stat{align-items:center;gap:.25rem;display:flex}.chart-summary .chart-legend-dot{width:6px;height:6px}@media(max-width:768px){.chart-summary{flex-wrap:wrap;display:flex}}.puzzle-container{background:var(--card);border:2px solid var(--border);border-radius:16px;padding:1.5rem}.puzzle-container-flush{background:0 0;border:none;padding:0}.puzzle-header{margin-bottom:1rem}.puzzle-header h3{color:var(--text);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.puzzle-header p{color:var(--muted);margin:0;font-size:.9rem}.puzzle-progress{background:var(--bg);color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:.85rem;display:flex}.puzzle-progress-label{font-weight:500}.puzzle-progress-score{color:var(--text);font-weight:600}.puzzle-progress-dots{align-items:center;gap:.5rem;display:flex}.puzzle-progress-dot{background:var(--border);border-radius:50%;width:10px;height:10px;transition:all .2s}.puzzle-progress-dot.current{background:var(--accent);transform:scale(1.2)}.puzzle-progress-dot.correct{background:#10b981}.puzzle-progress-dot.incorrect{background:#f59e0b}.puzzle-problem{background:var(--bg);text-align:center;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.puzzle-problem-label{color:var(--muted);margin-bottom:.75rem;font-size:.9rem}.puzzle-problem-display{color:var(--accent);font-size:2rem;font-weight:700}.puzzle-workspace{background:var(--bg);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.puzzle-btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.puzzle-btn:disabled{opacity:.5;cursor:not-allowed}.puzzle-btn-primary{background:var(--accent);color:#fff}.puzzle-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.puzzle-btn-success{color:#fff;background:#10b981}.puzzle-btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.puzzle-btn-secondary{background:var(--bg);color:var(--text);border:2px solid var(--border)}.puzzle-btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.puzzle-btn-sm{padding:.5rem 1rem;font-size:.875rem}.puzzle-btn-icon{border-radius:50%;width:44px;height:44px;padding:0;font-size:1.25rem}.puzzle-feedback{border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:1rem;font-weight:600;display:flex}.puzzle-feedback-correct{color:#10b981;background:#10b98126}.puzzle-feedback-incorrect,.puzzle-feedback-almost{color:#f59e0b;background:#f59e0b26}.puzzle-feedback-hint{color:var(--accent);background:#6366f126}.puzzle-feedback-icon{font-size:1.2rem}.puzzle-results{background:var(--bg);border:2px solid var(--border);text-align:center;border-radius:12px;margin-bottom:1.5rem;padding:2rem}.puzzle-results-perfect{background:#10b9811a;border-color:#10b981}.puzzle-results-icon{margin-bottom:.75rem;font-size:3rem}.puzzle-results h4{color:var(--text);margin:0 0 .5rem;font-size:1.5rem}.puzzle-results-score{color:var(--muted);margin:0;font-size:1.1rem}.puzzle-results-insight{color:var(--text);margin:1rem 0;font-size:.9rem;font-style:italic;line-height:1.5}.puzzle-hints{background:var(--bg);border-radius:10px;margin-top:1rem;padding:1rem}.puzzle-hints-toggle{color:var(--accent);cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.puzzle-hints-content{border-top:1px solid var(--border);color:var(--text);margin-top:.75rem;padding-top:.75rem;font-size:.9rem;line-height:1.5}.puzzle-hints-counter{color:var(--muted);font-size:.8rem}.puzzle-info{background:var(--bg);border-radius:10px;margin-top:1.5rem;padding:1rem;font-size:.85rem}.puzzle-info strong{color:var(--text);margin-bottom:.5rem;display:block}.puzzle-info ul{color:var(--muted);margin:0;padding-left:1.25rem}.puzzle-info li{margin:.25rem 0}.puzzle-info em{color:var(--accent)}.puzzle-controls{justify-content:center;gap:1rem;margin-top:1rem;display:flex}.puzzle-counter{align-items:center;gap:1rem;display:flex}.puzzle-counter-btn{border:2px solid var(--border);background:var(--card);width:40px;height:36px;color:var(--text);cursor:pointer;border-radius:6px;font-size:1rem;font-weight:600;transition:all .2s}.puzzle-counter-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:#fff}.puzzle-counter-btn:disabled{opacity:.4;cursor:not-allowed}.puzzle-counter-value{text-align:center;min-width:3rem;color:var(--text);font-weight:600}.puzzle-input{border:2px solid var(--border);background:var(--bg);color:var(--text);text-align:center;border-radius:10px;width:150px;padding:.75rem 1.5rem;font-size:1.5rem;transition:border-color .2s}.puzzle-input:focus{border-color:var(--accent);outline:none}.puzzle-input:disabled{opacity:.6;cursor:not-allowed}.puzzle-grid-2{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.puzzle-grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.puzzle-grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media(max-width:500px){.puzzle-container{padding:1rem}.puzzle-grid-2{grid-template-columns:1fr}.puzzle-grid-3,.puzzle-grid-4{grid-template-columns:repeat(2,1fr)}.puzzle-btn{padding:.625rem 1.5rem;font-size:.9rem}.puzzle-controls{flex-direction:column}}:root{--puzzle-accent:var(--brand,#2563eb);--puzzle-accent-soft:var(--brand-soft,#dbeafe);--puzzle-accent-hover:var(--brand-hover,#1d4ed8);--puzzle-drag-bg:#6366f11a;--puzzle-drag-border:var(--puzzle-accent);--puzzle-drop-highlight:#6366f126;--puzzle-selected-bg:var(--puzzle-accent-soft);--puzzle-selected-border:var(--puzzle-accent);--puzzle-card-bg:var(--card,#fff);--puzzle-card-border:var(--border,#e2e8f0);--puzzle-card-radius:12px;--puzzle-slot-bg:#f8fafc;--puzzle-slot-border:var(--border,#e2e8f0);--puzzle-slot-border-style:dashed;--puzzle-tray-border:var(--border,#e2e8f0);--puzzle-tray-bg:transparent;--puzzle-banner-bg:#e0e7ff;--puzzle-banner-text:#3730a3;--puzzle-banner-icon-bg:#f0f0ff;--puzzle-banner-icon-border:#c7d2fe}[data-puzzle-theme=philosophy]{--puzzle-accent:#8b6f2a;--puzzle-accent-soft:#efe7d6;--puzzle-accent-hover:#7a5f1f;--puzzle-drag-bg:#8b6f2a1a;--puzzle-banner-bg:#efe7d6;--puzzle-banner-text:#6b5335;--puzzle-banner-icon-bg:#f7f2e8;--puzzle-banner-icon-border:#bfa984}[data-puzzle-theme=mathematics]{--puzzle-accent:#2563eb;--puzzle-accent-soft:#dbeafe;--puzzle-accent-hover:#1d4ed8;--puzzle-drag-bg:#2563eb1a;--puzzle-banner-bg:#dbeafe;--puzzle-banner-text:#1e40af;--puzzle-banner-icon-bg:#eff6ff;--puzzle-banner-icon-border:#93c5fd}[data-puzzle-theme=science]{--puzzle-accent:#059669;--puzzle-accent-soft:#d1fae5;--puzzle-accent-hover:#047857;--puzzle-drag-bg:#0596691a;--puzzle-banner-bg:#d1fae5;--puzzle-banner-text:#065f46;--puzzle-banner-icon-bg:#ecfdf5;--puzzle-banner-icon-border:#6ee7b7}[data-puzzle-theme=technology]{--puzzle-accent:#7c3aed;--puzzle-accent-soft:#ede9fe;--puzzle-accent-hover:#6d28d9;--puzzle-drag-bg:#7c3aed1a;--puzzle-banner-bg:#ede9fe;--puzzle-banner-text:#5b21b6;--puzzle-banner-icon-bg:#f5f3ff;--puzzle-banner-icon-border:#a78bfa}[data-puzzle-theme=language]{--puzzle-accent:#d97706;--puzzle-accent-soft:#fef3c7;--puzzle-accent-hover:#b45309;--puzzle-drag-bg:#d977061a;--puzzle-banner-bg:#fef3c7;--puzzle-banner-text:#92400e;--puzzle-banner-icon-bg:#fffbeb;--puzzle-banner-icon-border:#fcd34d}[data-puzzle-theme=practical-life]{--puzzle-accent:#78716c;--puzzle-accent-soft:#f5f5f4;--puzzle-accent-hover:#57534e;--puzzle-drag-bg:#78716c1a;--puzzle-banner-bg:#f5f5f4;--puzzle-banner-text:#44403c;--puzzle-banner-icon-bg:#fafaf9;--puzzle-banner-icon-border:#d6d3d1}[data-puzzle-theme=music]{--puzzle-accent:#db2777;--puzzle-accent-soft:#fce7f3;--puzzle-accent-hover:#be185d;--puzzle-drag-bg:#db27771a;--puzzle-banner-bg:#fce7f3;--puzzle-banner-text:#9d174d;--puzzle-banner-icon-bg:#fdf2f8;--puzzle-banner-icon-border:#f9a8d4}[data-puzzle-theme=geometry]{--puzzle-accent:#0891b2;--puzzle-accent-soft:#cffafe;--puzzle-accent-hover:#0e7490;--puzzle-drag-bg:#0891b21a;--puzzle-banner-bg:#cffafe;--puzzle-banner-text:#155e75;--puzzle-banner-icon-bg:#ecfeff;--puzzle-banner-icon-border:#67e8f9}[data-puzzle-theme=college]{--puzzle-accent:#4f46e5;--puzzle-accent-soft:#e0e7ff;--puzzle-accent-hover:#4338ca;--puzzle-drag-bg:#4f46e51a;--puzzle-banner-bg:#e0e7ff;--puzzle-banner-text:#3730a3;--puzzle-banner-icon-bg:#eef2ff;--puzzle-banner-icon-border:#a5b4fc}.vocab-term{border-bottom:1.5px dotted var(--brand,#2563eb);cursor:help;transition:background-color .15s}.vocab-term:hover{background-color:#2563eb14}.vocab-tooltip{z-index:10000;background:var(--card,#1e293b);max-width:320px;color:var(--text,white);pointer-events:none;border-radius:.5rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.5;animation:.15s ease-out vocab-fade-in;position:fixed;box-shadow:0 8px 24px #00000040}.vocab-tooltip__term{margin-bottom:.25rem;font-size:1rem;font-weight:700}.vocab-tooltip__pronunciation{color:var(--muted,#94a3b8);margin-bottom:.5rem;font-size:.8rem;font-style:italic}.vocab-tooltip__definition{margin-bottom:.4rem}.vocab-tooltip__usage{color:var(--muted,#94a3b8);border-top:1px solid #ffffff1a;margin-top:.4rem;padding-top:.4rem;font-size:.85rem;font-style:italic}@keyframes vocab-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.lesson-page{grid-template-columns:var(--sidebar-width) 1fr var(--chat-width);background-color:var(--content-bg);grid-template-areas:"sidebar content chat";height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;display:grid;overflow:hidden}.lesson-sidebar{grid-area:sidebar;overflow:hidden}.lesson-content{grid-area:content;overflow-y:auto}.chat-panel{grid-area:chat;overflow:hidden}@media(max-width:1200px){.lesson-page{grid-template-columns:250px 1fr 320px}:root{--sidebar-width:250px;--chat-width:320px}}@media(max-width:1024px){.lesson-page{grid-template-columns:220px 1fr 300px}:root{--sidebar-width:220px;--chat-width:300px;--content-padding:1.5rem}}@media(max-width:768px){.lesson-page{grid-template:"sidebar""content"1fr"chat"/1fr}.lesson-sidebar{max-height:200px;overflow-y:auto}.chat-panel{max-height:300px}:root{--content-padding:1rem}}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}::selection{background-color:var(--primary-color-alpha);color:var(--text-primary)}*{scroll-behavior:smooth;box-sizing:border-box}body{background-color:var(--content-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:inherit}button{font-family:inherit;font-size:inherit}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;text-decoration:none}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.philosophy-page{max-width:1100px;min-height:100vh;margin:0 auto;padding:2rem}.philosophy-page--scientific{--phil-primary:var(--phil-indigo);--phil-accent:var(--phil-emerald);--phil-accent-light:#eef2ff;--phil-surface:var(--neutral-0);--phil-highlight:#e0e7ff;--phil-muted:var(--neutral-500);--phil-text:var(--neutral-700)}.phil-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;position:relative}.phil-header--with-back{padding-top:0}.phil-title{color:var(--phil-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-size:2.75rem;font-weight:700}.phil-subtitle{color:var(--phil-muted);margin:0;font-size:1.25rem;font-style:italic}.phil-back-button{background:var(--phil-surface);border:1px solid var(--phil-muted);color:var(--phil-primary);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.phil-back-button:hover{background:var(--phil-accent-light);border-color:var(--phil-accent)}.phil-back-button svg{width:16px;height:16px}.phil-back-button--positioned{position:absolute;top:0;left:0}.phil-intro{background:linear-gradient(135deg,var(--phil-accent-light),var(--phil-highlight));text-align:center;border-radius:24px;margin-bottom:3rem;padding:2.5rem}.phil-intro p{color:var(--phil-primary);max-width:700px;margin:0 auto;font-size:1.25rem;line-height:1.7}.phil-intro p:not(:last-child){margin-bottom:1.5rem}.phil-intro--left{text-align:left}.phil-intro--left p{margin:0}.phil-card{box-shadow:0 2px 16px var(--phil-shadow);background:#fff;border-radius:20px;padding:2rem;transition:all .3s;position:relative}.phil-card--interactive:hover{box-shadow:0 8px 32px var(--phil-shadow);transform:translateY(-4px)}.phil-card--bordered{border-top:4px solid var(--phil-accent)}.phil-card--dashed{opacity:.85;border:2px dashed var(--phil-surface)}.phil-card h2{color:var(--phil-primary);margin:0 0 .75rem;font-size:1.375rem;font-weight:600}.phil-card h3{color:var(--phil-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.phil-card p{color:var(--phil-text);margin:0;font-size:.9375rem;line-height:1.65}.phil-card strong{color:var(--phil-primary)}.phil-section{box-shadow:0 2px 16px var(--phil-shadow);background:#fff;border-radius:24px;margin-bottom:2rem;padding:2.5rem}.phil-section-header{border-bottom:1px solid var(--phil-surface);align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.phil-section-header h2{color:var(--phil-primary);margin:0;font-size:1.5rem;font-weight:600}.phil-section-icon{font-size:2rem}.phil-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.phil-grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.phil-grid--3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.phil-grid--4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.phil-icon{width:56px;height:56px;color:var(--phil-primary);margin-bottom:1rem}.phil-icon svg{width:100%;height:100%}.phil-icon--lg{width:80px;height:80px}.phil-icon--sm{width:40px;height:40px}.phil-badge{background:var(--phil-surface);color:var(--phil-muted);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.phil-badge--accent{background:var(--phil-accent-light);color:var(--phil-accent)}.phil-badge--positioned{position:absolute;top:1rem;right:1rem}.phil-quote{color:var(--phil-primary);text-align:center;max-width:650px;margin:0 auto;padding:0 1rem;font-size:1.125rem;font-style:italic;line-height:1.7}.phil-quote cite{color:var(--phil-accent);margin-top:1rem;font-size:.875rem;font-style:normal;font-weight:500;display:block}.phil-quote--bordered{border-left:3px solid var(--phil-accent);text-align:left;padding-left:1rem}.phil-cta{cursor:pointer;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.phil-cta--primary{background:var(--phil-accent);color:#fff}.phil-cta--primary:hover{background:#5a7d5a;transform:translateY(-2px);box-shadow:0 4px 16px #6b8e6b4d}.philosophy-page--scientific .phil-cta--primary{background:var(--phil-primary)}.philosophy-page--scientific .phil-cta--primary:hover{background:#4f46e5;box-shadow:0 4px 16px #6366f14d}.phil-cta--secondary{color:var(--phil-primary);border:2px solid var(--phil-surface);background:#fff}.phil-cta--secondary:hover{border-color:var(--phil-primary);transform:translateY(-2px)}.phil-cta-subtitle{opacity:.8;font-size:.75rem;font-weight:400}.phil-cta-group{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.phil-footer{text-align:center;padding:3rem 0 1rem}.phil-flow{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.phil-flow-step{background:var(--phil-surface);border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;min-width:140px;padding:1rem 1.5rem;display:flex}.phil-flow-step-icon{font-size:1.75rem}.phil-flow-step-label{color:var(--phil-primary);font-size:.875rem;font-weight:500}.phil-flow-arrow{color:var(--phil-muted);opacity:.5;font-size:1.5rem}.phil-flow-note{color:var(--phil-muted);text-align:center;margin:0;font-size:.9375rem;font-style:italic}.phil-table{border-collapse:collapse;border:1px solid var(--phil-surface);border-radius:12px;width:100%;overflow:hidden}.phil-table tbody tr{border-bottom:1px solid var(--phil-surface)}.phil-table tbody tr:last-child{border-bottom:none}.phil-table td{padding:.75rem 1rem;font-size:.875rem}.phil-table td:first-child{color:var(--phil-primary);font-weight:500}.phil-table td:last-child{color:var(--phil-text)}.phil-info-card{background:var(--phil-surface);border-radius:12px;padding:1.25rem}.phil-info-card h4{color:var(--phil-primary);margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.phil-info-card p{color:var(--phil-muted);margin:0;font-size:.875rem;line-height:1.5}.phil-info-card--highlight{background:var(--phil-accent-light);border-left:3px solid var(--phil-accent)}.phil-info-card--warning{background:#fff8f0;border-left:3px solid #e8a598}.phil-tags{flex-wrap:wrap;gap:.5rem;display:flex}.phil-tag{background:var(--phil-surface);color:var(--phil-primary);border-radius:999px;padding:.375rem .875rem;font-size:.8125rem;font-weight:500}.phil-tag--physics{color:#4338ca;background:#eef2ff}.phil-tag--chemistry{color:#b45309;background:#fef3c7}.phil-tag--biology{color:#065f46;background:#d1fae5}.phil-tag--history{color:#c2410c;background:#fff7ed}.phil-tag--math{color:#5b21b6;background:#ede9fe}.phil-tag--language{color:#be123c;background:#fff1f2}.phil-tag--philosophy{color:#6d28d9;background:#f5f3ff}.phil-tag--science{color:#0e7490;background:#ecfeff}@media(max-width:768px){.philosophy-page{padding:1rem}.phil-title{font-size:2rem}.phil-intro{padding:1.5rem}.phil-intro p{font-size:1.0625rem}.phil-section,.phil-card{padding:1.5rem}.phil-grid{grid-template-columns:1fr}.phil-flow{flex-direction:column}.phil-flow-arrow{transform:rotate(90deg)}.phil-flow-step{width:100%;max-width:200px}.phil-cta-group{flex-direction:column;align-items:center}.phil-cta{width:100%;max-width:280px}.phil-back-button--positioned{margin-bottom:1rem;position:relative}.phil-header--with-back{padding-top:0}}@media(max-width:480px){.phil-grid--3,.phil-grid--4{grid-template-columns:1fr}}.generated-image-container{text-align:center;flex-direction:column;align-items:center;margin:2rem 0;display:flex}.generated-image{border-radius:var(--radius-lg);width:auto;max-width:100%;max-height:500px;box-shadow:var(--shadow-md);border:1px solid var(--border);object-fit:contain}.generated-image-container .image-caption{color:var(--muted);margin-top:.75rem;font-size:.9rem;font-style:italic}.ai-image-placeholder{background:var(--accent-light);border:2px dashed var(--accent);border-radius:var(--radius-md);text-align:center;margin:2rem 0;padding:2rem}.ai-image-placeholder .image-caption{color:var(--muted);font-size:.9rem;font-style:italic}.image-caption{text-overflow:ellipsis;white-space:nowrap;max-width:60ch;overflow:hidden}.image-caption:empty{display:none}.image-caption:has(+*){display:none}.tally-group{vertical-align:middle;border-radius:.25rem;align-items:center;gap:4px;height:1.6em;margin:0 .25rem;padding:.2rem .5rem;display:inline-flex;position:relative}.tally-line{background:var(--tally-color,#3b82f6);border-radius:1px;width:3px;height:1.2em;display:inline-block}.tally-crossed{overflow:visible}.tally-crossed:after{content:"";background:var(--tally-color,#3b82f6);z-index:1;border-radius:2px;height:3px;position:absolute;top:50%;left:.2rem;right:.2rem;transform:translateY(-50%)rotate(-35deg)}.navbar.svelte-q971rm{background:var(--surface-card);border-bottom:1px solid var(--border);z-index:200;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);position:sticky;top:0}.nav-container.svelte-q971rm{max-width:var(--max-width-content);padding:0 var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);height:4.5rem;margin:0 auto;display:flex}.nav-brand.svelte-q971rm .brand-title:where(.svelte-q971rm){font-size:var(--text-xl);font-weight:var(--weight-bold);color:#503131;letter-spacing:-.02em;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;margin:0;text-decoration:none}.nav-brand.svelte-q971rm .brand-title:where(.svelte-q971rm):hover{background:var(--state-hover);color:var(--interactive-hover)}.nav-brand.svelte-q971rm .brand-title:where(.svelte-q971rm):focus-visible{outline:2px solid var(--interactive);outline-offset:2px}.nav-menu.svelte-q971rm{gap:var(--space-1);flex:1;justify-content:center;align-items:center;display:flex}.nav-dropdown.svelte-q971rm{position:relative}.nav-link.svelte-q971rm{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);align-items:center;gap:var(--space-2);white-space:nowrap;background:0 0;border:none;text-decoration:none;display:flex;position:relative}.nav-link.svelte-q971rm:hover{background:var(--state-hover);color:var(--text-primary)}.nav-link.svelte-q971rm:focus-visible{outline:2px solid var(--interactive);outline-offset:2px}.nav-link.active.svelte-q971rm{color:var(--interactive);font-weight:var(--weight-semibold);background:var(--state-selected)}.nav-link.active.svelte-q971rm:after{content:"";background:var(--interactive);border-radius:var(--radius-full);width:24px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.dropdown-arrow.svelte-q971rm{opacity:.7;width:12px;height:12px;transition:transform .2s}.dropdown-arrow.open.svelte-q971rm{transform:rotate(180deg)}.dropdown-menu.svelte-q971rm{top:calc(100% + var(--space-2));background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);min-width:200px;padding:var(--space-2);z-index:1000;animation:svelte-q971rm-slideDown var(--duration-normal) var(--ease-out);-webkit-backdrop-filter:blur(10px);position:absolute;left:0}@keyframes svelte-q971rm-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item.svelte-q971rm{width:100%;color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-align:left;align-items:center;gap:var(--space-3);background:0 0;border:none;text-decoration:none;display:flex}.dropdown-item.svelte-q971rm:hover{background:var(--state-hover);color:var(--interactive)}.dropdown-item.svelte-q971rm:focus-visible{outline:2px solid var(--interactive);outline-offset:-2px}.dropdown-item.active.svelte-q971rm{color:var(--interactive);font-weight:var(--weight-semibold);background:var(--state-selected)}.dropdown-item-icon.svelte-q971rm{opacity:.6;flex-shrink:0;width:16px;height:16px}.dropdown-item.svelte-q971rm:hover .dropdown-item-icon:where(.svelte-q971rm),.dropdown-item.active.svelte-q971rm .dropdown-item-icon:where(.svelte-q971rm){opacity:1}.dropdown-section-header.svelte-q971rm{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-4);margin-top:var(--space-1)}.dashboard-item.svelte-q971rm{font-weight:var(--weight-medium)}.dropdown-item.admin-item.svelte-q971rm{color:var(--text-primary)}.dropdown-item.admin-item.svelte-q971rm:hover{background:var(--state-hover);color:var(--interactive)}.dropdown-item.admin-item.active.svelte-q971rm{color:var(--interactive);font-weight:var(--weight-semibold);background:var(--state-selected)}.philosophy-dropdown.svelte-q971rm .dropdown-menu:where(.svelte-q971rm){min-width:260px}.academy-menu.svelte-q971rm{min-width:280px;padding:var(--space-2)}.academy-item.svelte-q971rm{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);display:flex}.academy-item-icon-img.svelte-q971rm{object-fit:contain;flex-shrink:0;width:32px;height:32px}.academy-item-content.svelte-q971rm{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.academy-item-header.svelte-q971rm{align-items:center;gap:var(--space-2);display:flex}.academy-item-name.svelte-q971rm{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--text-primary)}.academy-item-subtitle.svelte-q971rm{font-size:var(--text-xs);color:var(--text-muted);background:var(--state-hover);border-radius:var(--radius-sm);padding:1px 6px}.academy-item-description.svelte-q971rm{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.academy-item.svelte-q971rm:hover .academy-item-name:where(.svelte-q971rm){color:var(--interactive)}.academy-item.active.svelte-q971rm{background:0 0}.academy-item.active.svelte-q971rm .academy-item-name:where(.svelte-q971rm){color:var(--interactive)}.external-icon.svelte-q971rm{opacity:.7;width:12px;height:12px;transition:opacity var(--duration-fast) var(--ease-out);margin-left:.25rem}.nav-link.external.svelte-q971rm:hover .external-icon:where(.svelte-q971rm){opacity:1}.external-icon-small.svelte-q971rm{opacity:.6;width:10px;height:10px;transition:opacity var(--duration-fast) var(--ease-out);flex-shrink:0;margin-left:auto}.dropdown-item.external.svelte-q971rm:hover .external-icon-small:where(.svelte-q971rm){opacity:1}.nav-auth.svelte-q971rm{align-items:center;gap:1rem;display:flex}.auth-loading.svelte-q971rm{color:var(--muted);font-size:.9rem}.user-menu-dropdown.svelte-q971rm{position:relative}.user-menu-trigger.svelte-q971rm{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;display:flex}.user-menu-trigger.svelte-q971rm:hover{background:var(--state-hover)}.user-menu-trigger.svelte-q971rm:focus-visible{outline:2px solid var(--interactive);outline-offset:2px}.user-avatar.svelte-q971rm,.user-avatar-placeholder.svelte-q971rm{border-radius:var(--radius-full);border:2px solid var(--border);object-fit:cover;flex-shrink:0;width:36px;height:36px}.user-avatar-placeholder.svelte-q971rm{background:var(--brand-soft);color:var(--interactive);font-weight:var(--weight-semibold);font-size:var(--text-sm);border-color:var(--interactive);justify-content:center;align-items:center;display:flex}.user-avatar-placeholder.large.svelte-q971rm{width:48px;height:48px;font-size:var(--text-lg)}.user-name.svelte-q971rm{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.user-dropdown-menu.svelte-q971rm{min-width:240px;padding:var(--space-3);left:auto;right:0}.user-dropdown-header.svelte-q971rm{align-items:center;gap:var(--space-3);padding:var(--space-2);margin-bottom:var(--space-2);display:flex}.user-avatar-large.svelte-q971rm{border-radius:var(--radius-full);border:2px solid var(--border);object-fit:cover;flex-shrink:0;width:48px;height:48px}.user-dropdown-info.svelte-q971rm{flex:1;min-width:0}.user-dropdown-name.svelte-q971rm{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-dropdown-email.svelte-q971rm{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-divider.svelte-q971rm{background:var(--border);height:1px;margin:var(--space-2) 0}.logout-item.svelte-q971rm{color:var(--error)}.logout-item.svelte-q971rm:hover{background:var(--error-soft);color:var(--error)}.login-btn.svelte-q971rm{background:var(--interactive);color:var(--text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:none}.login-btn.svelte-q971rm:hover{background:var(--interactive-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.login-btn.svelte-q971rm:focus-visible{outline:2px solid var(--interactive);outline-offset:2px}.nav-mobile-toggle.svelte-q971rm{display:none}@media(max-width:768px){.nav-container.svelte-q971rm{min-height:4rem;padding:0 var(--space-4);flex-wrap:wrap;gap:0}.nav-menu.svelte-q971rm{border-top:1px solid var(--border);opacity:0;width:100vw;max-height:0;transition:max-height var(--duration-slow) var(--ease-out),opacity var(--duration-slow) var(--ease-out);background:var(--surface-card,#fff);z-index:250;flex-direction:column;gap:0;padding:0;display:none;position:fixed;top:4.5rem;left:0;right:0;overflow:hidden;box-shadow:0 8px 32px #0000001f}.nav-menu.open.svelte-q971rm{opacity:1;max-height:calc(100vh - 4.5rem);max-height:calc(100dvh - 4.5rem);padding:var(--space-2) 0;display:flex;overflow-y:auto}.nav-menu.svelte-q971rm .nav-link:where(.svelte-q971rm){width:100%;padding:var(--space-4) var(--space-6,1.5rem);border-bottom:1px solid var(--border);border-radius:0;justify-content:flex-start;font-size:1rem}.nav-menu.svelte-q971rm .nav-link.active:where(.svelte-q971rm):after{border-radius:0;width:3px;height:100%;bottom:0;left:0;transform:none}.nav-menu.svelte-q971rm .nav-link:where(.svelte-q971rm):last-child{border-bottom:none}.nav-dropdown.svelte-q971rm{width:100%}.nav-dropdown.svelte-q971rm .dropdown-toggle:where(.svelte-q971rm){width:100%;padding:var(--space-4) var(--space-6,1.5rem);justify-content:space-between;font-size:1rem}.nav-dropdown.svelte-q971rm .dropdown-menu:where(.svelte-q971rm){border:none;border-top:1px solid var(--border);width:100%;box-shadow:none;background:var(--surface-secondary,#f8f8f8);padding:var(--space-2) 0;border-radius:0;margin-top:0;animation:none;position:static}.nav-dropdown.svelte-q971rm .dropdown-menu:where(.svelte-q971rm) .dropdown-item:where(.svelte-q971rm){padding:var(--space-3) var(--space-6,1.5rem) var(--space-3) var(--space-8,2rem)}.nav-auth.svelte-q971rm{width:100vw;padding:var(--space-4) var(--space-6,1.5rem);border-top:1px solid var(--border);background:var(--surface-card,#fff);z-index:251;justify-content:center;margin-top:0;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000014}.nav-menu.open.svelte-q971rm~.nav-auth:where(.svelte-q971rm){display:flex}.user-menu-dropdown.svelte-q971rm{width:100%}.user-menu-trigger.svelte-q971rm{justify-content:center;width:100%}.user-name.svelte-q971rm{max-width:none}.user-dropdown-menu.svelte-q971rm{width:100%;margin-top:var(--space-2);border:none;border-top:1px solid var(--border);box-shadow:none;border-radius:0;animation:none;position:static}.nav-mobile-toggle.svelte-q971rm{order:1;display:block}.mobile-menu-btn.svelte-q971rm{cursor:pointer;padding:var(--space-2);min-width:48px;min-height:48px;transition:all var(--duration-normal) var(--ease-out);border-radius:var(--radius-md);background:0 0;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.mobile-menu-btn.svelte-q971rm span:where(.svelte-q971rm){background:var(--text-primary,#333);width:26px;height:3px;transition:all var(--duration-normal) var(--ease-out);border-radius:var(--radius-full)}.mobile-menu-btn.open.svelte-q971rm{background:var(--surface-secondary,#f5f5f5);border-color:var(--border,#e0e0e0)}.mobile-menu-btn.open.svelte-q971rm span:where(.svelte-q971rm){background:var(--text-primary,#333);width:24px;height:3px}.mobile-menu-btn.open.svelte-q971rm span:where(.svelte-q971rm):first-child{transform:rotate(45deg)translate(6px,6px)}.mobile-menu-btn.open.svelte-q971rm span:where(.svelte-q971rm):nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn.open.svelte-q971rm span:where(.svelte-q971rm):nth-child(3){transform:rotate(-45deg)translate(6px,-6px)}.mobile-menu-btn.svelte-q971rm:hover{background:var(--state-hover,#f0f0f0)}.mobile-menu-btn.svelte-q971rm:active{transform:scale(.95)}.mobile-menu-btn.svelte-q971rm:focus-visible{outline:2px solid var(--interactive);outline-offset:2px}.nav-menu.svelte-q971rm,.nav-auth.svelte-q971rm{display:none!important}}.mobile-menu-backdrop.svelte-q971rm,.unified-mobile-menu.svelte-q971rm{display:none}@media(max-width:768px){.mobile-menu-backdrop.svelte-q971rm{z-index:998;-webkit-backdrop-filter:blur(4px);background:#00000080;display:block;position:fixed;inset:4.5rem 0 0}.unified-mobile-menu.svelte-q971rm{background:var(--surface-card,#fff);z-index:999;animation:svelte-q971rm-slideDown var(--duration-normal,.2s) var(--ease-out,ease-out);flex-direction:column;display:flex;position:fixed;inset:4.5rem 0 0;overflow-y:auto}.mobile-user-profile.svelte-q971rm{align-items:center;gap:var(--space-3,.75rem);padding:var(--space-4,1rem) var(--space-5,1.25rem);border-bottom:1px solid var(--border,#e0e0e0);background:var(--surface-secondary,#f8f8f8);display:flex}.mobile-user-avatar.svelte-q971rm,.mobile-user-avatar-placeholder.svelte-q971rm{border:2px solid var(--border,#e0e0e0);object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.mobile-user-avatar-placeholder.svelte-q971rm{background:var(--brand-soft,#e8f4fc);color:var(--interactive,#2563eb);justify-content:center;align-items:center;font-size:1.125rem;font-weight:600;display:flex}.mobile-user-info.svelte-q971rm{flex-direction:column;gap:2px;min-width:0;display:flex}.mobile-user-name.svelte-q971rm{color:var(--text-primary,#333);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.mobile-user-email.svelte-q971rm{color:var(--text-muted,#666);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.mobile-nav-items.svelte-q971rm{flex:1;padding:.5rem 0}.mobile-nav-item.svelte-q971rm{color:var(--text-primary,#333);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.mobile-nav-item.svelte-q971rm:hover{background:var(--state-hover,#f5f5f5)}.mobile-nav-item.active.svelte-q971rm{color:var(--interactive,#2563eb);background:var(--state-selected,#e8f4fc)}.mobile-nav-item.svelte-q971rm svg:where(.svelte-q971rm){opacity:.7;flex-shrink:0}.mobile-nav-item.active.svelte-q971rm svg:where(.svelte-q971rm){opacity:1}.mobile-nav-item.logout.svelte-q971rm{color:var(--error,#dc2626)}.mobile-nav-item.logout.svelte-q971rm:hover{background:var(--error-soft,#fef2f2)}.mobile-nav-section.svelte-q971rm{border-top:1px solid var(--border,#e0e0e0);padding:.5rem 0}.mobile-nav-section-label.svelte-q971rm{color:var(--text-muted,#666);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 1.25rem;font-size:.75rem;font-weight:600;display:block}.mobile-nav-item.sub-item.svelte-q971rm{padding-left:2rem;font-size:.9375rem}.mobile-nav-item-icon.svelte-q971rm{object-fit:contain;flex-shrink:0;width:24px;height:24px}.external-icon-mobile.svelte-q971rm{opacity:.5;margin-left:auto}.mobile-menu-footer.svelte-q971rm{border-top:1px solid var(--border,#e0e0e0);background:var(--surface-secondary,#f8f8f8);padding:1rem 1.25rem}.mobile-sign-in-btn.svelte-q971rm{background:var(--interactive,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:all .15s}.mobile-sign-in-btn.svelte-q971rm:hover{background:var(--interactive-hover,#1d4ed8)}}.footer.svelte-jz8lnl{background:var(--card);border-top:1px solid var(--border);margin-top:4rem;padding:3rem 2rem 1.5rem}.footer-content.svelte-jz8lnl{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1200px;margin:0 auto 2rem;display:grid}.footer-section.svelte-jz8lnl h3:where(.svelte-jz8lnl){color:var(--text);margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.footer-section.svelte-jz8lnl h4:where(.svelte-jz8lnl){color:var(--text);margin:0 0 1rem;font-size:1rem;font-weight:600}.footer-section.svelte-jz8lnl p:where(.svelte-jz8lnl){color:var(--muted);margin:0;font-size:.9rem;line-height:1.6}.footer-links.svelte-jz8lnl{flex-direction:column;gap:.75rem;display:flex}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl){color:var(--muted);font-size:.9rem;text-decoration:none;transition:color .2s}.footer-links.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--accent);text-decoration:underline}.footer-bottom.svelte-jz8lnl{border-top:1px solid var(--border);text-align:center;max-width:1200px;margin:0 auto;padding-top:2rem}.footer-bottom.svelte-jz8lnl p:where(.svelte-jz8lnl){color:var(--muted);margin:0;font-size:.875rem}@media(max-width:768px){.footer.svelte-jz8lnl{padding:2rem 1rem 1rem}.footer-content.svelte-jz8lnl{grid-template-columns:1fr;gap:1.5rem}.footer-links.svelte-jz8lnl{gap:.5rem}}.ambient-container.svelte-pc1ri1{position:relative}.ambient-toggle-row.svelte-pc1ri1{align-items:center;gap:2px;display:flex}.ambient-toggle.svelte-pc1ri1{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;color:#8b7355;background:#fffbf5eb;border:1px solid #8b735526;border-radius:50px 0 0 50px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .3s;display:flex;position:relative;box-shadow:0 2px 8px #8b73551a,inset 0 1px #fffc}.ambient-toggle.svelte-pc1ri1:hover{color:#6b8e6b;background:#fffffff2;border-color:#6b8e6b66}.ambient-toggle.playing.svelte-pc1ri1{color:#6b8e6b;background:#e8f0e8f2;border-color:#6b8e6b66}.toggle-icon.svelte-pc1ri1{font-size:14px;line-height:1}.toggle-label.svelte-pc1ri1{font-weight:500}.playing-indicator.svelte-pc1ri1{background:#6b8e6b;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite svelte-pc1ri1-pulse;position:absolute;top:4px;right:4px}@keyframes svelte-pc1ri1-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.expand-button.svelte-pc1ri1{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;color:#8b7355;background:#fffbf5eb;border:1px solid #8b735526;border-left:none;border-radius:0 50px 50px 0;justify-content:center;align-items:center;padding:8px;transition:all .3s;display:flex;box-shadow:0 2px 8px #8b73551a,inset 0 1px #fffc}.expand-button.svelte-pc1ri1:hover{color:#6b8e6b;background:#fffffff2}.expand-button.svelte-pc1ri1 svg:where(.svelte-pc1ri1){width:14px;height:14px;transition:transform .2s}.expand-button.expanded.svelte-pc1ri1 svg:where(.svelte-pc1ri1){transform:rotate(180deg)}.soundscape-menu.svelte-pc1ri1{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffbf5fa;border:1px solid #8b735526;border-radius:16px;min-width:260px;padding:8px;animation:.2s svelte-pc1ri1-slideUp;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 32px #8b735526,0 2px 8px #0000000d}@keyframes svelte-pc1ri1-slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.menu-header.svelte-pc1ri1{color:#a0896c;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #8b73551a;margin-bottom:4px;padding:8px 12px 12px;font-size:11px;font-weight:600}.soundscape-option.svelte-pc1ri1{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:all .2s;display:flex}.soundscape-option.svelte-pc1ri1:hover{background:#6b8e6b14}.soundscape-option.active.svelte-pc1ri1{background:#6b8e6b1f}.option-icon.svelte-pc1ri1{flex-shrink:0;font-size:20px;line-height:1}.option-content.svelte-pc1ri1{flex:1;min-width:0}.option-name.svelte-pc1ri1{color:#5c4d3d;margin-bottom:2px;font-size:13px;font-weight:600;display:block}.option-desc.svelte-pc1ri1{color:#a0896c;font-size:11px;line-height:1.3;display:block}.option-check.svelte-pc1ri1{color:#6b8e6b;font-size:14px;font-weight:600}@media(max-width:480px){.soundscape-menu.svelte-pc1ri1{min-width:240px;right:-8px}.toggle-label.svelte-pc1ri1{display:none}.ambient-toggle.svelte-pc1ri1{border-radius:50px;padding:10px 12px}.expand-button.svelte-pc1ri1{display:none}.ambient-toggle.svelte-pc1ri1{border-radius:50px}}.dev-switcher.svelte-yi46n{z-index:9999;font-family:system-ui,-apple-system,sans-serif;position:fixed;bottom:20px;right:20px}.toggle-btn.svelte-yi46n{color:#fff;cursor:pointer;background:#1a1a2e;border:2px solid #4a4a6a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 12px #0000004d}.toggle-btn.svelte-yi46n:hover{transform:scale(1.05);box-shadow:0 6px 16px #0006}.icon.svelte-yi46n{font-size:1.25rem}.badge.svelte-yi46n{color:#fff;background:#ff6b6b;border-radius:4px;padding:2px 4px;font-size:.6rem;font-weight:700;position:absolute;top:-4px;right:-4px}.panel.svelte-yi46n{background:#1a1a2e;border:1px solid #4a4a6a;border-radius:12px;width:260px;position:absolute;bottom:56px;right:0;overflow:hidden;box-shadow:0 8px 32px #0006}.panel-header.svelte-yi46n{color:#fff;border-bottom:1px solid #4a4a6a;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;font-weight:600;display:flex}.close-btn.svelte-yi46n{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.close-btn.svelte-yi46n:hover{color:#fff}.user-list.svelte-yi46n{max-height:320px;overflow-y:auto}.user-item.svelte-yi46n{color:#ccc;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #2a2a4a;align-items:center;gap:10px;width:100%;padding:10px 16px;transition:background .15s;display:flex}.user-item.svelte-yi46n:last-child{border-bottom:none}.user-item.svelte-yi46n:hover{background:#2a2a4a}.user-item.active.svelte-yi46n{color:#fff;background:#3a3a5a}.user-item.child.svelte-yi46n{background:linear-gradient(90deg,#4caf501a,#0000)}.user-item.child.svelte-yi46n:hover{background:linear-gradient(90deg,#4caf5033,#2a2a4a)}.user-item.svelte-yi46n:disabled{opacity:.5;cursor:wait}.user-avatar.svelte-yi46n{font-size:1.25rem}.user-info.svelte-yi46n{flex-direction:column;flex:1;gap:2px;display:flex}.user-label.svelte-yi46n{font-size:.85rem;font-weight:500}.user-role.svelte-yi46n{color:#888;text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.check.svelte-yi46n{color:#4caf50;font-weight:700}.panel-footer.svelte-yi46n{background:#151525;border-top:1px solid #4a4a6a;padding:8px 16px}.hint.svelte-yi46n{color:#666;font-size:.7rem}.error.svelte-yi46n{color:#ff6b6b;font-size:.7rem}html{font-family:-apple-system,system-ui,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}.app.svelte-12qhfyh{background:var(--bg);min-height:100vh;color:var(--text)}.main-content.svelte-12qhfyh{min-height:calc(100vh - 4rem)}.main-content.dashboard-mode.svelte-12qhfyh{min-height:100vh}@media(max-width:768px){.main-content.svelte-12qhfyh{min-height:calc(100vh - 4rem)}}.ambient-control.svelte-12qhfyh{z-index:100;opacity:.75;transition:all .3s;position:fixed;bottom:24px;right:24px}.ambient-control.svelte-12qhfyh:hover{opacity:1;transform:scale(1.05)}@media(max-width:768px){.ambient-control.svelte-12qhfyh{bottom:16px;right:16px}}
