@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-cyrillic-ext-wght-normal-BUWC6ZS3.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-cyrillic-wght-normal-ENSFVLK4.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-greek-wght-normal-Y3BRZMJV.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-vietnamese-wght-normal-SP6EBKAH.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-latin-ext-wght-normal-TSLVDSQR.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url("./media/jetbrains-mono-latin-wght-normal-VBS632QH.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--brand-1: #6366f1;--brand-2: #8b5cf6;--brand-3: #d946ef;--brand-gradient: linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 55%, var(--brand-3) 100%);--brand-soft: rgb(99 102 241 / .1);--brand-ring: 0 0 0 4px rgb(99 102 241 / .18);--bg: #f4f5fb;--bg-accent-1: rgb(99 102 241 / .08);--bg-accent-2: rgb(217 70 239 / .06);--surface: #ffffff;--surface-2: #f8f9fc;--surface-3: #eef0f6;--glass: rgb(255 255 255 / .72);--border: #e4e7ef;--border-strong: #d3d8e4;--text: #111827;--text-2: #4b5563;--text-3: #8a93a6;--success: #10b981;--success-soft: rgb(16 185 129 / .12);--warning: #f59e0b;--warning-text: #b45309;--warning-soft: rgb(245 158 11 / .14);--danger: #ef4444;--danger-text: #dc2626;--danger-soft: rgb(239 68 68 / .1);--sidebar-bg: #0e1120;--sidebar-text: #c7cbe0;--sidebar-muted: #7d84a3;--sidebar-hover: rgb(255 255 255 / .06);--sidebar-active: rgb(129 140 248 / .16);--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 2px rgb(16 24 40 / .05);--shadow: 0 1px 3px rgb(16 24 40 / .06), 0 8px 24px -12px rgb(16 24 40 / .12);--shadow-lg: 0 24px 60px -20px rgb(30 27 75 / .35);--shadow-brand: 0 8px 22px -8px rgb(99 102 241 / .65);--font: "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono Variable", ui-monospace, Consolas, monospace;--ease: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--brand-soft: rgb(129 140 248 / .16);--brand-ring: 0 0 0 4px rgb(129 140 248 / .25);--bg: #0b0d17;--bg-accent-1: rgb(99 102 241 / .14);--bg-accent-2: rgb(217 70 239 / .08);--surface: #141826;--surface-2: #181d2d;--surface-3: #20263a;--glass: rgb(20 24 38 / .72);--border: #252b40;--border-strong: #323a55;--text: #eef0f8;--text-2: #b4bad0;--text-3: #7c84a0;--warning-text: #fbbf24;--danger-text: #f87171;--sidebar-bg: #080a13;--shadow: 0 1px 3px rgb(0 0 0 / .3), 0 8px 24px -12px rgb(0 0 0 / .5);--shadow-lg: 0 24px 60px -20px rgb(0 0 0 / .7)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:14px/1.5 var(--font);font-feature-settings:"cv11","ss01";color:var(--text);background:radial-gradient(1200px 600px at 100% -10%,var(--bg-accent-1),transparent 60%),radial-gradient(900px 500px at 20% 110%,var(--bg-accent-2),transparent 60%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;letter-spacing:-.02em}h1{font-size:1.75rem;font-weight:750}h2{font-size:1.125rem;font-weight:650}h3{font-size:.95rem;font-weight:650}a{color:var(--brand-1)}[hidden]{display:none!important}:focus-visible{outline:none;box-shadow:var(--brand-ring)}::selection{background:#8b5cf640}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:2.25rem;padding:0 .95rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:550 .875rem var(--font);text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s,transform .15s var(--ease),box-shadow .15s}.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn app-icon{width:1rem;height:1rem}.btn-primary{border:0;color:#fff;background:var(--brand-gradient);background-size:140% 140%;box-shadow:var(--shadow-brand)}.btn-primary:hover:not(:disabled){background:var(--brand-gradient);background-position:100% 50%;box-shadow:0 10px 28px -8px #8b5cf6bf}.btn-ghost{border-color:transparent;background:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent}.btn-danger{color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:#ef44444d}.btn-sm{height:1.9rem;padding:0 .7rem;font-size:.8rem;border-radius:8px}.icon-btn{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-3);cursor:pointer;transition:background .15s,color .15s}.icon-btn app-icon{width:1rem;height:1rem}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-text)}.icon-btn:disabled{opacity:.3;cursor:default}.input,.select,.textarea{width:100%;min-height:2.35rem;padding:.45rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:.875rem/1.4 var(--font);transition:border-color .15s,box-shadow .15s}.input::placeholder,.select::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--brand-1);box-shadow:var(--brand-ring)}.textarea{resize:vertical}.mono{font-family:var(--mono);font-size:.82rem}.num{font-variant-numeric:tabular-nums}.search{position:relative;display:flex;align-items:center}.search app-icon{position:absolute;left:.7rem;width:1rem;height:1rem;color:var(--text-3);pointer-events:none}.search .input{padding-left:2.2rem}.field{display:flex;flex-direction:column;gap:.35rem}.field>span{font-size:.78rem;font-weight:600;color:var(--text-2)}.field>small{color:var(--text-3);font-size:.75rem}.switch{display:inline-flex;align-items:center;gap:.65rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{appearance:none;position:relative;flex:none;width:2.4rem;height:1.35rem;margin:0;border-radius:999px;background:var(--surface-3);border:1px solid var(--border-strong);cursor:pointer;transition:background .2s}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.35rem - 6px);height:calc(1.35rem - 6px);border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .2s var(--ease)}.switch input:checked{background:var(--brand-gradient);border-color:transparent}.switch input:checked:after{transform:translate(1.05rem)}.segmented{display:inline-flex;padding:3px;border-radius:10px;background:var(--surface-3);gap:2px}.segmented button{border:0;padding:.35rem .85rem;border-radius:8px;background:transparent;color:var(--text-2);font:550 .82rem var(--font);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.card-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.card-header h2,.card-header h3{flex:1}.card-header .card-icon{display:grid;place-items:center;width:2rem;height:2rem;border-radius:9px;background:var(--brand-soft);color:var(--brand-1)}.card-header .card-icon app-icon{width:1.05rem;height:1.05rem}.card-body{padding:1.25rem}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-3);color:var(--text-2);white-space:nowrap}.pill app-icon{width:.8rem;height:.8rem}.pill-brand{background:var(--brand-soft);color:var(--brand-1)}.pill-warning{background:var(--warning-soft);color:var(--warning-text)}.pill-success{background:var(--success-soft);color:var(--success)}.pill-danger{background:var(--danger-soft);color:var(--danger-text)}.muted{color:var(--text-3)}.gradient-text{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}}.fade-up{animation:fade-up .35s var(--ease) both}.empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;text-align:center;color:var(--text-3)}.empty .empty-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-bottom:.25rem;border-radius:16px;background:var(--brand-soft);color:var(--brand-1)}.empty .empty-icon app-icon{width:1.6rem;height:1.6rem}.empty strong{color:var(--text);font-size:.95rem}
