:root{--color-primary-500: #0972d2;--color-primary-700: #0c3f91;--color-primary-900: #001b34;--color-surface-0: #ffffff;--color-surface-1: #f3f6fa;--color-surface-2: #d7e1eb;--color-text-strong: #0f1a26;--color-text-muted: #44515f;--color-border-subtle: #5f666d;--color-success-bg: #d4edda;--color-success-border: #c3e6cb;--color-success-text: #155724;--color-warning-bg: #fff3cd;--color-warning-border: #ffc107;--color-warning-text: #856404;--color-info-bg: #d1ecf1;--color-info-border: #bee5eb;--color-info-text: #0c5460;--color-error-bg: #f8d7da;--color-error-border: #f5c6cb;--color-error-text: #721c24;--font-family-base: Instrument Sans, -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;--font-weight-regular: 420;--font-weight-medium: 560;--font-weight-semibold: 620;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--line-height-sm: 1.3;--line-height-md: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--component-s: var(--space-3);--component-m: var(--space-4);--component-xl: 2.4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--border-radius-m: var(--radius-md);--border-radius-l: var(--radius-lg);--layout-max-width: 1280px;--header-height: 7.2rem;--motion-fast: .14s;--motion-normal: .22s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--text-standard: #001b34;--text-main: var(--text-standard);--text-subtle: #5f666d;--text-secondary: var(--text-subtle);--border-subtle: #5f666d;--border-super-subtle: #d7e1eb;--page-surface-standard: #ffffff;--page-surface-standard-variant: #d7e1eb;--primary-button-body-light: #0972d2;--primary-button-body-dark: #0c3f91}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-family-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-md);color:var(--color-text-strong);background:linear-gradient(180deg,var(--color-surface-1) 0%,var(--color-surface-0) 240px)}img,svg,canvas,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-primary-700);text-decoration-thickness:1px;text-underline-offset:.16em}a:hover{color:var(--color-primary-900)}#root,#app,[data-app-root]{width:100%;max-width:var(--layout-max-width);margin:0 auto;padding-left:var(--space-4);padding-right:var(--space-4)}.alert-warning,.alert-info,.alert-success,.alert-error{border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--space-4)}.alert-warning{color:var(--color-warning-text);background-color:var(--color-warning-bg);border-color:var(--color-warning-border)}.alert-info{color:var(--color-info-text);background-color:var(--color-info-bg);border-color:var(--color-info-border)}.alert-success{color:var(--color-success-text);background-color:var(--color-success-bg);border-color:var(--color-success-border)}.alert-error{color:var(--color-error-text);background-color:var(--color-error-bg);border-color:var(--color-error-border)}.subheading{margin-top:var(--component-m);margin-bottom:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong)}.section-header{margin-top:0;margin-bottom:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.flex-row-gap-1{display:flex;flex-wrap:wrap;gap:var(--space-4)}.flex-row-gap-2{display:flex;flex-wrap:wrap;gap:var(--space-8)}.flex-col-gap-1{display:flex;flex-direction:column;gap:var(--space-4)}.flex-col-gap-2{display:flex;flex-direction:column;gap:var(--space-8)}.flex-settings{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:var(--component-m)}.flex-settings>*{flex:1 1 300px;min-width:300px}.mt-1{margin-top:var(--space-4)}.mt-2{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-4)}.mb-2{margin-bottom:var(--space-8)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-blink{animation:blink 1s infinite}.animate-rotate{transform-box:fill-box;transform-origin:50% 50%;animation:rotate 3s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}
