@charset "UTF-8";:root{--fm-primary-50: #eef0fc;--fm-primary-100: #d5daff;--fm-primary-200: #b0baff;--fm-primary-300: #8295ff;--fm-primary-400: #5a6fe0;--fm-primary-500: #2f45c2;--fm-primary-600: #2539a8;--fm-primary-700: #1c2e8e;--fm-primary-800: #142274;--fm-primary-900: #0e185a;--fm-gray-50: #fafafa;--fm-gray-100: #f4f4f5;--fm-gray-200: #e4e4e7;--fm-gray-300: #d4d4d8;--fm-gray-400: #a1a1aa;--fm-gray-500: #71717a;--fm-gray-600: #52525b;--fm-gray-700: #3f3f46;--fm-gray-800: #27272a;--fm-gray-900: #18181b;--fm-success-50: #e8f5e9;--fm-success-100: #c8e6c9;--fm-success-200: #a5d6a7;--fm-success-300: #81c784;--fm-success-400: #66bb6a;--fm-success-500: #4caf50;--fm-success-600: #43a047;--fm-success-700: #388e3c;--fm-success-800: #2e7d32;--fm-success-900: #1b5e20;--fm-warning-50: #fff3e0;--fm-warning-100: #ffe0b2;--fm-warning-200: #ffcc80;--fm-warning-300: #ffb74d;--fm-warning-400: #ffa726;--fm-warning-500: #ff9800;--fm-warning-600: #fb8c00;--fm-warning-700: #f57c00;--fm-warning-800: #ef6c00;--fm-warning-900: #e65100;--fm-error-50: #ffebee;--fm-error-100: #ffcdd2;--fm-error-200: #ef9a9a;--fm-error-300: #e57373;--fm-error-400: #ef5350;--fm-error-500: #f44336;--fm-error-600: #e53935;--fm-error-700: #d32f2f;--fm-error-800: #c62828;--fm-error-900: #b71c1c;--fm-info-50: #e3f2fd;--fm-info-100: #bbdefb;--fm-info-200: #90caf9;--fm-info-300: #64b5f6;--fm-info-400: #42a5f5;--fm-info-500: #2196f3;--fm-info-600: #1e88e5;--fm-info-700: #1976d2;--fm-info-800: #1565c0;--fm-info-900: #0d47a1;--fm-secondary-50: #fafaff;--fm-secondary-100: #f5f5ff;--fm-secondary-200: #ededf5;--fm-secondary-300: #e0e0f0;--fm-secondary-400: #d1d1ff;--fm-purple-50: var(--fm-primary-50);--fm-purple-100: var(--fm-primary-100);--fm-purple-200: var(--fm-primary-200);--fm-purple-500: var(--fm-primary-500);--fm-purple-600: var(--fm-primary-600);--fm-purple-700: var(--fm-primary-700);--fm-cyan-50: #cffafe;--fm-cyan-600: #0891b2;--fm-amber-50: #fef3c7;--fm-amber-700: #b45309;--fm-pink-50: #fce7f3;--fm-pink-600: #db2777;--fm-indigo-50: #e0e7ff;--fm-indigo-600: #4f46e5;--fm-primary: #2f45c2;--fm-primary-hover: #2539a8;--fm-primary-active: #1c2e8e;--fm-primary-subtle: #eef0fc;--fm-primary-fg: #1c2e8e;--fm-on-primary: #ffffff;--fm-link: #2539a8;--fm-link-hover: #1c2e8e;--fm-focus-ring: 0 0 0 3px rgba(47, 69, 194, .3);--fm-bg-app: #fafafa;--fm-bg-surface: #ffffff;--fm-bg-surface-hover: #fafafa;--fm-bg-surface-secondary: #fafafa;--fm-bg-sidebar: #ffffff;--fm-bg-header: #d7dcf7;--fm-header-title: #4157d1;--fm-bg-overlay: rgba(24, 24, 27, .5);--fm-bg-code: #f4f4f5;--fm-bg-tooltip: #27272a;--fm-border: #e4e4e7;--fm-border-light: rgba(0, 0, 0, .08);--fm-border-strong: #d4d4d8;--fm-text: #18181b;--fm-text-secondary: #52525b;--fm-text-muted: #71717a;--fm-text-disabled: #a1a1aa;--fm-text-on-primary: #ffffff;--fm-success: #4caf50;--fm-success-bg: #e8f5e9;--fm-success-fg: #1b5e20;--fm-success-border: #a5d6a7;--fm-success-solid: #2e7d32;--fm-success-on-solid: #ffffff;--fm-warning: #ff9800;--fm-warning-bg: #fff3e0;--fm-warning-fg: #8c5e00;--fm-warning-border: #ffcc80;--fm-warning-solid: #ff9800;--fm-warning-on-solid: #18181b;--fm-error: #f44336;--fm-error-bg: #ffebee;--fm-error-fg: #c62828;--fm-error-border: #ef9a9a;--fm-error-solid: #d32f2f;--fm-error-on-solid: #ffffff;--fm-info: #2196f3;--fm-info-bg: #e3f2fd;--fm-info-fg: #1565c0;--fm-info-border: #90caf9;--fm-info-solid: #1565c0;--fm-info-on-solid: #ffffff;--fm-success-light: var(--fm-success-bg);--fm-warning-light: var(--fm-warning-bg);--fm-error-light: var(--fm-error-bg);--fm-info-light: var(--fm-info-bg);--fm-font-primary: Poppins, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--fm-font-mono: Roboto Mono, ui-monospace, SFMono-Regular, Menlo, monospace;--fm-text-2xs: .625rem;--fm-text-xs: .6875rem;--fm-text-sm: .8125rem;--fm-text-base: .875rem;--fm-text-lg: 1rem;--fm-text-xl: 1.125rem;--fm-text-2xl: 1.25rem;--fm-text-3xl: 1.5rem;--fm-text-4xl: 1.875rem;--fm-space-0: 0;--fm-space-1: .25rem;--fm-space-2: .5rem;--fm-space-3: .75rem;--fm-space-4: 1rem;--fm-space-5: 1.25rem;--fm-space-6: 1.5rem;--fm-space-8: 2rem;--fm-space-10: 2.5rem;--fm-space-12: 3rem;--fm-space-16: 4rem;--fm-radius-sm: 4px;--fm-radius-md: 8px;--fm-radius-lg: 12px;--fm-radius-xl: 16px;--fm-radius-full: 9999px;--fm-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--fm-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--fm-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--fm-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--fm-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--fm-shadow-focus: var(--fm-focus-ring);--fm-transition-fast: .15s ease;--fm-transition-normal: .2s ease;--fm-transition-slow: .3s ease;--fm-header-height: 48px;--fm-content-max-width: 1440px;color-scheme:light}[data-theme=dark]{--fm-gray-50: #18181b;--fm-gray-100: #1f1f23;--fm-gray-200: #2a2a2e;--fm-gray-300: #3f3f46;--fm-gray-400: #52525b;--fm-gray-500: #8b8b94;--fm-gray-600: #a1a1aa;--fm-gray-700: #d4d4d8;--fm-gray-800: #e4e4e7;--fm-gray-900: #f4f4f5;--fm-primary-50: rgba(47, 69, 194, .12);--fm-primary-100: rgba(47, 69, 194, .2);--fm-primary-200: rgba(47, 69, 194, .3);--fm-secondary-200: #2a2a2e;--fm-secondary-300: #3f3f46;--fm-primary-subtle: rgba(47, 69, 194, .16);--fm-primary-fg: #b0baff;--fm-link: #8295ff;--fm-link-hover: #b0baff;--fm-focus-ring: 0 0 0 3px rgba(130, 149, 255, .45);--fm-bg-app: #111113;--fm-bg-surface: #1a1a1e;--fm-bg-surface-hover: #222226;--fm-bg-surface-secondary: #1f1f23;--fm-bg-sidebar: #161618;--fm-bg-header: #1a1d33;--fm-header-title: #b0baff;--fm-bg-overlay: rgba(0, 0, 0, .6);--fm-bg-code: #222226;--fm-bg-tooltip: #3f3f46;--fm-border: #2a2a2e;--fm-border-light: rgba(255, 255, 255, .08);--fm-border-strong: #3f3f46;--fm-text: #f4f4f5;--fm-text-secondary: #a1a1aa;--fm-text-muted: #8b8b94;--fm-text-disabled: #52525b;--fm-success-bg: rgba(76, 175, 80, .14);--fm-success-fg: #81c784;--fm-success-border: rgba(76, 175, 80, .35);--fm-warning-bg: rgba(255, 152, 0, .14);--fm-warning-fg: #ffb74d;--fm-warning-border: rgba(255, 152, 0, .35);--fm-error-bg: rgba(244, 67, 54, .14);--fm-error-fg: #e57373;--fm-error-border: rgba(244, 67, 54, .35);--fm-info-bg: rgba(33, 150, 243, .14);--fm-info-fg: #64b5f6;--fm-info-border: rgba(33, 150, 243, .35);--fm-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--fm-shadow-md: 0 4px 8px rgba(0, 0, 0, .45);--fm-shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--fm-shadow-xl: 0 20px 30px rgba(0, 0, 0, .55);color-scheme:dark}@media(prefers-color-scheme:dark){[data-theme=auto]{--fm-gray-50: #18181b;--fm-gray-100: #1f1f23;--fm-gray-200: #2a2a2e;--fm-gray-300: #3f3f46;--fm-gray-400: #52525b;--fm-gray-500: #8b8b94;--fm-gray-600: #a1a1aa;--fm-gray-700: #d4d4d8;--fm-gray-800: #e4e4e7;--fm-gray-900: #f4f4f5;--fm-primary-50: rgba(47, 69, 194, .12);--fm-primary-100: rgba(47, 69, 194, .2);--fm-primary-200: rgba(47, 69, 194, .3);--fm-secondary-200: #2a2a2e;--fm-secondary-300: #3f3f46;--fm-primary-subtle: rgba(47, 69, 194, .16);--fm-primary-fg: #b0baff;--fm-link: #8295ff;--fm-link-hover: #b0baff;--fm-focus-ring: 0 0 0 3px rgba(130, 149, 255, .45);--fm-bg-app: #111113;--fm-bg-surface: #1a1a1e;--fm-bg-surface-hover: #222226;--fm-bg-surface-secondary: #1f1f23;--fm-bg-sidebar: #161618;--fm-bg-header: #1a1d33;--fm-header-title: #b0baff;--fm-bg-overlay: rgba(0, 0, 0, .6);--fm-bg-code: #222226;--fm-bg-tooltip: #3f3f46;--fm-border: #2a2a2e;--fm-border-light: rgba(255, 255, 255, .08);--fm-border-strong: #3f3f46;--fm-text: #f4f4f5;--fm-text-secondary: #a1a1aa;--fm-text-muted: #8b8b94;--fm-text-disabled: #52525b;--fm-success-bg: rgba(76, 175, 80, .14);--fm-success-fg: #81c784;--fm-success-border: rgba(76, 175, 80, .35);--fm-warning-bg: rgba(255, 152, 0, .14);--fm-warning-fg: #ffb74d;--fm-warning-border: rgba(255, 152, 0, .35);--fm-error-bg: rgba(244, 67, 54, .14);--fm-error-fg: #e57373;--fm-error-border: rgba(244, 67, 54, .35);--fm-info-bg: rgba(33, 150, 243, .14);--fm-info-fg: #64b5f6;--fm-info-border: rgba(33, 150, 243, .35);--fm-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--fm-shadow-md: 0 4px 8px rgba(0, 0, 0, .45);--fm-shadow-lg: 0 10px 20px rgba(0, 0, 0, .5);--fm-shadow-xl: 0 20px 30px rgba(0, 0, 0, .55);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}*{margin:0}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html,body{min-height:100%}body{font-family:var(--fm-font-primary);font-size:.875rem;font-weight:400;line-height:1.5;color:var(--fm-text);background-color:var(--fm-bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,.fm-h1,h2,.fm-h2,h3,.fm-h3,h4,.fm-h4,h5,.fm-h5,h6,.fm-h6{color:var(--fm-text);text-wrap:balance}h1,.fm-h1{font-size:1.875rem;font-weight:700;line-height:1.25;letter-spacing:-.01em}h2,.fm-h2{font-size:1.5rem;font-weight:700;line-height:1.25;letter-spacing:-.01em}h3,.fm-h3{font-size:1.25rem;font-weight:600;line-height:1.375}h4,.fm-h4{font-size:1.125rem;font-weight:600;line-height:1.375}h5,.fm-h5{font-size:1rem;font-weight:500;line-height:1.5}h6,.fm-h6{font-size:.875rem;font-weight:500;line-height:1.5}.fm-eyebrow{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fm-text-secondary)}.fm-text-lg{font-size:1rem;line-height:1.625}.fm-text-base{font-size:.875rem;line-height:1.625}.fm-text-sm{font-size:.8125rem;line-height:1.5}.fm-text-xs{font-size:.6875rem;line-height:1.5}.fm-text-default{color:var(--fm-text)}.fm-text-primary{color:var(--fm-link)}.fm-text-secondary{color:var(--fm-text-secondary)}.fm-text-muted{color:var(--fm-text-muted)}.fm-text-success{color:var(--fm-success-fg)}.fm-text-warning{color:var(--fm-warning-fg)}.fm-text-error{color:var(--fm-error-fg)}.fm-text-info{color:var(--fm-info-fg)}.fm-pos{color:var(--fm-success-fg)}.fm-neg{color:var(--fm-error-fg)}.fm-mono{font-family:var(--fm-font-mono)}.fm-tabular{font-variant-numeric:tabular-nums}.fm-font-light{font-weight:300}.fm-font-regular{font-weight:400}.fm-font-medium{font-weight:500}.fm-font-semibold{font-weight:600}.fm-font-bold{font-weight:700}a{color:var(--fm-link);transition:color .15s ease}a:hover{color:var(--fm-link-hover)}a:focus-visible{outline:2px solid var(--fm-link);outline-offset:2px;border-radius:4px}code{font-family:var(--fm-font-mono);font-size:.875em;background-color:var(--fm-bg-code);padding:.125rem .375rem;border-radius:4px}pre{font-family:var(--fm-font-mono);font-size:.8125rem;background-color:var(--fm-bg-code);padding:1rem;border-radius:8px;overflow-x:auto}pre code{background:none;padding:0}.fm-prose{line-height:1.625}.fm-prose p{margin:0 0 .4em}.fm-prose p:last-child{margin-bottom:0}.fm-prose ul,.fm-prose ol{margin:.25em 0;padding-left:1.5em}.fm-prose blockquote{border-left:3px solid var(--fm-primary-300);margin:.4em 0;padding:.25em .75em;color:var(--fm-text-secondary)}.fm-prose strong{font-weight:600}.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;min-height:2.25rem;font-family:var(--fm-font-primary);font-size:.8125rem;font-weight:500;line-height:1;letter-spacing:.02em;border-radius:8px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.fm-btn:focus-visible{outline:none;box-shadow:var(--fm-focus-ring)}.fm-btn:disabled,.fm-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.fm-btn--primary{background-color:var(--fm-primary);color:var(--fm-on-primary)}.fm-btn--primary:hover:not(:disabled){background-color:var(--fm-primary-hover);color:var(--fm-on-primary)}.fm-btn--primary:active:not(:disabled){background-color:var(--fm-primary-active)}.fm-btn--secondary{background-color:transparent;color:var(--fm-link);border-color:var(--fm-primary)}.fm-btn--secondary:hover:not(:disabled){background-color:var(--fm-primary-subtle);color:var(--fm-link)}.fm-btn--secondary:active:not(:disabled){background-color:var(--fm-primary-100)}.fm-btn--ghost{background-color:transparent;color:var(--fm-text-secondary)}.fm-btn--ghost:hover:not(:disabled){background-color:var(--fm-gray-100);color:var(--fm-text)}.fm-btn--ghost:active:not(:disabled){background-color:var(--fm-gray-200)}.fm-btn--danger{background-color:var(--fm-error-solid);color:var(--fm-error-on-solid)}.fm-btn--danger:hover:not(:disabled){background-color:#c62828;color:var(--fm-error-on-solid)}.fm-btn--danger:active:not(:disabled){background-color:#b71c1c}.fm-btn--success{background-color:var(--fm-success-solid);color:var(--fm-success-on-solid)}.fm-btn--success:hover:not(:disabled){background-color:#1b5e20;color:var(--fm-success-on-solid)}.fm-btn--sm{min-height:1.75rem;padding:.25rem .75rem;font-size:.6875rem}.fm-btn--lg{min-height:2.75rem;padding:.75rem 1.5rem;font-size:.875rem}.fm-btn--block{width:100%}.fm-btn--icon{min-height:0;padding:.5rem;border-radius:9999px}.fm-btn--icon.fm-btn--sm{padding:.25rem}.fm-btn--icon.fm-btn--lg{padding:.75rem}.fm-btn--loading{position:relative;color:transparent!important;pointer-events:none}.fm-btn--loading:after{content:"";position:absolute;width:1em;height:1em;border:2px solid var(--fm-on-primary);border-right-color:transparent;border-radius:50%;animation:fm-spin .75s linear infinite}.fm-toggle-group{display:inline-flex;border:1px solid var(--fm-border);border-radius:8px;overflow:hidden}.fm-toggle-group__btn{padding:.5rem 1rem;font-size:.8125rem;font-weight:500;color:var(--fm-text-secondary);background-color:var(--fm-bg-surface);border:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.fm-toggle-group__btn:not(:last-child){border-right:1px solid var(--fm-border)}.fm-toggle-group__btn:hover:not(.fm-toggle-group__btn--active){background-color:var(--fm-bg-surface-hover)}.fm-toggle-group__btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--fm-primary)}.fm-toggle-group__btn--active{background-color:var(--fm-primary);color:var(--fm-on-primary)}@keyframes fm-spin{to{transform:rotate(360deg)}}.fm-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;font-family:var(--fm-font-primary);font-size:.6875rem;font-weight:600;line-height:1;border-radius:9999px;white-space:nowrap;background-color:var(--fm-gray-100);color:var(--fm-gray-700)}.fm-badge--default{background-color:var(--fm-gray-100);color:var(--fm-gray-700)}.fm-badge--primary{background-color:var(--fm-primary-subtle);color:var(--fm-primary-fg)}.fm-badge--success{background-color:var(--fm-success-bg);color:var(--fm-success-fg)}.fm-badge--warning{background-color:var(--fm-warning-bg);color:var(--fm-warning-fg)}.fm-badge--error{background-color:var(--fm-error-bg);color:var(--fm-error-fg)}.fm-badge--info{background-color:var(--fm-info-bg);color:var(--fm-info-fg)}.fm-badge--solid.fm-badge--primary{background-color:var(--fm-primary);color:var(--fm-on-primary)}.fm-badge--solid.fm-badge--default{background-color:var(--fm-gray-600);color:var(--fm-bg-surface)}.fm-badge--solid.fm-badge--success{background-color:var(--fm-success-solid);color:var(--fm-success-on-solid)}.fm-badge--solid.fm-badge--warning{background-color:var(--fm-warning-solid);color:var(--fm-warning-on-solid)}.fm-badge--solid.fm-badge--error{background-color:var(--fm-error-solid);color:var(--fm-error-on-solid)}.fm-badge--solid.fm-badge--info{background-color:var(--fm-info-solid);color:var(--fm-info-on-solid)}.fm-badge--outline{background-color:transparent;border:1px solid currentColor}.fm-badge--outline.fm-badge--primary{color:var(--fm-link)}.fm-badge--outline.fm-badge--success{background-color:transparent;color:var(--fm-success-fg)}.fm-badge--outline.fm-badge--warning{background-color:transparent;color:var(--fm-warning-fg)}.fm-badge--outline.fm-badge--error{background-color:transparent;color:var(--fm-error-fg)}.fm-badge--outline.fm-badge--info{background-color:transparent;color:var(--fm-info-fg)}.fm-badge--sm{padding:2px .5rem;font-size:.625rem}.fm-badge--lg{padding:.5rem 1rem;font-size:.8125rem}.fm-badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor}.fm-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:500;border-radius:4px}.fm-status-badge--current{background-color:var(--fm-success-solid);color:var(--fm-success-on-solid)}.fm-status-badge--deleted{background-color:var(--fm-error-solid);color:var(--fm-error-on-solid)}.fm-status-badge--archived{background-color:var(--fm-gray-500);color:var(--fm-bg-surface)}.fm-alert{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--fm-border);border-radius:8px;font-size:.8125rem;line-height:1.5;background-color:var(--fm-bg-surface-secondary);color:var(--fm-text)}.fm-alert--success{background-color:var(--fm-success-bg);border-color:var(--fm-success-border);color:var(--fm-success-fg)}.fm-alert--warning{background-color:var(--fm-warning-bg);border-color:var(--fm-warning-border);color:var(--fm-warning-fg)}.fm-alert--error{background-color:var(--fm-error-bg);border-color:var(--fm-error-border);color:var(--fm-error-fg)}.fm-alert--info{background-color:var(--fm-info-bg);border-color:var(--fm-info-border);color:var(--fm-info-fg)}.fm-alert__body{flex:1;min-width:0}.fm-alert__title{font-weight:600;margin-bottom:2px}.fm-alert__dismiss{flex-shrink:0;background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;border-radius:4px;opacity:.7}.fm-alert__dismiss:hover,.fm-alert__dismiss:focus-visible{opacity:1}.fm-notice{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;border-radius:8px}.fm-notice--success{background-color:var(--fm-success-bg);color:var(--fm-success-fg)}.fm-notice--warning{background-color:var(--fm-warning-bg);color:var(--fm-warning-fg)}.fm-notice--error{background-color:var(--fm-error-bg);color:var(--fm-error-fg)}.fm-notice--info{background-color:var(--fm-info-bg);color:var(--fm-info-fg)}.fm-notice--muted{color:var(--fm-text-muted);font-style:italic}.fm-spinner{display:inline-block;width:1.25em;height:1.25em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fm-spin .75s linear infinite}.fm-spinner--sm{width:1em;height:1em}.fm-spinner--lg{width:2em;height:2em}.fm-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--fm-text-muted)}.fm-empty-state{padding:3rem 1rem;text-align:center;color:var(--fm-text-muted)}.fm-empty-state__icon{display:inline-block;font-size:3rem;margin-bottom:1rem;opacity:.5}.fm-empty-state__text{font-size:.875rem;color:var(--fm-text-secondary);margin-bottom:.5rem}.fm-empty-state__hint{font-size:.8125rem;color:var(--fm-text-muted)}.fm-card{background-color:var(--fm-bg-surface);border:1px solid var(--fm-border);border-radius:12px;box-shadow:var(--fm-shadow-sm);color:var(--fm-text)}.fm-card--padded{padding:1.25rem}@media(max-width:599px){.fm-card--padded{padding:1rem}}.fm-card--interactive{cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease}.fm-card--interactive:hover{border-color:var(--fm-primary-200);box-shadow:var(--fm-shadow-md)}.fm-card--interactive:active{transform:translateY(1px)}.fm-card--interactive:focus-visible{outline:none;box-shadow:var(--fm-focus-ring)}.fm-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--fm-border)}.fm-card__title{font-size:1rem;font-weight:600;color:var(--fm-text);margin:0}.fm-card__subtitle{font-size:.8125rem;color:var(--fm-text-secondary);margin-top:.25rem}.fm-card__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fm-text-secondary);margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--fm-border)}.fm-card__content{padding:1.5rem}@media(max-width:599px){.fm-card__content{padding:1rem}}.fm-card__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--fm-border);background-color:var(--fm-bg-surface-secondary);border-radius:0 0 12px 12px}.fm-card--flat{box-shadow:none}.fm-card--elevated{border-color:transparent;box-shadow:var(--fm-shadow-md)}.fm-card--compact .fm-card__header,.fm-card--compact .fm-card__content,.fm-card--compact .fm-card__footer{padding:.75rem 1rem}.fm-card--accent{border-top:3px solid var(--fm-primary)}.fm-card--accent-success{border-top:3px solid var(--fm-success)}.fm-card--accent-warning{border-top:3px solid var(--fm-warning)}.fm-card--accent-error{border-top:3px solid var(--fm-error)}.fm-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.fm-stat-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem}a.fm-stat-card,button.fm-stat-card,.fm-stat-card--interactive{cursor:pointer;text-align:left;text-decoration:none;transition:box-shadow .15s ease,border-color .15s ease}a.fm-stat-card:hover,button.fm-stat-card:hover,.fm-stat-card--interactive:hover{border-color:var(--fm-primary-300);box-shadow:var(--fm-shadow-md)}a.fm-stat-card:focus-visible,button.fm-stat-card:focus-visible,.fm-stat-card--interactive:focus-visible{outline:none;box-shadow:var(--fm-focus-ring)}.fm-stat-card__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0;background-color:var(--fm-primary-subtle);color:var(--fm-primary-fg)}.fm-stat-card__icon mat-icon,.fm-stat-card__icon .material-icons{font-size:24px;width:24px;height:24px}.fm-stat-card__icon--primary{background-color:var(--fm-primary-subtle);color:var(--fm-primary-fg)}.fm-stat-card__icon--success{background-color:var(--fm-success-bg);color:var(--fm-success-fg)}.fm-stat-card__icon--warning{background-color:var(--fm-warning-bg);color:var(--fm-warning-fg)}.fm-stat-card__icon--error{background-color:var(--fm-error-bg);color:var(--fm-error-fg)}.fm-stat-card__icon--info{background-color:var(--fm-info-bg);color:var(--fm-info-fg)}.fm-stat-card__content{display:flex;flex-direction:column;min-width:0}.fm-stat-card__value{font-size:1.25rem;font-weight:700;color:var(--fm-text);line-height:1;font-variant-numeric:tabular-nums}.fm-stat-card__label{font-size:.6875rem;color:var(--fm-text-muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500}.fm-stat-card__sublabel{font-size:.6875rem;color:var(--fm-text-secondary);margin-top:.25rem}.fm-mobile-cards{display:flex;flex-direction:column;gap:.75rem}.fm-mobile-card{padding:1rem;cursor:pointer}.fm-mobile-card__title{font-weight:500;color:var(--fm-text);margin-bottom:.5rem}.fm-mobile-card__meta{font-size:.8125rem;color:var(--fm-text-secondary);margin-bottom:.5rem}.fm-mobile-card__updated{font-size:.6875rem;color:var(--fm-text-muted)}.fm-form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.fm-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.fm-label{display:block;font-size:.8125rem;font-weight:500;color:var(--fm-text-secondary)}.fm-label--required:after{content:" *";color:var(--fm-error-fg)}.fm-input{display:block;width:100%;padding:.5rem .75rem;min-height:2.5rem;font-family:var(--fm-font-primary);font-size:.875rem;color:var(--fm-text);background-color:var(--fm-bg-surface);border:1px solid var(--fm-border-strong);border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.fm-input::placeholder{color:var(--fm-text-disabled)}.fm-input:hover:not(:disabled){border-color:var(--fm-gray-400)}.fm-input:focus{outline:none;border-color:var(--fm-primary);box-shadow:var(--fm-focus-ring)}.fm-input:disabled{background-color:var(--fm-bg-surface-secondary);color:var(--fm-text-muted);cursor:not-allowed}.fm-input.fm-input--error,.fm-input[aria-invalid=true]{border-color:var(--fm-error)}.fm-input.fm-input--error:focus,.fm-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #f4433633}.fm-input.fm-input--success{border-color:var(--fm-success)}.fm-input.fm-input--success:focus{box-shadow:0 0 0 3px #4caf5033}.fm-input--number{text-align:right;font-variant-numeric:tabular-nums}textarea.fm-input{min-height:100px;resize:vertical}.fm-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2371717a' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}.fm-input--sm{min-height:2rem;padding:.25rem .5rem;font-size:.8125rem}.fm-input--lg{min-height:3rem;padding:.75rem 1rem;font-size:1rem}.fm-helper-text{font-size:.6875rem;color:var(--fm-text-muted)}.fm-helper-text--error{color:var(--fm-error-fg)}.fm-helper-text--success{color:var(--fm-success-fg)}.fm-input-wrapper{position:relative;display:flex;align-items:center}.fm-input-icon{position:absolute;color:var(--fm-text-disabled);pointer-events:none}.fm-input-wrapper--icon-left .fm-input{padding-left:2.5rem}.fm-input-wrapper--icon-left .fm-input-icon{left:.75rem}.fm-input-wrapper--icon-right .fm-input{padding-right:2.5rem}.fm-input-wrapper--icon-right .fm-input-icon{right:.75rem}.fm-checkbox,.fm-radio{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8125rem;color:var(--fm-text)}.fm-checkbox input,.fm-radio input{width:1.125rem;height:1.125rem;accent-color:var(--fm-primary)}.fm-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.fm-form-actions--right{justify-content:flex-end}.fm-form-actions--between{justify-content:space-between}.fm-search-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--fm-bg-surface-secondary);border:1px solid var(--fm-border);border-radius:8px}.fm-search-bar:focus-within{border-color:var(--fm-primary);box-shadow:0 0 0 2px var(--fm-primary-100)}.fm-search-bar__icon{color:var(--fm-text-disabled);font-size:20px;width:20px;height:20px}.fm-search-bar__input{flex:1;min-width:0;border:none;background:transparent;font-size:.8125rem;color:var(--fm-text);outline:none}.fm-search-bar__input::placeholder{color:var(--fm-text-disabled)}.fm-search-bar__clear{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;background:none;color:var(--fm-text-disabled);cursor:pointer;border-radius:4px;transition:background-color .15s ease,color .15s ease}.fm-search-bar__clear:hover{background-color:var(--fm-gray-200);color:var(--fm-text-secondary)}.fm-search-bar__clear mat-icon{font-size:16px;width:16px;height:16px}.fm-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--fm-border);border-radius:8px;background-color:var(--fm-bg-surface)}.fm-table-wrap>.fm-table{border:none}.fm-table{width:100%;border-collapse:collapse;font-size:.8125rem;color:var(--fm-text)}.fm-table th,.fm-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--fm-border)}.fm-table th{font-weight:600;color:var(--fm-text-secondary);background-color:var(--fm-bg-surface-secondary);white-space:nowrap}.fm-table tbody tr{transition:background-color .15s ease}.fm-table tbody tr:hover{background-color:var(--fm-primary-subtle)}.fm-table tbody tr:last-child td{border-bottom:none}.fm-table .fm-num,.fm-table th.fm-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fm-table--striped tbody tr:nth-child(2n){background-color:var(--fm-bg-surface-secondary)}.fm-table--striped tbody tr:nth-child(2n):hover{background-color:var(--fm-primary-subtle)}.fm-table--compact th,.fm-table--compact td{padding:.5rem .75rem}.fm-table--brand th{background-color:var(--fm-primary-800);color:#fff;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:none}.fm-table .fm-row--inactive td{color:var(--fm-text-disabled);font-style:italic}.fm-table .fm-row--subtotal td{background-color:var(--fm-gray-100);font-weight:700}.fm-table .fm-row--total td{background-color:var(--fm-primary-subtle);color:var(--fm-primary-fg);font-weight:700;border-top:2px solid var(--fm-primary)}.fm-modal-overlay{position:fixed;inset:0;background-color:var(--fm-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:400;padding:1rem;animation:fm-fade-in .15s ease-out}.fm-modal{background-color:var(--fm-bg-surface);color:var(--fm-text);border-radius:12px;box-shadow:var(--fm-shadow-xl);max-width:500px;width:100%;max-height:calc(100vh - 2rem);overflow:hidden;display:flex;flex-direction:column;z-index:500;animation:fm-slide-up .2s ease-out}.fm-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--fm-border)}.fm-modal__title{font-size:1rem;font-weight:600;color:var(--fm-text);margin:0}.fm-modal__close{padding:.25rem;border:none;background:none;cursor:pointer;color:var(--fm-text-muted);border-radius:4px;transition:background-color .15s ease,color .15s ease}.fm-modal__close:hover{background-color:var(--fm-gray-100);color:var(--fm-text)}.fm-modal__body{padding:1.5rem;overflow-y:auto;flex:1}.fm-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--fm-border);background-color:var(--fm-bg-surface-secondary)}.fm-modal--sm{max-width:400px}.fm-modal--lg{max-width:700px}.fm-modal--xl{max-width:900px}.fm-modal--full{max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}.fm-modal--confirm .fm-modal__body{text-align:center;padding:2rem}.fm-modal--confirm .fm-modal__footer{justify-content:center}.fm-modal__icon{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.fm-modal__icon--warning{background-color:var(--fm-warning-bg);color:var(--fm-warning-fg)}.fm-modal__icon--danger{background-color:var(--fm-error-bg);color:var(--fm-error-fg)}.fm-modal__icon--success{background-color:var(--fm-success-bg);color:var(--fm-success-fg)}.fm-warning-box{display:flex;gap:.75rem;padding:1rem;background-color:var(--fm-warning-bg);border:1px solid var(--fm-warning-border);border-radius:8px;font-size:.8125rem;color:var(--fm-warning-fg);margin-top:1rem}.fm-warning-box__icon{flex-shrink:0}@keyframes fm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fm-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fm-page{min-height:100vh;background-color:var(--fm-bg-app)}.fm-page--centered{display:flex;align-items:center;justify-content:center;padding:1rem}.fm-header{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:0 1.5rem;background-color:var(--fm-bg-header);border-bottom:1px solid var(--fm-border);box-shadow:var(--fm-shadow-xs, 0 1px 2px rgba(0, 0, 0, .05))}@media(max-width:599px){.fm-header{padding:0 1rem}}.fm-header--brand{min-height:56px;background-color:var(--fm-primary);border-bottom-color:transparent;color:var(--fm-on-primary)}.fm-header--brand .fm-header__title,.fm-header--brand .fm-header__subtitle,.fm-header--brand .fm-header__user{color:var(--fm-on-primary)}.fm-header--brand .fm-header__subtitle{opacity:.7}.fm-header--brand .fm-header__logo{filter:brightness(0) invert(1)}.fm-header__brand{display:flex;align-items:center;gap:.75rem;min-width:0}.fm-header__logo{height:32px;width:auto;object-fit:contain}.fm-header__titles{display:flex;flex-direction:column;min-width:0}.fm-header__title{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--fm-header-title);margin:0}.fm-header__subtitle{font-weight:400;font-size:.6875rem;color:var(--fm-text-secondary)}.fm-header__nav{display:flex;align-items:center;gap:1rem}.fm-header__actions{display:flex;align-items:center;gap:.75rem}.fm-header__user{font-size:.8125rem;color:var(--fm-text-muted)}.fm-main{max-width:1440px;margin:0 auto;padding:1.5rem}@media(max-width:599px){.fm-main{padding:1rem}}.fm-main--narrow{max-width:800px}.fm-main--wide{max-width:1200px}.fm-section{margin-bottom:2rem}.fm-section__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.fm-section__title{font-size:1.125rem;font-weight:600;color:var(--fm-text);margin:0}.fm-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.8125rem}.fm-breadcrumbs__item{color:var(--fm-text-secondary);padding:.25rem .5rem;border-radius:4px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.fm-breadcrumbs__item:hover{background-color:var(--fm-gray-100);color:var(--fm-text)}.fm-breadcrumbs__item--active{color:var(--fm-text);font-weight:500;pointer-events:none}.fm-breadcrumbs__separator{color:var(--fm-text-disabled)}.fm-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;background-color:var(--fm-bg-surface);border:1px solid var(--fm-border);border-radius:12px;margin-bottom:1rem}.fm-toolbar__left,.fm-toolbar__right{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.fm-grid{display:grid;gap:1.5rem}.fm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:768px){.fm-grid--2{grid-template-columns:minmax(0,1fr)}}.fm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1024px){.fm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.fm-grid--3{grid-template-columns:minmax(0,1fr)}}.fm-grid--auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.fm-load-more{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 0}.fm-load-more__hint{color:var(--fm-text-muted);font-size:.8125rem;margin:0}.fm-load-more__buttons{display:flex;gap:.75rem}.fm-divider{height:1px;border:none;background-color:var(--fm-border);margin:1.5rem 0}.fm-divider--vertical{width:1px;height:auto;align-self:stretch;margin:0 1rem}.fm-hidden{display:none!important}.fm-block{display:block}.fm-inline{display:inline}.fm-inline-block{display:inline-block}.fm-flex{display:flex}.fm-inline-flex{display:inline-flex}.fm-items-start{align-items:flex-start}.fm-items-center{align-items:center}.fm-items-end{align-items:flex-end}.fm-items-stretch{align-items:stretch}.fm-items-baseline{align-items:baseline}.fm-justify-start{justify-content:flex-start}.fm-justify-center{justify-content:center}.fm-justify-end{justify-content:flex-end}.fm-justify-between{justify-content:space-between}.fm-justify-around{justify-content:space-around}.fm-flex-col{flex-direction:column}.fm-flex-row{flex-direction:row}.fm-flex-wrap{flex-wrap:wrap}.fm-flex-1{flex:1;min-width:0}.fm-flex-none{flex:none}.fm-shrink-0{flex-shrink:0}.fm-gap-0{gap:0}.fm-m-0{margin:0}.fm-mt-0{margin-top:0}.fm-mb-0{margin-bottom:0}.fm-ml-0{margin-left:0}.fm-mr-0{margin-right:0}.fm-p-0{padding:0}.fm-px-0{padding-left:0;padding-right:0}.fm-py-0{padding-top:0;padding-bottom:0}.fm-gap-1{gap:.25rem}.fm-m-1{margin:.25rem}.fm-mt-1{margin-top:.25rem}.fm-mb-1{margin-bottom:.25rem}.fm-ml-1{margin-left:.25rem}.fm-mr-1{margin-right:.25rem}.fm-p-1{padding:.25rem}.fm-px-1{padding-left:.25rem;padding-right:.25rem}.fm-py-1{padding-top:.25rem;padding-bottom:.25rem}.fm-gap-2{gap:.5rem}.fm-m-2{margin:.5rem}.fm-mt-2{margin-top:.5rem}.fm-mb-2{margin-bottom:.5rem}.fm-ml-2{margin-left:.5rem}.fm-mr-2{margin-right:.5rem}.fm-p-2{padding:.5rem}.fm-px-2{padding-left:.5rem;padding-right:.5rem}.fm-py-2{padding-top:.5rem;padding-bottom:.5rem}.fm-gap-3{gap:.75rem}.fm-m-3{margin:.75rem}.fm-mt-3{margin-top:.75rem}.fm-mb-3{margin-bottom:.75rem}.fm-ml-3{margin-left:.75rem}.fm-mr-3{margin-right:.75rem}.fm-p-3{padding:.75rem}.fm-px-3{padding-left:.75rem;padding-right:.75rem}.fm-py-3{padding-top:.75rem;padding-bottom:.75rem}.fm-gap-4{gap:1rem}.fm-m-4{margin:1rem}.fm-mt-4{margin-top:1rem}.fm-mb-4{margin-bottom:1rem}.fm-ml-4{margin-left:1rem}.fm-mr-4{margin-right:1rem}.fm-p-4{padding:1rem}.fm-px-4{padding-left:1rem;padding-right:1rem}.fm-py-4{padding-top:1rem;padding-bottom:1rem}.fm-gap-5{gap:1.25rem}.fm-m-5{margin:1.25rem}.fm-mt-5{margin-top:1.25rem}.fm-mb-5{margin-bottom:1.25rem}.fm-ml-5{margin-left:1.25rem}.fm-mr-5{margin-right:1.25rem}.fm-p-5{padding:1.25rem}.fm-px-5{padding-left:1.25rem;padding-right:1.25rem}.fm-py-5{padding-top:1.25rem;padding-bottom:1.25rem}.fm-gap-6{gap:1.5rem}.fm-m-6{margin:1.5rem}.fm-mt-6{margin-top:1.5rem}.fm-mb-6{margin-bottom:1.5rem}.fm-ml-6{margin-left:1.5rem}.fm-mr-6{margin-right:1.5rem}.fm-p-6{padding:1.5rem}.fm-px-6{padding-left:1.5rem;padding-right:1.5rem}.fm-py-6{padding-top:1.5rem;padding-bottom:1.5rem}.fm-gap-8{gap:2rem}.fm-m-8{margin:2rem}.fm-mt-8{margin-top:2rem}.fm-mb-8{margin-bottom:2rem}.fm-ml-8{margin-left:2rem}.fm-mr-8{margin-right:2rem}.fm-p-8{padding:2rem}.fm-px-8{padding-left:2rem;padding-right:2rem}.fm-py-8{padding-top:2rem;padding-bottom:2rem}.fm-gap-10{gap:2.5rem}.fm-m-10{margin:2.5rem}.fm-mt-10{margin-top:2.5rem}.fm-mb-10{margin-bottom:2.5rem}.fm-ml-10{margin-left:2.5rem}.fm-mr-10{margin-right:2.5rem}.fm-p-10{padding:2.5rem}.fm-px-10{padding-left:2.5rem;padding-right:2.5rem}.fm-py-10{padding-top:2.5rem;padding-bottom:2.5rem}.fm-gap-12{gap:3rem}.fm-m-12{margin:3rem}.fm-mt-12{margin-top:3rem}.fm-mb-12{margin-bottom:3rem}.fm-ml-12{margin-left:3rem}.fm-mr-12{margin-right:3rem}.fm-p-12{padding:3rem}.fm-px-12{padding-left:3rem;padding-right:3rem}.fm-py-12{padding-top:3rem;padding-bottom:3rem}.fm-gap-16{gap:4rem}.fm-m-16{margin:4rem}.fm-mt-16{margin-top:4rem}.fm-mb-16{margin-bottom:4rem}.fm-ml-16{margin-left:4rem}.fm-mr-16{margin-right:4rem}.fm-p-16{padding:4rem}.fm-px-16{padding-left:4rem;padding-right:4rem}.fm-py-16{padding-top:4rem;padding-bottom:4rem}.fm-m-auto{margin:auto}.fm-mx-auto{margin-left:auto;margin-right:auto}.fm-ml-auto{margin-left:auto}.fm-w-full{width:100%}.fm-w-auto{width:auto}.fm-min-w-0{min-width:0}.fm-max-w-sm{max-width:400px}.fm-max-w-md{max-width:600px}.fm-max-w-lg{max-width:800px}.fm-max-w-xl{max-width:1000px}.fm-text-left{text-align:left}.fm-text-center{text-align:center}.fm-text-right{text-align:right}.fm-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-break-words{overflow-wrap:break-word}.fm-whitespace-nowrap{white-space:nowrap}.fm-uppercase{text-transform:uppercase;letter-spacing:.04em}.fm-lowercase{text-transform:lowercase}.fm-capitalize{text-transform:capitalize}.fm-rounded-none{border-radius:0}.fm-rounded-sm{border-radius:4px}.fm-rounded{border-radius:8px}.fm-rounded-lg{border-radius:12px}.fm-rounded-full{border-radius:9999px}.fm-shadow-none{box-shadow:none}.fm-shadow-sm{box-shadow:var(--fm-shadow-sm)}.fm-shadow{box-shadow:var(--fm-shadow-md)}.fm-shadow-lg{box-shadow:var(--fm-shadow-lg)}.fm-bg-app{background-color:var(--fm-bg-app)}.fm-bg-surface{background-color:var(--fm-bg-surface)}.fm-bg-surface-secondary{background-color:var(--fm-bg-surface-secondary)}.fm-bg-primary-subtle{background-color:var(--fm-primary-subtle)}.fm-bg-white{background-color:var(--fm-bg-surface)}.fm-bg-gray-50{background-color:var(--fm-gray-50)}.fm-bg-gray-100{background-color:var(--fm-gray-100)}.fm-bg-primary-50{background-color:var(--fm-primary-50)}.fm-bg-primary-100{background-color:var(--fm-primary-100)}.fm-border{border:1px solid var(--fm-border)}.fm-border-0{border:none}.fm-border-t{border-top:1px solid var(--fm-border)}.fm-border-b{border-bottom:1px solid var(--fm-border)}.fm-cursor-pointer{cursor:pointer}.fm-cursor-not-allowed{cursor:not-allowed}.fm-select-none{-webkit-user-select:none;user-select:none}.fm-overflow-hidden{overflow:hidden}.fm-overflow-auto{overflow:auto}.fm-overflow-x-auto{overflow-x:auto}.fm-overflow-y-auto{overflow-y:auto}.fm-relative{position:relative}.fm-absolute{position:absolute}.fm-fixed{position:fixed}.fm-sticky{position:sticky}.fm-visible{visibility:visible}.fm-invisible{visibility:hidden}.fm-opacity-0{opacity:0}.fm-opacity-50{opacity:.5}.fm-opacity-75{opacity:.75}.fm-opacity-100{opacity:1}.fm-transition{transition:all .2s ease}.fm-transition-fast{transition:all .15s ease}.fm-transition-slow{transition:all .3s ease}.fm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media print{.fm-no-print{display:none!important}.fm-print-color{-webkit-print-color-adjust:exact;print-color-adjust:exact}}html,body{margin:0;min-height:100%}body{background:var(--fm-bg-app);color:var(--fm-text);font-family:var(--fm-font-primary)}.screen{min-height:100dvh;max-width:480px;margin:0 auto;background:var(--fm-bg-surface);display:flex;flex-direction:column;box-shadow:var(--fm-shadow-sm)}.arena{background:var(--fm-primary-900);color:var(--fm-on-primary);position:relative;overflow:hidden}.arena:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(var(--fm-primary-400) 1px,transparent 1px),linear-gradient(90deg,var(--fm-primary-400) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%);mask-image:linear-gradient(180deg,#000 0%,transparent 85%)}.arena>*{position:relative;z-index:1}.eyebrow{font-size:var(--fm-text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase}.eyebrow--on-dark{color:var(--fm-primary-200)}.brand-logo{height:72px;width:auto;align-self:flex-start;display:block}.btn-tall{justify-content:center;min-height:48px;font-size:var(--fm-text-base)}.home__hero{padding:var(--fm-space-6) var(--fm-space-6) var(--fm-space-8)}.home__hero .brand-logo{margin-bottom:var(--fm-space-8)}.home__title{color:inherit;font-size:2.5rem;line-height:1.05;font-weight:700;margin:var(--fm-space-3) 0 var(--fm-space-4)}.home__title span{display:block;color:var(--fm-primary-200);font-family:var(--fm-font-mono);font-weight:500;font-size:var(--fm-text-lg);margin-bottom:var(--fm-space-2)}.home__lead{font-size:var(--fm-text-lg);color:var(--fm-primary-100);margin:0 0 var(--fm-space-6);line-height:1.5}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--fm-space-2)}.rule{border:1px solid var(--fm-primary-600);background:var(--fm-primary-800);border-radius:var(--fm-radius-md);padding:var(--fm-space-3) var(--fm-space-2);text-align:center}.rule b{display:block;font-family:var(--fm-font-mono);font-size:var(--fm-text-xl);font-weight:700}.rule small{font-size:var(--fm-text-xs);color:var(--fm-primary-200)}.rule .rule__good{color:var(--fm-success-300)}.rule .rule__bad{color:var(--fm-error-300)}.home__actions{padding:var(--fm-space-6);display:flex;flex-direction:column;gap:var(--fm-space-3)}.mini-board{margin:0 var(--fm-space-6);border-top:1px solid var(--fm-border);padding:var(--fm-space-4) 0 var(--fm-space-6)}.mini-board__row{display:flex;align-items:center;gap:var(--fm-space-3);padding:var(--fm-space-2) 0;font-size:var(--fm-text-sm)}.mini-board__row .pos{width:24px;font-family:var(--fm-font-mono);color:var(--fm-text-muted)}.mini-board__row .name{flex:1;min-width:0;overflow-wrap:anywhere}.mini-board__row .meta{font-family:var(--fm-font-mono);font-size:var(--fm-text-xs);color:var(--fm-text-muted);white-space:nowrap}.mini-board__row .pts{min-width:2.5em;text-align:right;font-family:var(--fm-font-mono);font-weight:600}.mini-board__empty{font-size:var(--fm-text-sm);color:var(--fm-text-muted);margin:var(--fm-space-2) 0 0}@media(min-width:900px){.home{max-width:none;display:grid;grid-template-columns:minmax(0,3fr) minmax(360px,2fr)}.home__main{background:var(--fm-primary-900);color:var(--fm-on-primary);position:relative;overflow:hidden}.home__main:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(var(--fm-primary-400) 1px,transparent 1px),linear-gradient(90deg,var(--fm-primary-400) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%);mask-image:linear-gradient(180deg,#000 0%,transparent 85%)}.home__main>*{position:relative;z-index:1}.home__main{display:flex;flex-direction:column;justify-content:center}.home__main .arena{background:none;overflow:visible}.home__main .arena:after{display:none}.home__hero{width:100%;box-sizing:border-box;padding:var(--fm-space-12) var(--fm-space-16)}.home__lead,.rules{max-width:592px}.home__hero .brand-logo{margin-bottom:var(--fm-space-12)}.home__title{font-size:clamp(2rem,4.2vw,4rem);white-space:nowrap}.home__lead{font-size:var(--fm-text-2xl);margin-bottom:var(--fm-space-8)}.rule{padding:var(--fm-space-4) var(--fm-space-3)}.rule b{font-size:var(--fm-text-3xl)}.rule small{font-size:var(--fm-text-sm)}.home__actions{flex-direction:row;max-width:720px;box-sizing:border-box;padding:0 var(--fm-space-16) var(--fm-space-12)}.home__actions .fm-btn{flex:1}.home__actions .fm-btn--secondary{color:var(--fm-on-primary);border-color:var(--fm-primary-200)}.home__actions .fm-btn--secondary:hover:not(:disabled),.home__actions .fm-btn--secondary:active:not(:disabled){background-color:var(--fm-primary-800);color:var(--fm-on-primary)}.mini-board{margin:0;border-top:0;border-left:1px solid var(--fm-border);background:var(--fm-bg-app);padding:var(--fm-space-16) var(--fm-space-12)}.mini-board .fm-eyebrow{font-size:var(--fm-text-sm);margin-bottom:var(--fm-space-4)}.mini-board__row{padding:var(--fm-space-3) 0;border-bottom:1px solid var(--fm-border);font-size:var(--fm-text-xl)}.mini-board__row .pos{width:40px}.mini-board__row .meta{font-size:var(--fm-text-sm)}}.topbar{display:flex;align-items:center;gap:var(--fm-space-3);padding:var(--fm-space-3) var(--fm-space-5);border-bottom:1px solid var(--fm-border)}.topbar__back{font-size:var(--fm-text-lg);color:var(--fm-text-secondary);text-decoration:none;padding:0 var(--fm-space-1)}.topbar__title{font-weight:600;font-size:var(--fm-text-base)}.form{padding:var(--fm-space-6) var(--fm-space-5);display:flex;flex-direction:column;gap:var(--fm-space-5);flex:1}.form h2{font-size:var(--fm-text-3xl);margin:0}.form .intro{color:var(--fm-text-secondary);font-size:var(--fm-text-sm);margin:var(--fm-space-1) 0 0;line-height:1.5}.field{display:flex;flex-direction:column;gap:var(--fm-space-2)}.field .fm-input{min-height:44px;font-size:var(--fm-text-base)}.field .hint{font-size:var(--fm-text-xs);color:var(--fm-text-muted)}.form__footer{margin-top:auto}.quiz__hud{padding:var(--fm-space-4) var(--fm-space-5)}.hud{display:flex;align-items:flex-end;justify-content:space-between}.hud__timer{font-family:var(--fm-font-mono);font-size:2.25rem;font-weight:700;line-height:1}.hud__stat{text-align:right}.hud__stat b{font-family:var(--fm-font-mono);font-size:var(--fm-text-2xl)}.hud__label{display:block;font-size:var(--fm-text-xs);color:var(--fm-primary-200);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:var(--fm-space-1)}.timebar{height:6px;border-radius:var(--fm-radius-full);background:var(--fm-primary-700);margin-top:var(--fm-space-3);overflow:hidden}.timebar i{display:block;height:100%;background:var(--fm-on-primary);border-radius:inherit;transition:width .2s linear}.timebar--low i{background:var(--fm-warning)}.quiz__body{padding:var(--fm-space-5);flex:1;display:flex;flex-direction:column;gap:var(--fm-space-4)}.quiz__meta{display:flex;justify-content:space-between;align-items:center;font-size:var(--fm-text-xs);color:var(--fm-text-muted)}.quiz__q{font-size:var(--fm-text-lg);font-weight:600;line-height:1.4;margin:0}.code{background:var(--fm-gray-900);color:var(--fm-gray-100);border-radius:var(--fm-radius-md);padding:var(--fm-space-3) var(--fm-space-4);font-family:var(--fm-font-mono);font-size:var(--fm-text-sm);line-height:1.6;white-space:pre;overflow-x:auto;margin:0}.options{display:flex;flex-direction:column;gap:var(--fm-space-2)}.option{display:flex;align-items:center;gap:var(--fm-space-3);border:1px solid var(--fm-border-strong);border-radius:var(--fm-radius-md);padding:var(--fm-space-3);font:inherit;font-size:var(--fm-text-sm);color:inherit;text-align:left;background:var(--fm-bg-surface);cursor:pointer;width:100%}.option:hover{border-color:var(--fm-primary)}.option:focus-visible{outline:none;border-color:var(--fm-primary);box-shadow:var(--fm-focus-ring)}.option.option--picked{border-color:var(--fm-primary)}.option.option--good{border-color:var(--fm-success-500)}.option.option--bad{border-color:var(--fm-error-500)}.option__key{flex:none;width:28px;height:28px;border-radius:var(--fm-radius-sm);background:var(--fm-primary-subtle);color:var(--fm-primary-fg);display:grid;place-items:center;font-family:var(--fm-font-mono);font-weight:700;font-size:var(--fm-text-sm)}.quiz__footer{display:flex;justify-content:space-between;padding:var(--fm-space-3) var(--fm-space-5) var(--fm-space-5);border-top:1px solid var(--fm-border)}.flash{font-family:var(--fm-font-mono);font-weight:700;font-size:var(--fm-text-sm)}.flash--plus{color:var(--fm-success-fg)}.flash--min{color:var(--fm-error-fg)}.result__hero{padding:var(--fm-space-6) var(--fm-space-6) var(--fm-space-12);text-align:center}.result__score{font-family:var(--fm-font-mono);font-size:4.5rem;font-weight:700;line-height:1;margin:var(--fm-space-4) 0 var(--fm-space-2)}.result__sub{color:var(--fm-primary-100)}.result__rank{display:inline-flex;gap:var(--fm-space-2);align-items:center;background:var(--fm-on-primary);color:var(--fm-primary-fg);border-radius:var(--fm-radius-full);padding:var(--fm-space-1) var(--fm-space-4);font-weight:600;font-size:var(--fm-text-sm);margin-top:var(--fm-space-3)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--fm-space-3);padding:var(--fm-space-5);margin-top:calc(-1 * var(--fm-space-8));position:relative;z-index:2}.stat{background:var(--fm-bg-surface);border:1px solid var(--fm-border);border-radius:var(--fm-radius-lg);padding:var(--fm-space-3);text-align:center;box-shadow:var(--fm-shadow-sm)}.stat b{display:block;font-family:var(--fm-font-mono);font-size:var(--fm-text-2xl)}.stat small{font-size:var(--fm-text-xs);color:var(--fm-text-muted)}.stat--good b{color:var(--fm-success-fg)}.stat--bad b{color:var(--fm-error-fg)}.result__msg{padding:0 var(--fm-space-6);text-align:center;color:var(--fm-text-secondary);font-size:var(--fm-text-sm);line-height:1.5}.result__actions{padding:var(--fm-space-5);display:flex;flex-direction:column;gap:var(--fm-space-3);margin-top:auto}.done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--fm-space-8) var(--fm-space-6);gap:var(--fm-space-4)}.done h2{margin:0;font-size:var(--fm-text-3xl)}.done p{margin:0;color:var(--fm-text-secondary);font-size:var(--fm-text-sm);line-height:1.6}.done .fm-btn{width:100%}.done__icon{width:72px;height:72px;border-radius:var(--fm-radius-full);background:var(--fm-success-bg);color:var(--fm-success-fg);display:grid;place-items:center;font-size:2rem;font-weight:700}.centered{flex:1;display:grid;place-items:center;padding:var(--fm-space-8)}.tv-page{min-height:100dvh;display:flex;flex-direction:column}.tv-banner__inner{box-sizing:border-box;max-width:1100px;margin:0 auto;padding:var(--fm-space-8) 56px;display:flex;align-items:center;gap:var(--fm-space-10)}.tv-banner__inner .brand-logo{align-self:center}.tv-banner__title{color:inherit;font-size:3rem;line-height:1.05;font-weight:700;margin:var(--fm-space-2) 0 0}.tv{flex:1;box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;background:var(--fm-bg-surface);padding:48px 56px}.tv__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--fm-space-5)}.tv__head h2{margin:0;font-size:2rem}.board{width:100%;border-collapse:collapse;font-size:1.25rem}.board td{padding:12px 8px;border-bottom:1px solid var(--fm-border);transition:background-color .6s}.board .pos{width:56px;font-family:var(--fm-font-mono);font-weight:700;color:var(--fm-text-muted)}.board .pts{text-align:right;font-family:var(--fm-font-mono);font-weight:700}.board .good{text-align:right;font-family:var(--fm-font-mono);color:var(--fm-text-muted);width:110px;font-size:1rem;white-space:nowrap}.board .time{text-align:right;font-family:var(--fm-font-mono);color:var(--fm-text-muted);font-size:1rem;white-space:nowrap}.board tr.top1 td{background:var(--fm-primary-subtle)}.board tr.top1 .pos,.board tr.top1 .pts{color:var(--fm-primary-fg)}.board tr.top1 td:first-child{border-radius:var(--fm-radius-md) 0 0 var(--fm-radius-md)}.board tr.top1 td:last-child{border-radius:0 var(--fm-radius-md) var(--fm-radius-md) 0}.board tr.new td{background:var(--fm-success-bg)}.live{display:inline-flex;align-items:center;gap:var(--fm-space-2)}@media(max-width:899px){.tv{padding:var(--fm-space-6) var(--fm-space-4)}.tv-banner__inner{padding:var(--fm-space-6) var(--fm-space-4);gap:var(--fm-space-5)}.tv-banner__inner .brand-logo{height:48px}.tv-banner__title{font-size:1.75rem}.board{font-size:var(--fm-text-base)}.board .good{width:auto;font-size:var(--fm-text-sm)}}
