:root{color-scheme:dark;--bg: #05070c;--bg-1: #080c14;--bg-2: #0b1020;--bg-3: #0f1628;--surface-1: rgba(255, 255, 255, .03);--surface-2: rgba(255, 255, 255, .05);--surface-2-alt: rgba(9, 11, 16, .7);--surface-3: rgba(255, 255, 255, .08);--glass: rgba(9, 13, 22, .85);--border: rgba(120, 155, 200, .14);--border-2: rgba(120, 155, 200, .28);--border-cyan: rgba(85, 220, 236, .36);--border-purple:rgba(152, 119, 255, .36);--text: #f0f4ff;--muted: #8a9ab5;--muted-2: #5a6a85;--cyan: #55dcec;--cyan-dim: rgba(85, 220, 236, .12);--cyan-glow:rgba(85, 220, 236, .25);--cyan-2: #b0f4ff;--purple: #9877ff;--purple-dim: rgba(152, 119, 255, .12);--purple-2: #c5b8ff;--success: #4ade80;--success-dim: rgba(74, 222, 128, .1);--warning: #fbbf24;--warning-dim: rgba(251, 191, 36, .1);--danger: #f87171;--danger-dim: rgba(248, 113, 113, .1);--info: #60a5fa;--gold: #f0c66a;--shadow-sm: 0 4px 16px rgba(0, 0, 0, .25);--shadow: 0 8px 32px rgba(0, 0, 0, .35);--shadow-lg: 0 16px 56px rgba(0, 0, 0, .5);--glow-cyan: 0 0 20px rgba(85, 220, 236, .2);--glow-purple: 0 0 20px rgba(152, 119, 255, .2);--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-xl: 18px;--gap-xs: 4px;--gap-sm: 8px;--gap: 12px;--gap-lg: 16px;--gap-xl: 24px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-lg: 15px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100vh;overflow-x:hidden;font-family:Microsoft YaHei,PingFang SC,Segoe UI,Arial,sans-serif;font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg);color:var(--text)}body{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(135deg,#05070c,#0e1420 48%,#061016);background-size:42px 42px,42px 42px,auto;background-attachment:fixed}button,input,textarea,select{font:inherit;color:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--border-cyan);border-radius:var(--radius);color:var(--cyan);background:transparent;font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none;line-height:1}button:hover{background:var(--cyan-dim);border-color:var(--cyan);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button.primary{background:var(--cyan);border-color:var(--cyan);color:#041018;font-weight:700;box-shadow:0 0 #55dcec00}button.primary:hover{background:var(--cyan-2);border-color:var(--cyan-2);box-shadow:var(--glow-cyan);transform:translateY(-1px)}button.ghost{color:var(--muted);border-color:var(--border);background:transparent}button.ghost:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-2);transform:translateY(-1px)}button.ghost.strong{color:var(--purple-2);border-color:var(--border-purple);background:transparent}button.ghost.strong:hover{background:var(--purple-dim);border-color:var(--purple);color:var(--purple-2);transform:translateY(-1px)}button.danger{color:var(--danger);border-color:#f871715c;background:transparent}button.danger:hover{background:var(--danger-dim);border-color:var(--danger);color:var(--danger);transform:translateY(-1px)}button.compact{min-height:30px;padding:0 10px;font-size:var(--text-xs);border-radius:var(--radius-sm)}button.full{width:100%}button.icon-button{min-height:32px;width:32px;padding:0;color:var(--muted-2);background:transparent;border-color:var(--border);border-radius:var(--radius-sm)}button.icon-button:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-2)}button.inline-link{min-height:auto;padding:2px 6px;font-size:var(--text-xs);font-weight:600;color:var(--cyan-2);background:transparent;border-color:transparent;border-radius:4px}button.inline-link:hover{color:var(--cyan);border-color:#55dcec47;background:var(--cyan-dim)}button.btn-primary,.btn-primary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:unset!important;padding:9px 16px!important;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-2) 100%)!important;border:1px solid rgba(152,119,255,.5)!important;border-radius:var(--radius)!important;color:#fff!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;transition:all .2s!important;box-shadow:0 0 15px #9877ff33!important;-webkit-user-select:none!important;user-select:none!important;line-height:1!important;white-space:nowrap!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}button.btn-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){box-shadow:0 0 25px #9877ff80!important;transform:translateY(-1px)!important;background:linear-gradient(135deg,var(--purple-2) 0%,var(--purple) 100%)!important}button.btn-primary:disabled,.btn-primary:disabled{opacity:.6!important;cursor:not-allowed!important;transform:none!important}button.btn-secondary,.btn-secondary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:unset!important;padding:9px 16px!important;background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;color:var(--text)!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;transition:all .2s!important;white-space:nowrap!important;line-height:1!important;text-shadow:none!important}button.btn-secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){border-color:var(--border-purple)!important;background:var(--surface-3)!important;transform:translateY(-1px)!important}button.btn-secondary:disabled,.btn-secondary:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important}button.btn-danger-sm,.btn-danger-sm{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:4px 10px!important;min-height:unset!important;background:transparent!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;color:var(--muted-2)!important;font-size:11px!important;font-weight:600!important;cursor:pointer!important;transition:all .2s!important}button.btn-danger-sm:hover:not(:disabled),.btn-danger-sm:hover:not(:disabled){background:#ef444426!important;border-color:#ef4444!important;color:#ef4444!important;box-shadow:0 0 10px #ef444433!important}.custom-select{position:relative;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1}.custom-select.open{z-index:100}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s ease;min-height:42px;box-sizing:border-box}.custom-select.open .custom-select-trigger,.custom-select-trigger:hover{border-color:var(--cyan);box-shadow:0 0 12px #55dcec33}.select-chevron{color:var(--muted);transition:transform .2s ease;flex-shrink:0}.custom-select.open .select-chevron{transform:rotate(180deg);color:var(--cyan)}.custom-select-trigger .selected{color:var(--text);font-weight:500;font-size:13px}.custom-select-trigger .placeholder{color:var(--muted);font-size:13px}.custom-select.open .custom-select-panel{display:block;pointer-events:auto}.custom-select-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg-3);border:1px solid var(--border-cyan);border-radius:var(--radius);box-shadow:0 12px 40px #000000a6,0 0 28px #55dcec12;z-index:20;overflow:hidden;max-height:260px;overflow-y:auto}.custom-select-panel::-webkit-scrollbar{width:4px}.custom-select-panel::-webkit-scrollbar-track{background:transparent}.custom-select-panel::-webkit-scrollbar-thumb{background:var(--border-cyan);border-radius:2px}.select-option{padding:9px 14px;font-size:13px;color:var(--muted);transition:all .12s ease;border-left:3px solid transparent}.select-option:hover{background:var(--surface-3);color:var(--text);border-left-color:var(--cyan)}.select-option.active{background:var(--cyan-dim);color:var(--cyan);font-weight:600;border-left-color:var(--cyan)}button.btn-icon,.btn-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:4px 10px!important;min-height:unset!important;background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;color:var(--muted)!important;font-size:11px!important;cursor:pointer!important;white-space:nowrap!important}input,textarea,select{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}input,select{height:38px;padding:0 12px;font-size:var(--text-sm)}input:focus,textarea:focus,select:focus{border-color:var(--border-cyan);box-shadow:0 0 0 3px #55dcec14}input::placeholder,textarea::placeholder{color:var(--muted-2)}textarea{min-height:300px;padding:14px 18px;line-height:1.72;resize:vertical}textarea.compact-textarea{min-height:116px}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:var(--text-xs)}a{color:var(--cyan-2);text-decoration:none;transition:color .12s}a:hover{color:var(--cyan)}em{color:var(--danger);font-style:normal}code{background:var(--cyan-dim);color:var(--cyan-2);padding:2px 6px;border-radius:4px;font-size:.9em;font-family:Cascadia Code,Fira Code,Consolas,monospace}.app-shell{min-height:100vh;display:grid;grid-template-rows:64px minmax(0,1fr) 40px}.topbar{display:flex;align-items:center;justify-content:space-between;height:72px;padding:15px 32px 0;border-bottom:1px solid var(--border);background:#03060bf5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:100;box-shadow:0 4px 24px #0000004d}.topbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-cyan),transparent);box-shadow:0 0 10px #55dcec4d}.topbar-left{display:flex;align-items:center;gap:24px}.topbar-right{display:flex;align-items:center;gap:16px}.main-area{display:grid;grid-template-columns:220px minmax(0,1fr)}.main-area .sidebar{height:100%;min-height:calc(100vh - 112px);position:sticky;top:72px;border-right:1px solid var(--border);border-bottom:none;background:#03060bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow-y:auto;overflow-x:hidden}.content-area{padding:24px;overflow-y:auto;background:var(--bg)}.app-footer{display:flex;align-items:center;justify-content:center;padding:0 24px;border-top:1px solid var(--border);font-size:11px;color:var(--muted-2);background:#03060be6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:8px}.app-footer .pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.sidebar{display:flex;flex-direction:column;gap:20px;padding:20px 16px}.nav-section-label{padding:8px 14px 4px;font-size:10px;font-weight:700;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em}.nav-list{display:grid;gap:6px}.nav-list button{justify-content:flex-start;min-height:34px;padding:0 10px;color:var(--muted-2);background:transparent;border-color:transparent;border-radius:var(--radius);font-size:var(--text-sm);font-weight:500;transition:all .15s ease}.nav-list button svg{flex-shrink:0}.nav-list button.active,.nav-list button:hover{color:var(--text);background:var(--cyan-dim);border-color:var(--border-cyan);transform:none}.nav-list button.active{color:var(--cyan)}.sidebar-footer{margin-top:auto;padding:12px 14px;border-top:1px solid var(--border)}.brand-lockup{display:flex;align-items:center;gap:12px;cursor:pointer}.brand-lockup.clickable{cursor:pointer}.brand-lockup.clickable:hover{opacity:.85}.brand-lockup strong{display:block;font-size:18px;font-weight:760;color:var(--text)}.brand-lockup span{display:block;margin-top:2px;color:var(--muted);font-size:var(--text-sm)}.mark{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#041018;font-weight:950;font-size:18px;letter-spacing:-1px;background:linear-gradient(135deg,var(--cyan),var(--cyan-2));box-shadow:0 0 28px #55dcec4d,0 4px 16px #0006;flex-shrink:0}.project-context{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.project-context-label{display:flex;align-items:center;gap:5px;color:var(--muted-2);font-size:11px;margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.project-context-name{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:2px 0}.project-context-name strong{color:var(--text);font-size:14px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-context-name svg{flex-shrink:0;color:var(--muted-2)}.project-context-style{color:var(--muted-2);font-size:11px;margin-top:2px;display:block}.workspace{min-width:0;padding:28px clamp(20px,3vw,40px) 40px;height:100vh;overflow-y:auto}.workspace-content{padding:24px;height:100%;overflow-y:auto}.workspace-overview{display:flex;flex-direction:column;gap:18px;padding:20px;overflow-y:auto;height:100%}.nav-divider{height:1px;background:var(--border);margin:6px 14px}.topbar{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:20px;align-items:start;margin-bottom:16px}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--cyan-2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.topbar h1{margin:8px 0 6px;font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--text);line-height:1.1}.topbar p{max-width:720px;margin:0;color:var(--muted);line-height:1.6;font-size:var(--text-sm)}.top-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.profile{margin-top:auto;display:grid;grid-template-columns:20px minmax(0,1fr) 32px;gap:10px;align-items:center;padding-top:14px;border-top:1px solid var(--border)}.profile strong,.profile span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile span{color:var(--muted);font-size:var(--text-xs)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(85,220,236,.07) 0%,transparent 70%),linear-gradient(135deg,#05070c,#0e1420 48%,#061016)}.auth-card{width:min(440px,100%);display:grid;gap:14px;padding:32px;border:1px solid var(--border-cyan);border-radius:var(--radius-xl);background:linear-gradient(180deg,#151c2af7,#090d15f0);box-shadow:var(--shadow-lg),0 0 60px #55dcec14}.auth-card h1{margin:4px 0 0;font-size:28px;font-weight:800}.auth-card p{margin:0 0 8px;color:var(--muted);line-height:1.6;font-size:var(--text-sm)}.panel{min-width:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#161c28eb,#0b0f17e0);box-shadow:var(--shadow);padding:16px}.panel.full-panel{overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-heading.inline{align-items:start}.panel-heading>div{display:flex;flex-direction:column}.panel-heading span{display:block;color:var(--cyan-2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.panel-heading h2{margin:4px 0 0;font-size:18px;font-weight:760}.overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px}.content-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:14px}.content-grid.character-layout{grid-template-columns:minmax(280px,.5fr) minmax(0,1fr)}.stack{display:grid;gap:14px;align-content:start}.workspace-page-header{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted-2)}.breadcrumb-link{min-height:unset;padding:0;border:none;background:transparent;color:var(--cyan-2);font-size:12px;font-weight:500;cursor:pointer;border-radius:4px;transition:color .12s}.breadcrumb-link:hover{color:var(--cyan);transform:none;background:transparent;border:none}.breadcrumb-current{color:var(--muted-2)}.workspace-page-title{font-size:22px;font-weight:760;color:var(--text);margin:0}.workspace-page-title h1{font-size:inherit;font-weight:inherit;color:inherit;margin:0}.workspace-page-desc{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:1.5}.callout{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);font-size:var(--text-sm)}.callout span{flex:1}.callout.success{border-color:#4ade8057;color:var(--success);background:var(--success-dim)}.callout.warning{border-color:#fbbf2461;color:var(--warning);background:var(--warning-dim)}.callout.danger{border-color:#f8717157;color:var(--danger);background:var(--danger-dim)}.callout.info{border-color:#60a5fa57;color:var(--info);background:#60a5fa14}.danger-text{color:var(--danger);margin:8px 0 0;font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);color:var(--muted-2);white-space:nowrap;line-height:1.4}.badge.success{border-color:#4ade8066;color:var(--success);background:var(--success-dim)}.badge.warning{border-color:#fbbf2466;color:var(--warning);background:var(--warning-dim)}.badge.danger{border-color:#f8717166;color:var(--danger);background:var(--danger-dim)}.badge.info{border-color:#60a5fa66;color:var(--info);background:#60a5fa14}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:4px}.project-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#161c28e6,#0b0f17db);overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .18s ease,box-shadow .18s ease}.project-card:hover{border-color:var(--border-cyan);transform:translateY(-2px);box-shadow:var(--shadow),var(--glow-cyan)}.project-card-image{position:relative;width:100%;height:148px;overflow:hidden;background:#ffffff0a}.project-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.project-card:hover .project-card-image img{transform:scale(1.04)}.project-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#00000073;opacity:0;transition:opacity .2s ease}.project-card:hover .project-card-overlay{opacity:1}.project-card-overlay small{padding:4px 10px;border-radius:6px;font-size:12px;color:#fff;background:#55dcec40;border:1px solid rgba(85,220,236,.5)}.project-card-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 8px;flex:1}.project-card-title strong{font-size:15px;color:var(--text);line-height:1.3;font-weight:700}.project-card-meta{display:flex;flex-wrap:wrap;gap:5px}.meta-tag{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;border-radius:4px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted-2)}.meta-tag.style-tag{border-color:#55dcec40;color:var(--cyan-2);background:var(--cyan-dim)}.project-card-desc{font-size:12px;color:var(--muted-2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.project-card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 12px;border-top:1px solid var(--border)}.project-card-date{font-size:11px;color:var(--muted-2)}.project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#1f232ce6,#0d1016f0)}.project-header-info{flex:1;min-width:0}.project-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.project-genre{font-size:12px;color:var(--muted-2)}.project-style-badge{font-size:11px;padding:2px 8px;border-radius:99px;background:var(--cyan-dim);color:var(--cyan-2);border:1px solid rgba(85,220,236,.3);font-weight:600}.project-title{margin:0 0 6px;font-size:22px;font-weight:800;color:var(--text)}.project-desc{margin:0;font-size:var(--text-sm);color:var(--muted)}.project-header-actions{flex-shrink:0}.pipeline-panel{padding:20px 24px}.pipeline-track{display:flex;align-items:center;margin-top:12px}.pipeline-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative}.pipeline-step:not(:last-child):after{content:"";position:absolute;top:8px;left:calc(50% + 8px);right:calc(-50% + 8px);height:1px;background:#8d97ab33;transition:background .3s}.pipeline-step.done:after{background:var(--cyan)}.pipeline-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(141,151,171,.3);background:transparent;z-index:1;transition:all .2s}.pipeline-step.active .pipeline-dot{border-color:var(--cyan);background:var(--cyan);box-shadow:var(--glow-cyan)}.pipeline-step.done .pipeline-dot{border-color:var(--cyan);background:var(--cyan)}.pipeline-step span{font-size:12px;color:var(--muted-2);white-space:nowrap;transition:color .2s}.pipeline-step.active span{color:var(--cyan);font-weight:700}.pipeline-step.done span{color:var(--text)}.pipeline-hint{margin-top:10px;font-size:12px;color:var(--muted-2);text-align:center}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.quick-action-card{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;cursor:pointer;transition:all .15s;border:1px solid var(--border);background:linear-gradient(180deg,#1f232ce6,#0d1016f0);border-radius:var(--radius)}.quick-action-card:hover{border-color:var(--border-cyan);box-shadow:var(--glow-cyan);transform:translateY(-1px)}.quick-action-icon{width:44px;height:44px;border-radius:var(--radius);background:var(--cyan-dim);border:1px solid var(--border-cyan);display:flex;align-items:center;justify-content:center;color:var(--cyan);flex-shrink:0}.quick-action-body{flex:1;min-width:0}.quick-action-body strong{display:block;font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}.quick-action-body p{margin:0 0 8px;font-size:12px;color:var(--muted-2);line-height:1.5}.quick-action-stat{display:flex;align-items:baseline;gap:4px}.quick-action-stat strong{font-size:18px;font-weight:800;color:var(--cyan-2);margin:0}.quick-action-stat span{font-size:11px;color:var(--muted-2)}.project-stats{padding:20px 24px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:12px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .12s}.stat-item:hover{border-color:var(--border-2)}.stat-item strong{font-size:20px;font-weight:800;color:var(--text)}.stat-item span{font-size:11px;color:var(--muted-2)}.style-sections{display:flex;flex-direction:column;gap:12px}.style-section{display:flex;flex-direction:column;gap:6px}.style-category-label{font-size:11px;color:var(--muted-2);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:0 0 4px;border-bottom:1px solid var(--border)}.style-picker{display:grid;gap:10px}.style-heading{display:flex;align-items:center;justify-content:space-between}.style-heading div span{display:block;color:var(--muted);font-size:var(--text-xs)}.style-heading div strong{display:block;font-size:14px;color:var(--cyan-2)}.selected-style-preview{display:flex;gap:10px;padding:10px;border:1px solid var(--border-cyan);border-radius:var(--radius);background:var(--cyan-dim)}.selected-style-preview img{width:80px;height:52px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.selected-style-preview div{display:flex;flex-direction:column;gap:2px}.selected-style-preview b{font-size:var(--text-sm);color:var(--cyan-2)}.selected-style-preview p{font-size:var(--text-xs);color:var(--muted-2)}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px}.style-card{display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);cursor:pointer;text-align:left;transition:border-color .12s,background .12s;min-width:0}.style-card img{width:100%;height:60px;object-fit:cover;border-radius:6px}.style-card span{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2)}.style-card strong{font-size:var(--text-xs);color:var(--text)}.style-card small{font-size:10px;color:var(--muted-2);line-height:1.3}.style-card:hover{border-color:var(--border-cyan);background:var(--cyan-dim)}.style-card.active{border-color:var(--cyan);background:var(--cyan-glow)}.style-card.active strong{color:var(--cyan-2)}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(198px,1fr));gap:10px}.character-card{display:grid;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);cursor:pointer;overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s}.character-card:hover{border-color:var(--border-cyan);transform:translateY(-2px);box-shadow:var(--glow-cyan)}.character-card.selected{border-color:var(--cyan);background:var(--cyan-dim)}.character-card.generating{border-color:var(--border-purple)}.character-cover{position:relative}.character-cover img{width:100%;height:138px;object-fit:cover;display:block}.generation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000000a6;gap:6px}.generation-overlay strong{font-size:var(--text-sm);color:var(--purple-2)}.generation-overlay span{font-size:var(--text-xs);color:var(--muted)}.character-body{display:grid;gap:5px;padding:10px}.character-title{display:flex;justify-content:space-between;align-items:center}.character-title strong{font-size:var(--text-base);color:var(--text)}.character-title span{font-size:var(--text-xs);color:var(--muted-2)}.character-body>p{font-size:var(--text-xs);color:var(--muted-2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.character-body>small{font-size:10px;color:var(--muted-2)}.character-body .action-row{margin-top:4px}.cap-row{display:flex;flex-wrap:wrap;gap:4px}.cap-row em{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;font-size:10px;border-radius:3px;background:var(--surface-2);color:var(--muted-2);font-style:normal}.character-detail{display:grid;gap:14px}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border)}.detail-head span{display:block;color:var(--cyan-2);font-size:10px;font-weight:800;text-transform:uppercase}.detail-head h3{margin:4px 0 0;font-size:18px}.detail-head p{margin:2px 0 0;color:var(--muted-2);font-size:var(--text-xs)}.detail-actions{display:flex;gap:6px;flex-shrink:0}.turnaround-sheet{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.turnaround-frame{display:grid;gap:4px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);text-align:center;transition:border-color .12s}.turnaround-frame.has-image{border-color:#4ade804d;background:var(--success-dim)}.turnaround-visual{width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface-2)}.turnaround-visual img{width:100%;height:100%;object-fit:cover}.turnaround-frame strong{font-size:var(--text-xs);color:var(--text)}.turnaround-frame span{font-size:10px;color:var(--muted-2)}.turnaround-frame small{font-size:10px;color:var(--success)}.turnaround-frame.pending small{color:var(--muted-2)}.turnaround-frame button{font-size:10px;padding:2px 6px}.angle-edit-panel{display:grid;grid-template-columns:190px 1fr;gap:12px}.reference-photo-card{display:grid;gap:6px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.reference-photo-card img{width:100%;border-radius:var(--radius-sm)}.reference-photo-card span{font-size:var(--text-xs);color:var(--muted-2)}.reference-photo-card b{font-size:var(--text-sm);color:var(--text)}.reference-photo-card .file-trigger{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;font-size:var(--text-xs);color:var(--muted);transition:border-color .12s,color .12s}.reference-photo-card .file-trigger:hover{border-color:var(--border-cyan);color:var(--text)}.reference-photo-card .file-trigger input{display:none}.angle-control-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.angle-control-row select{flex:1;height:30px;font-size:var(--text-xs)}.character-spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.character-spec-grid article{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.character-spec-grid article.wide{grid-column:1 / -1}.character-spec-grid b{display:block;font-size:10px;color:var(--muted-2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.character-spec-grid p{font-size:var(--text-xs);color:var(--text);margin:0}.mock-character{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--surface-2)}.mock-character .mock-head{width:36px;height:36px;border-radius:50%;background:#ffffff1f}.mock-character .mock-hair{width:40px;height:20px;border-radius:50% 50% 0 0;background:#ffffff14;margin-top:-4px}.mock-character .mock-body{width:48px;height:40px;border-radius:var(--radius-sm);background:#ffffff14}.mock-character span{font-size:9px;color:var(--muted-2);margin-top:4px}.mock-character.anime .mock-head{border-radius:40% 40% 50% 50%}.mock-character.illustration .mock-head{border-radius:30% 30% 40% 40%}.character-picker{display:grid;gap:10px}.mini-heading{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.mini-heading>span{color:var(--muted);font-size:var(--text-xs)}.character-chip-row{display:flex;flex-wrap:wrap;gap:8px}.character-chip{display:grid;gap:4px}.alias-chip button{display:flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);color:var(--text);cursor:pointer;font-weight:600;font-size:var(--text-xs);transition:border-color .12s,background .12s}.alias-chip.active button{border-color:var(--cyan);background:var(--cyan-dim);color:var(--cyan)}.character-chip button img{width:22px;height:22px;border-radius:50%;object-fit:cover}.character-chip label{display:grid;gap:2px}.character-chip label small{color:var(--muted-2);font-size:10px}.character-chip label input{height:26px;font-size:11px;padding:0 6px;background:var(--surface-2);border-color:var(--border)}.alias-summary{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.alias-summary span{color:var(--muted-2);font-size:11px}.linked-style-card{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border-cyan);border-radius:var(--radius);background:var(--cyan-dim)}.linked-style-card img{width:50px;height:34px;object-fit:cover;border-radius:var(--radius-sm)}.linked-style-card div span{display:block;color:var(--muted-2);font-size:10px}.linked-style-card div strong{display:block;font-size:var(--text-sm);color:var(--cyan-2)}.linked-style-card div small{display:block;color:var(--muted-2);font-size:10px;margin-top:2px}.list{display:grid;gap:8px}.list-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);transition:border-color .12s}.list-card:hover{border-color:var(--border-2)}.list-card div strong{display:block;font-size:var(--text-base);color:var(--text)}.list-card div span{color:var(--muted-2);font-size:var(--text-xs)}.list-card button{flex-shrink:0}.episode-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.episode-strip span{padding:4px 10px;font-size:var(--text-xs);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--muted-2);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.episode-strip span:hover{border-color:var(--border-cyan);color:var(--text)}.episode-strip span.active{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-dim)}.scene-list{display:grid;gap:8px}.scene-list article{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);transition:border-color .12s}.scene-list article:hover{border-color:var(--border-2)}.scene-list article strong{display:block;font-size:var(--text-base);color:var(--text)}.scene-list article p{margin:4px 0 0;color:var(--muted-2);font-size:var(--text-xs)}.board-selector{display:flex;align-items:center;gap:8px}.board-selector select{max-width:180px}.board-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.board-summary .metric strong{font-size:16px;color:var(--cyan-2)}.board-summary .metric span{color:var(--muted);font-size:var(--text-xs)}.shot-list{display:grid;gap:12px}.shot-card{display:grid;grid-template-columns:50px 1fr 190px 170px auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);transition:border-color .12s}.shot-card:hover{border-color:var(--border-2)}.shot-index{text-align:center}.shot-index strong{display:block;font-size:15px;color:var(--cyan-2)}.shot-index span{color:var(--muted-2);font-size:10px}.shot-main p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text)}.shot-main small{color:var(--muted-2);font-size:var(--text-xs)}.shot-model{display:grid;gap:5px}.shot-model label{display:grid;gap:2px}.shot-model label span{color:var(--muted-2);font-size:10px}.shot-model label select{height:28px;font-size:11px;padding:0 8px}.shot-model .pill{display:inline-block;padding:2px 6px;font-size:10px;border:1px solid var(--border);border-radius:4px;background:var(--surface-1);color:var(--muted-2)}.shot-model b{font-size:var(--text-xs);color:var(--gold)}.shot-assets{display:grid;gap:4px;align-content:start}.shot-assets span{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--muted-2)}.shot-assets span.ready{color:var(--success)}.shot-assets .shot-preview{position:relative;display:block;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--border);transition:border-color .12s}.shot-assets .shot-preview img{width:100%;height:78px;object-fit:cover;display:block}.shot-assets .shot-preview b{position:absolute;bottom:0;left:0;right:0;padding:3px 6px;font-size:10px;color:#fff;background:#000000a6;text-align:center;font-weight:600}.shot-assets .video-preview{display:grid;place-items:center;height:78px;background:var(--surface-2);border-radius:var(--radius-sm);color:var(--muted-2)}.shot-actions{display:grid;gap:6px}.queue-summary{flex:1;display:flex;flex-direction:column;gap:6px}.queue-summary strong{display:block;font-size:var(--text-sm)}.queue-summary span{display:block;font-size:var(--text-xs);color:var(--muted-2)}.queue-tags{display:flex;flex-wrap:wrap;gap:6px}.queue-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:11px;color:var(--cyan-2);background:var(--cyan-dim);border:1px solid var(--border-cyan);border-radius:99px;cursor:pointer;transition:background .12s}.queue-tag:hover{background:var(--cyan-glow)}.task-badges{display:flex;flex-wrap:wrap;gap:6px}.task-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);color:var(--muted-2)}.task-badge.active{color:var(--cyan);border-color:var(--border-cyan);background:var(--cyan-dim)}.task-badge.queued{color:var(--info);border-color:#60a5fa66;background:#60a5fa14}.task-badge.success{color:var(--success);border-color:#4ade8066;background:var(--success-dim)}.task-badge.danger{color:var(--danger);border-color:#f8717166;background:var(--danger-dim)}.task-list{display:grid;gap:10px}.task-card{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);transition:border-color .12s}.task-card:hover{border-color:var(--border-2)}.task-card div strong{display:block;font-size:var(--text-sm);color:var(--text)}.task-card div span{color:var(--muted-2);font-size:var(--text-xs)}.task-card .progress{height:5px;border-radius:3px;overflow:hidden;background:var(--surface-2);width:110px}.task-card .progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--cyan-2));border-radius:3px;transition:width .4s ease}.task-meta{display:grid;gap:4px;text-align:right}.task-meta .status{display:inline-block;padding:2px 8px;font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);color:var(--muted-2)}.task-meta .status.completed{border-color:#4ade8066;color:var(--success);background:var(--success-dim)}.task-meta .status.failed{border-color:#f8717166;color:var(--danger);background:var(--danger-dim)}.task-meta .status.running,.task-meta .status.queued{border-color:var(--border-cyan);color:var(--cyan);background:var(--cyan-dim)}.task-meta b{font-size:var(--text-sm);color:var(--gold)}.task-meta small{color:var(--muted-2);font-size:10px}.task-toolbar{margin-bottom:14px}.task-toolbar select{max-width:200px}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(198px,1fr));gap:10px}.model-card{display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);transition:border-color .12s}.model-card:hover{border-color:var(--border-2)}.model-card .model-top{display:flex;align-items:center;justify-content:space-between}.model-card .model-top span{padding:2px 6px;font-size:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);color:var(--muted-2)}.model-card .model-top b{font-size:10px;color:var(--gold)}.model-card strong{font-size:var(--text-lg);color:var(--text)}.model-card p{margin:2px 0 0;font-size:var(--text-xs);color:var(--muted-2)}.model-card .cap-row{display:flex;flex-wrap:wrap;gap:4px}.model-card .cap-row em{padding:1px 5px;font-size:10px;border-radius:3px;background:var(--surface-2);color:var(--muted-2);font-style:normal}.model-card footer{color:var(--gold);font-size:var(--text-xs);margin-top:4px}.asset-count{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-xs)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}.asset-card{display:grid;gap:4px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);transition:border-color .12s}.asset-card:hover{border-color:var(--border-2)}.asset-card img{width:100%;height:88px;object-fit:cover;border-radius:var(--radius-sm)}.asset-card span{font-size:var(--text-xs);color:var(--muted-2);text-transform:uppercase}.asset-card strong{font-size:var(--text-sm);color:var(--text)}.asset-card p{margin:2px 0 0;font-size:var(--text-xs);color:var(--muted-2)}.asset-card small{display:flex;align-items:center;gap:4px;color:var(--muted-2);font-size:10px}.cost-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.cost-hero .metric{text-align:left}.cost-hero .metric strong{font-size:22px;color:var(--warning)}.cost-hero .metric span{color:var(--muted);font-size:var(--text-xs)}.cost-list{display:grid;gap:8px}.cost-list article{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);transition:border-color .12s}.cost-list article:hover{border-color:var(--border-2)}.cost-list article strong{font-size:var(--text-sm);color:var(--text)}.cost-list article span{font-size:var(--text-xs);color:var(--muted-2)}.workflow-hint{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.workflow-hint div{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.workflow-hint b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:#041018;font-size:12px;font-weight:800;flex-shrink:0}.workflow-hint span{font-size:var(--text-xs);color:var(--muted-2)}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);text-align:center}.metric strong{font-size:20px;color:var(--cyan-2)}.metric span{color:var(--muted);font-size:var(--text-xs)}.timeline{display:grid;gap:8px}.timeline div{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);color:var(--muted);font-size:var(--text-sm);transition:border-color .15s,background .15s}.timeline div.done{border-color:#4ade8066;background:var(--success-dim);color:var(--success)}.timeline div.active{border-color:var(--border-cyan);background:var(--cyan-dim);color:var(--cyan)}.status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.status-pill{min-width:0;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.status-pill span{color:var(--muted);font-size:var(--text-xs)}.status-pill strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--text)}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.action-row{display:flex;flex-wrap:wrap;gap:8px}.toggle-inline{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--muted);cursor:pointer}.toggle-inline input[type=checkbox]{width:auto;height:auto;accent-color:var(--cyan)}.sidebar-card{display:grid;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.sidebar-card span,.sidebar-card small{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.sidebar-card strong{color:var(--cyan-2);font-size:var(--text-sm)}.empty-state{display:grid;gap:6px;padding:32px;border:1px dashed var(--border);border-radius:var(--radius);text-align:center}.empty-state strong{font-size:var(--text-base);color:var(--muted)}.empty-state span{font-size:var(--text-xs);color:var(--muted-2)}.empty-state.full{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:300px;color:var(--muted-2);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg)}.empty-state.full strong{font-size:16px;color:var(--text)}.empty-state.full span{font-size:var(--text-sm);color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.modal-panel{width:min(660px,100%);max-height:88vh;overflow-y:auto;border:1px solid var(--border-cyan);border-radius:var(--radius-xl);background:linear-gradient(180deg,#161c28fa,#0b0f17f5);box-shadow:var(--shadow-lg),var(--glow-cyan);display:flex;flex-direction:column}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--border)}.modal-header .eyebrow{margin-bottom:2px}.modal-header h2{margin:4px 0 0;font-size:20px;font-weight:760}.modal-body{display:grid;gap:12px;padding:16px 22px;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 18px;border-top:1px solid var(--border)}.modal-body label{display:flex;flex-direction:column;gap:6px}.modal-body label>span{font-size:var(--text-xs);color:var(--muted)}.modal-body input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;color:var(--text);font-size:var(--text-sm);outline:none;transition:border-color .15s;font-family:inherit;width:100%}.modal-body input:focus{border-color:var(--border-cyan)}.modal-body input::placeholder{color:var(--muted-2)}.admin-page{padding:24px;height:100%;overflow-y:auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:var(--cyan-2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.page-header h1{margin:0 0 6px;font-size:22px;font-weight:800;color:var(--text)}.page-header p{margin:0;font-size:var(--text-sm);color:var(--muted)}.page-header-actions{display:flex;gap:10px;flex-shrink:0}.stats-row{display:flex;gap:12px;margin-bottom:20px}.stat-chip{display:flex;align-items:baseline;gap:8px;padding:8px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.stat-chip span{font-size:var(--text-xs);color:var(--muted-2)}.stat-chip strong{font-size:18px;font-weight:800;color:var(--text)}.data-table-wrapper{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:800px}.data-table thead tr{border-bottom:1px solid var(--border)}.data-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-1);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--cyan-dim)}.data-table .actions{display:flex;gap:6px;justify-content:flex-end}.clickable-row{cursor:pointer}td.muted,td.center{color:var(--muted-2)}td.center{text-align:center}.role-tags{display:flex;flex-wrap:wrap;gap:4px}.role-tag{font-size:11px;padding:2px 7px;background:var(--cyan-dim);color:var(--cyan-2);border:1px solid var(--border-cyan);border-radius:4px;white-space:nowrap}.badge-success{background:var(--success-dim);color:var(--success);border:1px solid rgba(74,222,128,.4)}.badge-muted{background:var(--surface-2);color:var(--muted-2);border:1px solid var(--border)}.badge-danger{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(248,113,113,.4)}.badge-primary{background:var(--cyan-dim);color:var(--cyan-2);border:1px solid var(--border-cyan)}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.action-btn{min-height:28px;padding:0 10px;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--border-2);background:var(--surface-1);color:var(--muted);cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.action-btn:hover{border-color:var(--border-cyan);color:var(--cyan-2);background:var(--cyan-dim)}.action-btn.danger:hover{border-color:#f8717166;color:var(--danger);background:var(--danger-dim)}.action-locked{font-size:11px;color:var(--muted-2)}.table-loading,.table-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px;color:var(--muted-2);text-align:center}.table-loading{flex-direction:row;justify-content:center}.spinner{width:22px;height:22px;border:2px solid rgba(141,151,171,.2);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{width:min(520px,95vw);background:linear-gradient(180deg,#161c28fa,#0b0f17f5);border:1px solid var(--border-cyan);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--glow-cyan);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:16px;font-weight:760;color:var(--text)}.modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:14px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border)}.modal-hint{font-size:var(--text-xs);color:var(--muted-2);margin:0}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:var(--text-xs);color:var(--muted)}.form-field label em{color:var(--danger);font-style:normal}.form-field input,.form-field select,.form-field textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text);font-size:var(--text-sm);outline:none;transition:border-color .15s;font-family:inherit;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--border-cyan);box-shadow:0 0 0 3px #55dcec14}.form-field textarea{resize:vertical;line-height:1.6}.form-field small{font-size:11px;color:var(--muted-2)}.form-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role-checkboxes{display:flex;flex-direction:column;gap:8px}.role-checkbox{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .12s}.role-checkbox:hover{border-color:var(--border-cyan);background:var(--cyan-dim)}.role-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--cyan);flex-shrink:0}.role-checkbox-body{flex:1}.role-checkbox-body strong{display:block;font-size:var(--text-sm);color:var(--text)}.role-checkbox-body small{display:block;font-size:11px;color:var(--muted-2);margin-top:2px}.icon-only{min-height:unset;padding:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .12s}.icon-only:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid var(--border);flex-wrap:wrap}.pagination-info{font-size:var(--text-xs);color:var(--muted-2);white-space:nowrap}.pagination-controls{display:flex;align-items:center;gap:4px}.page-btn{min-width:30px;height:30px;padding:0 6px;font-size:var(--text-xs);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);color:var(--muted);cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;justify-content:center}.page-btn:hover:not(:disabled){border-color:var(--border-cyan);color:var(--cyan-2)}.page-btn.active{background:var(--cyan-dim);border-color:var(--cyan);color:var(--cyan)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.menu-name-cell{display:flex;align-items:center;gap:4px}.tree-toggle{min-height:unset;padding:2px;border:none;background:transparent;color:var(--muted-2);cursor:pointer;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;transition:all .1s}.tree-toggle:hover{background:var(--surface-2);color:var(--text)}.tree-spacer{width:18px;flex-shrink:0}.form-field-inline{display:flex;align-items:center}.form-field-inline label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm);color:var(--text);flex-direction:row}.form-field-inline input[type=checkbox]{width:16px;height:16px;accent-color:var(--cyan)}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px 0 0}.pagination button{min-height:30px;padding:0 10px;font-size:var(--text-xs);color:var(--muted);border-color:var(--border);background:transparent}.pagination button:hover{color:var(--text);border-color:var(--border-2)}.pagination button.active{color:var(--cyan);border-color:var(--cyan);background:var(--cyan-dim)}.pagination button:disabled{opacity:.3}.pagination span{font-size:var(--text-xs);color:var(--muted-2);padding:0 8px}.divider{border:none;border-top:1px solid var(--border);margin:12px 0}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease-out}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff29}.scanline-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0px,rgba(0,0,0,.03) 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:9999}.glow-cyan{box-shadow:0 0 20px #55dcec33,0 0 40px #55dcec1a}.glow-purple{box-shadow:0 0 20px #9877ff33,0 0 40px #9877ff1a}@keyframes holographic-sheen{0%{background-position:-200% center}to{background-position:200% center}}.holo-sheen{background:linear-gradient(90deg,transparent 0%,rgba(85,220,236,.1) 25%,rgba(152,119,255,.1) 50%,rgba(85,220,236,.1) 75%,transparent 100%);background-size:200% 100%;animation:holographic-sheen 8s linear infinite}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-in{animation:fade-in-up .4s cubic-bezier(.22,1,.36,1) forwards}.animate-in-scale{animation:fade-in-scale .3s cubic-bezier(.22,1,.36,1) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:60ms}.stagger-children>*:nth-child(3){animation-delay:.12s}.stagger-children>*:nth-child(4){animation-delay:.18s}.stagger-children>*:nth-child(5){animation-delay:.24s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.36s}.stagger-children>*:nth-child(8){animation-delay:.42s}.stagger-children>*:nth-child(n+9){animation-delay:.48s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,var(--surface-1) 0%,var(--surface-2) 50%,var(--surface-1) 100%);background-size:200% 100%;animation:shimmer 2s linear infinite}.glass-panel{position:relative;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden}.glass-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent)}@keyframes float-accent{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(3deg)}}.float-accent{animation:float-accent 6s ease-in-out infinite}@keyframes neon-border-pulse{0%,to{box-shadow:0 0 8px #55dcec4d,inset 0 0 8px #55dcec1a}50%{box-shadow:0 0 20px #55dcec80,inset 0 0 16px #55dcec33}}.neon-border{animation:neon-border-pulse 3s ease-in-out infinite;border:1px solid var(--border-cyan)!important}body:after{content:"";position:fixed;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(85,220,236,.12) 0%,transparent 70%);top:-100px;left:-100px;animation:orb-move-1 18s ease-in-out infinite;pointer-events:none;z-index:1;filter:blur(60px)}@keyframes orb-move-1{0%{transform:translate(0) scale(1)}33%{transform:translate(300px,200px) scale(1.2)}66%{transform:translate(100px,400px) scale(.9)}to{transform:translate(0) scale(1)}}body:before{content:"";position:fixed;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(152,119,255,.1) 0%,transparent 70%);bottom:-80px;right:-80px;animation:orb-move-2 22s ease-in-out infinite;pointer-events:none;z-index:1;filter:blur(60px)}@keyframes orb-move-2{0%{transform:translate(0) scale(1)}40%{transform:translate(-250px,-300px) scale(1.15)}80%{transform:translate(-100px,-100px) scale(.85)}to{transform:translate(0) scale(1)}}body{position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(85,220,236,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(85,220,236,.025) 1px,transparent 1px),linear-gradient(rgba(152,119,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(152,119,255,.015) 1px,transparent 1px);background-size:100px 100px,100px 100px,50px 50px,50px 50px;pointer-events:none;z-index:1;animation:grid-pulse 8s ease-in-out infinite}@keyframes grid-pulse{0%,to{opacity:.6}50%{opacity:1}}.scanline-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:9999;animation:scanline-move .1s linear infinite}@keyframes scanline-move{0%{background-position:0 0}to{background-position:0 3px}}body:before{content:"";position:fixed;width:4px;height:4px;border-radius:50%;background:var(--cyan);top:20%;left:30%;box-shadow:0 0 6px var(--cyan),200px 100px 0 0 var(--cyan),400px 200px 0 0 var(--purple),600px 50px 0 0 var(--cyan),100px 400px 0 0 var(--purple),700px 300px 0 0 var(--cyan),300px 600px 0 0 var(--cyan),500px 500px 0 0 var(--purple);animation:particle-float 20s linear infinite;pointer-events:none;z-index:2}@keyframes particle-float{0%{transform:translateY(0) rotate(0);opacity:.8}25%{transform:translateY(-30px) rotate(90deg);opacity:1}50%{transform:translateY(0) rotate(180deg);opacity:.6}75%{transform:translateY(30px) rotate(270deg);opacity:1}to{transform:translateY(0) rotate(360deg);opacity:.8}}body .ambient-sweep{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(85,220,236,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(152,119,255,.06) 0%,transparent 50%);pointer-events:none;z-index:1;animation:ambient-sweep 15s ease-in-out infinite alternate}@keyframes ambient-sweep{0%{transform:translate(0) scale(1)}to{transform:translate(5%,5%) scale(1.1)}}.glow-cyan-neon{border:1px solid var(--border-cyan)!important;box-shadow:0 0 20px #55dcec26,inset 0 1px #55dcec1a;transition:box-shadow .3s ease}.glow-cyan-neon:hover{box-shadow:0 0 30px #55dcec40,inset 0 1px #55dcec26}.glow-purple-neon{border:1px solid var(--border-purple)!important;box-shadow:0 0 20px #9877ff26,inset 0 1px #9877ff1a;transition:box-shadow .3s ease}.glow-purple-neon:hover{box-shadow:0 0 30px #9877ff40,inset 0 1px #9877ff26}.text-glow-cyan{color:var(--cyan);text-shadow:0 0 10px rgba(85,220,236,.6)}.text-glow-purple{color:var(--purple-2);text-shadow:0 0 10px rgba(152,119,255,.6)}button.primary:hover{animation:btn-neon-pulse 1.5s ease-in-out infinite}@keyframes btn-neon-pulse{0%,to{box-shadow:0 0 15px #55dcec80,0 4px 12px #0000004d}50%{box-shadow:0 0 30px #55dceccc,0 4px 20px #0006}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.float-y{animation:float-y 4s ease-in-out infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-slow{animation:spin-slow 10s linear infinite}.hover-lift{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.hover-lift:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000004d,0 0 20px #55dcec1a}.badge-neon{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:700;letter-spacing:.05em}.badge-cyan{background:var(--cyan-dim);border:1px solid var(--border-cyan);color:var(--cyan);box-shadow:0 0 8px #55dcec33}.badge-purple{background:var(--purple-dim);border:1px solid var(--border-purple);color:var(--purple-2);box-shadow:0 0 8px #9877ff33}.badge-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:var(--success);box-shadow:0 0 8px #22c55e33}.card-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .25s ease,box-shadow .25s ease}.card-panel:hover{border-color:var(--border-cyan);box-shadow:0 4px 20px #0003,0 0 15px #55dcec14}.card-panel-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-panel-header h3{margin:0;font-size:14px;font-weight:700;color:var(--text)}.card-panel-body{padding:20px}.progress-neon{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;border:1px solid var(--border)}.progress-neon-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--cyan) 0%,var(--purple) 100%);box-shadow:0 0 10px #55dcec80;animation:progress-glow 2s ease-in-out infinite;transition:width .5s cubic-bezier(.22,1,.36,1)}@keyframes progress-glow{0%,to{opacity:.8}50%{opacity:1;box-shadow:0 0 15px #55dceccc}}.data-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.data-table th{padding:12px 16px;background:var(--surface-1);border-bottom:1px solid var(--border-cyan);font-size:11px;font-weight:700;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;text-align:left}.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);background:#03060b4d;transition:background .15s ease}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--cyan-dim)}input:focus,textarea:focus,select:focus{border-color:var(--cyan)!important;box-shadow:0 0 12px #55dcec40,0 0 0 2px #55dcec1a;outline:none}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);transition:all .2s ease}.tag:hover{border-color:var(--border-cyan);color:var(--cyan);box-shadow:0 0 8px #55dcec26}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 32px;border:1px dashed var(--border-cyan);border-radius:var(--radius-lg);text-align:center;background:var(--cyan-dim);animation:empty-pulse 4s ease-in-out infinite}@keyframes empty-pulse{0%,to{border-color:var(--border-cyan);background:var(--cyan-dim)}50%{border-color:var(--cyan);background:#55dcec1a}}.empty-state svg{color:var(--cyan);opacity:.6}.empty-state strong{font-size:15px;color:var(--text)}.empty-state span{font-size:12px;color:var(--muted)}:deep(.icon-button:hover){color:var(--danger);border-color:#f8717180;background:var(--danger-dim)}.animated-border{position:relative;border-radius:var(--radius-lg);overflow:hidden}.animated-border:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(90deg,transparent,var(--cyan),var(--purple),transparent);background-size:300% 100%;animation:gradient-shift 4s ease-in-out infinite;z-index:-1;border-radius:inherit;filter:blur(4px)}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.neon-text-cyan{color:var(--cyan);text-shadow:0 0 5px var(--cyan),0 0 10px var(--cyan),0 0 20px var(--cyan);animation:neon-flicker 3s ease-in-out infinite}.neon-text-purple{color:var(--purple-2);text-shadow:0 0 5px var(--purple),0 0 10px var(--purple),0 0 20px var(--purple);animation:neon-flicker 3s ease-in-out infinite;animation-delay:1.5s}@keyframes neon-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}96%{opacity:.9}97%{opacity:1}}.pulse-ring{position:relative}.pulse-ring:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid var(--cyan);border-radius:inherit;animation:pulse-ring 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.15);opacity:0}}.morphing-blob{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:morph 8s ease-in-out infinite}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30%}50%{border-radius:50% 60% 30%/30% 60% 70% 40%}75%{border-radius:60% 40% 60% 30%/70% 30% 50% 60%}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#55dcec4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px}.typewriter{overflow:hidden;border-right:2px solid var(--cyan);white-space:nowrap;animation:typing 3s steps(30,end),blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--cyan)}}.marquee{display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.marquee-content{display:flex;animation:marquee 20s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.counter-animated{display:inline-block;transition:transform .3s ease}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch:before{left:2px;text-shadow:-2px 0 var(--danger);clip:rect(44px,450px,56px,0);animation:glitch-anim 5s infinite linear alternate-reverse}.glitch:after{left:-2px;text-shadow:-2px 0 var(--cyan);clip:rect(44px,450px,56px,0);animation:glitch-anim2 5s infinite linear alternate-reverse}@keyframes glitch-anim{0%{clip:rect(31px,9999px,94px,0)}5%{clip:rect(70px,9999px,71px,0)}10%{clip:rect(29px,9999px,24px,0)}15%{clip:rect(41px,9999px,3px,0)}20%{clip:rect(67px,9999px,45px,0)}25%{clip:rect(85px,9999px,98px,0)}30%{clip:rect(54px,9999px,99px,0)}35%{clip:rect(18px,9999px,12px,0)}40%{clip:rect(79px,9999px,56px,0)}45%{clip:rect(63px,9999px,67px,0)}50%{clip:rect(12px,9999px,45px,0)}55%{clip:rect(89px,9999px,23px,0)}60%{clip:rect(34px,9999px,78px,0)}65%{clip:rect(56px,9999px,90px,0)}70%{clip:rect(23px,9999px,34px,0)}75%{clip:rect(78px,9999px,12px,0)}80%{clip:rect(45px,9999px,67px,0)}85%{clip:rect(90px,9999px,45px,0)}90%{clip:rect(12px,9999px,89px,0)}95%{clip:rect(67px,9999px,34px,0)}to{clip:rect(34px,9999px,56px,0)}}@keyframes glitch-anim2{0%{clip:rect(65px,9999px,100px,0)}5%{clip:rect(52px,9999px,74px,0)}10%{clip:rect(79px,9999px,85px,0)}15%{clip:rect(75px,9999px,5px,0)}20%{clip:rect(67px,9999px,61px,0)}25%{clip:rect(14px,9999px,79px,0)}30%{clip:rect(1px,9999px,66px,0)}35%{clip:rect(86px,9999px,30px,0)}40%{clip:rect(23px,9999px,98px,0)}45%{clip:rect(85px,9999px,72px,0)}50%{clip:rect(71px,9999px,75px,0)}55%{clip:rect(2px,9999px,48px,0)}60%{clip:rect(30px,9999px,16px,0)}65%{clip:rect(59px,9999px,50px,0)}70%{clip:rect(41px,9999px,62px,0)}75%{clip:rect(2px,9999px,82px,0)}80%{clip:rect(47px,9999px,73px,0)}85%{clip:rect(3px,9999px,27px,0)}90%{clip:rect(26px,9999px,55px,0)}95%{clip:rect(42px,9999px,25px,0)}to{clip:rect(38px,9999px,49px,0)}}.wave{display:inline-block;animation:wave 1.5s ease-in-out infinite}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bounce{animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-15px)}60%{transform:translateY(-8px)}}.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.flip-card{perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}.stagger-item{opacity:0;animation:stagger-fade-in .5s ease forwards}@keyframes stagger-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}70%{transform:scale(1)}}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:6px;height:6px;background:var(--cyan);border-radius:50%;animation:loading-bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.rotating-border{position:relative;overflow:hidden}.rotating-border:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:3px solid transparent;border-top-color:var(--cyan);border-bottom-color:var(--purple);border-radius:inherit;animation:rotate-border 3s linear infinite}@keyframes rotate-border{to{transform:rotate(360deg)}}.data-flow-line{stroke-dasharray:10,5;animation:data-flow 1s linear infinite}@keyframes data-flow{to{stroke-dashoffset:-15}}.matrix-bg{position:relative;overflow:hidden}.matrix-bg:before{content:"01001110 10110010 01101001 11010010";position:absolute;top:-100%;left:0;right:0;font-family:monospace;font-size:12px;color:var(--cyan);opacity:.05;word-break:break-all;animation:matrix-rain 10s linear infinite;pointer-events:none}@keyframes matrix-rain{0%{top:-100%}to{top:100%}}.cyber-grid{position:relative;overflow:hidden}.cyber-grid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(85,220,236,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(85,220,236,.03) 1px,transparent 1px);background-size:20px 20px;animation:grid-move 20s linear infinite}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(20px,20px)}}.glow-pulse-border{position:relative}.glow-pulse-border:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:linear-gradient(45deg,var(--cyan),var(--purple),var(--cyan));border-radius:inherit;z-index:-1;animation:glow-pulse 2s ease-in-out infinite;filter:blur(4px)}@keyframes glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.elastic-bounce{animation:elastic-bounce .8s ease-out}@keyframes elastic-bounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.color-shift{background:linear-gradient(90deg,var(--cyan),var(--purple),var(--cyan));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:color-shift 3s ease-in-out infinite}@keyframes color-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.radar-sweep{position:relative;overflow:hidden}.radar-sweep:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:conic-gradient(from 0deg,transparent 0deg,rgba(85,220,236,.3) 30deg,transparent 60deg);transform-origin:center;animation:radar-rotate 4s linear infinite}@keyframes radar-rotate{to{transform:translate(-50%,-50%) rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-1) 0%,var(--surface-2) 50%,var(--surface-1) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spotlight{position:relative}.spotlight:after{content:"";position:absolute;top:0;left:0;width:200px;height:200px;background:radial-gradient(circle,rgba(85,220,236,.15) 0%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity .3s}.spotlight:hover:after{opacity:1}@keyframes flip-top{0%{transform:rotateX(0)}to{transform:rotateX(-90deg)}}@keyframes flip-bottom{0%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.progress-step{position:relative}.progress-step:before{content:"";position:absolute;left:50%;top:0;width:2px;height:100%;background:var(--border);z-index:0}.progress-step.active:before{background:var(--cyan);animation:progress-glow 2s ease-in-out infinite}@keyframes progress-glow{0%,to{box-shadow:0 0 5px var(--cyan)}50%{box-shadow:0 0 15px var(--cyan)}}
