:root{--color-void:#08080f;--color-bg:#0c0c18;--color-surface:#0e0e1cbf;--color-surface-solid:#0e0e1c;--color-surface-raised:#141428cc;--color-surface-overlay:#04040ca6;--glass-bg:#0c0c18eb;--glass-border:#ffffff0f;--glass-blur:12px;--color-border:#ffffff0d;--color-border-subtle:#ffffff08;--color-border-strong:#ffffff1a;--color-text:#e4e4ec;--color-text-secondary:#a0a0b8;--color-text-muted:#68687e;--color-accent:#d4a054;--color-accent-hover:#e0b06a;--color-accent-glow:#d4a05426;--color-accent-subtle:#d4a05414;--color-danger:#d44054;--color-success:#40b882;--color-warning:#d4a054;--color-info:#5488d4;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--toolbar-height:30px;--window-head-height:38px;--taskbar-size:54px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 16px 64px #00000080;--shadow-window:0 8px 40px #00000073, 0 0 1px #ffffff0d;--shadow-window-active:0 12px 56px #0000008c, 0 0 1px #ffffff14;--transition-fast:.1s ease;--transition-normal:.2s ease;--transition-slow:.35s ease;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", Consolas, monospace}[data-theme=light]{--color-void:#e8e8f0;--color-bg:#f0f0f6;--color-surface:#ffffffd9;--color-surface-solid:#fff;--color-surface-raised:#ffffffe6;--color-surface-overlay:#00000014;--glass-bg:#ffffffeb;--glass-border:#00000014;--color-border:#00000014;--color-border-subtle:#0000000a;--color-border-strong:#00000026;--color-text:#1a1a2e;--color-text-secondary:#4a4a60;--color-text-muted:#8888a0;--color-accent:#c08030;--color-accent-hover:#a06820;--color-accent-glow:#c080301f;--color-accent-subtle:#c080300f;--shadow-sm:0 1px 4px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 32px #0000001f;--shadow-window:0 4px 24px #0000001a, 0 0 1px #00000014;--shadow-window-active:0 8px 32px #00000024, 0 0 1px #0000001f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-void);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;font-size:13px;overflow:hidden}.desktop{top:var(--toolbar-height);position:absolute;bottom:0;left:0;right:0;overflow:hidden}.desktop-taskbar-bottom{padding-bottom:calc(var(--taskbar-size) + 20px);bottom:0}.desktop-taskbar-left{left:var(--taskbar-size)}.desktop-taskbar-right{right:var(--taskbar-size)}.window{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-window);flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) window-open;display:flex;position:absolute;overflow:hidden}.window-active{box-shadow:var(--shadow-window-active);border-color:#ffffff14}.window-maximized{border-radius:0}.window-dragging{opacity:.88;cursor:grabbing}.window-dragging .window-iframe{pointer-events:none}@keyframes window-open{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.window-head{height:var(--window-head-height);border-bottom:1px solid var(--color-border);cursor:grab;background:#ffffff05;flex-shrink:0;align-items:center;padding:0 12px;display:flex}.window-head:active{cursor:grabbing}.window-icon{flex-shrink:0;width:16px;height:16px;margin-right:8px}.window-title{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;flex:1;font-size:12px;font-weight:500;overflow:hidden}.window-active .window-title{color:var(--color-text)}.window-actions{gap:6px;margin-left:8px;display:flex}.window-action{cursor:pointer;color:#0000;width:12px;height:12px;transition:all var(--transition-fast);background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.window-action svg{stroke:currentColor;stroke-width:2px;fill:none;width:7px;height:7px}.window-head:hover .window-action-close{background:var(--color-danger);color:#fff}.window-head:hover .window-action-minimize{background:var(--color-warning);color:#0009}.window-head:hover .window-action-maximize{background:var(--color-success);color:#0009}.window-body{flex:1;position:relative;overflow:auto}.window-iframe{border:none;width:100%;height:100%}.resize-handle{position:absolute}.resize-n{cursor:n-resize;height:6px;top:-3px;left:8px;right:8px}.resize-s{cursor:s-resize;height:6px;bottom:-3px;left:8px;right:8px}.resize-w{cursor:w-resize;width:6px;top:8px;bottom:8px;left:-3px}.resize-e{cursor:e-resize;width:6px;top:8px;bottom:8px;right:-3px}.resize-nw{cursor:nw-resize;width:12px;height:12px;top:-3px;left:-3px}.resize-ne{cursor:ne-resize;width:12px;height:12px;top:-3px;right:-3px}.resize-sw{cursor:sw-resize;width:12px;height:12px;bottom:-3px;left:-3px}.resize-se{cursor:se-resize;width:12px;height:12px;bottom:-3px;right:-3px}.taskbar{background:var(--glass-bg);border:1px solid var(--glass-border);z-index:99999990;align-items:center;display:flex;position:fixed}.taskbar-bottom{height:var(--taskbar-size);border-radius:var(--radius-xl);flex-direction:row;justify-content:center;gap:2px;width:auto;max-width:calc(100vw - 32px);padding:0 14px;bottom:10px;left:50%;transform:translate(-50%)}.taskbar-left{top:var(--toolbar-height);width:var(--taskbar-size);border-right:1px solid var(--color-border);border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:8px 0;bottom:0;left:0}.taskbar-right{top:var(--toolbar-height);width:var(--taskbar-size);border-left:1px solid var(--color-border);border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:8px 0;bottom:0;right:0}.taskbar-separator{background:var(--color-border-strong);opacity:.5;width:1px;height:20px;margin:0 4px}.taskbar-left .taskbar-separator,.taskbar-right .taskbar-separator{width:20px;height:1px;margin:4px 0}.taskbar-item{border-radius:var(--radius-md);cursor:pointer;width:42px;height:42px;transition:all var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.taskbar-item:hover{background:#ffffff0f;transform:scale(1.08)}.taskbar-item:active{transform:scale(.95)}.taskbar-item-active{background:var(--color-accent-subtle)}.taskbar-item-icon{font-size:22px;line-height:1}.taskbar-item-indicator{background:var(--color-accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:1px}.taskbar-left .taskbar-item-indicator,.taskbar-right .taskbar-item-indicator{top:50%;bottom:auto;right:1px;transform:translateY(-50%)}.taskbar-left .taskbar-item-indicator{left:1px;right:auto}:global(.taskbar-item.drop-target-active){background:var(--color-accent-glow);box-shadow:0 0 12px var(--color-accent-glow)}.auth-backdrop{background:var(--color-surface-overlay);z-index:999999999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-dialog{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);width:380px;box-shadow:var(--shadow-lg);padding:48px 40px}.auth-title{text-align:center;color:var(--color-text);letter-spacing:-.02em;margin-bottom:4px;font-size:24px;font-weight:600}.auth-error{color:var(--color-danger);text-align:center;font-size:12px}@media (width<=768px){:root{--toolbar-height:36px;--taskbar-size:48px}.window{top:var(--toolbar-height)!important;width:100vw!important;height:calc(100vh - var(--toolbar-height) - var(--taskbar-size) - 10px)!important;border-radius:0!important;left:0!important}.window-head{-webkit-app-region:no-drag}.taskbar-bottom{border-radius:0;justify-content:space-around;width:100%;max-width:100%;bottom:0;left:0;right:0;transform:none}.taskbar-left,.taskbar-right{display:none}.desktop-taskbar-left,.desktop-taskbar-right{left:0;right:0}.auth-dialog{width:calc(100vw - 32px);max-width:380px;padding:32px 24px}.resize-handle{display:none}}@media (width<=480px){.toolbar-logo,.taskbar-separator{display:none}.taskbar-item{width:36px;height:36px}.taskbar-item-icon{font-size:18px}}
