:root{--color-deep: #0D0F14;--color-deep-surface: #151821;--color-accent: #2A57E8;--color-accent-hover: #1E46D2;--color-accent-subtle: #EFF4FF;--color-accent-border: rgba(42, 87, 232, .22);--color-mist: #EAECEF;--color-canvas: #FAFAFB;--color-white: #FFFFFF;--color-text: #101318;--color-text-muted: #5E6573;--color-text-subtle: #8B93A1;--color-border: #E2E5EB;--color-border-subtle: #EEF0F4;--color-surface: #F4F6F8;--color-surface-hover: #ECEEF2;--color-surface-card: #FFFFFF;--color-success: #059669;--color-success-bg: #ECFDF5;--color-success-border: rgba(16, 185, 129, .25);--color-warning: #D97706;--color-warning-bg: #FFFBEB;--color-warning-border: rgba(217, 119, 6, .25);--color-error: #DC2626;--color-error-bg: #FEF2F2;--color-error-border: rgba(220, 38, 38, .25);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 9px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .05), 0 1px 2px rgba(15, 23, 42, .03);--shadow-md: 0 4px 10px -2px rgba(15, 23, 42, .06), 0 2px 4px -1px rgba(15, 23, 42, .03);--shadow-lg: 0 10px 24px -4px rgba(15, 23, 42, .08), 0 4px 8px -2px rgba(15, 23, 42, .03);--shadow-modal: 0 20px 40px -8px rgba(15, 23, 42, .16), 0 8px 16px -4px rgba(15, 23, 42, .06);--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-base: .2s cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{font-family:var(--font-sans);background-color:var(--color-canvas);color:var(--color-text);line-height:1.6;font-size:.9375rem;letter-spacing:-.011em;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{color:var(--color-deep);font-weight:700;letter-spacing:-.03em;line-height:1.22}p{color:var(--color-text);line-height:1.65}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.container{width:100%;max-width:1140px;margin:0 auto;padding:0 1.5rem}.main-content{flex:1;padding-bottom:4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:-.01em;padding:.625rem 1.15rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-canvas),0 0 0 4px var(--color-accent)}.btn-primary{background-color:var(--color-deep);color:var(--color-white);border-color:var(--color-deep);box-shadow:var(--shadow-xs),inset 0 1px #ffffff1f}.btn-primary:hover:not(:disabled){background-color:#1a1d24;border-color:#1a1d24;box-shadow:var(--shadow-sm),inset 0 1px #ffffff29}.btn-secondary{background-color:var(--color-white);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface);border-color:#ccd2dc;color:var(--color-deep)}.btn-accent{background-color:var(--color-accent);color:var(--color-white);box-shadow:var(--shadow-xs),inset 0 1px #ffffff2e}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover);box-shadow:var(--shadow-sm),inset 0 1px #ffffff38}.btn-danger{background-color:var(--color-white);color:var(--color-error);border-color:var(--color-error-border)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-bg);border-color:var(--color-error)}.btn-sm{font-size:.8125rem;padding:.38rem .8rem;border-radius:var(--radius-sm);gap:.38rem}.btn-lg{font-size:.95rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);gap:.55rem}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .6rem;border-radius:var(--radius-full);border:1px solid transparent;white-space:nowrap;line-height:1.35}.badge-success{background-color:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.badge-error{background-color:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-neutral{background-color:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.badge-obsidian{background-color:var(--color-deep);color:var(--color-white);border-color:var(--color-deep)}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.78rem;font-weight:650;color:var(--color-deep);margin-bottom:.45rem;text-transform:uppercase;letter-spacing:.05em}.form-input{width:100%;font-family:var(--font-sans);font-size:.9375rem;color:var(--color-text);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.625rem .875rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);box-shadow:var(--shadow-xs)}.form-input:hover:not(:disabled):not(:focus){border-color:#ccd2dc}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #2a57e81f;background-color:var(--color-white)}.form-input:disabled{background-color:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border-subtle);cursor:not-allowed;box-shadow:none}.form-hint{font-size:.78rem;color:var(--color-text-muted);margin-top:.4rem;line-height:1.45}.card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.75rem;box-shadow:var(--shadow-xs);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:#ccd2dc;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.alert{padding:.85rem 1.15rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.5;display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;border:1px solid transparent}.alert-success{background-color:var(--color-success-bg);color:#065f46;border-color:var(--color-success-border)}.alert-error{background-color:var(--color-error-bg);color:#991b1b;border-color:var(--color-error-border)}.alert-warning{background-color:var(--color-warning-bg);color:#92400e;border-color:var(--color-warning-border)}.alert-info{background-color:var(--color-accent-subtle);color:#1e40af;border-color:var(--color-accent-border)}.progress-track{width:100%;height:6px;background-color:var(--color-border-subtle);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background-color:var(--color-deep);border-radius:var(--radius-full);transition:width .35s cubic-bezier(.16,1,.3,1)}.progress-fill.warning{background-color:var(--color-warning)}.progress-fill.danger{background-color:var(--color-error)}.table-container{width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-white);box-shadow:var(--shadow-xs)}.table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.table th,.table td{padding:.85rem 1.15rem;border-bottom:1px solid var(--color-border-subtle)}.table th{background-color:#fafafc;color:var(--color-text-muted);font-weight:650;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:#f8f9fb}.hero-pill{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:.35rem .95rem;font-size:.8125rem;font-weight:600;color:var(--color-deep);margin-bottom:1.5rem;box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.hero-pill:hover{border-color:#ccd2dc;box-shadow:var(--shadow-sm)}.pulse-dot{width:7px;height:7px;border-radius:50%;background-color:var(--color-accent);position:relative;display:inline-block;flex-shrink:0}.pulse-dot:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:1px solid var(--color-accent);animation:pulseSubtle 2s ease-out infinite}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0f148c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:modalFadeIn .18s cubic-bezier(.16,1,.3,1)}.modal-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:var(--shadow-modal);position:relative;animation:modalScaleIn .2s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseSubtle{0%{transform:scale(1);opacity:.8}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
