:root{--bg-0: #0d0f14;--bg-1: #15171e;--bg-2: #1d2028;--bg-3: #262932;--bg-4: #30343f;--bg-5: #3a3f4b;--border-subtle: rgba(255, 255, 255, .04);--border-default: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text-1: #f4f5f7;--text-2: #cfd2d8;--text-3: #9aa0a6;--text-4: #6b7280;--text-on-accent: #ffffff;--accent: #ff5722;--accent-hover: #ff7043;--accent-soft: rgba(255, 87, 34, .12);--accent-ring: rgba(255, 87, 34, .4);--success: #5dd27a;--success-soft: rgba(93, 210, 122, .12);--warning: #f0c543;--warning-soft: rgba(240, 197, 67, .12);--danger: #e55757;--danger-soft: rgba(229, 87, 87, .12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-1: 4px;--radius-2: 8px;--radius-3: 12px;--radius-4: 16px;--radius-pill: 999px;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Consolas, monospace;--fs-xs: 11px;--fs-sm: 12.5px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 28px;--fs-3xl: 40px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .2);--shadow-2: 0 4px 12px rgba(0, 0, 0, .3);--shadow-3: 0 12px 28px rgba(0, 0, 0, .4);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur-mid: .2s;--dur-slow: .32s}*:focus{outline:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-1)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:var(--text-on-accent);padding:8px 16px;z-index:1000;text-decoration:none;border-radius:0 0 var(--radius-2) 0;font-weight:600}.skip-link:focus{top:0}:root[data-theme=light]{--bg-0: #f5f6f9;--bg-1: #ffffff;--bg-2: #f7f8fb;--bg-3: #eef0f4;--bg-4: #e3e6ec;--bg-5: #d6dae2;--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .18);--text-1: #15171e;--text-2: #2d3140;--text-3: #5c6473;--text-4: #8d95a3;--text-on-accent: #ffffff;--accent-soft: rgba(66, 135, 245, .14);--warning-soft: rgba(240, 197, 67, .18);--danger-soft: rgba(229, 87, 87, .14);--success-soft: rgba(93, 210, 122, .18)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-0);color:var(--text-1);font-family:var(--font-sans);font-size:var(--fs-md);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}button,input,select,textarea{font-family:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-soft);color:var(--text-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:9px 16px;font-size:var(--fs-md);font-weight:500;border:1px solid transparent;border-radius:var(--radius-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-3);color:var(--text-2);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-4);color:var(--text-1)}.btn-ghost{background:transparent;color:var(--text-3)}.btn-ghost:hover:not(:disabled){background:var(--bg-3);color:var(--text-1)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#e5575740}.btn-danger:hover:not(:disabled){background:#e557572e}.btn-sm{padding:6px 12px;font-size:var(--fs-sm)}.btn-lg{padding:12px 20px;font-size:var(--fs-lg)}.btn-icon{width:36px;height:36px;padding:0}.input{display:block;width:100%;padding:10px 12px;background:var(--bg-1);border:1px solid var(--border-default);border-radius:var(--radius-2);color:var(--text-1);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.input::placeholder{color:var(--text-4)}.card{background:var(--bg-2);border:1px solid var(--border-subtle);border-radius:var(--radius-3);padding:var(--space-5)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:500;letter-spacing:.02em;text-transform:uppercase}.badge-default{background:var(--bg-3);color:var(--text-3)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-accent{background:var(--accent-soft);color:var(--accent)}@keyframes skel-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{display:block;background:linear-gradient(90deg,var(--bg-2) 0%,var(--bg-3) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:skel-shimmer 1.6s infinite linear;border-radius:var(--radius-2)}.section-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);margin:0 0 var(--space-3)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-7) var(--space-4);color:var(--text-3)}.empty-icon{width:48px;height:48px;border-radius:var(--radius-pill);background:var(--bg-2);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);font-size:22px}.empty-headline{margin:0 0 8px;font-size:var(--fs-lg);color:var(--text-1);font-weight:600}.empty-sub{margin:0;max-width:420px;line-height:1.5}@media (max-width: 640px){:root{--fs-3xl: 32px;--fs-2xl: 24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
