:root{--ftk-header-h: 56px;--bg: #0e0e1c;--surface: #0c0c1a;--surface2: #111120;--glass: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .06);--border-bright: rgba(255, 255, 255, .12);--accent: #00e5a0;--accent-glow: rgba(0, 229, 160, .3);--gold: #f0c040;--red: #ff4757;--text: #f0f0f8;--muted: #5a5a78;--muted2: #8888aa;--font: "Segoe UI Variable", "Segoe UI", "Helvetica Neue", system-ui, sans-serif;--mono: "JetBrains Mono", monospace;--ftk-app-bg: radial-gradient(circle at top left, rgba(0, 229, 160, .09), transparent 24%), radial-gradient(circle at top right, rgba(0, 184, 255, .07), transparent 22%), linear-gradient(180deg, #081018 0%, #0e0e1c 40%, #131327 100%);--ftk-app-glow-primary: radial-gradient(circle, rgba(0, 229, 160, .18), transparent 65%);--ftk-app-glow-secondary: radial-gradient(circle, rgba(0, 184, 255, .16), transparent 65%);--ftk-surface-bg: rgba(255, 255, 255, .035);--ftk-surface-strong: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .04));--ftk-card-bg: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .04));--ftk-soft-bg: rgba(255, 255, 255, .04);--ftk-soft-bg-strong: rgba(255, 255, 255, .06);--ftk-border: rgba(255, 255, 255, .08);--ftk-border-soft: rgba(255, 255, 255, .06);--ftk-text: #f4f6fb;--ftk-text-strong: #f0f0f8;--ftk-text-muted: #98a1bf;--ftk-text-soft: #8f8faa;--ftk-text-faint: #6f6f8d;--ftk-nav-bg: rgba(8, 10, 20, .94);--ftk-nav-shadow: 0 -10px 30px rgba(0, 0, 0, .28);--ftk-shadow: 0 20px 50px rgba(0, 0, 0, .24);--ftk-toast-bg: linear-gradient(180deg, rgba(13, 20, 31, .98), rgba(10, 15, 24, .96));--ftk-input-bg: rgba(255, 255, 255, .04);--ftk-input-border: rgba(255, 255, 255, .1);--ftk-accent: #00e5a0;--ftk-accent-contrast: #07130f;--ftk-accent-soft: rgba(0, 229, 160, .1);--ftk-accent-border: rgba(0, 229, 160, .22);--ftk-info: #00b8ff;--ftk-danger: #ff4757;--ftk-danger-soft: rgba(255, 71, 87, .12)}html[data-theme=light]{--bg: #eef3f9;--surface: #ffffff;--surface2: #f5f8fd;--glass: rgba(15, 23, 42, .04);--glass-border: rgba(15, 23, 42, .08);--border: rgba(15, 23, 42, .08);--border-bright: rgba(15, 23, 42, .14);--text: #162033;--muted: #6f7f96;--muted2: #4f6078;--ftk-app-bg: radial-gradient(circle at top left, rgba(0, 122, 255, .08), transparent 24%), radial-gradient(circle at top right, rgba(15, 118, 110, .08), transparent 22%), linear-gradient(180deg, #f6f9fc 0%, #eef4fb 42%, #e7eef8 100%);--ftk-app-glow-primary: radial-gradient(circle, rgba(15, 118, 110, .18), transparent 65%);--ftk-app-glow-secondary: radial-gradient(circle, rgba(37, 99, 235, .16), transparent 65%);--ftk-surface-bg: rgba(255, 255, 255, .78);--ftk-surface-strong: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(247, 250, 255, .92));--ftk-card-bg: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(245, 248, 253, .96));--ftk-soft-bg: rgba(15, 23, 42, .04);--ftk-soft-bg-strong: rgba(15, 23, 42, .06);--ftk-border: rgba(15, 23, 42, .1);--ftk-border-soft: rgba(15, 23, 42, .08);--ftk-text: #162033;--ftk-text-strong: #162033;--ftk-text-muted: #5f6f87;--ftk-text-soft: #71829b;--ftk-text-faint: #7b8aa1;--ftk-nav-bg: rgba(247, 250, 255, .94);--ftk-nav-shadow: 0 -10px 24px rgba(31, 52, 88, .1);--ftk-shadow: 0 20px 44px rgba(31, 52, 88, .1);--ftk-toast-bg: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(245, 248, 253, .96));--ftk-input-bg: rgba(255, 255, 255, .86);--ftk-input-border: rgba(15, 23, 42, .1);--ftk-accent: #0f766e;--ftk-accent-contrast: #ffffff;--ftk-accent-soft: rgba(15, 118, 110, .1);--ftk-accent-border: rgba(15, 118, 110, .18);--ftk-info: #2563eb;--ftk-danger: #dc2626;--ftk-danger-soft: rgba(220, 38, 38, .1)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%}body{background:var(--ftk-app-bg);color:var(--text);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#root{width:100%;height:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:32px}h2{font-size:24px}h3{font-size:18px}h4{font-size:16px}p,span,a{font-size:14px}a{color:var(--accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}button{font-family:inherit;cursor:pointer;border:none;border-radius:12px;padding:10px 20px;font-weight:600;transition:all .2s}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--bg);font-weight:700}.btn-primary:hover:not(:disabled){box-shadow:0 0 24px var(--accent-glow)}.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--border-bright)}.btn-ghost:hover:not(:disabled){background:var(--glass)}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--border-bright)}input,textarea{font-family:inherit;border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:8px;padding:12px 16px;font-size:14px;transition:all .2s}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--muted)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted2)}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}.text-muted{color:var(--muted)}.text-muted2{color:var(--muted2)}.text-accent{color:var(--accent)}.text-error{color:var(--red)}.gap-xs{gap:8px}.gap-sm{gap:12px}.gap-md{gap:16px}.gap-lg{gap:24px}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between;align-items:center}.mt-xs{margin-top:8px}.mt-sm{margin-top:12px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.px-md{padding:0 16px}.py-md{padding:16px 0}button:hover:not(:disabled){opacity:.88}::-webkit-scrollbar{width:4px;height:4px}*{scroll-behavior:smooth}@media (hover: none){button:active{opacity:.7;transform:scale(.98)}}::selection{background:var(--ftk-accent-soft);color:var(--ftk-accent)}*,*:before,*:after{transition-property:background-color,border-color,color;transition-duration:.2s;transition-timing-function:ease}button,a,[role=button]{transition-property:background-color,border-color,color,opacity,transform}
