:root{--primary: #1e3f20;--primary-dark: #07290c;--primary-container: #c5edc1;--primary-fixed-dim: #aad1a6;--on-primary: #ffffff;--on-primary-container: #012106;--secondary: #9b442a;--secondary-container: #fe9071;--secondary-fixed: #ffdbd1;--on-secondary: #ffffff;--on-secondary-container: #752810;--tertiary: #002730;--tertiary-blue: #2b7a8e;--tertiary-container: #003e4b;--on-tertiary: #ffffff;--on-tertiary-container: #63acc1;--bg: #f8f9fc;--surface: #ffffff;--surface-low: #f2f4f6;--surface-container: #eceef0;--surface-high: #e7e8eb;--surface-highest: #e1e2e5;--text-primary: #191c1e;--text-muted: #424840;--text-outline: #737970;--error: #ba1a1a;--error-container: #ffdad6;--success: #1b6d2e;--font-body: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: "Noto Serif", Georgia, serif;--shadow-sm: 0 1px 3px rgba(7, 41, 12, .05), 0 1px 2px rgba(7, 41, 12, .08);--shadow-md: 0 4px 16px -2px rgba(7, 41, 12, .08), 0 2px 6px -1px rgba(7, 41, 12, .05);--shadow-lg: 0 12px 32px -4px rgba(7, 41, 12, .12), 0 4px 12px -2px rgba(7, 41, 12, .06);--shadow-xl: 0 24px 48px -8px rgba(7, 41, 12, .18);--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--max-w: 1280px}[data-theme=dark]{--bg: #121513;--surface: #1a1e1b;--surface-low: #151816;--surface-container: #222723;--surface-high: #2a312c;--surface-highest: #333a35;--text-primary: #f0f4f1;--text-muted: #b8c2ba;--text-outline: #8c978e;--primary: #52a65a;--primary-dark: #377d3d;--primary-container: #234b26;--on-primary-container: #c5edc1;--secondary: #e67657;--secondary-container: #5c2010;--on-secondary-container: #ffdbd1;--tertiary-blue: #4db3ca;--tertiary-container: #003e4b}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;max-width:100vw;width:100%}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;max-width:100vw;width:100%;position:relative;-webkit-font-smoothing:antialiased}#root,.app-container{overflow-x:hidden;width:100%;max-width:100vw;position:relative}img,video,canvas,svg{display:block;max-width:100%}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;color:var(--primary-dark);line-height:1.25}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4{color:#f0f4f1}button,input,select,textarea{font-family:inherit}button{cursor:pointer;border:none;background:none;font-size:inherit}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--max-w);margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}@media(min-width:768px){.container{padding-left:2rem;padding-right:2rem}}:focus-visible{outline:3px solid var(--tertiary-blue);outline-offset:2px}dialog:modal{overscroll-behavior:contain;border:none;border-radius:var(--radius-xl);padding:0;background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-xl);max-width:90vw;width:720px;max-height:90vh;margin:auto}dialog::backdrop{overflow:hidden;overscroll-behavior:contain;background:#07290ca6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.glass-header{background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .glass-header{background:#1a1e1beb;border-bottom:1px solid rgba(255,255,255,.08)}@keyframes beaconPulse{0%{transform:scale(.95);opacity:.9}50%{transform:scale(1.3);opacity:.3}to{transform:scale(.95);opacity:.9}}.beacon-pulse{animation:beaconPulse 2s cubic-bezier(.4,0,.6,1) infinite}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--surface-low);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--surface-highest);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-outline)}.grid-cols-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.5rem}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600}.badge-primary{background:var(--primary-container);color:var(--primary)}.badge-secondary{background:var(--secondary-fixed);color:var(--secondary)}.badge-tertiary{background:var(--surface-container);color:var(--tertiary-blue)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--primary);color:var(--on-primary);font-weight:600;padding:.75rem 1.5rem;border-radius:var(--radius-md);transition:all .2s ease;box-shadow:var(--shadow-sm);min-height:44px}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--secondary);color:var(--on-secondary);font-weight:600;padding:.75rem 1.5rem;border-radius:var(--radius-md);transition:all .2s ease;box-shadow:var(--shadow-sm);min-height:44px}.btn-secondary:hover{filter:brightness(1.1);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--surface);color:var(--primary);border:1.5px solid var(--primary);font-weight:600;padding:.75rem 1.5rem;border-radius:var(--radius-md);transition:all .2s ease;min-height:44px}.btn-outline:hover{background:var(--surface-low);transform:translateY(-1px)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1.5px solid var(--surface-high);background:var(--surface);color:var(--text-primary);font-size:.95rem;transition:border-color .2s,box-shadow .2s;min-height:44px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1e3f2026}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards}
