:root{--bg:#050c0a;--surface:#0a1a15;--surface2:#0d2018;--green:#00e87a;--green2:#00b85e;--cyan:#00ffb2;--text:#f5fff9;--muted:rgba(255,255,255,.55);--dim:rgba(255,255,255,.4);--border:rgba(0,232,122,.15);--border2:rgba(0,232,122,.07);--border-strong:rgba(0,232,122,.18);--red:rgba(255,90,90,.8);--yellow:rgba(255,200,60,.8);--radius-btn:12px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text)}#app{height:100%;display:flex;flex-direction:column;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}#bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 20%,rgba(0,232,122,.06),transparent 30%)}.topbar{height:52px;display:flex;align-items:center;background:#050c0af2;border-bottom:.5px solid var(--border2);position:relative;z-index:100;flex-shrink:0;padding:0 20px;gap:12px}.tb-logo{font-family:"DM Serif Display",serif;font-size:17px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.tb-logo-sub{color:var(--muted);font-size:13px}.tb-divider{width:1px;height:20px;background:var(--border2)}.tb-right{margin-left:auto;display:flex;align-items:center;gap:8px}.tb-section{font-size:13px;font-weight:500;color:#fff;display:flex;align-items:center;gap:8px}.tb-avatar{width:30px;height:30px;border-radius:50%;background:#00e87a26;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--green);cursor:pointer}.tb-avatar-wrap{position:relative}.tb-user-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px;min-width:180px;box-shadow:0 8px 24px #0006;z-index:200;display:flex;flex-direction:column;gap:4px}.tb-user-email{font-size:11px;color:var(--muted);padding:4px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-logout-btn{background:none;border:none;cursor:pointer;color:var(--text);font-size:13px;text-align:left;padding:7px 8px;border-radius:5px;width:100%}.tb-logout-btn:hover{background:#ffffff0f;color:#ff6b6b}.bottom-nav{height:48px;display:flex;align-items:center;background:#050c0af2;border-top:.5px solid var(--border2);padding:0 20px;gap:4px;position:relative;z-index:100;flex-shrink:0}.nav-item{display:flex;align-items:center;gap:7px;padding:6px 14px;border-radius:7px;font-size:12px;font-weight:500;color:var(--dim);cursor:pointer;border:.5px solid transparent;transition:all .2s}.nav-item:hover{color:#fff;background:#ffffff0a}.nav-item.active{color:var(--green);background:#00e87a14;border-color:#00e87a33}.nav-item svg{width:14px;height:14px}.nav-right{margin-left:auto;display:flex;gap:4px}.nav-sync{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--dim);padding:6px 14px}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}@media (max-width: 640px){.topbar{padding:0 14px;gap:8px}.tb-badge,.tb-divider,.nav-sync{display:none}.nav-item{padding:6px 10px}}#bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:56px;background:#050c0acc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:.5px solid var(--border2)}.topbar-logo{font-family:"DM Serif Display",serif;font-size:18px;display:flex;align-items:center;gap:8px;color:#fff}.progress-steps{display:flex;align-items:center;gap:8px}.step-dot{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--muted);transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative}.step-dot.active{border-color:var(--green);color:var(--green);box-shadow:0 0 12px #00e87a4d}.step-dot.done{background:var(--green);border-color:var(--green);color:#050c0a;font-weight:700}.step-line{width:20px;height:1px;background:#ffffff1a;transition:background .4s}.step-line.done{background:var(--green)}.topbar-skip{font-size:12px;color:var(--muted);cursor:pointer;background:none;border:none;font-family:inherit;transition:color .2s;padding:4px 8px}.topbar-skip:hover{color:var(--dim)}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:72px 40px 40px;opacity:0;pointer-events:none;transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.screen.active{opacity:1;pointer-events:all;transform:none}.screen.exit{opacity:0;transform:translateY(-20px)}.welcome-wrap{text-align:center;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:0}.welcome-mark{margin-bottom:32px}.welcome-title{font-family:"DM Serif Display",serif;font-size:clamp(36px,5vw,58px);letter-spacing:-.03em;line-height:1.05;color:#fff;margin-bottom:16px}.welcome-title em{font-style:italic;color:var(--green)}.welcome-sub{font-size:16px;color:var(--dim);line-height:1.7;margin-bottom:40px;max-width:420px}.welcome-promise{display:flex;gap:24px;margin-bottom:40px;background:var(--surface);border:.5px solid var(--border2);border-radius:12px;padding:16px 24px}.promise-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dim)}.promise-item span{color:var(--green);font-weight:600}.btn-start{background:var(--green);color:#050c0a;border:none;border-radius:var(--radius-btn);padding:16px 40px;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;position:relative;overflow:hidden}.btn-start:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);pointer-events:none}.btn-start:hover{background:#00ffb2;transform:translateY(-2px);box-shadow:0 12px 32px #00e87a59}.conv-layout{width:100%;max-width:1100px;height:calc(100vh - 112px);display:grid;grid-template-columns:1fr 380px;gap:16px}.chat-panel{background:var(--surface);border:.5px solid var(--border2);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:16px 20px;border-bottom:.5px solid var(--border2);display:flex;align-items:center;gap:10px;flex-shrink:0}.chat-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--green)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #00e87a66}50%{opacity:.8;box-shadow:0 0 0 6px #00e87a00}}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:rgba(0,232,122,.2) transparent}.msg{display:flex;flex-direction:column;gap:4px;animation:msgIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.msg-sender{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;padding:0 4px}.msg-bubble{max-width:85%;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.6}.msg.nexus .msg-bubble{background:#00e87a14;border:.5px solid rgba(0,232,122,.2);color:#ffffffd9;border-bottom-left-radius:3px}.msg.user .msg-bubble{background:#ffffff12;border:.5px solid rgba(255,255,255,.1);color:#fff;border-bottom-right-radius:3px}.typing-wrap{display:flex;gap:5px;padding:10px 14px;background:#00e87a0f;border:.5px solid rgba(0,232,122,.12);border-radius:14px 14px 14px 3px;width:fit-content}.typing-wrap span{width:6px;height:6px;border-radius:50%;background:var(--green);animation:td 1.2s ease-in-out infinite}.typing-wrap span:nth-child(2){animation-delay:.2s}.typing-wrap span:nth-child(3){animation-delay:.4s}@keyframes td{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.chat-input-area{padding:14px 16px;border-top:.5px solid var(--border2);flex-shrink:0}.chat-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sug{font-size:12px;color:var(--green);font-family:inherit;background:#00e87a12;border:.5px solid rgba(0,232,122,.2);border-radius:20px;padding:5px 14px;cursor:pointer;transition:all .2s;white-space:nowrap}.sug:hover{background:#00e87a26;transform:translateY(-1px)}.chat-input-row{display:flex;gap:8px}.chat-input{flex:1;background:#ffffff0d;border:.5px solid rgba(255,255,255,.12);border-radius:22px;padding:10px 16px;font-size:13px;color:#fff;font-family:inherit;outline:none;transition:border-color .2s;resize:none;height:42px}.chat-input:focus{border-color:#00e87a66}.chat-input::placeholder{color:#ffffff40}.send-btn{width:42px;height:42px;border-radius:50%;border:none;flex-shrink:0;background:var(--green);color:#050c0a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.send-btn:hover{transform:scale(1.1);box-shadow:0 4px 16px #00e87a66}.send-btn svg{width:16px;height:16px}.model-panel{background:var(--surface);border:.5px solid var(--border2);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.model-header{padding:14px 18px;border-bottom:.5px solid var(--border2);flex-shrink:0}.model-header-title{font-size:13px;font-weight:500;color:#fff;margin-bottom:2px}.model-header-sub{font-size:11px;color:var(--dim)}.model-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(0,232,122,.2) transparent}.model-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:.4}.model-empty-icon{font-size:32px}.model-empty-txt{font-size:12px;color:var(--dim);text-align:center;line-height:1.5}.entity-card{background:var(--surface2);border:.5px solid var(--border2);border-radius:10px;padding:12px 14px;animation:entityIn .4s cubic-bezier(.34,1.56,.64,1);transition:border-color .2s}@keyframes entityIn{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:none}}.entity-card:hover{border-color:var(--border)}.entity-type{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px}.entity-type:before{content:"";width:16px;height:1px;background:var(--green)}.entity-name{font-size:14px;font-weight:500;color:#fff;margin-bottom:6px}.entity-attrs{display:flex;flex-wrap:wrap;gap:4px}.entity-attr{font-size:11px;color:var(--dim);background:#ffffff0a;border:.5px solid rgba(255,255,255,.08);border-radius:4px;padding:2px 8px}.confirm-layout{width:100%;max-width:900px;display:flex;flex-direction:column;gap:32px}.confirm-head{text-align:center}.confirm-title{font-family:"DM Serif Display",serif;font-size:clamp(28px,4vw,44px);letter-spacing:-.03em;color:#fff;margin-bottom:10px}.confirm-title em{font-style:italic;color:var(--green)}.confirm-sub{font-size:15px;color:var(--dim)}.confirm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.confirm-col{background:var(--surface);border:.5px solid var(--border2);border-radius:14px;padding:24px}.confirm-col-title{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:6px}.confirm-col-title:before{content:"";width:14px;height:1px;background:var(--green)}.confirm-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#ffffffbf;padding:7px 0;border-bottom:.5px solid var(--border2);line-height:1.4}.confirm-item:last-child{border-bottom:none}.confirm-item:before{content:"✓";color:var(--green);font-size:11px;margin-top:2px;flex-shrink:0}.confirm-actions{display:flex;gap:12px;justify-content:center}.btn-confirm{background:var(--green);color:#050c0a;border:none;border-radius:var(--radius-btn);padding:14px 36px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.btn-confirm:hover{background:#00ffb2;transform:translateY(-2px);box-shadow:0 12px 32px #00e87a4d}.twin-activate{text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}#twinCanvas{display:block;margin-bottom:32px}.twin-act-title{font-family:"DM Serif Display",serif;font-size:clamp(32px,4.5vw,52px);letter-spacing:-.03em;color:#fff;margin-bottom:12px}.twin-act-title em{font-style:italic;color:var(--green)}.twin-act-sub{font-size:16px;color:var(--dim);margin-bottom:36px;max-width:420px}.twin-stats{display:flex;gap:32px;margin-bottom:36px}.twin-stat{text-align:center}.twin-stat-n{font-family:"DM Serif Display",serif;font-size:36px;color:var(--green);letter-spacing:-.03em}.twin-stat-l{font-size:12px;color:var(--dim);margin-top:4px}@media (max-width: 900px){html,body{overflow:auto}body{min-height:100%}#app{height:auto;overflow:visible}.topbar{padding:0 16px;height:auto;min-height:56px;gap:10px;flex-wrap:wrap}.progress-steps{flex-wrap:wrap;justify-content:center;gap:6px}.step-line{width:12px}.screen{display:none;position:relative;inset:auto;min-height:calc(100vh - 56px);padding:76px 16px 24px;opacity:1;transform:none;pointer-events:all}.screen.active{display:flex}.welcome-wrap{max-width:none}.welcome-title,.twin-act-title,.confirm-title{font-size:clamp(30px,8vw,44px)}.welcome-sub,.twin-act-sub,.confirm-sub{max-width:none}.welcome-promise{flex-direction:column;gap:10px;width:100%;padding:14px 16px}.conv-layout{height:auto;grid-template-columns:1fr}.chat-panel,.model-panel{min-height:0}.chat-messages{min-height:260px}.model-body{min-height:220px}.confirm-grid{grid-template-columns:1fr}.confirm-actions{flex-direction:column}.btn-confirm{width:100%}.twin-stats{flex-direction:column;gap:18px}}@media (max-width: 560px){.screen{padding:72px 12px 20px}.topbar-logo{font-size:16px}.topbar-skip{font-size:11px;padding:4px 6px}.chat-header,.model-header{padding-left:14px;padding-right:14px}.chat-messages,.model-body{padding:14px}.msg-bubble{max-width:92%}.chat-input-row,.agent-input-row{flex-direction:column;align-items:stretch}.send-btn,#agentSend{width:100%;border-radius:14px}.chat-suggestions,.agent-suggestions{gap:6px}.sug,.sug-chip{width:100%;justify-content:center}.confirm-col,.chat-panel,.model-panel{border-radius:14px}}.auth-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:24px;position:relative}.auth-glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 60% at 15% 10%,rgba(0,232,122,.09) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 80% 85%,rgba(0,184,94,.06) 0%,transparent 65%)}.auth-card{position:relative;width:100%;max-width:400px;background:#0a1a15bf;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(0,232,122,.13);border-radius:20px;padding:36px 36px 32px;box-shadow:0 0 0 1px #0006,0 32px 64px #00000080,inset 0 1px #00e87a14}.auth-mark{display:flex;align-items:center;gap:9px;margin-bottom:28px}.auth-brand{font-family:"DM Serif Display",serif;font-size:18px;letter-spacing:-.01em;color:#fff}.auth-title{font-family:"DM Serif Display",serif;font-size:32px;line-height:1.1;letter-spacing:-.03em;color:#fff;margin-bottom:28px;text-wrap:balance}.auth-title em{font-style:italic;color:var(--green)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#ffffff59}.auth-input-wrap{position:relative}.auth-input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:#ffffff40;pointer-events:none;transition:color .2s}.auth-input-wrap:focus-within .auth-input-icon{color:#00e87a99}.auth-input{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:12px 14px 12px 38px;font-size:14px;color:#fff;outline:none;transition:border-color .2s,background .2s,box-shadow .2s}.auth-input::placeholder{color:#fff3}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:hover,.auth-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #1a1a2e inset;-webkit-text-fill-color:#fff;caret-color:#fff;border-color:#ffffff17;transition:background-color 9999s ease-in-out 0s}.auth-input:focus{border-color:#00e87a66;background:#00e87a08;box-shadow:0 0 0 3px #00e87a12}.auth-error{font-size:12px;color:#ff7070;text-align:center;padding:8px 12px;background:#ff5a5a14;border:1px solid rgba(255,90,90,.18);border-radius:8px;margin:0}.auth-submit{margin-top:6px;width:100%;background:var(--green);color:#050c0a;border:none;border-radius:var(--radius-btn);padding:13px 24px;font-size:14px;font-weight:700;letter-spacing:.01em;cursor:pointer;font-family:inherit;position:relative;overflow:hidden;transition:all .2s;display:flex;align-items:center;justify-content:center;min-height:46px}.auth-submit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.18) 0%,transparent 60%);pointer-events:none}.auth-submit:hover:not(:disabled){background:#00ffb2;transform:translateY(-1px);box-shadow:0 8px 24px #00e87a59}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-loading-dots{display:flex;gap:5px;align-items:center}.auth-loading-dots span{width:5px;height:5px;border-radius:50%;background:#050c0a;animation:authDot 1.2s ease-in-out infinite}.auth-loading-dots span:nth-child(2){animation-delay:.15s}.auth-loading-dots span:nth-child(3){animation-delay:.3s}@keyframes authDot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.confirm-loading{text-align:center;color:#fff6;padding:40px 0;font-size:15px}.confirm-empty{color:#ffffff40!important;font-style:italic}.confirm-type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#00e87a99;flex-shrink:0}.confirm-item--editable{align-items:center}.confirm-item--editable:before{display:none}.confirm-name{flex:1}.confirm-delete-btn{margin-left:auto;background:none;border:.5px solid rgba(255,255,255,.15);border-radius:4px;color:#ffffff59;font-size:11px;cursor:pointer;padding:2px 6px;line-height:1;flex-shrink:0;transition:color .15s,border-color .15s}.confirm-delete-btn:hover:not(:disabled){color:#e05050;border-color:#e0505066}.confirm-delete-btn:disabled{opacity:.4;cursor:default}.confirm-rel-from,.confirm-rel-to{color:#ffffffbf}.confirm-rel-verb{color:#00e87a8c;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:0 4px}.auth-forgot-link{background:none;border:none;padding:0;color:#ffffff59;font-size:13px;cursor:pointer;margin-top:8px;text-align:center;width:100%;transition:color .2s}.auth-forgot-link:hover{color:var(--green)}.auth-sent-msg{color:#ffffff8c;font-size:14px;line-height:1.65;margin:0 0 24px}body{background:var(--bg);color:#fff}.topbar{position:relative}.main{flex:1;min-height:0;display:flex;overflow:hidden}.agent-panel{flex:1;display:flex;flex-direction:column;min-width:0}.conv-header{display:flex;align-items:center;gap:0;border-top:.5px solid var(--border2);border-bottom:.5px solid var(--border2);padding:0 16px;flex-shrink:0;background:#00000026}.twin-tab{display:flex;align-items:center;gap:7px;padding:14px 20px 14px 0;margin-right:8px;font-size:13px;font-weight:500;font-family:inherit;color:#ffffff4d;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s;position:relative;top:.5px;letter-spacing:.01em}.twin-tab:hover{color:#fff9}.twin-tab.active{color:#fff;border-bottom-color:var(--green)}.twin-tab-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#fff3}.twin-tab.active .twin-tab-dot{background:var(--green);animation:apulse 2s infinite}.twin-tab-dot--learn{background:#b478ff4d}.twin-tab.active .twin-tab-dot--learn{background:#b47aff;animation:apulse 2s infinite}@keyframes apulse{0%,to{opacity:1}50%{opacity:.4}}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:rgba(0,232,122,.2) transparent}.msg{display:flex;flex-direction:column;gap:3px;animation:mIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes mIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg.nexus{align-items:flex-start}.msg.user{align-items:flex-end}.msg-label{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 4px}.msg-bubble{max-width:78%;padding:11px 15px;border-radius:13px;font-size:13px;line-height:1.65}.msg.nexus .msg-bubble{background:#00e87a12;border:.5px solid rgba(0,232,122,.18);color:#ffffffd9;border-bottom-left-radius:3px}.msg.nexus .msg-bubble strong{color:var(--green)}.msg.nexus .msg-bubble em{color:var(--cyan);font-style:normal}.msg.user .msg-bubble{background:#ffffff0f;border:.5px solid rgba(255,255,255,.1);color:#fff;border-bottom-right-radius:3px}.typing-ind{display:flex;gap:4px;padding:9px 13px;background:#00e87a0f;border:.5px solid rgba(0,232,122,.12);border-radius:12px 12px 12px 3px;width:fit-content}.typing-ind span{width:5px;height:5px;border-radius:50%;background:var(--green);animation:td 1.2s ease-in-out infinite}.typing-ind span:nth-child(2){animation-delay:.2s}.typing-ind span:nth-child(3){animation-delay:.4s}@keyframes td{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.agent-input-area{padding:12px 16px;border-top:.5px solid var(--border2);flex-shrink:0}.agent-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.a-sug{font-size:11px;color:var(--green);font-family:inherit;background:#00e87a12;border:.5px solid rgba(0,232,122,.2);border-radius:20px;padding:4px 12px;cursor:pointer;transition:all .2s;white-space:nowrap}.a-sug:hover{background:#00e87a26}.agent-input-row{display:flex;gap:8px;align-items:center}.agent-input{flex:1;background:#ffffff0a;border:.5px solid rgba(255,255,255,.1);border-radius:22px;padding:9px 16px;font-size:13px;color:#fff;font-family:inherit;outline:none;transition:border-color .2s}.agent-input:focus{border-color:#00e87a66}.agent-input::placeholder{color:#ffffff38}.a-send{width:36px;height:36px;border-radius:50%;border:none;flex-shrink:0;background:var(--green);color:#050c0a;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}.a-send:hover{transform:scale(1.1);box-shadow:0 4px 16px #00e87a66}.a-send svg{width:14px;height:14px}.manage-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s;display:flex;justify-content:flex-end}.manage-overlay--open{opacity:1;pointer-events:auto}.manage-drawer{width:300px;max-width:90vw;height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:.5px solid var(--border2);transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.manage-overlay--open .manage-drawer{transform:translate(0)}.manage-header{padding:14px 16px;border-bottom:.5px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.manage-header-text{display:flex;flex-direction:column;gap:2px}.manage-close{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:#ffffff0f;border:.5px solid var(--border2);color:var(--dim);font-size:12px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:all .15s}.manage-close:hover{color:#fff;background:#ffffff1f}.manage-footer{flex-shrink:0;border-top:.5px solid var(--border2);padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.ctx-header{padding:12px 14px;border-bottom:.5px solid var(--border2);flex-shrink:0;font-size:12px;font-weight:500;color:#fff;display:flex;align-items:center;justify-content:space-between}.ctx-sub{font-size:10px;color:var(--dim)}.ctx-brand-title{font-family:"DM Serif Display",serif;font-size:17px;font-weight:400}.ctx-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(0,232,122,.15) transparent;transition:opacity .3s}.ctx-section{background:var(--surface2);border:.5px solid var(--border2);border-radius:10px;padding:12px;animation:mIn .3s ease}.ctx-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ctx-section:has(.ctx-section-body--hidden) .ctx-section-title-row{margin-bottom:0}.ctx-section-title-row--toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.ctx-section-title-row--toggle:hover .ctx-section-title{color:#00e87acc}.ctx-section-body--hidden{display:none}.ctx-chevron{display:inline-block;vertical-align:middle;width:10px;height:6px;margin-right:5px;margin-bottom:1px;color:#00e87a80;transition:transform .2s}.ctx-chevron--collapsed{transform:rotate(-90deg)}.ctx-section-title{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:600}.ctx-count{font-size:10px;color:var(--dim);font-weight:400;margin-left:4px}.ctx-add-btn{font-size:10px;font-family:inherit;font-weight:500;letter-spacing:.04em;padding:2px 8px;border-radius:5px;cursor:pointer;background:#00e87a14;border:.5px solid rgba(0,232,122,.2);color:var(--green);transition:all .15s}.ctx-add-btn:hover{background:#00e87a29}.ctx-add-form{background:#0003;border:.5px solid var(--border2);border-radius:8px;padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}.ctx-add-form--hidden{display:none}.ctx-input{background:#ffffff0a;border:.5px solid var(--border);border-radius:6px;padding:7px 9px;font-size:12px;color:#fff;font-family:inherit;outline:none;width:100%;box-sizing:border-box}.ctx-input:focus{border-color:#00e87a66}.ctx-select{cursor:pointer}.ctx-textarea{resize:none;line-height:1.4}.ctx-form-actions{display:flex;gap:6px}.ctx-save-btn{flex:1;font-size:12px;font-family:inherit;font-weight:600;padding:6px;border-radius:6px;cursor:pointer;background:var(--green);border:none;color:#050c0a;transition:all .15s}.ctx-save-btn:hover{background:#00ffb2}.ctx-save-btn:disabled{opacity:.5;cursor:default}.ctx-cancel-btn{font-size:12px;font-family:inherit;padding:6px 10px;border-radius:6px;cursor:pointer;background:transparent;border:.5px solid var(--border2);color:var(--dim)}.ctx-item{display:flex;align-items:center;gap:7px;padding:6px 0;border-bottom:.5px solid var(--border2);font-size:12px}.ctx-item:last-child{border-bottom:none}.ctx-item--rel{gap:5px;flex-wrap:wrap}.ctx-item--rule .ctx-item-name{font-size:11px;line-height:1.4;color:#ffffffb3}.ctx-item-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:2px 5px;flex-shrink:0;color:#00e87ab3;background:#00e87a14}.badge-persona{color:#60a5fa;background:#60a5fa1a}.badge-cliente{color:#a78bfa;background:#a78bfa1a}.badge-proveedor{color:#34d399;background:#34d3991a}.badge-producto{color:#fb923c;background:#fb923c1a}.badge-servicio{color:#00e87a;background:#00e87a14}.badge-proceso{color:#818cf8;background:#818cf81a}.badge-documento{color:#fbbf24;background:#fbbf241a}.badge-sistema{color:#94a3b8;background:#94a3b81a}.badge-metrica{color:#f472b6;background:#f472b61a}.badge-lugar{color:#a3e635;background:#a3e6351a}.ctx-item--stale{opacity:.45}.ctx-item--stale .ctx-item-name:after{content:" ·";color:#ffc85099;font-size:9px}.ctx-item-name{flex:1;color:#fffc}.ctx-del-btn{flex-shrink:0;background:none;border:.5px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffff4d;font-size:10px;cursor:pointer;padding:2px 5px;line-height:1;transition:all .15s;margin-left:auto}.ctx-del-btn:hover:not(:disabled){color:#e05050;border-color:#e0505059}.ctx-del-btn:disabled{opacity:.4;cursor:default}.ctx-rel-from,.ctx-rel-to{color:#ffffffbf;font-size:11px}.ctx-rel-verb{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#00e87a8c;padding:0 2px}.ctx-empty{font-size:11px;color:#ffffff40;font-style:italic;padding:4px 0}.profile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.profile-modal{background:var(--surface);border:.5px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:420px;padding:28px 28px 24px;display:flex;flex-direction:column;gap:20px}.profile-modal-header{display:flex;align-items:center;justify-content:space-between}.profile-modal-title{font-size:16px;font-weight:600;color:#fff}.profile-modal-close{background:#ffffff12;border:.5px solid rgba(255,255,255,.1);color:#ffffff80;font-size:13px;cursor:pointer;width:26px;height:26px;border-radius:50%;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:background .15s}.profile-modal-close:hover{background:#ffffff1f}.profile-current-email{display:flex;flex-direction:column;gap:3px;background:#ffffff0a;border:.5px solid rgba(255,255,255,.07);border-radius:10px;padding:12px 14px}.profile-label{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:.04em}.profile-value{font-size:14px;color:#fff;font-weight:500}.profile-required{color:#ff6464b3}.profile-form{display:flex;flex-direction:column;gap:12px}.profile-section-label{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.profile-field{display:flex;flex-direction:column;gap:5px}.profile-field-label{font-size:12px;color:#ffffff80}.profile-input{background:#ffffff0d;border:.5px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 13px;font-size:14px;color:#fff;font-family:inherit;outline:none;transition:border-color .2s}.profile-input:focus{border-color:#ffffff4d}.profile-input::placeholder{color:#fff3}.profile-input:-webkit-autofill,.profile-input:-webkit-autofill:hover,.profile-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #141425 inset;-webkit-text-fill-color:#fff;caret-color:#fff;transition:background-color 9999s ease-in-out 0s}.profile-error{font-size:13px;color:#ff6b6b;margin:0}.profile-success{font-size:13px;color:var(--green);margin:0}.profile-submit{margin-top:4px;padding:11px 0;border-radius:10px;background:var(--green);color:#000;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;border:none;transition:opacity .2s}.profile-submit:disabled{opacity:.4;cursor:default}.profile-submit:not(:disabled):hover{opacity:.85}@media (max-width: 480px){.profile-modal{padding:22px 18px 20px}}.ctx-upload-label{cursor:pointer}.ctx-upload-status{font-size:11px;padding:6px 10px;border-radius:6px;margin-bottom:6px;background:#ffffff0f;color:#fff9;line-height:1.4}.ctx-upload-status--hidden{display:none}.ctx-upload-status--ok{color:var(--green);background:#00e87a14}.ctx-upload-status--error{color:#ff6b6b;background:#ff6b6b14}.ctx-item--doc{gap:6px;align-items:center}.ctx-doc-icon{font-size:13px;flex-shrink:0}.ctx-doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.health-btn{font-size:10px;font-weight:600;font-family:inherit;padding:4px 8px;border-radius:6px;cursor:pointer;border:.5px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffff73;transition:all .15s;white-space:nowrap}.health-btn--warn{border-color:#fbbf2466;background:#fbbf2414;color:#fbbf24}.health-btn:hover{opacity:.8}.health-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.health-modal{background:var(--surface);border:.5px solid var(--border);border-radius:12px;width:100%;max-width:440px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.health-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:.5px solid var(--border2)}.health-title{font-size:13px;font-weight:700;color:#ffffffe6;letter-spacing:.02em}.health-close{background:none;border:none;color:#fff6;font-size:13px;cursor:pointer;padding:2px 6px}.health-body{padding:12px 18px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.health-section-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d;margin:10px 0 4px;font-family:ui-monospace,SF Mono,monospace}.health-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.health-label{font-size:12px;color:#ffffff8c;flex:1}.health-val{font-size:12px;font-weight:600;color:#ffffffb3;font-variant-numeric:tabular-nums;white-space:nowrap}.health-val--warn{color:#fbbf24}.health-bar-wrap{display:flex;align-items:center;gap:6px}.health-bar{height:4px;background:var(--green);border-radius:2px;min-width:4px;transition:width .3s}.health-conflict{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;margin-top:4px}.health-conflict-nodes{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.health-conflict-node{display:flex;align-items:center;gap:4px;font-size:12px;color:#ffffffb3}.health-conflict-node small{color:#ffffff4d;font-size:10px}.health-conflict-vs{font-size:10px;color:#ffffff40;font-weight:700}.health-conflict-reason{font-size:10px;font-family:ui-monospace,SF Mono,monospace;color:#fbbf2499;letter-spacing:.04em}.health-conflict-actions{display:flex;gap:6px}.health-resolve-btn{font-size:11px;font-weight:600;font-family:inherit;padding:4px 10px;border-radius:6px;cursor:pointer;border:.5px solid rgba(0,232,122,.3);background:#00e87a14;color:var(--green);transition:opacity .15s}.health-resolve-btn--dismiss{border-color:#ffffff1f;background:#ffffff0d;color:#ffffff59}.health-resolve-btn:disabled{opacity:.4;cursor:default}.health-event{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:11px}.health-event:last-child{border-bottom:none}.health-event-actor{font-family:ui-monospace,SF Mono,monospace;color:var(--accent, #1EC8C1);font-size:10px;white-space:nowrap}.health-event-verb{color:#ffffff8c}.health-event-ts{font-family:ui-monospace,SF Mono,monospace;font-size:10px;color:#ffffff40;white-space:nowrap;font-variant-numeric:tabular-nums}.ctx-doc-meta{font-size:10px;font-family:ui-monospace,SF Mono,monospace;color:#ffffff4d;flex-shrink:0;white-space:nowrap}.ctx-section-actions{display:flex;gap:5px;align-items:center}.ctx-graph-btn{font-size:13px;padding:2px 6px;border-color:#00e87a26}.ctx-search-wrap{position:relative;margin-bottom:6px}.ctx-search{width:100%;box-sizing:border-box;background:#ffffff0a;border:.5px solid var(--border);border-radius:6px;padding:5px 28px 5px 9px;font-size:11px;color:#ffffffb3;font-family:inherit;outline:none;transition:border-color .2s}.ctx-search:focus{border-color:#00e87a59}.ctx-search::placeholder{color:#fff3}.ctx-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff4d;font-size:10px;cursor:pointer;padding:2px 4px}.ctx-search-clear:hover{color:#fff9}.ctx-refresh-btn{flex-shrink:0;background:none;border:.5px solid rgba(255,200,80,.25);border-radius:4px;color:#ffc85080;font-size:11px;cursor:pointer;padding:2px 5px;line-height:1;transition:all .15s}.ctx-refresh-btn:hover:not(:disabled){color:#fbbf24;border-color:#fbbf2480}.ctx-refresh-btn:disabled{opacity:.4;cursor:default}.ctx-entity-link{cursor:pointer}.ctx-entity-link:hover{color:#fff;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#ffffff4d}.entity-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:300;padding:16px}.entity-modal{background:var(--surface);border:.5px solid var(--border);border-radius:12px;width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.entity-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 10px;border-bottom:.5px solid var(--border2);flex-shrink:0}.entity-modal-close{background:none;border:none;color:#ffffff73;font-size:12px;cursor:pointer;padding:2px 0;font-family:inherit;transition:color .15s}.entity-modal-close:hover{color:#fff}.entity-stale-badge{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#fbbf241f;color:#fbbf24;border:.5px solid rgba(251,191,36,.3);border-radius:4px;padding:2px 7px}.entity-modal-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.entity-detail-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entity-detail-name{font-size:16px;font-weight:600;color:#fff}.entity-detail-meta{display:flex;flex-wrap:wrap;gap:8px}.entity-meta-item{font-size:11px;color:#ffffff73;display:flex;gap:4px}.entity-meta-label{color:#ffffff40;text-transform:uppercase;font-size:9px;letter-spacing:.05em;line-height:1.6}.entity-stale-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#fbbf24;background:#fbbf2412;border:.5px solid rgba(251,191,36,.2);border-radius:6px;padding:8px 10px}.entity-section-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d;margin-top:4px;font-family:ui-monospace,SF Mono,monospace}.entity-attrs{display:flex;flex-direction:column;gap:4px;background:#ffffff08;border:.5px solid rgba(255,255,255,.07);border-radius:6px;padding:8px 10px}.entity-attr-row{display:flex;gap:8px;align-items:baseline}.entity-attr-key{font-size:11px;font-family:ui-monospace,monospace;color:#00e87a99;flex-shrink:0;min-width:80px}.entity-attr-val{font-size:12px;color:#fff9}.entity-rels{display:flex;flex-direction:column;gap:4px}.entity-rel{display:flex;align-items:center;gap:5px;font-size:12px;padding:3px 0}.entity-rel-self{color:#ffffffd9;font-weight:500}.entity-rel-other{color:#ffffff8c}.entity-modal-actions{display:flex;gap:6px;margin-top:4px;padding-top:10px;border-top:.5px solid rgba(255,255,255,.07)}.entity-action-btn{font-size:12px;font-family:inherit;font-weight:500;padding:6px 14px;border-radius:7px;cursor:pointer;background:#ffffff0d;border:.5px solid rgba(255,255,255,.12);color:#ffffff8c;transition:all .15s}.entity-action-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.entity-action-btn--primary{background:#00e87a1a;border-color:#00e87a4d;color:var(--green)}.entity-action-btn--primary:hover:not(:disabled){background:#00e87a2e}.entity-action-btn:disabled{opacity:.4;cursor:default}.entity-edit-form{display:flex;flex-direction:column;gap:8px}.entity-edit-label{font-size:11px;color:#ffffff59}.entity-edit-input{font-size:13px}.entity-edit-error{font-size:12px;color:#ff6b6b;background:#ff6b6b14;border-radius:6px;padding:6px 10px}.graph-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:400;padding:16px}.graph-modal{background:var(--surface);border:.5px solid var(--border);border-radius:12px;width:100%;max-width:900px;height:min(85vh,700px);display:flex;flex-direction:column;overflow:hidden}.graph-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;flex-wrap:wrap}.graph-title{font-size:13px;font-weight:700;color:#ffffffe6;flex-shrink:0}.graph-legend{display:flex;flex-wrap:wrap;gap:8px;flex:1}.graph-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:#fff6}.graph-close{background:none;border:none;color:#fff6;font-size:13px;cursor:pointer;padding:2px 6px;flex-shrink:0}.graph-canvas{flex:1;display:block;background:var(--bg)}.graph-hint{font-size:10px;color:#fff3;text-align:center;padding:6px;border-top:.5px solid rgba(255,255,255,.05);flex-shrink:0;font-family:ui-monospace,monospace}.twin-page{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}.twin-toolbar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#050c0aeb;border-bottom:.5px solid var(--border2);flex-shrink:0;flex-wrap:wrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.twin-toolbar-stats{display:flex;align-items:center;gap:6px;flex-shrink:0}.twin-stat{font-size:11px;color:#ffffff73}.twin-stat-n{font-size:13px;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums}.twin-stat-sep{color:#fff3;font-size:11px}.twin-toolbar-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.twin-filter-btn{font-size:10px;font-family:inherit;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:20px;cursor:pointer;border:.5px solid rgba(255,255,255,.1);background:#ffffff0a;color:#ffffff59;transition:all .15s;white-space:nowrap}.twin-filter-btn:hover{color:#ffffffb3;border-color:#fff3}.twin-filter-btn.active{color:var(--green);background:#00e87a1a;border-color:#00e87a4d}.twin-filter-count{font-size:9px;font-weight:400;opacity:.7;margin-left:2px}.twin-filter-btn--persona.active{color:#60a5fa;background:#60a5fa1a;border-color:#60a5fa4d}.twin-filter-btn--cliente.active{color:#a78bfa;background:#a78bfa1a;border-color:#a78bfa4d}.twin-filter-btn--proveedor.active{color:#34d399;background:#34d3991a;border-color:#34d3994d}.twin-filter-btn--producto.active{color:#fb923c;background:#fb923c1a;border-color:#fb923c4d}.twin-filter-btn--servicio.active{color:#00e87a;background:#00e87a1a;border-color:#00e87a4d}.twin-filter-btn--proceso.active{color:#818cf8;background:#818cf81a;border-color:#818cf84d}.twin-filter-btn--documento.active{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.twin-filter-btn--sistema.active{color:#94a3b8;background:#94a3b81a;border-color:#94a3b84d}.twin-filter-btn--metrica.active{color:#f472b6;background:#f472b61a;border-color:#f472b64d}.twin-filter-btn--lugar.active{color:#a3e635;background:#a3e6351a;border-color:#a3e6354d}.twin-toolbar-search{position:relative;margin-left:auto}.twin-search-input{background:#ffffff0a;border:.5px solid rgba(255,255,255,.1);border-radius:20px;padding:5px 28px 5px 12px;font-size:11px;color:#ffffffb3;font-family:inherit;outline:none;width:160px;transition:border-color .2s,width .2s}.twin-search-input:focus{border-color:#00e87a59;width:200px}.twin-search-input::placeholder{color:#fff3}.twin-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff4d;font-size:10px;cursor:pointer;padding:2px}.twin-search-clear:hover{color:#fff9}.twin-canvas-wrap{flex:1;min-height:0;position:relative;background:#060e0b;overflow:hidden}.twin-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#ffffff59;font-size:13px}.twin-loading-dots{display:flex;gap:5px}.twin-loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--green);animation:td 1.2s ease-in-out infinite}.twin-loading-dots span:nth-child(2){animation-delay:.2s}.twin-loading-dots span:nth-child(3){animation-delay:.4s}.twin-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#ffffff4d;font-size:13px;text-align:center;padding:32px;line-height:1.6}.twin-legend-bar{display:flex;align-items:center;gap:10px;padding:6px 16px;background:#050c0aeb;border-top:.5px solid var(--border2);flex-shrink:0;flex-wrap:wrap}.twin-legend-item{display:flex;align-items:center;gap:5px;font-size:10px;color:#ffffff4d}.twin-legend-dot{font-size:8px;padding:1px 4px;border-radius:3px}.twin-legend-hint{margin-left:auto;font-size:10px;color:#fff3;font-family:ui-monospace,monospace}.placeholder-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.placeholder-icon{width:56px;height:56px;border-radius:16px;background:#00e87a12;border:.5px solid rgba(0,232,122,.2);display:flex;align-items:center;justify-content:center;color:var(--green)}.placeholder-icon svg{width:26px;height:26px}.placeholder-title{font-size:20px;font-weight:600;color:#fff}.placeholder-desc{font-size:13px;color:#fff6;line-height:1.65;max-width:360px}.placeholder-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}.placeholder-tag{font-size:11px;color:#00e87ab3;background:#00e87a12;border:.5px solid rgba(0,232,122,.18);border-radius:20px;padding:4px 12px}.placeholder-coming{font-size:11px;color:var(--dim);margin-top:8px;font-family:ui-monospace,SF Mono,monospace;letter-spacing:.03em}
