:root{--ff-brand-50:#effcfb;--ff-brand-100:#d7f7f4;--ff-brand-200:#afece7;--ff-brand-300:#78ddd5;--ff-brand-400:#3fc5bc;--ff-brand-500:#12a8a0;--ff-brand-600:#0b8f89;--ff-brand-700:#0b716d;--ff-brand-800:#0d5956;--ff-brand-900:#0e4a48;--ff-brand-950:#062d2c;--ff-primary:var(--ff-brand-600);--ff-primary-hover:var(--ff-brand-700);--ff-primary-active:var(--ff-brand-800);--ff-primary-soft:var(--ff-brand-50);--ff-primary-soft-strong:var(--ff-brand-100);--ff-on-primary:#fff;--ff-success:#16a34a;--ff-success-soft:#ecfdf3;--ff-warning:#f59e0b;--ff-warning-soft:#fff8e6;--ff-danger:#ef4444;--ff-danger-soft:#fff1f2;--ff-info:#0ea5e9;--ff-info-soft:#eef9ff;--ff-ai:#14b8a6;--ff-ai-soft:#ecfdfb;--ff-bg:#f8fbfc;--ff-bg-subtle:#f3f7f8;--ff-surface:#fff;--ff-surface-raised:#fff;--ff-surface-muted:#f7fafb;--ff-surface-hover:#f1f7f7;--ff-surface-selected:#e9f7f6;--ff-sidebar-bg:#fff;--ff-header-bg:#ffffffeb;--ff-text-strong:#0f1720;--ff-text:#24313b;--ff-text-muted:#65727d;--ff-text-subtle:#8b98a3;--ff-text-inverse:#fff;--ff-link:var(--ff-brand-700);--ff-link-hover:var(--ff-brand-800);--ff-border:#dfe8eb;--ff-border-strong:#c9d6da;--ff-divider:#e9eff1;--ff-focus-ring:#12a8a047;--ff-overlay:#0912197a;--ff-overlay-light:#0912191f;--ff-shadow-xs:0 1px 2px #0a18220a;--ff-shadow-sm:0 4px 12px #0a18220f;--ff-shadow-md:0 10px 28px #0a182214;--ff-shadow-lg:0 18px 48px #0a18221f;--ff-shadow-float:0 24px 64px #0a182229;--ff-font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ff-font-display:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ff-font-size-xs:12px;--ff-font-size-sm:13px;--ff-font-size-md:14px;--ff-font-size-lg:16px;--ff-font-size-xl:20px;--ff-font-size-2xl:24px;--ff-font-size-3xl:32px;--ff-line-tight:1.2;--ff-line-normal:1.45;--ff-line-relaxed:1.6;--ff-weight-regular:400;--ff-weight-medium:500;--ff-weight-semibold:600;--ff-weight-bold:700;--ff-radius-xs:6px;--ff-radius-sm:8px;--ff-radius-md:12px;--ff-radius-lg:16px;--ff-radius-xl:20px;--ff-radius-2xl:24px;--ff-radius-pill:999px;--ff-space-1:4px;--ff-space-2:8px;--ff-space-3:12px;--ff-space-4:16px;--ff-space-5:20px;--ff-space-6:24px;--ff-space-8:32px;--ff-space-10:40px;--ff-space-12:48px;--ff-space-16:64px;--ff-sidebar-width:244px;--ff-header-height:72px;--ff-content-max:1600px;--ff-page-gap:20px;--ff-card-bg:var(--ff-surface);--ff-card-border:var(--ff-border);--ff-card-radius:var(--ff-radius-lg);--ff-card-shadow:var(--ff-shadow-xs);--ff-input-bg:var(--ff-surface);--ff-input-border:var(--ff-border-strong);--ff-input-placeholder:#93a0aa;--ff-button-height-sm:34px;--ff-button-height-md:40px;--ff-button-height-lg:46px;--ff-icon-size-sm:16px;--ff-icon-size-md:18px;--ff-icon-size-lg:22px;--ff-icon-stroke:1.8;--ff-avatar-sm:28px;--ff-avatar-md:36px;--ff-avatar-lg:44px;--ff-transition-fast:.12s ease;--ff-transition:.18s ease;--ff-transition-slow:.26s ease}[data-theme=dark]{--ff-bg:#071015;--ff-bg-subtle:#0a151b;--ff-surface:#0d1920;--ff-surface-raised:#102029;--ff-surface-muted:#0b171e;--ff-surface-hover:#12252e;--ff-surface-selected:#0d3434;--ff-sidebar-bg:#071118;--ff-header-bg:#071015e6;--ff-text-strong:#f5fbfc;--ff-text:#d5e0e4;--ff-text-muted:#94a6af;--ff-text-subtle:#70828c;--ff-text-inverse:#071015;--ff-border:#1b2c35;--ff-border-strong:#28404b;--ff-divider:#14242c;--ff-input-bg:#0c181f;--ff-input-border:#28404b;--ff-input-placeholder:#6f818a;--ff-primary-soft:#0b2929;--ff-primary-soft-strong:#0d3635;--ff-success-soft:#0f2b1a;--ff-warning-soft:#30230c;--ff-danger-soft:#321315;--ff-info-soft:#0b2633;--ff-ai-soft:#0c2d2a;--ff-overlay:#000000a3;--ff-overlay-light:#0000002e;--ff-shadow-xs:0 1px 2px #0000002e;--ff-shadow-sm:0 4px 14px #00000038;--ff-shadow-md:0 12px 30px #00000047;--ff-shadow-lg:0 20px 50px #00000057;--ff-shadow-float:0 28px 70px #0000006b;--ff-card-bg:var(--ff-surface);--ff-card-border:var(--ff-border)}*,:before,:after{box-sizing:border-box}html{font-family:var(--ff-font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--ff-bg);color:var(--ff-text);font-family:var(--ff-font-sans);font-size:var(--ff-font-size-md);line-height:var(--ff-line-normal);margin:0}.ff-h1{color:var(--ff-text-strong);font-size:var(--ff-font-size-3xl);line-height:var(--ff-line-tight);font-weight:var(--ff-weight-bold);margin:0}.ff-h2{color:var(--ff-text-strong);font-size:var(--ff-font-size-2xl);line-height:var(--ff-line-tight);font-weight:var(--ff-weight-bold);margin:0}.ff-h3{color:var(--ff-text-strong);font-size:var(--ff-font-size-xl);line-height:var(--ff-line-tight);font-weight:var(--ff-weight-semibold);margin:0}.ff-muted{color:var(--ff-text-muted)}.ff-subtle{color:var(--ff-text-subtle)}.ff-sidebar{width:var(--ff-sidebar-width);background:var(--ff-sidebar-bg);border-right:1px solid var(--ff-divider)}.ff-header{min-height:var(--ff-header-height);background:var(--ff-header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--ff-divider)}.ff-main{max-width:var(--ff-content-max);padding:var(--ff-space-5);margin:0 auto}.ff-card{background:var(--ff-card-bg);border:1px solid var(--ff-card-border);border-radius:var(--ff-card-radius);box-shadow:var(--ff-card-shadow)}.ff-card--interactive{transition:transform var(--ff-transition), box-shadow var(--ff-transition), border-color var(--ff-transition)}.ff-card--interactive:hover{border-color:var(--ff-border-strong);box-shadow:var(--ff-shadow-sm);transform:translateY(-1px)}.ff-card--hero{background:radial-gradient(circle at 78% 20%, #12a8a01f, transparent 30%), linear-gradient(135deg, var(--ff-surface), var(--ff-surface-muted))}.ff-btn{height:var(--ff-button-height-md);border-radius:var(--ff-radius-md);font:inherit;font-weight:var(--ff-weight-semibold);cursor:pointer;transition:background var(--ff-transition-fast), border-color var(--ff-transition-fast), color var(--ff-transition-fast), transform var(--ff-transition-fast), box-shadow var(--ff-transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.ff-btn:focus-visible,.ff-input:focus-visible,.ff-textarea:focus-visible,.ff-select:focus-visible{box-shadow:0 0 0 4px var(--ff-focus-ring);outline:none}.ff-btn:active{transform:translateY(1px)}.ff-btn--primary{background:var(--ff-primary);color:var(--ff-on-primary);border-color:var(--ff-primary)}.ff-btn--primary:hover{background:var(--ff-primary-hover);border-color:var(--ff-primary-hover)}.ff-btn--secondary{background:var(--ff-surface);color:var(--ff-text-strong);border-color:var(--ff-border-strong)}.ff-btn--secondary:hover{background:var(--ff-surface-hover);border-color:var(--ff-primary)}.ff-btn--ghost{color:var(--ff-text);background:0 0}.ff-btn--ghost:hover{background:var(--ff-surface-hover);color:var(--ff-text-strong)}.ff-btn--danger{background:var(--ff-danger);color:#fff}.ff-btn--sm{height:var(--ff-button-height-sm);padding:0 12px}.ff-btn--lg{height:var(--ff-button-height-lg);padding:0 18px}@media (pointer:coarse){:root{--ff-button-height-sm:40px;--ff-button-height-md:44px;--ff-button-height-lg:48px}.ff-btn{min-width:var(--ff-button-height-md)}.ff-btn--sm{min-width:var(--ff-button-height-sm)}.ff-btn--lg{min-width:var(--ff-button-height-lg)}}.ff-input,.ff-textarea,.ff-select{width:100%;color:var(--ff-text-strong);background:var(--ff-input-bg);border:1px solid var(--ff-input-border);border-radius:var(--ff-radius-md);font:inherit;transition:border-color var(--ff-transition-fast), box-shadow var(--ff-transition-fast), background var(--ff-transition-fast)}.ff-input,.ff-select{height:42px;padding:0 12px}.ff-textarea{resize:vertical;min-height:104px;padding:12px}.ff-input::placeholder,.ff-textarea::placeholder{color:var(--ff-input-placeholder)}.ff-input:focus,.ff-textarea:focus,.ff-select:focus{border-color:var(--ff-primary)}.ff-nav-item{border-radius:var(--ff-radius-md);min-height:42px;color:var(--ff-text-muted);transition:background var(--ff-transition-fast), color var(--ff-transition-fast);align-items:center;gap:12px;padding:0 12px;text-decoration:none;display:flex}.ff-nav-item:hover{background:var(--ff-surface-hover);color:var(--ff-text-strong)}.ff-nav-item[aria-current=page],.ff-nav-item.is-active{background:var(--ff-primary-soft);color:var(--ff-primary);font-weight:var(--ff-weight-semibold)}.ff-badge{border-radius:var(--ff-radius-pill);min-height:22px;font-size:var(--ff-font-size-xs);font-weight:var(--ff-weight-semibold);background:var(--ff-surface-muted);color:var(--ff-text-muted);border:1px solid var(--ff-border);align-items:center;padding:0 8px;display:inline-flex}.ff-badge--brand{background:var(--ff-primary-soft);color:var(--ff-primary);border-color:#0000}.ff-badge--success{background:var(--ff-success-soft);color:var(--ff-success);border-color:#0000}.ff-icon{width:var(--ff-icon-size-md);height:var(--ff-icon-size-md);stroke-width:var(--ff-icon-stroke);color:currentColor;flex:none}.ff-icon-tile{border-radius:var(--ff-radius-md);width:40px;height:40px;color:var(--ff-primary);background:var(--ff-primary-soft);justify-content:center;align-items:center;display:inline-flex}.ff-avatar{border-radius:var(--ff-radius-pill);background:var(--ff-surface-muted);border:2px solid var(--ff-surface);justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.ff-avatar--sm{width:var(--ff-avatar-sm);height:var(--ff-avatar-sm)}.ff-avatar--md{width:var(--ff-avatar-md);height:var(--ff-avatar-md)}.ff-avatar--lg{width:var(--ff-avatar-lg);height:var(--ff-avatar-lg)}.ff-event-card{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-xs);overflow:hidden}.ff-event-card__media{aspect-ratio:16/9;background:var(--ff-surface-muted);position:relative;overflow:hidden}.ff-event-card__media img,.ff-event-card__media video{object-fit:cover;width:100%;height:100%}.ff-event-card__body{padding:12px 14px 14px}.ff-event-card__title{color:var(--ff-text-strong);font-weight:var(--ff-weight-semibold)}.ff-stat{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);align-items:center;gap:12px;padding:16px;display:flex}.ff-stat__value{color:var(--ff-text-strong);font-size:22px;font-weight:var(--ff-weight-bold)}.ff-stat__label{color:var(--ff-text-muted);font-size:var(--ff-font-size-sm)}.ff-ai-panel{background:linear-gradient(135deg, #12a8a01a, transparent 42%), var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-xl)}.ff-ai-chip{border-radius:var(--ff-radius-pill);background:var(--ff-surface);min-height:32px;color:var(--ff-primary);border:1px solid var(--ff-border-strong);font-size:var(--ff-font-size-sm);align-items:center;padding:0 12px;display:inline-flex}.ff-progress{border-radius:var(--ff-radius-pill);background:var(--ff-bg-subtle);width:100%;height:8px;overflow:hidden}.ff-progress__bar{border-radius:inherit;background:var(--ff-primary);height:100%}.ff-popover,.ff-dropdown,.ff-modal,.ff-toast{background:var(--ff-surface-raised);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-lg);color:var(--ff-text)}.ff-skeleton{border-radius:var(--ff-radius-sm);background:linear-gradient(90deg, var(--ff-surface-muted) 25%, var(--ff-surface-hover) 37%, var(--ff-surface-muted) 63%);background-size:400% 100%;animation:1.4s infinite ff-shimmer}@keyframes ff-shimmer{0%{background-position:100% 0}to{background-position:0 0}}*{scrollbar-width:thin;scrollbar-color:var(--ff-border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ff-border-strong);border-radius:var(--ff-radius-pill);background-clip:padding-box;border:2px solid #0000}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--ff-font-sans:var(--ff-font-inter), ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ff-font-display:var(--ff-font-sans)}html,body{max-width:100vw;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{max-width:100%}button{font:inherit}.ff-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}.ff-skip-link{top:-100px;left:var(--ff-space-4);z-index:100;padding:var(--ff-space-3) var(--ff-space-4);background:var(--ff-surface-raised);color:var(--ff-text-strong);border:1px solid var(--ff-border);border-radius:var(--ff-radius-md);box-shadow:var(--ff-shadow-md);transition:top var(--ff-transition-fast);position:absolute}.ff-skip-link:focus-visible{top:var(--ff-space-4);box-shadow:0 0 0 4px var(--ff-focus-ring);outline:none}
