@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";body{margin:0;padding:0}.context-menu{position:fixed;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:8px;box-shadow:0 0 0 1px #00000014,0 4px 24px #00000026,0 1px 4px #00000014;padding:4px 0;min-width:180px;max-width:280px;z-index:100000;animation:contextMenuFadeIn .15s ease-out;-webkit-user-select:none;user-select:none}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;padding:6px 12px;font-size:13px;color:#1a1a1a;cursor:pointer;transition:background .1s ease;gap:8px}.context-menu-item:hover:not(.disabled){background:#007aff;color:#fff}.context-menu-item:hover:not(.disabled) .context-menu-shortcut{color:#ffffffb3}.context-menu-item:hover:not(.disabled) .context-menu-icon{filter:brightness(0) invert(1)}.context-menu-item.disabled{color:#999;cursor:not-allowed}.context-menu-item.has-submenu{padding-right:24px}.context-menu-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.context-menu-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu-shortcut{margin-left:auto;font-size:11px;color:#888;padding-left:16px}.context-menu-arrow{margin-left:auto;font-size:8px;color:#666}.context-menu-item:hover:not(.disabled) .context-menu-arrow{color:#fff}.context-menu-divider{height:1px;background:#0000001a;margin:4px 8px}@media(prefers-color-scheme:dark){.context-menu{background:#28282df2;box-shadow:0 0 0 1px #ffffff1a,0 4px 24px #0006}.context-menu-item{color:#f0f0f0}.context-menu-item.disabled{color:#666}.context-menu-shortcut{color:#888}.context-menu-divider{background:#ffffff1a}}.window{width:100%;height:100%;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s ease,transform .2s ease;border:1px solid rgba(0,0,0,.06)}.window.focused{box-shadow:0 12px 40px #0000002e,0 4px 12px #0000001f;border-color:#4a90d94d}.window-titlebar{background:linear-gradient(180deg,#fafafa,#f0f0f0);border-bottom:1px solid #e0e0e0;padding:6px 10px;display:flex;justify-content:space-between;align-items:center;cursor:move;-webkit-user-select:none;user-select:none;min-height:32px}.window-title{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.window-icon{font-size:16px;flex-shrink:0}.window-title-text{font-size:14px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window-controls{display:flex;gap:6px;flex-shrink:0}.window-control-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s ease;padding:0}.window-control-btn:hover{background:#00000014}.window-control-btn.close:hover{background:#ff5f57;color:#fff}.window-control-btn.minimize:hover{background:#ffbd2e;color:#fff}.window-control-btn.maximize:hover{background:#27c93f;color:#fff}.window.maximized{border-radius:0}.window-content{flex:1;overflow:auto;background:#fff}.window-content::-webkit-scrollbar{width:8px;height:8px}.window-content::-webkit-scrollbar-track{background:#f1f1f1}.window-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.window-content::-webkit-scrollbar-thumb:hover{background:#999}.react-resizable-handle{opacity:0;transition:opacity .2s ease}.window:hover .react-resizable-handle{opacity:1}@keyframes windowFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.window{animation:windowFadeIn .2s ease-out}.snap-preview{position:fixed;background:#4a90d933;border:2px solid rgba(74,144,217,.6);border-radius:12px;pointer-events:none;z-index:99999;animation:snapPreviewPulse .3s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes snapPreviewPulse{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.spec-text{display:inline;line-height:1.5;color:#1a1a2e}.spec-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:#1a1a2e;transition:border-color .2s,box-shadow .2s}.spec-input:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d91a}.spec-input::placeholder{color:#999}textarea.spec-input{resize:vertical;min-height:60px}.spec-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s,transform .1s}.spec-button:hover{transform:translateY(-1px)}.spec-button:active{transform:translateY(0)}.spec-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.spec-button-primary{background:#4a90d9;color:#fff}.spec-button-primary:hover:not(:disabled){background:#357abd}.spec-button-secondary{background:#f0f0f0;color:#333;border:1px solid #ddd}.spec-button-secondary:hover:not(:disabled){background:#e5e5e5}.spec-button-danger{background:#e74c3c;color:#fff}.spec-button-danger:hover:not(:disabled){background:#c0392b}.spec-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.spec-list-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8f9fa;border-radius:6px;transition:background-color .15s}.spec-list-item:hover{background:#f0f1f3}.spec-list-item-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1a1a2e}.spec-list-item-checkbox{gap:10px;justify-content:flex-start}.spec-checkbox{width:18px;height:18px;cursor:pointer}.spec-list-item-count{justify-content:space-between}.spec-list-item-badge{background:#4a90d9;color:#fff;font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px;min-width:24px;text-align:center}.spec-list-remove{background:none;border:none;color:#999;font-size:20px;line-height:1;cursor:pointer;padding:0 4px;margin-left:8px;transition:color .15s}.spec-list-remove:hover{color:#e74c3c}.spec-list-empty{padding:20px;text-align:center;color:#999;font-style:italic}.spec-table-container{overflow-x:auto;border-radius:6px;border:1px solid #e0e0e0}.spec-table{width:100%;border-collapse:collapse;font-size:14px}.spec-table th,.spec-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e0e0e0}.spec-table th{background:#f8f9fa;font-weight:600;color:#333}.spec-table tr:last-child td{border-bottom:none}.spec-table tr:hover td{background:#f8f9fa}.spec-table-empty{padding:20px;text-align:center;color:#999;font-style:italic}.spec-panel{width:100%}.spec-chart{width:100%;height:200px;background:#f8f9fa;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#999}.spec-renderer{padding:16px;height:100%;overflow:auto;display:flex;flex-direction:column}.spec-renderer-empty{padding:20px;text-align:center;color:#999;font-style:italic}.spec-unknown{padding:8px 12px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:12px}.spec-window{position:relative;height:100%;display:flex;flex-direction:column;background:#fff}.spec-window.loading{pointer-events:none}.spec-window-loading{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:20}.spec-window-spinner{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:#4a90d9;border-radius:50%;animation:spin .8s linear infinite}.route-window{display:flex;flex-direction:column;width:100%;height:100%;background:#1a1a2e;border-radius:16px;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.route-window.focused{border-color:#6495ed66;box-shadow:0 12px 40px #0006,0 4px 12px #0000004d,0 0 0 1px #6495ed40}.route-window-titlebar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:linear-gradient(to bottom,#e8e8e8,#d0d0d0);border-bottom:1px solid rgba(0,0,0,.1);cursor:move;-webkit-user-select:none;user-select:none;flex-shrink:0;min-height:28px}.route-window-title{display:flex;align-items:center;gap:6px;color:#1a1a1a;font-size:11px;font-weight:500}.route-window-icon{font-family:monospace;color:#2563eb;font-size:11px}.route-window-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.route-window-id-badge{position:relative;display:flex;align-items:center;justify-content:center;opacity:0;color:#999;cursor:default;transition:opacity .15s ease}.route-window-titlebar:hover .route-window-id-badge{opacity:.6}.route-window-id-badge:hover{opacity:1!important;color:#2563eb}.route-window-id-badge:after{content:attr(data-tooltip);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;padding:4px 8px;background:#1a1a2e;color:#fff;font-size:10px;font-family:monospace;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:100}.route-window-id-badge:hover:after{opacity:1}.route-window-controls{display:flex;gap:6px}.route-window-control-btn{width:20px;height:20px;border:none;border-radius:4px;background:#ffffff0d;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.route-window-control-btn:hover{background:#ffffff1a;color:#fff}.route-window-control-btn.close:hover{background:#ff5f56;color:#fff}.route-window-control-btn.minimize:hover{background:#ffbd2e;color:#fff}.route-window-control-btn.refresh:hover{background:#27ae60;color:#fff}.route-window-control-btn.chat-toggle{background:#2563eb26;color:#2563eb}.route-window-control-btn.chat-toggle:hover{background:#2563eb;color:#fff}.route-window-body{display:flex;flex:1;overflow:hidden}.route-window-content{flex:1;position:relative;background:#fff;min-width:0}.route-window-iframe{width:100%;height:100%;border:none}.route-window-content iframe{width:100%!important;height:100%!important}.route-window-focus-overlay{position:absolute;inset:0;z-index:1;cursor:default}.route-window-loading-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center}.route-window-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-top-color:#64b5f6;border-radius:50%;animation:spin .8s linear infinite}.route-window-loading-text{margin-top:12px;color:#aaa;font-size:14px}.route-window-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;text-align:center;padding:20px}.route-window-placeholder-icon{font-size:48px;margin-bottom:16px;opacity:.5}.route-window-placeholder-text{font-size:16px;color:#888;margin-bottom:8px}.route-window-placeholder-hint{font-size:13px;color:#555}.route-window-typing{display:inline-block;animation:pulse 1s ease-in-out infinite}.route-window-typing-cursor{display:inline-block;margin-left:2px;animation:blink .8s step-end infinite;color:#2563eb}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.route-window-streaming{display:flex;flex-direction:column;gap:6px;padding:8px;background:#f9f9f9;border-radius:8px;margin-top:8px}.route-window-event{font-size:12px;color:#666}.route-window-event.text_delta{padding:6px 10px;background:#6495ed1a;border-radius:6px;border-left:2px solid rgba(100,149,237,.4)}.route-window-event-text{white-space:pre-wrap;word-wrap:break-word;line-height:1.4;color:#333}.route-window-event-tool{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#ffc1071a;border-radius:4px;color:#ffc107}.route-window-tool-icon{font-size:10px}.route-window-tool-name{font-family:monospace;font-size:11px}.route-window-event-result{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#4caf501a;border-radius:4px;color:#4caf50}.route-window-result-icon{font-size:10px}.route-window-result-text{font-size:11px;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-window-event-status{padding:4px 8px;background:#f0f0f0;border-radius:4px;color:#666;font-style:italic}.route-window-chat{width:240px;display:flex;flex-direction:column;background:#fff;border-left:1px solid rgba(0,0,0,.1);flex-shrink:0;position:relative}.route-window-resize-handle-vertical{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:col-resize;background:transparent;z-index:10;transition:background .15s ease}.route-window-resize-handle-vertical:hover,.route-window-resize-handle-vertical:active{background:#2563eb4d}.route-window-resize-handle-horizontal{height:6px;cursor:row-resize;background:transparent;flex-shrink:0;transition:background .15s ease;margin:0 8px;border-radius:3px}.route-window-resize-handle-horizontal:hover,.route-window-resize-handle-horizontal:active{background:#2563eb4d}.route-window-messages{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.route-window-message{padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.4;max-width:95%}.route-window-message.user{background:#2563eb;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.route-window-message.assistant{background:#f5f5f5;color:#1a1a1a;align-self:flex-start;border-bottom-left-radius:4px}.route-window-message-content{word-wrap:break-word;white-space:pre-wrap}.route-window-input-area{display:flex;align-items:flex-end;gap:6px;padding:8px;flex-shrink:0}.route-window-input{flex:1;padding:6px 10px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:#fff;color:#1a1a1a;font-size:11px;outline:none;transition:border-color .2s;resize:none;overflow-y:auto;min-height:28px;line-height:1.4;font-family:inherit}.route-window-input-area[style*=height]{align-items:stretch}.route-window-input-area[style*=height] .route-window-input{height:auto;max-height:none;flex:1}.route-window-input-area[style*=height] .route-window-send-btn{align-self:flex-end}.route-window-input:focus{border-color:#6495ed80}.route-window-input::placeholder{color:#999}.route-window-input:disabled{opacity:.5}.route-window-send-btn{padding:6px 12px;border:none;border-radius:4px;background:#2563eb;color:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:background .2s}.route-window-send-btn:hover:not(:disabled){background:#1d4ed8}.route-window-send-btn:disabled{opacity:.5;cursor:not-allowed}.route-window-messages::-webkit-scrollbar{width:6px}.route-window-messages::-webkit-scrollbar-track{background:#f5f5f5}.route-window-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.route-window-messages::-webkit-scrollbar-thumb:hover{background:#0000004d}.taskbar{position:fixed;bottom:0;left:0;right:0;height:50px;background:#e8e3dcb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.05);display:flex;align-items:center;padding:0 20px;gap:8px;z-index:998}.taskbar-dock{display:flex;align-items:center;gap:6px;flex-shrink:0}.dock-app-item{position:relative;width:40px;height:40px;border-radius:10px;border:none;background:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.dock-app-item:hover{background:#fffffff2;transform:translateY(-3px) scale(1.05);box-shadow:0 4px 12px #00000026}.dock-app-item.open{background:#ffffffe6}.dock-app-icon{font-size:20px}.dock-app-indicator{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#333;border-radius:50%}.taskbar-divider{width:1px;height:32px;background:#00000026;flex-shrink:0;margin:0 8px}.taskbar-items{display:flex;align-items:center;gap:8px;flex:1;overflow-x:auto;overflow-y:hidden;padding:8px 0}.taskbar-items::-webkit-scrollbar{height:4px}.taskbar-items::-webkit-scrollbar-track{background:transparent}.taskbar-items::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:2px}.taskbar-item{position:relative;display:flex;align-items:center;gap:8px;padding:6px 14px;background:#ffffff80;border:1px solid rgba(0,0,0,.08);border-radius:10px;cursor:pointer;transition:all .2s ease;min-width:100px;max-width:180px}.taskbar-item:hover{background:#ffffffe6;transform:translateY(-2px);box-shadow:0 4px 12px #0f172a1f}.taskbar-item.focused{background:#1118270d;border-color:#11182733}.taskbar-item.minimized{opacity:.7}.taskbar-item-icon{font-size:18px;flex-shrink:0}.taskbar-item-title{font-size:13px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.taskbar-item-indicator{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#111827;border-radius:50%}.taskbar-system{display:flex;align-items:center;gap:16px;margin-left:16px}.taskbar-time{font-size:12px;font-weight:500;color:#6b7280;padding:4px 10px}@media(max-width:768px){.taskbar{height:50px;padding:0 12px}.taskbar-item{min-width:80px;padding:6px 12px}.taskbar-item-title,.taskbar-time{font-size:12px}}.dock-container{position:fixed;bottom:8px;left:50%;transform:translate(-50%);z-index:9999;pointer-events:all}.dock{display:flex;align-items:flex-end;gap:4px;padding:6px 10px;background:#1e1e28bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006,inset 0 1px #ffffff1a}.dock-item{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:relative}.dock-item:hover{transform:translateY(-8px) scale(1.2)}.dock-item:hover .dock-item-label{opacity:1;transform:translateY(-4px)}.dock-item-icon{width:48px;height:48px;background:linear-gradient(145deg,#2a2a3a,#1a1a2e);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.08);transition:all .2s ease}.dock-item:hover .dock-item-icon{box-shadow:0 6px 20px #0006,inset 0 1px #ffffff26}.dock-item-icon-text{font-family:monospace;font-size:14px;color:#64b5f6;font-weight:600}.dock-item-icon.dock-item-icon-app{background:transparent;border:none;box-shadow:0 4px 12px #0000004d;overflow:hidden}.dock-item-app-logo{border-radius:10px;object-fit:contain}.dock-item-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:4px 10px;background:#1e1e28e6;border-radius:6px;font-size:11px;color:#e0e0e0;white-space:nowrap;opacity:0;transition:all .2s ease;pointer-events:none;margin-bottom:8px;max-width:150px;overflow:hidden;text-overflow:ellipsis}.dock-item-indicator{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#64b5f6;border-radius:50%;box-shadow:0 0 6px #64b5f699}@keyframes dock-item-appear{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.dock-item{animation:dock-item-appear .3s cubic-bezier(.34,1.56,.64,1) forwards}@media(max-width:768px){.dock-item-icon{width:40px;height:40px}.dock-item-icon-text{font-size:12px}.dock{padding:4px 8px;gap:2px}}.sticky-note{width:100%;height:100%;padding:12px;border-radius:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;font-family:Kalam,Comic Sans MS,cursive;position:relative}.sticky-note-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px;cursor:move;-webkit-user-select:none;user-select:none;min-height:24px}.sticky-note-close{width:20px;height:20px;border:none;background:#0000001a;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;color:#666;transition:background .2s ease}.sticky-note-close:hover{background:#0003}.sticky-note-content{flex:1;width:100%;border:none;background:transparent;resize:none;outline:none;font-size:14px;line-height:1.6;color:#4a4a4a;font-family:inherit;padding:0}.sticky-note-content::placeholder{color:#4a4a4a80;white-space:pre-line}.sticky-note--tutorial{border-radius:10px;box-shadow:0 6px 20px #0000001f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:14px 16px 16px}.sticky-note--tutorial .sticky-note-header{margin-bottom:4px}.sticky-note-icon-badge{font-size:16px;line-height:1;margin-right:auto;flex-shrink:0}.sticky-note-tutorial-content{flex:1;display:flex;flex-direction:column;gap:6px;overflow:hidden}.sticky-note-tutorial-title{font-size:14px;font-weight:700;color:#000000bf;line-height:1.3}.sticky-note-tutorial-body{font-size:13px;line-height:1.5;color:#0000008c;font-weight:400}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;display:flex;align-items:center;justify-content:center}.loading-screen-background{position:absolute;top:0;left:0;width:100%;height:100%;background:#1a1a2e url(/wallpaper.png) center / cover no-repeat}.loading-screen-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-screen-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:24px}.loading-spinner-large{width:80px;height:80px;border:5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-message{color:#fff;font-size:28px;font-weight:500;margin:0;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5)}.loading-privacy-badge{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 18px;background:#00000040;border:1px solid rgba(255,255,255,.2);border-radius:100px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeInUp .6s ease-out .3s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading-privacy-icon{width:20px;height:20px;color:#ffffffe6;flex-shrink:0}.loading-privacy-text{font-size:16px;font-weight:500;color:#ffffffe6;letter-spacing:.3px}.landing-page{min-height:100vh;width:100vw;position:relative;overflow-x:hidden;font-family:Manrope,Space Grotesk,system-ui,sans-serif;color:#1a1a2e}.landing-bg{position:fixed;inset:0;z-index:0;overflow:hidden}.landing-bg-gradient{position:absolute;inset:0;background:#fff}.landing-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%);mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%)}.landing-bg-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.15;animation:orbFloat 20s ease-in-out infinite;will-change:transform}.landing-bg-orb-1{width:600px;height:600px;background:radial-gradient(circle,#667eea 0%,transparent 70%);top:-200px;right:-100px;animation-delay:0s}.landing-bg-orb-2{width:500px;height:500px;background:radial-gradient(circle,#764ba2 0%,transparent 70%);bottom:-150px;left:-100px;animation-delay:-7s}.landing-bg-orb-3{width:400px;height:400px;background:radial-gradient(circle,#10b981 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s;opacity:.2}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(10px,10px) scale(1.02)}}.landing-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.landing-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:800px;min-height:100vh;padding:40px 24px;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-logo{display:flex;align-items:center;gap:12px;margin-bottom:32px}.landing-logo-icon{font-size:48px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 15px rgba(102,126,234,.3))}50%{filter:drop-shadow(0 0 25px rgba(118,75,162,.4))}}.landing-logo-text{font-size:32px;font-weight:800;letter-spacing:1px;background:linear-gradient(135deg,#1a1a2e,#333);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-title{font-size:clamp(40px,8vw,72px);font-weight:800;line-height:1.1;margin:0 0 24px;letter-spacing:-2px}.landing-title-gradient{background:linear-gradient(135deg,#667eea,#764ba2,#10b981);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 8s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.landing-title-white{color:#1a1a2e}.landing-tagline{font-size:clamp(16px,3vw,20px);color:#1a1a2eb3;line-height:1.6;margin:0 0 40px;max-width:600px}.landing-cta{position:relative;display:flex;align-items:center;gap:12px;padding:18px 40px;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;cursor:pointer;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 24px #667eea66,0 0 0 1px #ffffff1a inset}.landing-cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 40px #667eea80,0 0 0 1px #fff3 inset}.landing-cta:active{transform:translateY(0) scale(.98)}.landing-cta:disabled{opacity:.7;cursor:not-allowed;transform:none}.landing-cta-text{position:relative;z-index:1}.landing-cta-icon{position:relative;z-index:1;font-size:20px;transition:transform .3s ease}.landing-cta:hover .landing-cta-icon{transform:translate(4px)}.landing-cta-glow{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);opacity:0;transition:opacity .3s ease}.landing-cta:hover .landing-cta-glow{opacity:1}.landing-hint{margin-top:16px;font-size:14px;color:#1a1a2e80}.landing-privacy-badge{display:flex;align-items:center;gap:8px;margin-top:24px;padding:12px 20px;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:100px;animation:fadeInUp .8s ease-out .3s both}.landing-privacy-icon{width:18px;height:18px;color:#10b981;flex-shrink:0}.landing-privacy-text{font-size:13px;font-weight:500;color:#10b981;letter-spacing:.3px}.landing-features{width:100%;max-width:1000px;padding:0 24px 80px}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.landing-feature-card{background:#fffc;border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:32px 24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s ease;animation:fadeInUp .6s ease-out both}.landing-feature-card:hover{background:#fffffff2;border-color:#667eea4d;transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.landing-feature-svg{width:40px;height:40px;margin-bottom:16px;color:#667eea}.landing-feature-svg svg{width:100%;height:100%}.landing-feature-title{font-size:18px;font-weight:700;margin:0 0 12px;color:#1a1a2e}.landing-feature-desc{font-size:14px;line-height:1.6;color:#1a1a2e99;margin:0}@media(max-width:768px){.landing-hero{padding:24px 16px}.landing-features{padding:0 16px 60px}.landing-logo-icon{font-size:36px}.landing-logo-text{font-size:24px}.landing-cta{padding:16px 32px;font-size:16px}.landing-feature-card{padding:24px 20px}}@media(prefers-reduced-motion:reduce){.landing-bg-orb,.landing-logo-icon,.landing-title-gradient,.landing-hero,.landing-feature-card{animation:none}.landing-hero,.landing-feature-card{opacity:1;transform:none}}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.terminal-wrapper{width:100%;height:100%;display:flex;flex-direction:column;background:#1e1e2e;position:relative}.terminal-container{flex:1;width:100%;height:100%;padding:8px;box-sizing:border-box}.terminal-container .xterm{height:100%}.terminal-container .xterm-viewport{overflow-y:auto}.terminal-container .xterm-screen{height:100%}.terminal-container .xterm-helper-textarea{position:absolute!important;opacity:0!important;left:-9999px!important}.terminal-status{position:absolute;top:0;left:0;right:0;padding:8px 12px;background:#1e1e2ef2;color:#cdd6f4;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;z-index:10;display:flex;align-items:center;gap:8px}.terminal-status.error{background:#f38ba826;color:#f38ba8}.terminal-status button{padding:4px 12px;background:#45475a;border:none;border-radius:4px;color:#cdd6f4;font-size:12px;cursor:pointer;transition:background .2s}.terminal-status button:hover{background:#585b70}.file-manager{height:100%;display:flex;flex-direction:row;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.fm-sidebar{width:180px;min-width:180px;background:#f8f9fc;border-right:1px solid #e5e7eb;padding:12px 0;display:flex;flex-direction:column}.fm-sidebar-section{padding:0 8px}.fm-sidebar-title{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px 6px}.fm-sidebar-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:#374151;font-size:14px;cursor:pointer;transition:background .15s;text-align:left}.fm-sidebar-item:hover{background:#e5e7eb}.fm-sidebar-item.active{background:#dbeafe;color:#1d4ed8}.fm-sidebar-icon{font-size:16px;width:20px;text-align:center}.fm-sidebar-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-main{flex:1;display:flex;flex-direction:column;min-width:0}.fm-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f8f9fa;border-bottom:1px solid #e5e7eb}.fm-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#374151;cursor:pointer;transition:background .15s,color .15s}.fm-btn:hover:not(:disabled){background:#e5e7eb}.fm-btn:disabled{opacity:.4;cursor:not-allowed}.fm-btn-primary{background:#3b82f6;color:#fff}.fm-btn-primary:hover:not(:disabled){background:#2563eb}.fm-breadcrumb{flex:1;display:flex;align-items:center;padding:6px 12px;margin:0 8px;font-size:13px;background:#f3f4f6;border-radius:6px;overflow:hidden}.fm-breadcrumb-item{display:flex;align-items:center;white-space:nowrap}.fm-breadcrumb-sep{color:#9ca3af;margin:0 6px;font-size:10px}.fm-breadcrumb-btn{border:none;background:transparent;color:#374151;font-size:13px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background .1s}.fm-breadcrumb-btn:hover{background:#e5e7eb}.fm-breadcrumb-btn:last-child{font-weight:500}.fm-list{flex:1;overflow-y:auto;padding:8px}.fm-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .1s}.fm-item:hover{background:#f3f4f6}.fm-item.selected{background:#dbeafe}.fm-item.selected:hover{background:#bfdbfe}.fm-icon{font-size:20px;line-height:1;width:24px;text-align:center;flex-shrink:0}.fm-name{flex:1;font-size:14px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-item.directory .fm-name{font-weight:500}.fm-size{font-size:12px;color:#9ca3af;width:70px;text-align:right;flex-shrink:0}.fm-rename-input{flex:1;padding:4px 8px;font-size:14px;border:1px solid #3b82f6;border-radius:4px;outline:none;background:#fff}.fm-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.fm-item:hover .fm-actions{opacity:1}.fm-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;transition:background .1s,color .1s}.fm-action-btn:hover{background:#e5e7eb;color:#374151}.fm-delete-btn:hover{background:#fee2e2;color:#dc2626}.fm-message{display:flex;align-items:center;justify-content:center;height:120px;color:#9ca3af;font-size:14px}.fm-error{color:#dc2626}.fm-statusbar{padding:6px 12px;font-size:12px;color:#6b7280;background:#f8f9fa;border-top:1px solid #e5e7eb}.fm-list::-webkit-scrollbar{width:8px}.fm-list::-webkit-scrollbar-track{background:transparent}.fm-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.fm-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.mcp-panel{height:100%;display:flex;flex-direction:column;background:#1e1e2e;color:#cdd6f4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;overflow:hidden}.mcp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#1e1e2ef2;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.mcp-header-left{display:flex;align-items:center;gap:10px}.mcp-status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500}.mcp-status-badge.online{background:#a6e3a126;color:#a6e3a1}.mcp-status-badge.offline{background:#f38ba826;color:#f38ba8}.mcp-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.mcp-status-badge.online .mcp-status-dot{background:#a6e3a1}.mcp-status-badge.offline .mcp-status-dot{background:#f38ba8}.mcp-header-info{font-size:12px;color:#6c7086}.mcp-refresh-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:#313244;color:#cdd6f4;cursor:pointer;transition:background .15s;flex-shrink:0}.mcp-refresh-btn:hover{background:#45475a}.mcp-refresh-btn.spinning svg{animation:spin .6s linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mcp-body{flex:1;overflow-y:auto;padding:12px 14px}.mcp-body::-webkit-scrollbar{width:6px}.mcp-body::-webkit-scrollbar-track{background:transparent}.mcp-body::-webkit-scrollbar-thumb{background:#45475a;border-radius:3px}.mcp-body::-webkit-scrollbar-thumb:hover{background:#585b70}.mcp-section-title{font-size:11px;font-weight:600;color:#6c7086;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.mcp-section-title:not(:first-child){margin-top:16px}.mcp-app-card{background:#313244;border:1px solid rgba(255,255,255,.05);border-radius:8px;margin-bottom:8px;overflow:hidden;transition:border-color .15s}.mcp-app-card:hover{border-color:#ffffff1a}.mcp-app-card-header{display:flex;align-items:center;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px}.mcp-app-card-header:hover{background:#ffffff05}.mcp-app-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.mcp-app-info{flex:1;min-width:0}.mcp-app-name{font-size:13px;font-weight:500;color:#cdd6f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcp-app-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.mcp-app-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:500}.mcp-app-badge.tools{background:#89b4fa26;color:#89b4fa}.mcp-app-badge.ui{background:#cba6f726;color:#cba6f7}.mcp-app-time{font-size:11px;color:#585b70}.mcp-app-expand{color:#585b70;transition:transform .15s;flex-shrink:0}.mcp-app-expand.open{transform:rotate(90deg)}.mcp-app-tools{padding:0 12px 10px;border-top:1px solid rgba(255,255,255,.04)}.mcp-tool-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0}.mcp-tool-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.03)}.mcp-tool-icon{color:#89b4fa;font-size:12px;margin-top:2px;flex-shrink:0}.mcp-tool-info{flex:1;min-width:0}.mcp-tool-name{font-size:12px;font-weight:500;color:#cdd6f4;font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.mcp-tool-desc{font-size:11px;color:#6c7086;margin-top:1px;line-height:1.4}.mcp-tools-table{width:100%;border-collapse:collapse}.mcp-tools-table th{text-align:left;font-size:11px;font-weight:600;color:#6c7086;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.mcp-tools-table td{padding:6px 8px;font-size:12px;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:top}.mcp-tools-table tr:hover td{background:#ffffff05}.mcp-tools-table .tool-name-cell{font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:#89b4fa;font-weight:500;white-space:nowrap}.mcp-tools-table .tool-app-cell{color:#a6adc8;white-space:nowrap}.mcp-tools-table .tool-desc-cell{color:#6c7086;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#585b70}.mcp-empty-icon{font-size:32px;opacity:.5}.mcp-empty-text{font-size:14px}.mcp-empty-hint{font-size:12px;color:#45475a;max-width:260px;text-align:center;line-height:1.4}.mcp-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#6c7086;gap:8px}.mcp-loading-spinner{width:16px;height:16px;border:2px solid #45475a;border-top-color:#89b4fa;border-radius:50%;animation:spin .8s linear infinite}.mcp-footer{padding:6px 14px;font-size:11px;color:#585b70;background:#1e1e2ef2;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.desktop-icons{position:fixed;top:20px;left:20px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:8px;max-height:calc(100vh - 100px);overflow:hidden;z-index:5}.desktop-icon{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 4px;gap:6px;cursor:pointer;border-radius:6px;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.desktop-icon:hover{background-color:#ffffff26}.desktop-icon:active{background-color:#ffffff40}.desktop-icon-image{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:transform .15s ease}.desktop-icon:hover .desktop-icon-image{transform:scale(1.05)}.desktop-icon-image.shortcut-icon{background:#ffffff1a;box-shadow:0 2px 8px #00000026}.desktop-icon-image.file-icon{background:transparent}.desktop-icon-image.app-icon{background:#ffffff14;box-shadow:0 2px 8px #0003;overflow:hidden}.app-logo-svg{border-radius:6px;object-fit:contain}.desktop-icon-emoji{font-size:32px;line-height:1}.desktop-icon-label{font-size:11px;font-weight:500;color:#fff;text-align:center;max-width:80px;text-shadow:0 1px 2px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.5);word-break:break-word;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.desktop-icon.selected{background-color:#0078d766;outline:1px solid rgba(0,120,215,.8)}.desktop-icon.selected:hover{background-color:#0078d780}.desktop-shortcut .desktop-icon-image:after{content:"";position:absolute;bottom:2px;left:2px;width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' stroke='%23000' stroke-width='1' d='M2 14l12-6L2 2v5l6 1-6 1z'/%3E%3C/svg%3E") no-repeat center;background-size:contain;display:none}.onboarding-overlay{position:fixed;inset:0;z-index:99999;pointer-events:all;animation:onboarding-fade-in .4s ease-out}.onboarding-overlay.onboarding-exit{animation:onboarding-fade-out .5s ease-in forwards}@keyframes onboarding-fade-in{0%{opacity:0}to{opacity:1}}@keyframes onboarding-fade-out{0%{opacity:1}to{opacity:0}}.onboarding-backdrop{position:absolute;inset:0;background:#000000a6;transition:all .6s cubic-bezier(.4,0,.2,1)}.onboarding-backdrop-spotlight{-webkit-mask-image:radial-gradient(circle 48px at calc(100% - 52px) calc(100% - 128px),transparent 100%,black 100%);mask-image:radial-gradient(circle 48px at calc(100% - 52px) calc(100% - 128px),transparent 100%,black 100%)}.onboarding-backdrop-dynamic{transition:all .4s cubic-bezier(.4,0,.2,1)}.onboarding-welcome{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 56px 40px;max-width:440px;text-align:center;background:#ffffff14;backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid rgba(255,255,255,.15);border-radius:28px;box-shadow:0 24px 80px #00000073,inset 0 1px #fff3;animation:welcome-card-in .7s cubic-bezier(.16,1,.3,1)}@keyframes welcome-card-in{0%{opacity:0;transform:translate(-50%,-45%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.onboarding-welcome-icon{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #8b5cf666;animation:welcome-icon-float 3s ease-in-out infinite}@keyframes welcome-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.onboarding-welcome-logo{font-size:36px;color:#fff;line-height:1}.onboarding-welcome-title{margin:8px 0 0;font-size:28px;font-weight:700;color:#fff;letter-spacing:-.5px}.onboarding-welcome-sub{margin:0;font-size:15px;line-height:1.6;color:#ffffffb3;max-width:340px}.onboarding-welcome-btn{margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 20px #8b5cf680;transition:all .2s ease}.onboarding-welcome-btn:hover{transform:translateY(-1px);box-shadow:0 6px 28px #8b5cf699}.onboarding-welcome-btn:active{transform:scale(.97)}.onboarding-welcome-skip{margin-top:4px;font-size:13px;color:#fff6;cursor:pointer;transition:color .2s}.onboarding-welcome-skip:hover{color:#ffffffb3;text-decoration:underline}.onboarding-spotlight-ring{position:fixed;bottom:96px;right:20px;width:64px;height:64px;border-radius:50%;border:2px solid rgba(139,92,246,.8);box-shadow:0 0 0 4px #8b5cf640,0 0 24px #8b5cf659;pointer-events:none;animation:spotlight-ring-in .5s cubic-bezier(.16,1,.3,1)}@keyframes spotlight-ring-in{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:scale(1)}}.onboarding-pulse{position:fixed;bottom:96px;right:20px;width:64px;height:64px;border-radius:50%;pointer-events:none;animation:onboarding-pulse-ring 2s cubic-bezier(0,0,.2,1) infinite}@keyframes onboarding-pulse-ring{0%{box-shadow:0 0 #8b5cf680}70%{box-shadow:0 0 0 20px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.onboarding-pointer{position:fixed;bottom:70px;right:80px;pointer-events:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));animation:pointer-appear .5s .3s cubic-bezier(.16,1,.3,1) both,pointer-bounce 1.5s .8s ease-in-out infinite}@keyframes pointer-appear{0%{opacity:0;transform:translate(30px,20px) scale(.7)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes pointer-bounce{0%,to{transform:translate(0)}50%{transform:translate(6px,6px)}}.onboarding-tooltip{position:fixed;bottom:170px;right:16px;width:300px;padding:24px;background:#141420eb;backdrop-filter:blur(32px) saturate(1.4);-webkit-backdrop-filter:blur(32px) saturate(1.4);border:1px solid rgba(139,92,246,.3);border-radius:20px;box-shadow:0 16px 64px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff14;animation:tooltip-in .6s .15s cubic-bezier(.16,1,.3,1) both}.onboarding-tooltip-dynamic{bottom:auto;right:auto;width:320px;animation:tooltip-dynamic-in .6s .2s cubic-bezier(.16,1,.3,1) both}@keyframes tooltip-in{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-dynamic-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.onboarding-tooltip-arrow{position:absolute;bottom:-8px;right:32px;width:16px;height:16px;background:#141420eb;border-right:1px solid rgba(139,92,246,.3);border-bottom:1px solid rgba(139,92,246,.3);transform:rotate(45deg);border-radius:0 0 4px}.onboarding-tooltip-arrow-bottom-left{bottom:-8px;left:40px;right:auto}.onboarding-tooltip-arrow-top{top:-8px;bottom:auto;right:auto;border-right:none;border-bottom:none;border-left:1px solid rgba(139,92,246,.3);border-top:1px solid rgba(139,92,246,.3)}.onboarding-tooltip-step{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:#a78bfa;margin-bottom:8px}.onboarding-tooltip-title{margin:0 0 8px;font-size:18px;font-weight:700;color:#fff}.onboarding-tooltip-desc{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:#ffffffa6}.onboarding-tooltip-actions{display:flex;align-items:center;gap:12px}.onboarding-tooltip-btn-primary{padding:10px 22px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 16px #8b5cf673;transition:all .2s ease}.onboarding-tooltip-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #8b5cf68c}.onboarding-tooltip-btn-primary:active{transform:scale(.96)}.onboarding-tooltip-btn-ghost{padding:10px 16px;font-size:13px;font-weight:500;color:#ffffff80;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease}.onboarding-tooltip-btn-ghost:hover{color:#fffc;border-color:#fff3;background:#ffffff0d}.onboarding-input-ring{position:fixed;border-radius:10px;border:2px solid rgba(139,92,246,.8);box-shadow:0 0 0 4px #8b5cf633,0 0 20px #8b5cf64d;pointer-events:none;animation:input-ring-in .5s cubic-bezier(.16,1,.3,1);z-index:1}.onboarding-input-ring.onboarding-ring-circle{border-radius:50%}@keyframes input-ring-in{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.onboarding-input-pulse{position:fixed;border-radius:10px;pointer-events:none;animation:onboarding-input-pulse-ring 2s cubic-bezier(0,0,.2,1) infinite;z-index:1}.onboarding-input-pulse.onboarding-ring-circle{border-radius:50%}@keyframes onboarding-input-pulse-ring{0%{box-shadow:0 0 #8b5cf666}70%{box-shadow:0 0 0 12px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.onboarding-waiting{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;animation:onboarding-fade-in .3s ease-out}.onboarding-waiting-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top-color:#a78bfa;border-radius:50%;animation:onboarding-spin .8s linear infinite}@keyframes onboarding-spin{to{transform:rotate(360deg)}}.onboarding-waiting-text{font-size:15px;font-weight:500;color:#ffffffb3}.onboarding-tips-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 48px 36px;max-width:420px;text-align:center;background:#ffffff14;backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border:1px solid rgba(255,255,255,.15);border-radius:28px;box-shadow:0 24px 80px #00000073,inset 0 1px #fff3;animation:tips-card-in .7s cubic-bezier(.16,1,.3,1)}@keyframes tips-card-in{0%{opacity:0;transform:translate(-50%,-45%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.onboarding-tips-icon{width:64px;height:64px;border-radius:16px;background:#8b5cf626;border:1px solid rgba(139,92,246,.25);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.onboarding-tips-title{margin:0;font-size:22px;font-weight:700;color:#fff;letter-spacing:-.3px}.onboarding-tips-desc{margin:0;font-size:14px;line-height:1.6;color:#fff9;max-width:340px}.onboarding-tips-list{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}.onboarding-tips-item{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;font-size:14px;color:#fffc;text-align:left;transition:background .2s}.onboarding-tips-item:hover{background:#ffffff1a}.onboarding-tips-item-icon{font-size:18px;flex-shrink:0;width:28px;text-align:center}.onboarding-tips-demo{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px;padding:20px 24px;background:#ffffff0a;border:1px dashed rgba(139,92,246,.3);border-radius:16px;width:100%;animation:demo-float 3s ease-in-out infinite}@keyframes demo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.onboarding-tips-demo-file,.onboarding-tips-demo-desktop{display:flex;flex-direction:column;align-items:center;gap:6px;color:#ffffffb3;font-size:12px;font-weight:500}.onboarding-tips-demo-file svg,.onboarding-tips-demo-desktop svg{opacity:.6}.onboarding-tips-demo-arrow{color:#a78bfa;animation:demo-arrow-bounce 1.5s ease-in-out infinite}@keyframes demo-arrow-bounce{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@media(max-width:480px){.onboarding-welcome,.onboarding-tips-card{padding:36px 28px 32px;max-width:calc(100vw - 40px);border-radius:22px}.onboarding-tooltip{right:8px;width:calc(100vw - 16px);bottom:180px;border-radius:16px}.onboarding-tooltip-dynamic{width:calc(100vw - 32px);left:16px!important}.onboarding-tooltip-arrow{right:44px}}.desktop{width:100vw;height:100vh;position:relative;overflow:hidden;font-family:Manrope,Space Grotesk,system-ui,sans-serif;background-color:#1a1a2e}.desktop-zoom-wrapper{position:absolute;inset:0;overflow:hidden;will-change:transform}.desktop-background{position:absolute;inset:0;background-image:url(/wallpaper.png);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0}.sticky-notes-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.sticky-notes-layer>*{pointer-events:all}.windows-layer{position:absolute;inset:0;pointer-events:none}.windows-layer>*{pointer-events:all}.spec-windows-layer{position:absolute;inset:0;pointer-events:none}.spec-windows-layer>*{pointer-events:all}.route-windows-layer{position:absolute;inset:0;pointer-events:none}.route-windows-layer>*{pointer-events:all}.spec-window-shell{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;overflow:hidden;border:1px solid rgba(0,0,0,.06)}.spec-window-titlebar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:linear-gradient(to bottom,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;cursor:move;-webkit-user-select:none;user-select:none;min-height:32px}.spec-window-title{display:flex;align-items:center;gap:6px;min-width:0}.spec-window-icon{font-size:16px;flex-shrink:0}.spec-window-title-text{font-weight:600;font-size:12px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spec-window-controls{display:flex;gap:6px}.spec-window-control-btn{width:12px;height:12px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.spec-window-control-btn.close{background:#ff5f57}.spec-window-control-btn.close:hover{background:#ff3b30}.spec-window-control-btn svg{width:8px;height:8px;opacity:0;transition:opacity .15s}.spec-window-shell:hover .spec-window-control-btn svg{opacity:.6}.spec-window-control-btn:hover svg{opacity:1!important}.spec-window-body{flex:1;overflow:auto;background:#fff}.create-window-buttons{position:fixed;bottom:100px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:10000;pointer-events:all}.create-window-btn{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#4a90d9,#357abd);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #4a90d966;transition:all .2s ease;pointer-events:all;-webkit-user-select:none;user-select:none}.create-window-btn:hover{transform:scale(1.1);box-shadow:0 6px 24px #4a90d980}.create-window-btn:active{transform:scale(.95)}.create-window-btn:disabled{opacity:.5;cursor:not-allowed}.create-route-window-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 16px #10b98166}.create-route-window-btn:hover{box-shadow:0 6px 24px #10b98180}.create-common-window-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 16px #8b5cf666}.create-common-window-btn:hover{box-shadow:0 6px 24px #8b5cf680}.desktop>*:not(.desktop-background):not(.windows-layer):not(.sticky-notes-layer):not(.spec-windows-layer):not(.route-windows-layer){z-index:10;pointer-events:all}.sandbox-info-bar{position:fixed;top:16px;right:16px;display:flex;align-items:center;gap:8px;z-index:10001;pointer-events:none;animation:timerFadeIn .5s ease-out}.sandbox-id-indicator{padding:8px 14px;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:100px;border:1px solid rgba(255,255,255,.1);font-size:13px;font-weight:600;font-family:SF Mono,Menlo,Monaco,monospace;color:#ffffffe6;letter-spacing:.3px}.sandbox-timer{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#0009;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:100px;border:1px solid rgba(255,255,255,.1)}@keyframes timerFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sandbox-timer-icon{width:16px;height:16px;color:#fffc}.sandbox-timer-text{font-size:13px;font-weight:600;font-family:SF Mono,Menlo,Monaco,monospace;color:#ffffffe6;letter-spacing:.5px}.sandbox-timer.low{background:#f59e0bcc;border-color:#f59e0b4d}.sandbox-timer.low .sandbox-timer-icon,.sandbox-timer.low .sandbox-timer-text{color:#fff}.sandbox-timer.critical{background:#ef4444e6;border-color:#ef44444d;animation:timerPulse 1s ease-in-out infinite}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.sandbox-timer.critical .sandbox-timer-icon,.sandbox-timer.critical .sandbox-timer-text{color:#fff}.desktop-drop-overlay{position:fixed;inset:0;z-index:9999;background:#00000059;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:dropOverlayIn .2s ease-out}.desktop-drop-overlay.uploading{pointer-events:all}@keyframes dropOverlayIn{0%{opacity:0}to{opacity:1}}.drop-overlay-pill{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 56px;background:#ffffff2e;backdrop-filter:blur(40px) saturate(1.6);-webkit-backdrop-filter:blur(40px) saturate(1.6);border-radius:28px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 40px #00000040,inset 0 1px #ffffff4d;animation:dropPillIn .25s cubic-bezier(.34,1.56,.64,1);min-width:240px}@keyframes dropPillIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.drop-overlay-icon{width:48px;height:48px;color:#fffffff2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.drop-overlay-text{font-size:22px;font-weight:600;color:#fff;letter-spacing:.3px;text-shadow:0 1px 4px rgba(0,0,0,.3);text-align:center;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-overlay-progress-track{width:100%;height:6px;background:#fff3;border-radius:3px;overflow:hidden}.drop-overlay-progress-bar{height:100%;background:#fff;border-radius:3px;transition:width .3s ease}.drop-overlay-count{font-size:13px;font-weight:500;color:#ffffffb3;font-variant-numeric:tabular-nums}*{margin:0;padding:0;box-sizing:border-box}#root{width:100vw;min-height:100vh}body{margin:0;font-family:Manrope,Space Grotesk,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit}code{font-family:Monaco,Menlo,Courier New,monospace}
