:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}#console-trigger-wrapper{justify-content:center;margin-top:16px;font-family:sans-serif;font-size:12px;display:flex}#toggle-console-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:8px 12px;transition:background-color .2s;display:flex}#toggle-console-btn:hover{background-color:#ffffff0d}#console-wrapper{opacity:0;pointer-events:none;background-color:#1e1e1e;border:1px solid #333;border-radius:8px;flex-direction:column;width:100%;max-height:0;transition:max-height .3s ease-in-out,opacity .2s linear;display:flex;overflow:hidden}#console-wrapper.expanded{opacity:1;pointer-events:all;max-height:200px}#console-header{z-index:10;background-color:#252525;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:8px 16px;display:flex;position:sticky;top:0}#console-header label{color:#e5e7eb;font-size:12px;font-weight:600}#copy-logs-btn{color:#d1d5db;cursor:pointer;background:0 0;border:1px solid #4b5563;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;transition:all .2s;display:flex}#copy-logs-btn:hover{background-color:#374151}#console-output{text-align:left;flex-grow:1;padding:12px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;overflow-y:auto}#console-output::-webkit-scrollbar{width:8px}#console-output::-webkit-scrollbar-track{background:#1e1e1e}#console-output::-webkit-scrollbar-thumb{background:#333;border-radius:4px}#console-output::-webkit-scrollbar-thumb:hover{background:#444}.log-line{white-space:pre-wrap;word-break:break-all;margin-bottom:4px}.log-timestamp{color:#6b7280;margin-right:8px}.log-level{min-width:60px;margin-right:8px;font-weight:600;display:inline-block}.log-message{line-height:1.4}[data-level=INFO] .log-message{color:#9ca3af}[data-level=SUCCESS] .log-message{color:#4ade80}[data-level=WARN] .log-message{color:#fbbf24}[data-level=ERROR] .log-message{color:#f87171;font-weight:700}[data-level=INFO] .log-level{color:#9ca3af}[data-level=SUCCESS] .log-level{color:#4ade80}[data-level=WARN] .log-level{color:#fbbf24}[data-level=ERROR] .log-level{color:#f87171}#root{color:#2e3338;background-color:#f2f3f5;width:100%;height:100vh;margin:0;padding:0;font-family:gg sans,Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif;overflow:hidden}.activity-container{flex-direction:column;height:100%;display:flex}header{background-color:#fff;border-bottom:1px solid #e3e5e8;justify-content:space-between;align-items:center;padding:16px;display:flex}.user-badge{align-items:center;gap:12px;display:flex}.avatar{background-color:#5865f2;border-radius:50%;width:32px;height:32px}.status-pill{text-transform:uppercase;color:#fff;border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:flex}.INITIALIZING{color:#4f5660;background-color:#e3e5e8}.CONNECTED{background-color:#248046}.DOWNLOADING{background-color:#a67700}.READY{background-color:#23a559}main{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.install-overlay,.ready-state,.idle-state{max-width:400px}h1{color:#060607;margin-bottom:8px;font-size:24px}h2{color:#2e3338;margin-bottom:16px;font-size:18px}.progress-bar{background-color:#e3e5e8;border-radius:10px;width:100%;height:20px;margin-bottom:12px;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-fill{background-color:#5865f2;background-image:linear-gradient(45deg,#fff3 25%,#0000 25% 50%,#fff3 50% 75%,#0000 75%,#0000);background-size:40px 40px;height:100%;transition:width .3s;animation:1s linear infinite progress-bar-stripes}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.storage-info{color:#4f5660;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.manual-install{color:#fff;cursor:pointer;background-color:#5865f2;border:none;border-radius:4px;margin-top:24px;padding:10px 20px;font-weight:600;transition:background-color .2s}.manual-install:hover{background-color:#4752c4}footer{background-color:#fff;border-top:1px solid #e3e5e8;max-height:150px;padding:12px;overflow-y:auto}.logs{color:#4f5660;font-family:Courier New,Courier,monospace;font-size:11px}.log-entry{border-bottom:1px solid #e3e5e8;padding:2px 0}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bounce{color:#5865f2;margin-bottom:16px;animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}
