:root{--bg: #06080f;--surface: rgba(255,255,255,.035);--surface-hover: rgba(255,255,255,.065);--bg-input: rgba(255,255,255,.03);--bg-overlay: rgba(0,0,0,.6);--accent: #8b5cf6;--accent-soft: #c4b5fd;--accent-deep: #6d28d9;--accent-hover: #a78bfa;--cyan: #22d3ee;--amber: #f59e0b;--emerald: #34d399;--rose: #fb7185;--green: #34d399;--green-light: rgba(52,211,153,.12);--green-soft: rgba(52,211,153,.08);--red: #fb7185;--red-light: rgba(251,113,133,.12);--red-soft: rgba(251,113,133,.08);--purple: #a78bfa;--purple-light: rgba(167,139,250,.12);--purple-soft: rgba(167,139,250,.08);--text: #eee8f5;--text-mid: rgba(238,232,245,.55);--text-dim: rgba(238,232,245,.25);--text-disabled: rgba(238,232,245,.25);--text-primary: #eee8f5;--text-secondary: rgba(238,232,245,.75);--text-muted: rgba(238,232,245,.55);--text-inverse: #ffffff;--bg-root: #06080f;--bg-surface: rgba(255,255,255,.035);--bg-card: rgba(255,255,255,.035);--bg-card-hover: rgba(255,255,255,.065);--bg-elevated: rgba(255,255,255,.05);--bg-tag: rgba(139,92,246,.15);--bg-badge: rgba(139,92,246,.15);--bg-glass: rgba(255,255,255,.05);--login-card-bg: rgba(15,18,30,.85);--login-card-shadow: 0 20px 60px rgba(0,0,0,.5);--border: rgba(255,255,255,.07);--border-hover: rgba(255,255,255,.14);--border-light: rgba(255,255,255,.07);--border-input: rgba(255,255,255,.07);--border-focus: #8b5cf6;--border-accent: rgba(139,92,246,.3);--r: 22px;--r-sm: 14px;--radius-sm: 14px;--radius: 18px;--radius-lg: 22px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0,0,0,.2);--shadow: 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-card: 0 1px 3px rgba(0,0,0,.3), 0 2px 12px rgba(0,0,0,.3);--font-sans: "Syne","Noto Sans SC",system-ui,-apple-system,sans-serif;--font-mono: "JetBrains Mono","Fira Code","Consolas",monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--ease: cubic-bezier(.22,1,.36,1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--fast: .15s;--normal: .3s}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 20% 30%,rgba(139,92,246,.08) 0%,transparent 70%),radial-gradient(ellipse 50% 55% at 80% 60%,rgba(34,211,238,.06) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 50% 80%,rgba(139,92,246,.05) 0%,transparent 60%)}.grid-pattern{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 60% 50% at 50% 40%,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 40%,black 30%,transparent 70%)}.noise{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:clamp(15px,1vw,17px);-webkit-font-smoothing:antialiased}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6}#root{min-height:100vh;position:relative;z-index:1}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}h1,h2,h3,h4{font-weight:600}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 18px;border:1px solid rgba(255,255,255,.08);border-radius:var(--r-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .45s cubic-bezier(.22,1,.36,1);color:var(--text-mid);background:#ffffff08;white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1.5;text-decoration:none}.btn:hover{background:#ffffff0f;color:var(--text);transform:translateY(-2px)}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;transform:none}.btn-primary{background:linear-gradient(135deg,var(--accent-deep),var(--accent),#a78bfa);color:#fff;border:none;font-weight:700;box-shadow:0 6px 32px #8b5cf673,inset 0 1px #ffffff2e}.btn-primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 40px #8b5cf699,inset 0 1px #ffffff40;color:#fff}.btn-success{background:linear-gradient(135deg,#059669,#34d399);color:#fff;border:none;font-weight:600;box-shadow:0 4px 20px #34d39959,inset 0 1px #ffffff26}.btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 28px #34d39980;color:#fff}.btn-danger{background:linear-gradient(135deg,#be123c,var(--rose));color:#fff;border:none;font-weight:600;box-shadow:0 4px 20px #fb718559,inset 0 1px #ffffff26}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 28px #fb718580;color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-mid)}.btn-ghost:hover{background:#ffffff0a;color:var(--text);transform:translateY(-1px)}.btn-sm{padding:4px 12px;font-size:var(--text-xs);border-radius:var(--r-sm)}.btn-lg{padding:11px 26px;font-size:var(--text-base);border-radius:var(--r)}input,textarea,select{background:#ffffff08;color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;font-size:var(--text-sm);outline:none;transition:border-color var(--fast),box-shadow var(--fast),background var(--fast);font-family:inherit;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf61f;background:#ffffff0d}input::placeholder,textarea::placeholder{color:var(--text-dim)}textarea{resize:vertical;min-height:64px;line-height:1.55}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23eee8f555' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}select option{background:#161620;color:var(--text)}input[type=date]{color-scheme:dark}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;-webkit-backdrop-filter:blur(50px) saturate(1.4);backdrop-filter:blur(50px) saturate(1.4);transition:all .45s cubic-bezier(.22,1,.36,1);position:relative}.card:before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);pointer-events:none}.card:hover{border-color:var(--border-hover);background:var(--surface-hover);transform:translateY(-5px);box-shadow:0 28px 80px #00000080,0 0 1px #ffffff1f}.card-header{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:var(--text-sm);font-weight:600;color:var(--text)}.card-header .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.page{padding:32px 40px;min-height:100vh;max-width:1280px;margin:0 auto;position:relative;z-index:1}@media(max-width:960px){.page{padding:24px 20px}}@media(max-width:600px){.page{padding:16px 12px}}.page-topbar{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.page-topbar .back-btn{flex-shrink:0}.page-title{font-size:2rem;font-weight:800;color:var(--text);background:linear-gradient(135deg,#fff,#c4b5fd,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px}.page-subtitle{font-size:var(--text-sm);color:var(--text-mid);margin-top:2px}.split-layout{display:grid;grid-template-columns:2fr 1fr;gap:18px;align-items:stretch}@media(max-width:1100px){.split-layout{grid-template-columns:1fr}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:var(--text-xs);font-weight:600;color:var(--text-mid);text-transform:uppercase;letter-spacing:.04em}.form-hint{font-size:var(--text-xs);color:var(--text-dim);margin-top:2px}.log-panel{background:#0000004d;border:1px solid var(--border);border-radius:var(--r-sm);padding:14px 16px;overflow-y:auto;font-family:var(--font-mono);font-size:.78rem;line-height:1.8;color:var(--text-mid)}.log-line{white-space:pre-wrap;word-break:break-all;padding:1px 0}.log-info{color:#eee8f58c}.log-success{color:#34d399}.log-error{color:#fb7185}.log-warn{color:#f59e0b}.log-highlight{color:#eee8f5;font-weight:600}.log-separator{color:#ffffff26}.table-wrap{overflow-x:auto;border-radius:var(--r-sm)}table{width:100%;border-collapse:separate;border-spacing:0 6px}thead th{padding:10px 14px;text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--text-dim);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em}tbody td{padding:10px 14px;font-size:var(--text-sm);color:var(--text-mid)}tbody tr{background:#ffffff05;border-radius:var(--r-sm);transition:background var(--fast)}tbody tr td:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}tbody tr td:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}tbody tr:hover{background:#ffffff0d}tbody tr:last-child td{border-bottom:none}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}.tab{padding:10px 20px;cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-dim);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--fast)}.tab:hover{color:var(--text-mid)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:100px;font-size:var(--text-xs);font-weight:600}.badge-blue{background:#8b5cf626;color:#c4b5fd;border:1px solid rgba(139,92,246,.25)}.badge-green{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.2)}.badge-amber{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.badge-purple{background:#a78bfa1f;color:#c4b5fd;border:1px solid rgba(167,139,250,.2)}.tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--fast);background:#ffffff0a;color:var(--text-mid);border:1px solid var(--border)}input[type=radio],input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.radio-pill,.check-pill{display:flex;align-items:center;gap:5px;font-size:var(--text-sm);color:var(--text-mid);cursor:pointer;padding:6px 14px;border:1px solid var(--border);border-radius:100px;background:#ffffff05;transition:all var(--fast)}.radio-pill:hover,.check-pill:hover{border-color:var(--border-hover);background:#ffffff0a}.radio-pill.selected,.check-pill.selected{border-color:var(--accent);background:#8b5cf61f;color:var(--accent-soft)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state svg{opacity:.15;margin-bottom:14px}.empty-state p{color:var(--text-mid);font-size:var(--text-sm);max-width:320px;line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}.spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:12px;height:12px;border-width:1.5px}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 18px;border-radius:var(--r-sm);font-size:var(--text-sm);animation:toastIn .3s var(--ease);box-shadow:var(--shadow-md);font-weight:500;border:1px solid;max-width:360px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.toast-success{background:#34d3991a;color:#34d399;border-color:#34d39933}.toast-error{background:#fb71851a;color:#fb7185;border-color:#fb718533}.toast-info{background:#8b5cf61a;color:#c4b5fd;border-color:#8b5cf626}@keyframes toastIn{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:26px;max-width:600px;width:92%;max-height:82vh;overflow-y:auto;box-shadow:0 40px 100px #0009;-webkit-backdrop-filter:blur(50px) saturate(1.4);backdrop-filter:blur(50px) saturate(1.4);animation:modalIn .3s var(--ease-spring);position:relative}.modal:before{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);pointer-events:none}.modal-title{font-size:1.2rem;font-weight:700;color:var(--text)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-body{margin-bottom:16px}.modal-footer{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.steps{display:flex;align-items:center;gap:0;margin-bottom:20px}.step{display:flex;align-items:center;gap:7px;cursor:pointer;padding:4px 0}.step-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;transition:all var(--fast)}.step-dot.done{background:var(--emerald);color:#000}.step-dot.active{background:var(--accent);color:#fff;box-shadow:0 0 0 4px #8b5cf633}.step-dot.waiting{background:#ffffff0f;color:var(--text-dim)}.step-label{font-size:var(--text-xs);font-weight:500;white-space:nowrap;color:var(--text-mid)}.step-label.active{color:var(--accent-soft);font-weight:600}.step-label.done{color:var(--emerald)}.step-label.waiting{color:var(--text-dim)}.step-line{flex:1;height:1px;background:var(--border);margin:0 10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes cardRise{0%{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.text-muted{color:var(--text-mid)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.font-mono{font-family:var(--font-mono)}.flex-1{flex:1}.w-full{width:100%}.text-center{text-align:center}.cursor-pointer{cursor:pointer}.app-container{position:relative;z-index:2;display:flex;flex-direction:column;width:100%;max-width:1280px;padding:32px 40px 24px;margin:auto 0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 12px 22px;margin-bottom:32px;background:#ffffff07;border:1px solid var(--border);border-radius:var(--r);backdrop-filter:blur(60px) saturate(1.5);-webkit-backdrop-filter:blur(60px) saturate(1.5);animation:slideDown .5s ease both}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-right{display:flex;align-items:center;gap:7px}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,var(--accent),#4f46e5);display:grid;place-items:center;font-size:1rem;font-weight:800;color:#fff;box-shadow:0 2px 18px #8b5cf659,inset 0 1px #ffffff2e;flex-shrink:0}.logo-text{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:-.02em;white-space:nowrap}.logo-sub{font-size:.78rem;color:var(--text-dim);font-weight:400;margin-left:4px;white-space:nowrap}.tb{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--r-sm);background:#ffffff05;border:1px solid rgba(255,255,255,.05);color:var(--text-mid);font-size:.84rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:inherit;white-space:nowrap;position:relative;overflow:hidden}.tb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 120%,rgba(255,255,255,.03),transparent 70%);opacity:0;transition:opacity .3s ease}.tb:hover:before{opacity:1}.tb:hover{transform:translateY(-1px);color:var(--text)}.tb-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;padding:3px;transition:all .3s ease;flex-shrink:0}.tb-icon svg{width:15px;height:15px}.tb-divider{width:1px;height:22px;background:#ffffff0f;margin:0 5px;flex-shrink:0}.tb.danger .tb-icon{background:linear-gradient(145deg,#fb718533,#fb71850a);border:1px solid rgba(251,113,133,.25);color:var(--rose)}.tb.danger{color:var(--rose);border-color:#fb71851a;background:#fb718508}.tb.danger:hover{background:#fb718512;border-color:#fb718533;box-shadow:0 0 24px #fb718514}.tb.link .tb-icon{background:linear-gradient(145deg,#22d3ee29,#22d3ee08);border:1px solid rgba(34,211,238,.2);color:var(--cyan)}.tb.link:hover{background:#22d3ee0d;border-color:#22d3ee26;box-shadow:0 0 20px #22d3ee0f}.tb.settings .tb-icon{background:linear-gradient(145deg,#f59e0b26,#f59e0b08);border:1px solid rgba(245,158,11,.2);color:var(--amber)}.tb.settings:hover{background:#f59e0b0d;border-color:#f59e0b26;box-shadow:0 0 20px #f59e0b0f}.hero{padding:8px 0 30px;animation:fadeUp .6s ease .1s both}.hero h1{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;line-height:1.15;background:linear-gradient(135deg,#fff 20%,var(--accent-soft) 55%,var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{color:var(--text-mid);font-size:.98rem;font-weight:300;margin-top:7px}.main-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;animation:fadeUp .7s ease .2s both;flex:1}.g-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);backdrop-filter:blur(50px) saturate(1.4);-webkit-backdrop-filter:blur(50px) saturate(1.4);transition:all .45s cubic-bezier(.22,1,.36,1);cursor:pointer}.g-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 5%,rgba(255,255,255,.1) 50%,transparent 95%)}.g-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse 130% 90% at 25% 0%,rgba(255,255,255,.04),transparent 55%);pointer-events:none}.g-card:hover{border-color:var(--border-hover);background:var(--surface-hover);transform:translateY(-5px)}.main-layout .g-card{opacity:0;animation:cardRise2 .6s ease forwards}.main-layout .featured{animation-delay:.25s}.side-grid .g-card:nth-child(1){animation-delay:.35s}.side-grid .row-2 .g-card:nth-child(1){animation-delay:.45s}.side-grid .row-2 .g-card:nth-child(2){animation-delay:.55s}@keyframes cardRise2{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.featured{padding:38px 34px 34px;display:flex;flex-direction:column}.featured:hover{box-shadow:0 30px 80px #00000080,0 0 100px #8b5cf62e,0 0 200px #8b5cf60f,inset 0 0 80px #8b5cf608,0 0 1px #ffffff1f}.featured .glow{position:absolute;top:-60%;left:-40%;width:180%;height:140%;background:radial-gradient(ellipse at center,rgba(139,92,246,.08),transparent 60%);pointer-events:none;opacity:0;transition:opacity .5s ease}.featured:hover .glow{opacity:1}.card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;position:relative;z-index:1}.f-icon{width:60px;height:60px;border-radius:17px;background:linear-gradient(145deg,#8b5cf633,#8b5cf60a);border:1px solid rgba(139,92,246,.25);display:grid;place-items:center;color:var(--accent-soft);box-shadow:0 4px 28px #8b5cf626,inset 0 1px #ffffff14;transition:all .4s ease}.featured:hover .f-icon{box-shadow:0 6px 36px #8b5cf64d;transform:scale(1.06)}.f-icon svg{width:28px;height:28px}.badge-featured{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;padding:8px 20px;border-radius:20px;background:linear-gradient(135deg,#8b5cf659,#22d3ee38);border:1.5px solid rgba(139,92,246,.5);color:#fff;box-shadow:0 3px 22px #8b5cf659,0 0 40px #8b5cf61f;animation:badgeGlow 2s ease-in-out infinite;text-shadow:0 1px 8px rgba(139,92,246,.4)}@keyframes badgeGlow{0%,to{box-shadow:0 3px 22px #8b5cf659,0 0 40px #8b5cf61f}50%{box-shadow:0 4px 32px #8b5cf68c,0 0 60px #8b5cf633}}.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px #8b5cf666;animation:dotPulse 1.6s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:1;box-shadow:0 0 8px var(--accent),0 0 16px #8b5cf666}50%{opacity:.5;box-shadow:0 0 18px var(--accent),0 0 30px #8b5cf64d}}.f-tag{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:9px;position:relative;z-index:1}.f-title{font-size:1.65rem;font-weight:700;letter-spacing:-.03em;margin-bottom:11px;line-height:1.2;position:relative;z-index:1}.f-desc{font-size:.9rem;color:var(--text-mid);line-height:1.75;font-weight:300;max-width:460px;margin-bottom:24px;position:relative;z-index:1}.f-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;position:relative;z-index:1}.f-chip{font-size:.7rem;padding:6px 15px;border-radius:20px;background:#8b5cf612;border:1px solid rgba(139,92,246,.12);color:var(--accent-soft);font-weight:500;transition:all .3s ease}.featured:hover .f-chip{background:#8b5cf61f;border-color:#8b5cf638}.f-cta{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 44px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--accent-deep),var(--accent),#a78bfa);border:none;color:#fff;font-size:1.12rem;font-weight:700;font-family:inherit;cursor:pointer;width:fit-content;letter-spacing:.04em;box-shadow:0 6px 32px #8b5cf673,0 2px 12px #8b5cf640,inset 0 1px #ffffff2e,inset 0 -2px #00000026;transition:all .35s cubic-bezier(.22,1,.36,1);position:relative;z-index:1;text-shadow:0 1px 6px rgba(0,0,0,.25)}.f-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,transparent 50%);pointer-events:none}.f-cta:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 48px #8b5cf68c,0 4px 20px #8b5cf64d,inset 0 1px #ffffff38}.f-cta:active{transform:translateY(0) scale(.98);box-shadow:0 4px 20px #8b5cf659}.f-cta svg{width:20px;height:20px;flex-shrink:0}.side-grid{display:grid;grid-template-rows:1fr 1fr;gap:18px}.side-grid .row-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.s-card{padding:26px 24px;display:flex;flex-direction:column;gap:12px}.s-card .s-head{display:flex;align-items:center;gap:13px}.s-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;transition:all .4s ease;flex-shrink:0;box-shadow:inset 0 1px #ffffff0f}.s-icon svg{width:22px;height:22px}.s-card:hover .s-icon{transform:scale(1.1)}.s-name{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.s-tag{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:16px;width:fit-content}.s-desc{font-size:.8rem;color:var(--text-mid);line-height:1.65;font-weight:300}.s-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.s-chip{font-size:.62rem;padding:3px 11px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);color:var(--text-dim);font-weight:500;transition:all .3s ease}.s-card:hover .s-chip{color:var(--text-mid);border-color:#ffffff14}.s-card .glow{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;pointer-events:none;opacity:0;transition:opacity .5s ease}.s-card:hover .glow{opacity:1}.v-cyan .s-icon{background:linear-gradient(145deg,#22d3ee2e,#22d3ee08);border:1px solid rgba(34,211,238,.22);color:var(--cyan);box-shadow:0 4px 20px #22d3ee1a,inset 0 1px #ffffff0f}.v-cyan .s-tag{background:#22d3ee1a;border:1px solid rgba(34,211,238,.15);color:var(--cyan)}.v-cyan .glow{background:radial-gradient(ellipse at center,rgba(34,211,238,.08),transparent 55%)}.v-cyan:hover{box-shadow:0 28px 80px #00000080,0 0 80px #22d3ee26,0 0 160px #22d3ee0a,inset 0 0 50px #22d3ee05,0 0 1px #ffffff1f}.v-amber .s-icon{background:linear-gradient(145deg,#f59e0b2e,#f59e0b08);border:1px solid rgba(245,158,11,.22);color:var(--amber);box-shadow:0 4px 20px #f59e0b1a,inset 0 1px #ffffff0f}.v-amber .s-tag{background:#f59e0b1a;border:1px solid rgba(245,158,11,.15);color:var(--amber)}.v-amber .glow{background:radial-gradient(ellipse at center,rgba(245,158,11,.08),transparent 55%)}.v-amber:hover{box-shadow:0 28px 80px #00000080,0 0 80px #f59e0b26,0 0 160px #f59e0b0a,inset 0 0 50px #f59e0b05,0 0 1px #ffffff1f}.v-emerald .s-icon{background:linear-gradient(145deg,#34d3992e,#34d39908);border:1px solid rgba(52,211,153,.22);color:var(--emerald);box-shadow:0 4px 20px #34d3991a,inset 0 1px #ffffff0f}.v-emerald .s-tag{background:#34d3991a;border:1px solid rgba(52,211,153,.15);color:var(--emerald)}.v-emerald .glow{background:radial-gradient(ellipse at center,rgba(52,211,153,.08),transparent 55%)}.v-emerald:hover{box-shadow:0 28px 80px #00000080,0 0 80px #34d39926,0 0 160px #34d3990a,inset 0 0 50px #34d39905,0 0 1px #ffffff1f}.bottom{display:flex;align-items:center;justify-content:space-between;margin-top:22px;animation:fadeUp .8s ease .4s both}.bottom-left{display:flex;align-items:center;gap:11px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--emerald);flex-shrink:0;box-shadow:0 0 12px #34d39980;animation:breathe 2.5s ease-in-out infinite}.status-text{font-size:.8rem;color:var(--text-dim);font-weight:400}.task-btn{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:var(--r-sm);background:#ffffff06;border:1px solid rgba(255,255,255,.06);color:var(--text-mid);font-size:.8rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .3s ease}.task-btn:hover{background:#ffffff0d;border-color:#ffffff1f;color:var(--text);transform:translateY(-1px)}.task-btn .dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);transition:all .3s ease}.task-btn:hover .dot{background:var(--text-mid)}.bottom-right{font-family:var(--font-mono);font-size:.68rem;color:#eee8f526;letter-spacing:.04em}@media(max-width:960px){.main-layout,.side-grid .row-2{grid-template-columns:1fr}}@media(max-width:600px){.app-container{padding:16px 18px 18px}.hero h1{font-size:1.7rem}.featured{padding:26px 22px}.topbar{flex-wrap:wrap;gap:8px;padding:10px}.tb span{display:none}.tb{padding:8px 10px}.f-cta{padding:16px 36px;font-size:1rem}}body.light{--bg: #f4f2f9;--surface: rgba(255,255,255,.7);--surface-hover: rgba(255,255,255,.95);--bg-input: rgba(0,0,0,.02);--bg-overlay: rgba(0,0,0,.2);--accent: #7c3aed;--accent-soft: #6d28d9;--accent-deep: #5b21b6;--accent-hover: #8b5cf6;--cyan: #0891b2;--amber: #d97706;--emerald: #059669;--rose: #e11d48;--green: #10b981;--green-light: rgba(16,185,129,.1);--green-soft: rgba(16,185,129,.06);--red: #e11d48;--red-light: rgba(225,29,72,.1);--red-soft: rgba(225,29,72,.06);--purple: #7c3aed;--purple-light: rgba(124,58,237,.1);--purple-soft: rgba(124,58,237,.06);--text: #1a1625;--text-mid: rgba(26,22,37,.55);--text-dim: rgba(26,22,37,.28);--text-disabled: rgba(26,22,37,.22);--text-primary: #1a1625;--text-secondary: rgba(26,22,37,.7);--text-muted: rgba(26,22,37,.55);--text-inverse: #ffffff;--bg-root: #f4f2f9;--bg-surface: rgba(255,255,255,.7);--bg-card: rgba(255,255,255,.75);--bg-card-hover: rgba(255,255,255,.95);--bg-elevated: #ffffff;--bg-tag: rgba(124,58,237,.08);--bg-badge: rgba(124,58,237,.08);--bg-glass: rgba(255,255,255,.75);--login-card-bg: rgba(255,255,255,.8);--login-card-shadow: 0 4px 24px rgba(0,0,0,.08);--border: rgba(0,0,0,.07);--border-hover: rgba(0,0,0,.14);--border-light: rgba(0,0,0,.07);--border-input: rgba(0,0,0,.08);--border-focus: #7c3aed;--border-accent: rgba(124,58,237,.28);--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow: 0 2px 8px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.07);--shadow-lg: 0 8px 32px rgba(0,0,0,.08);--shadow-card: 0 1px 3px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.06)}body.light .ambient{background:radial-gradient(ellipse 60% 50% at 20% 30%,rgba(124,58,237,.05) 0%,transparent 70%),radial-gradient(ellipse 50% 55% at 80% 60%,rgba(8,145,178,.04) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 50% 80%,rgba(124,58,237,.03) 0%,transparent 60%)}body.light .grid-pattern{background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px)}body.light .noise{opacity:.08}body.light ::-webkit-scrollbar-thumb{background:#0000001f}body.light ::-webkit-scrollbar-thumb:hover{background:#00000038}body.light .btn{border-color:var(--border);background:var(--bg-input)}body.light .btn:hover{background:var(--bg-surface)}body.light .btn-ghost:hover{background:var(--bg-input)}body.light .btn-primary,body.light .btn-success,body.light .btn-danger{color:#fff}body.light input,body.light textarea,body.light select{background:var(--bg-input)}body.light input:focus,body.light textarea:focus,body.light select:focus{background:#fff}body.light select option{background:#fff}body.light select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}body.light input[type=date]{color-scheme:light}body.light .card:before{background:linear-gradient(90deg,transparent,rgba(139,92,246,.12),transparent)}body.light .card:hover{box-shadow:0 8px 30px #00000014,0 0 1px #0000000f}body.light .page-title{background:linear-gradient(135deg,#1a1625,#7c3aed,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.light .log-panel{background:#00000008}body.light .log-info{color:var(--text-mid)}body.light .log-success{color:#059669}body.light .log-error{color:#e11d48}body.light .log-warn{color:#d97706}body.light .log-highlight{color:#1a1625}body.light .log-separator{color:#0000001f}body.light tbody tr{background:#00000004}body.light tbody tr:hover{background:#0000000a}body.light .badge-blue{background:#7c3aed14;color:#7c3aed;border-color:#7c3aed2e}body.light .badge-green{background:#05966914;color:#059669;border-color:#05966926}body.light .badge-amber{background:#d9770614;color:#d97706;border-color:#d9770626}body.light .badge-purple{background:#7c3aed14;color:#7c3aed;border-color:#7c3aed2e}body.light .tag,body.light .radio-pill,body.light .check-pill{background:var(--bg-input)}body.light .radio-pill:hover,body.light .check-pill:hover{background:var(--bg-surface)}body.light .radio-pill.selected,body.light .check-pill.selected{background:#7c3aed14;color:var(--accent)}body.light .toast-success{background:#05966914;color:#059669;border-color:#05966926}body.light .toast-error{background:#e11d480f;color:#e11d48;border-color:#e11d481f}body.light .toast-info{background:#7c3aed0f;color:#7c3aed;border-color:#7c3aed1f}body.light .modal-overlay{background:var(--bg-overlay)}body.light .modal{box-shadow:var(--shadow-lg)}body.light .modal:before{background:linear-gradient(90deg,transparent,rgba(139,92,246,.12),transparent)}body.light .step-dot.waiting{background:var(--bg-input)}body.light .topbar{background:var(--surface)}body.light .logo-text{color:var(--text)}body.light .tb{background:var(--bg-input);border-color:var(--border)}body.light .tb:before{background:radial-gradient(ellipse at 50% 120%,rgba(124,58,237,.04),transparent 70%)}body.light .tb-divider{background:var(--border)}body.light .g-card{box-shadow:var(--shadow-card)}body.light .g-card:before{background:linear-gradient(90deg,transparent 5%,rgba(139,92,246,.15) 50%,transparent 95%)}body.light .g-card:after{background:radial-gradient(ellipse 130% 90% at 25% 0%,rgba(124,58,237,.015),transparent 55%)}body.light .g-card:hover{box-shadow:0 4px 12px #0000000f,0 12px 36px #00000017}body.light .featured:hover{box-shadow:0 12px 40px #00000014,0 0 80px #7c3aed14,inset 0 0 40px #7c3aed04,0 0 1px #0000000f}body.light .hero h1{background:linear-gradient(135deg,#1a1625 20%,#7c3aed 55%,#0891b2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.light .s-chip{background:var(--bg-input);border-color:var(--border)}body.light .s-card:hover .s-chip{border-color:var(--border-hover)}body.light .v-cyan:hover{box-shadow:0 8px 28px #0000000f,0 0 60px #0891b20f}body.light .v-amber:hover{box-shadow:0 8px 28px #0000000f,0 0 60px #d977060f}body.light .v-emerald:hover{box-shadow:0 8px 28px #0000000f,0 0 60px #0596690f}body.light .task-btn{background:var(--bg-input);border-color:var(--border)}body.light .task-btn:hover{background:var(--bg-surface);border-color:var(--border-hover)}body.light .bottom-right{color:var(--text-dim)}
