:root{--hud-obsidian:#0a0b0f;--hud-obsidian-elevated:#12141c;--hud-cyan:#22d3ee;--hud-purple:#a78bfa;--hud-terminal-green:#4ade80;--hud-mono:"Cascadia Code","Fira Code","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:Cascadia Code,Fira Code,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace,source-code-pro,Monaco,Courier New,monospace;font-family:var(--hud-mono),source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}:root,[data-theme=dark]{--nav-height:72px;--mobile-nav-height:64px;--color-bg:#0f172a;--color-bg-gradient-start:#0f172a;--color-bg-gradient-end:#0a0f1c;--color-bg-accent-glow:#3b82f61a;--color-bg-accent-glow-purple:#a855f714;--color-bg-rotate-glow:#3b82f608;--color-surface:#12121799;--color-surface-elevated:#1e293b;--color-surface-muted:#ffffff0d;--color-surface-subtle:#ffffff08;--color-surface-input:#ffffff0d;--color-surface-hover:#ffffff14;--color-surface-card:#1f2937;--color-surface-card-alt:#111827;--color-surface-auth:#1e293bb3;--color-surface-settings:#1e293b;--color-nav-bg:#0f172acc;--color-nav-bg-mobile:#0f172ae6;--color-input-bg:#0003;--color-text:#f8fafc;--color-text-primary:#fff;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-text-tertiary:#cbd5e1;--color-text-body:#e2e8f0;--color-text-subtle:#d1d5db;--color-text-heading:#f3f4f6;--color-text-placeholder:#475569;--color-text-disabled:#5a6a7a;--color-on-accent:#fff;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-accent-deep:#1d4ed8;--color-accent-light:#60a5fa;--color-accent-lighter:#93c5fd;--color-accent-muted:#3b82f626;--color-accent-border:#60a5fa33;--color-accent-focus:#3b82f680;--color-accent-focus-ring:#3b82f61a;--color-accent-shadow:#2563eb33;--color-accent-btn-shadow:#3b82f640;--color-accent-btn-shadow-hover:#3b82f659;--color-border:#ffffff14;--color-border-subtle:#ffffff0d;--color-border-strong:#ffffff1a;--color-border-card:#374151;--color-border-input:#ffffff1a;--color-border-dashed:#ffffff26;--color-border-settings:#ced4da;--color-danger:#ef4444;--color-danger-muted:#ef44441a;--color-danger-border:#ef444433;--color-danger-text:#f87171;--color-success-bg:#22c55e26;--color-success-text:#86efac;--color-warning-bg:#eab30826;--color-warning-text:#fbbf24;--color-admin-badge:#ef4444;--color-disabled:#475569;--color-cyan:#00d4ff;--color-cyan-muted:#00d4ff26;--color-cyan-border:#00d4ff4d;--color-cyan-surface:#00d4ff14;--color-cyan-glow:#00d4ff73;--color-panel-accent:#7eb8d4;--color-panel-hint:#7a8899;--color-ship-text:#e0e6f0;--color-ship-text-muted:#d0dae8;--color-overlay-dim:#0000008c;--color-overlay-medium:#00000080;--color-overlay-heavy:#000000bf;--color-tutorial-bg-start:#0d2340;--color-tutorial-bg-end:#0a1a30;--color-tutorial-modal-start:#0d1f35;--color-tutorial-modal-end:#0a1525;--color-tutorial-text:#cdd8e8;--color-tutorial-text-muted:#8a9eb8;--color-tutorial-preview-text:#b0bfd4;--color-tutorial-preview-strong:#e0e8f8;--color-tutorial-modal-heading:#e8f0fa;--gradient-brand:linear-gradient(135deg,#60a5fa,#a855f7);--gradient-projects:linear-gradient(135deg,#00d2ff,#3a7bd5);--gradient-digimon:linear-gradient(135deg,#f093fb,#f5576c);--gradient-accent-btn:linear-gradient(135deg,#3b82f6,#2563eb);--gradient-user-bubble:linear-gradient(135deg,#3b82f6,#1d4ed8);--gradient-main-layout:radial-gradient(circle at top right,var(--color-bg-accent-glow),#0000 600px),radial-gradient(circle at bottom left,var(--color-bg-accent-glow-purple),#0000 600px),radial-gradient(circle at center,var(--color-bg-gradient-start) 0%,var(--color-bg-gradient-end) 100%);--gradient-chat-messages:radial-gradient(circle at top right,#3b82f608,#0000 400px),radial-gradient(circle at bottom left,#9333ea08,#0000 400px);--gradient-project-icon:linear-gradient(135deg,#3a7bd533,#3a7bd51a);--gradient-tutorial-banner:linear-gradient(135deg,var(--color-tutorial-bg-start) 0%,var(--color-tutorial-bg-end) 100%);--gradient-tutorial-modal:linear-gradient(160deg,var(--color-tutorial-modal-start) 0%,var(--color-tutorial-modal-end) 100%);--gradient-tutorial-btn:linear-gradient(135deg,#0084b5,#00b4e0);--shadow-card:0 20px 50px #0006;--shadow-nav-dropdown:0 10px 30px #00000080;--shadow-auth:0 20px 40px -15px #00000080;--shadow-button:0 4px 12px var(--color-accent-btn-shadow);--shadow-button-hover:0 6px 16px var(--color-accent-btn-shadow-hover);--shadow-settings:0 4px 24px #0000001a;--shadow-dashboard:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-project-hover:0 12px 24px -10px #00000080,0 0 15px #3a7bd533;--color-hover-overlay:#ffffff0d;--color-hover-overlay-strong:#ffffff1a;--color-icon-muted:#fff6;--color-icon-faint:#ffffff4d;--color-welcome-text:#ffffff80;--color-scrollbar:#ffffff1a;--color-project-border-hover:#3a7bd580;--syntax-bg:#1e293b;--syntax-text:#e2e8f0;--syntax-keyword:#c084fc;--syntax-string:#86efac;--syntax-comment:#64748b;--syntax-function:#60a5fa;--syntax-number:#fbbf24;--syntax-operator:#f472b6;--syntax-border:#ffffff1a}[data-theme=light]{--color-bg:#f1f5f9;--color-bg-gradient-start:#f8fafc;--color-bg-gradient-end:#e2e8f0;--color-bg-accent-glow:#3b82f614;--color-bg-accent-glow-purple:#a855f70f;--color-bg-rotate-glow:#3b82f60d;--color-surface:#ffffffd9;--color-surface-elevated:#fff;--color-surface-muted:#0f172a0a;--color-surface-subtle:#0f172a08;--color-surface-input:#fff;--color-surface-hover:#0f172a0f;--color-surface-card:#fff;--color-surface-card-alt:#f8fafc;--color-surface-auth:#ffffffe6;--color-surface-settings:#fff;--color-nav-bg:#ffffffd9;--color-nav-bg-mobile:#fffffff2;--color-input-bg:#f8fafc;--color-text:#1e293b;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-text-tertiary:#475569;--color-text-body:#334155;--color-text-subtle:#475569;--color-text-heading:#1e293b;--color-text-placeholder:#94a3b8;--color-text-disabled:#94a3b8;--color-on-accent:#fff;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-deep:#1e40af;--color-accent-light:#3b82f6;--color-accent-lighter:#60a5fa;--color-accent-muted:#2563eb1f;--color-accent-border:#2563eb40;--color-accent-focus:#2563eb80;--color-accent-focus-ring:#2563eb1f;--color-accent-shadow:#2563eb26;--color-accent-btn-shadow:#2563eb33;--color-accent-btn-shadow-hover:#2563eb4d;--color-border:#0f172a1a;--color-border-subtle:#0f172a0f;--color-border-strong:#0f172a1f;--color-border-card:#e2e8f0;--color-border-input:#cbd5e1;--color-border-dashed:#0f172a33;--color-border-settings:#cbd5e1;--color-danger:#dc2626;--color-danger-muted:#dc262614;--color-danger-border:#dc262633;--color-danger-text:#b91c1c;--color-success-bg:#dcfce7;--color-success-text:#166534;--color-warning-bg:#fef9c3;--color-warning-text:#854d0e;--color-admin-badge:#dc2626;--color-disabled:#94a3b8;--color-cyan:#0891b2;--color-cyan-muted:#0891b21f;--color-cyan-border:#0891b259;--color-cyan-surface:#0891b214;--color-cyan-glow:#0891b24d;--color-panel-accent:#0e7490;--color-panel-hint:#64748b;--color-ship-text:#1e293b;--color-ship-text-muted:#475569;--color-overlay-dim:#0f172a59;--color-overlay-medium:#0f172a73;--color-overlay-heavy:#0f172a8c;--color-tutorial-bg-start:#e0f2fe;--color-tutorial-bg-end:#f0f9ff;--color-tutorial-modal-start:#fff;--color-tutorial-modal-end:#f8fafc;--color-tutorial-text:#334155;--color-tutorial-text-muted:#64748b;--color-tutorial-preview-text:#475569;--color-tutorial-preview-strong:#1e293b;--color-tutorial-modal-heading:#0f172a;--gradient-chat-messages:radial-gradient(circle at top right,#3b82f60f,#0000 400px),radial-gradient(circle at bottom left,#9333ea0a,#0000 400px);--gradient-project-icon:linear-gradient(135deg,#2563eb1f,#2563eb0f);--shadow-card:0 20px 50px #0f172a14;--shadow-nav-dropdown:0 10px 30px #0f172a1f;--shadow-auth:0 20px 40px -15px #0f172a26;--shadow-settings:0 4px 24px #0f172a14;--shadow-dashboard:0 4px 6px -1px #0f172a0f,0 2px 4px -1px #0f172a0a;--shadow-project-hover:0 12px 24px -10px #0f172a1f,0 0 15px #2563eb1f;--color-hover-overlay:#0f172a0a;--color-hover-overlay-strong:#0f172a14;--color-icon-muted:#0f172a73;--color-icon-faint:#0f172a59;--color-welcome-text:#0f172a80;--color-scrollbar:#0f172a26;--color-project-border-hover:#2563eb66;--syntax-bg:#f1f5f9;--syntax-text:#1e293b;--syntax-keyword:#7c3aed;--syntax-string:#15803d;--syntax-comment:#64748b;--syntax-function:#2563eb;--syntax-number:#b45309;--syntax-operator:#db2777;--syntax-border:#0f172a1f}*{box-sizing:border-box;padding:0}*,body{margin:0}body{background-color:#0f172a;background-color:var(--color-bg);color:#f8fafc;color:var(--color-text);height:100dvh;overflow:hidden}.App{display:flex;flex-direction:column;height:100dvh;width:100%}.main-layout{background:radial-gradient(circle at top right,#3b82f61a,#0000 600px),radial-gradient(circle at bottom left,#a855f714,#0000 600px),radial-gradient(circle at center,#0f172a 0,#0a0f1c 100%);background:var(--gradient-main-layout);display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative;transition:all .5s ease}.main-layout:before{animation:rotate 60s linear infinite;background:radial-gradient(#3b82f608 0,#0000 60%);background:radial-gradient(var(--color-bg-rotate-glow) 0,#0000 60%);content:"";height:100%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:100%;z-index:0}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.content-area{align-items:center;overflow-y:auto;padding:1.5rem}.app-wrapper,.content-area{display:flex;flex:1 1;flex-direction:column;min-height:0}.app-wrapper{max-width:900px;width:100%}.profile-placeholder{color:#f8fafc;color:var(--color-text);margin-top:50px;text-align:center}.theme-toggle-btn{align-items:center;background:#ffffff0d;background:var(--color-hover-overlay);border:1px solid #ffffff1a;border:1px solid var(--color-border-strong);border-radius:8px;color:#fff;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:8px;justify-content:center;padding:8px 12px;transition:background .2s,border-color .2s}.theme-toggle-btn:hover{background:#ffffff1a;background:var(--color-hover-overlay-strong)}@media (max-width:768px){.content-area{padding:.75rem .75rem calc(64px + env(safe-area-inset-bottom, 0px) + .75rem);padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + .75rem)}}@media (max-width:480px){.content-area{padding:.5rem .5rem calc(64px + env(safe-area-inset-bottom, 0px) + .5rem);padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + .5rem)}}.chat-layout{--hud-obsidian:#0a0b0f;--hud-obsidian-elevated:#12141c;--hud-obsidian-surface:#0a0b0feb;--hud-cyan:#22d3ee;--hud-cyan-muted:#22d3ee24;--hud-cyan-border:#22d3ee59;--hud-cyan-glow:#22d3ee59;--hud-purple:#a78bfa;--hud-purple-muted:#a78bfa29;--hud-purple-border:#a78bfa66;--hud-terminal-green:#4ade80;--hud-terminal-green-muted:#4ade801f;--hud-terminal-green-border:#4ade8059;--hud-text:#e2e8f0;--hud-text-dim:#94a3b8;--hud-mono:"Cascadia Code","Fira Code","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--hud-scanline:linear-gradient(180deg,#0000,#22d3ee08 50%,#0000);display:flex;flex:1 1;gap:1rem;margin:0 auto;max-width:1200px;min-height:0;position:relative;width:100%}.conversation-sidebar{backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;width:260px}.sidebar-header{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:1rem 1rem .75rem}.sidebar-header h3{color:var(--color-text-primary);font-size:.95rem;font-weight:600;margin:0}.new-conversation-btn{background:var(--color-accent-muted);border:1px solid var(--color-accent-border);border-radius:8px;color:var(--color-accent-light);cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .65rem;transition:all .2s}.new-conversation-btn:hover{background:var(--color-accent-focus-ring)}.conversation-list{flex:1 1;list-style:none;margin:0;overflow-y:auto;padding:.5rem}.conversation-item{margin-bottom:.35rem}.conversation-row{align-items:center;display:flex;gap:.25rem}.conversation-select-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:var(--color-text-body);cursor:pointer;display:flex;flex:1 1;min-width:0;padding:.65rem .75rem;text-align:left;transition:all .2s}.conversation-item.active .conversation-row .conversation-select-btn{background:var(--color-accent-muted);border-color:var(--color-accent-border)}.conversation-select-btn:hover{background:var(--color-hover-overlay)}.conversation-item.active .conversation-select-btn:hover{background:var(--color-accent-focus-ring)}.conversation-title{flex:1 1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-actions{display:flex;gap:.15rem;opacity:0;padding-right:.35rem;transition:opacity .2s}.conversation-item.active .conversation-actions,.conversation-item:hover .conversation-actions{opacity:1}.conversation-action-btn{background:#0000;border:none;border-radius:4px;color:var(--color-icon-muted);cursor:pointer;font-size:.85rem;line-height:1;padding:.15rem .35rem}.conversation-action-btn:hover{background:var(--color-hover-overlay-strong);color:var(--color-text-primary)}.conversation-action-btn.delete:hover{background:var(--color-danger-muted);color:var(--color-danger)}.rename-form{display:flex;gap:.35rem;padding:.35rem}.rename-form input{flex:1 1;font-size:.8rem;min-width:0;padding:.4rem .55rem}.rename-form button,.rename-form input{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text-primary)}.rename-form button{cursor:pointer;font-size:.75rem;padding:.35rem .5rem}.sidebar-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);cursor:pointer;display:none;left:.75rem;padding:.5rem;position:absolute;top:.75rem;z-index:30}.sidebar-overlay{display:none}.chat-loading{align-items:center;color:var(--color-welcome-text);display:flex;justify-content:center;min-height:200px}.chat-container{backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);background:var(--color-surface);background:var(--hud-obsidian-surface,var(--color-surface));border:1px solid var(--hud-cyan-border,var(--color-border));border-radius:24px;box-shadow:var(--shadow-card),0 0 0 1px #a78bfa14,0 0 32px #0000;box-shadow:var(--shadow-card),0 0 0 1px #a78bfa14,0 0 32px var(--hud-cyan-glow,#0000);color:var(--color-text-body);color:var(--hud-text,var(--color-text-body));display:flex;flex:1 1;flex-direction:column;font-family:Inter,-apple-system,sans-serif;margin:0;max-width:1000px;min-height:0;overflow:hidden;transition:all .3s ease;width:100%}.chat-header{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.chat-header-info h2{color:var(--color-text-primary);font-size:1.1rem;font-weight:600;margin:0}.chat-header-badges{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:4px}.persona-picker{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:100px;color:var(--color-text-secondary);cursor:pointer;font-size:.7rem;outline:none;padding:2px 8px}.persona-picker:focus{border-color:var(--color-accent-border)}.model-badge{background:var(--color-accent-muted);border:1px solid var(--color-accent-border);border-radius:100px;color:var(--color-accent-light);display:inline-block;font-size:.7rem;padding:2px 8px;text-transform:lowercase}.clear-btn{background:#0000;border:none;border-radius:8px;color:var(--color-icon-muted);cursor:pointer;padding:8px;transition:all .2s}.clear-btn:hover{background:var(--color-danger-muted);color:var(--color-danger)}.chat-messages{background:var(--gradient-chat-messages);display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:2rem;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:10px}.chat-welcome{align-items:center;animation:fadeIn .8s ease-out;color:var(--color-welcome-text);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.welcome-icon{font-size:3rem;margin-bottom:1rem}.chat-bubble{animation:slideUp .4s cubic-bezier(.2,.8,.2,1);border-radius:20px;display:flex;flex-direction:column;max-width:80%;padding:1.25rem;position:relative}.bubble-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.chat-bubble.user{align-self:flex-end;background:var(--gradient-user-bubble);border-bottom-right-radius:4px;box-shadow:0 4px 15px var(--color-accent-shadow);color:var(--color-on-accent)}.chat-bubble.assistant{align-self:flex-start;background:var(--color-surface-muted);border:1px solid var(--color-border);border-bottom-left-radius:4px;color:var(--color-text-body)}.chat-role{font-size:.75rem;font-weight:600;letter-spacing:.05em;opacity:.5;text-transform:uppercase}.message-actions{align-items:center;display:flex;gap:.15rem;opacity:0;transition:opacity .2s}.chat-bubble:hover .message-actions{opacity:1}.message-action-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--color-icon-faint);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s,background .2s}.message-action-btn:hover{background:var(--color-hover-overlay-strong);color:var(--color-text-primary)}.message-menu{position:relative}.message-menu-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.15rem;min-width:130px;padding:.35rem;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.message-menu-dropdown button{background:#0000;border:none;border-radius:6px;color:var(--color-text-body);cursor:pointer;font-size:.8rem;padding:.45rem .6rem;text-align:left}.message-menu-dropdown button:hover:not(:disabled){background:var(--color-hover-overlay)}.message-menu-dropdown button.danger{color:var(--color-danger)}.message-menu-dropdown button.danger:hover:not(:disabled){background:var(--color-danger-muted)}.message-menu-dropdown button:disabled{cursor:not-allowed;opacity:.5}.message-edit-form{display:flex;flex-direction:column;gap:.5rem}.message-edit-form textarea{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-text-primary);font-family:inherit;font-size:.95rem;line-height:1.5;min-height:80px;padding:.65rem .75rem;resize:vertical;width:100%}.message-edit-actions{display:flex;gap:.5rem}.message-edit-actions button{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text-primary);cursor:pointer;font-size:.8rem;padding:.4rem .75rem}.message-edit-actions button[type=submit]{background:var(--color-accent-muted);border-color:var(--color-accent-border);color:var(--color-accent-light)}.message-edit-actions button:disabled{cursor:not-allowed;opacity:.5}.delete-toast{align-items:center;animation:slideUp .3s ease-out;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-body);display:flex;font-size:.85rem;gap:1rem;justify-content:space-between;margin:0 1.5rem .75rem;padding:.75rem 1rem}.delete-toast button{background:#0000;border:none;border-radius:6px;color:var(--color-accent-light);cursor:pointer;font-weight:600;padding:.25rem .5rem}.delete-toast button:hover{background:var(--color-accent-muted)}.chat-text{font-size:.95rem;line-height:1.6;margin:0;white-space:pre-wrap}.chat-text pre,.message-content pre{background:var(--syntax-bg);border:1px solid var(--syntax-border);border-radius:8px;color:var(--syntax-text);overflow-x:auto;padding:1rem}.chat-text code,.message-content code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background:var(--color-accent);border-radius:50%;height:6px;width:6px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-form{background:var(--color-surface-subtle);border-top:1px solid var(--color-border-subtle);padding:1.5rem}.input-wrapper{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:16px;display:flex;padding:6px;transition:border-color .3s,box-shadow .3s}.input-wrapper:focus-within{border-color:var(--color-accent-focus);box-shadow:0 0 0 4px var(--color-accent-focus-ring)}.input-wrapper input{background:#0000;border:none;color:var(--color-text-primary);flex:1 1;font-size:1rem;outline:none;padding:.75rem 1rem}.send-btn{align-items:center;background:var(--color-accent);border:none;border-radius:12px;color:var(--color-on-accent);cursor:pointer;display:flex;height:42px;justify-content:center;transition:all .2s;width:42px}.send-btn:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.send-btn:disabled{cursor:not-allowed;opacity:.5}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.chat-layout{gap:0;max-width:100%}.sidebar-toggle{align-items:center;display:flex;justify-content:center}.conversation-sidebar{border-radius:0;bottom:0;left:0;position:fixed;top:0;transform:translateX(-105%);transition:transform .3s ease;width:min(85vw,300px);z-index:40}.conversation-sidebar.open{transform:translateX(0)}.sidebar-overlay{background:var(--color-overlay-medium);border:none;cursor:pointer;display:block;inset:0;padding:0;position:fixed;z-index:35}.chat-container{border-radius:0;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px));padding-top:3rem}.chat-messages{padding:1rem}.chat-bubble{max-width:90%}.chat-input-form{padding:1rem}}@media (max-width:480px){.chat-bubble{max-width:95%;padding:1rem}.chat-header{padding:1rem}}.voice-controls{align-items:center;display:flex;gap:.5rem;margin-bottom:.65rem}.voice-state-indicator{align-items:center;background:var(--color-surface);background:var(--hud-obsidian-elevated,var(--color-surface));border:1px solid var(--hud-cyan-border,var(--color-border));border-radius:999px;color:var(--color-text-secondary);color:var(--hud-text-dim,var(--color-text-secondary));display:inline-flex;font-family:ui-monospace,monospace;font-family:var(--hud-mono,ui-monospace,monospace);font-size:.7rem;gap:.4rem;letter-spacing:.06em;padding:.25rem .65rem;text-transform:uppercase}.voice-state-dot{animation:voice-state-pulse 1.2s ease-in-out infinite;background:currentColor;border-radius:50%;box-shadow:0 0 8px currentColor;height:7px;width:7px}.voice-state-listening{background:#22d3ee24;background:var(--hud-cyan-muted,#22d3ee24);border-color:#22d3ee59;border-color:var(--hud-cyan-border,#22d3ee59);color:#22d3ee;color:var(--hud-cyan,#22d3ee)}.voice-state-processing{background:#a78bfa29;background:var(--hud-purple-muted,#a78bfa29);border-color:#a78bfa66;border-color:var(--hud-purple-border,#a78bfa66);color:#a78bfa;color:var(--hud-purple,#a78bfa)}.voice-state-speaking{background:#4ade801f;background:var(--hud-terminal-green-muted,#4ade801f);border-color:#4ade8059;border-color:var(--hud-terminal-green-border,#4ade8059);color:#4ade80;color:var(--hud-terminal-green,#4ade80)}@keyframes voice-state-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.voice-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.voice-btn.active,.voice-btn.recording,.voice-btn:hover:not(:disabled){border-color:var(--color-accent-border);color:var(--color-accent-light)}.voice-btn.active,.voice-btn.recording{background:var(--color-accent-muted);box-shadow:0 0 0 3px var(--color-accent-focus-ring)}.voice-btn.speaking{border-color:var(--hud-terminal-green-border,var(--color-accent-border));box-shadow:0 0 0 3px var(--color-accent-focus-ring);box-shadow:0 0 0 3px var(--hud-terminal-green-muted,var(--color-accent-focus-ring));color:var(--color-accent-light);color:var(--hud-terminal-green,var(--color-accent-light))}.voice-btn:disabled{cursor:not-allowed;opacity:.5}.voice-level{align-items:flex-end;display:inline-flex;gap:3px;height:24px;min-width:24px}.voice-level span{background:var(--color-accent-light);border-radius:999px;display:block;height:18px;transform-origin:bottom;transition:transform .08s linear;width:4px}.ghost-transcript{font-style:italic;opacity:.75}.chat-bubble.tool-activity{align-self:stretch;background:#0000;border:none;box-shadow:none;max-width:100%;padding:.15rem 0}.tool-activity-chip{display:flex;flex-direction:column;font-family:ui-monospace,monospace;font-family:var(--hud-mono,ui-monospace,monospace);gap:.25rem;max-width:100%}.tool-activity-toggle{align-items:center;background:var(--color-surface-muted);background:var(--hud-obsidian-elevated,var(--color-surface-muted));border:1px solid var(--hud-terminal-green-border,var(--color-border));border-radius:6px;box-shadow:inset 0 0 0 1px #4ade800f;color:var(--color-success-text);color:var(--hud-terminal-green,var(--color-success-text));cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8rem;gap:.5rem;letter-spacing:.02em;max-width:100%;padding:.4rem .75rem;text-align:left;width:100%}.tool-activity-toggle:hover{background:#0a0b0f;background:var(--hud-obsidian,#0a0b0f);border-color:var(--hud-cyan-border,var(--color-accent-border));color:var(--color-accent-light);color:var(--hud-cyan,var(--color-accent-light))}.tool-activity-toggle:focus-visible{outline:2px solid var(--color-accent);outline:2px solid var(--hud-cyan,var(--color-accent));outline-offset:2px}.tool-activity-prompt{color:#a78bfa;color:var(--hud-purple,#a78bfa);flex-shrink:0;font-weight:700}.tool-activity-label{font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-activity-details{background:var(--color-surface-muted);background:var(--hud-terminal-green-muted,var(--color-surface-muted));border-left:2px solid #4ade80;border-left:2px solid var(--hud-terminal-green,#4ade80);border-radius:0 4px 4px 0;color:var(--color-text-secondary);color:var(--hud-text-dim,var(--color-text-secondary));font-family:inherit;font-size:.78rem;padding:.4rem .75rem .4rem .85rem}.chat-notice{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:.75rem;color:var(--color-text-secondary);font-size:.9rem;margin:.5rem 0;padding:.75rem 1rem}.chat-notice.assistant_error,.chat-notice.tool_denied{border-color:#d97706}.confirmation-prompt{background:linear-gradient(135deg,#0000,#0000),var(--color-accent-muted);background:linear-gradient(135deg,var(--hud-purple-muted,#0000),var(--hud-cyan-muted,#0000)),var(--hud-obsidian-elevated,var(--color-accent-muted));border:1px solid var(--hud-purple-border,var(--color-accent-border));border-radius:.75rem;box-shadow:0 0 0 1px #22d3ee1f,0 0 24px #a78bfa1f;color:var(--color-text-body);color:var(--hud-text,var(--color-text-body));margin:.75rem 0;padding:1rem 1.1rem}.confirmation-prompt .confirmation-title,.confirmation-prompt strong{color:var(--color-accent-light);color:var(--hud-cyan,var(--color-accent-light))}.confirmation-actions{display:flex;gap:.5rem;margin-top:.75rem}.memory-toast{background:var(--color-surface-muted);border-radius:.5rem;color:var(--color-text-secondary);font-size:.85rem;margin-bottom:.5rem;padding:.5rem .75rem}.message-content{color:inherit;font-size:.95rem;line-height:1.6;word-break:break-word}.message-content>:first-child{margin-top:0}.message-content>:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3,.message-content h4{color:var(--syntax-text);font-weight:600;line-height:1.3;margin:1.25rem 0 .5rem}.message-content h1{font-size:1.4rem}.message-content h2{font-size:1.2rem}.message-content h3{font-size:1.05rem}.message-content h4{font-size:.95rem}.message-content p{margin:.5rem 0}.message-content ol,.message-content ul{margin:.5rem 0;padding-left:1.5rem}.message-content li{margin:.25rem 0}.message-content li>p{margin:0}.message-content blockquote{background:var(--color-surface-subtle);border-left:3px solid var(--color-accent-focus);border-radius:0 8px 8px 0;color:var(--color-text-body);margin:.75rem 0;padding:.5rem 1rem}.message-content .inline-code{background:var(--syntax-bg);border:1px solid var(--syntax-border);border-radius:4px;color:var(--syntax-function);font-family:Consolas,Monaco,Courier New,monospace;font-size:.88em;padding:.15em .4em}.message-content .message-link{color:var(--color-accent-light);text-decoration:underline;text-underline-offset:2px;transition:color .2s}.message-content .message-link:hover{color:var(--color-accent-lighter)}.message-content table{border-collapse:collapse;border-radius:8px;font-size:.9rem;margin:.75rem 0;overflow:hidden;width:100%}.message-content td,.message-content th{border:1px solid var(--syntax-border);padding:.5rem .75rem;text-align:left}.message-content th{background:var(--color-surface-muted);color:var(--syntax-text);font-weight:600}.message-content tr:nth-child(2n) td{background:var(--color-surface-subtle)}.message-content hr{border:none;border-top:1px solid var(--color-border-strong);margin:1rem 0}.code-block-wrapper{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--syntax-bg);border:1px solid var(--syntax-border);border-radius:12px;margin:.75rem 0;overflow:hidden}.code-block-header{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:.4rem .75rem}.code-block-lang{color:var(--color-icon-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.code-block-copy{background:#0000;border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:.7rem;font-weight:500;padding:.2rem .6rem;transition:all .2s}.code-block-copy:hover{background:var(--color-accent-muted);border-color:var(--color-accent-border);color:var(--color-accent-lighter)}.message-content .token.keyword{color:var(--syntax-keyword)}.message-content .token.string{color:var(--syntax-string)}.message-content .token.comment{color:var(--syntax-comment)}.message-content .token.function{color:var(--syntax-function)}.message-content .token.number{color:var(--syntax-number)}.message-content .token.operator{color:var(--syntax-operator)}.settings-container{background:var(--color-surface-settings);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-settings);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 auto;max-width:600px;padding:30px}.settings-title{border-bottom:2px solid var(--color-border-subtle);color:var(--color-text-primary);font-size:1.5rem;margin-bottom:24px;margin-top:0;padding-bottom:12px}.settings-section{margin-bottom:32px}.settings-section h3{color:var(--color-text-body);font-size:1.1rem;margin-bottom:16px}.settings-form{display:flex;flex-direction:column;gap:16px}.settings-container .form-group{display:flex;flex-direction:column;gap:8px}.settings-container .form-group label{color:var(--color-text-secondary);font-size:.9rem;font-weight:600}.settings-container .form-group input,.settings-container .form-group select{background:var(--color-surface-input);border:1px solid var(--color-border-settings);border-radius:8px;color:var(--color-text);font-size:1rem;outline:none;padding:10px 14px;transition:border-color .2s}.settings-container .form-group input:focus,.settings-container .form-group select:focus{border-color:var(--color-accent)}.save-button{background:var(--color-accent);border:none;border-radius:8px;color:var(--color-on-accent);cursor:pointer;font-weight:600;margin-top:8px;padding:12px;transition:background-color .2s}.save-button:hover{background:var(--color-accent-hover)}.model-select{width:100%}.helper-text{color:var(--color-text-secondary);font-size:.8rem;margin-top:8px}.settings-status{animation:fadeIn .3s ease-out;background:var(--color-success-bg);border-radius:8px;color:var(--color-success-text);font-size:.9rem;margin-bottom:20px;padding:12px;text-align:center}.settings-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.theme-setting{align-items:center;display:flex;gap:1rem;justify-content:space-between}.theme-setting-label{display:flex;flex-direction:column;gap:4px}.theme-setting-label span{color:var(--color-text-secondary);font-size:.8rem}.theme-toggle-group{display:flex;gap:.5rem}.theme-option{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:all .2s}.theme-option:hover{background:var(--color-hover-overlay);color:var(--color-text-primary)}.theme-option.active{background:var(--color-accent-muted);border-color:var(--color-accent-border);color:var(--color-accent-light)}.persona-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0 0 20px;padding:0}.persona-list-item{align-items:center;background:var(--color-surface-muted);border:1px solid var(--color-border-settings);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.persona-list-info{align-items:center;display:flex;gap:8px}.persona-default-badge{background:var(--color-accent-muted);border:1px solid var(--color-accent-border);border-radius:100px;color:var(--color-accent-light);font-size:.7rem;padding:2px 8px}.persona-list-actions{display:flex;flex-wrap:wrap;gap:8px}.persona-action-btn{background:var(--color-surface-input);border:1px solid var(--color-border-strong);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:.8rem;padding:6px 10px}.persona-action-btn.delete{color:#b42318;color:var(--color-danger-text,#b42318)}.persona-form h4{color:var(--color-text-body);font-size:1rem;margin:0 0 12px}.settings-container .form-group textarea{background:var(--color-surface-input);border:1px solid var(--color-border-settings);border-radius:8px;color:var(--color-text);font-family:inherit;font-size:1rem;min-height:96px;outline:none;padding:10px 14px;resize:vertical;transition:border-color .2s}.settings-container .form-group textarea:focus{border-color:var(--color-accent)}.persona-default-checkbox{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.9rem;gap:8px}.persona-form-actions{display:flex;flex-wrap:wrap;gap:10px}.secondary-button{background:#0000;border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-weight:600;padding:12px 16px}@media (max-width:768px){.settings-container{border-radius:8px;padding:20px 16px}.settings-title{font-size:1.25rem}.theme-setting{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.settings-container{padding:16px 12px}}.capabilities-list,.memory-list{list-style:none;margin:.75rem 0 0;padding:0}.capabilities-list li,.memory-list li{border-bottom:1px solid var(--color-border);display:flex;gap:1rem;justify-content:space-between;padding:.5rem 0}.capability-unavailable{opacity:.55}.navigation-bar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--color-nav-bg);border-bottom:1px solid var(--color-border-subtle);display:flex;height:var(--nav-height);justify-content:space-between;padding:0 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-brand{-webkit-text-fill-color:#0000;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;cursor:default;font-size:1.5rem;font-weight:800}.nav-main-links{display:flex;gap:1.5rem;left:50%;position:absolute;transform:translateX(-50%)}.nav-link{align-items:center;border-radius:10px;color:var(--color-text-secondary);display:flex;font-weight:500;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-link:hover{background:var(--color-hover-overlay);color:var(--color-text-primary)}.nav-link.active{background:var(--color-hover-overlay-strong);color:var(--color-text-primary)}.nav-link.active svg{color:var(--color-accent-light)}.nav-right-section{align-items:center;display:flex;gap:1rem}.desktop-settings{align-items:center;display:flex;gap:.5rem}.burger-toggle{background:var(--color-hover-overlay);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text-primary);cursor:pointer;display:none;padding:8px}.nav-theme-toggle{min-width:36px;padding:8px}.nav-theme-toggle span{display:none}.mobile-bottom-nav{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--color-nav-bg-mobile);border-top:1px solid var(--color-border-strong);bottom:0;display:none;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px));justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;width:100%;z-index:1000}.mobile-nav-item{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:.75rem;font-weight:600;gap:4px;text-decoration:none}.mobile-nav-item.active{color:var(--color-accent-light)}.burger-menu{background:var(--color-surface-elevated);border:1px solid var(--color-border-strong);border-radius:16px;box-shadow:var(--shadow-nav-dropdown);opacity:0;overflow:hidden;pointer-events:none;position:fixed;right:1.5rem;top:calc(var(--nav-height) + 8px);transform:translateY(-10px) scale(.95);transition:all .2s cubic-bezier(.4,0,.2,1);width:240px;z-index:1001}.burger-menu.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.burger-content{padding:1rem}.burger-content h4{color:var(--color-text-muted);font-size:.7rem;letter-spacing:1px;margin-bottom:12px;padding:0 .5rem;text-transform:uppercase}.burger-item{align-items:center;background:none;border:none;border-radius:10px;color:var(--color-text-tertiary);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;gap:12px;padding:10px 12px;text-decoration:none;transition:background .2s;width:100%}.burger-item:hover{background:var(--color-hover-overlay);color:var(--color-text-primary)}.menu-backdrop{height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:999}@media (max-width:768px){.navigation-bar{height:60px;padding:0 1rem}.desktop-settings,.nav-main-links{display:none}.burger-toggle,.mobile-bottom-nav{display:flex}.burger-menu{right:1rem;top:70px;width:calc(100% - 2rem)}}.auth-container{align-items:center;display:flex;flex:1 1;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;overflow-y:auto;padding:1rem}.auth-card,.auth-container{box-sizing:border-box;width:100%}.auth-card{border:1px solid var(--color-border-strong);border-radius:24px;box-shadow:var(--shadow-auth);margin:auto;max-width:420px;padding:2.5rem;text-align:center}.auth-card.glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--color-surface-auth)}.auth-brand{-webkit-text-fill-color:#0000;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-.025em;margin-bottom:2rem}.auth-card h2{color:var(--color-text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.025em;margin-bottom:.5rem}.auth-card p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:2rem}.auth-form{text-align:left}.auth-container .form-group{margin-bottom:1.25rem}.auth-container .form-group label{color:var(--color-text-tertiary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.auth-container .form-group input{background:var(--color-surface-input);border:1px solid var(--color-border-input);border-radius:12px;box-sizing:border-box;color:var(--color-text-primary);font-family:inherit;font-size:.95rem;outline:none;padding:.875rem 1rem;transition:all .2s ease;width:100%}.auth-container .form-group input::placeholder{color:var(--color-text-placeholder)}.auth-container .form-group input:focus{background:var(--color-surface-hover);border-color:var(--color-accent-light);box-shadow:0 0 0 4px var(--color-accent-muted)}.auth-button{background:var(--gradient-accent-btn);border:none;border-radius:12px;box-shadow:var(--shadow-button);box-sizing:border-box;color:var(--color-on-accent);cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.875rem;transition:all .2s ease;width:100%}.auth-button:hover:not(:disabled){box-shadow:var(--shadow-button-hover);transform:translateY(-2px)}.auth-button:disabled{background:var(--color-disabled);box-shadow:none;cursor:not-allowed;opacity:.7;transform:none}.auth-error{align-items:center;background:var(--color-danger-muted);border:1px solid var(--color-danger-border);border-radius:12px;color:var(--color-danger-text);display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1.5rem;padding:.875rem}.auth-footer{color:var(--color-text-secondary);font-size:.95rem;margin-top:2rem}.auth-footer a{color:var(--color-accent-light);font-weight:500;text-decoration:none;transition:color .2s ease}.auth-footer a:hover{color:var(--color-accent-lighter);text-decoration:underline}@media (max-width:480px){.auth-card{border-radius:20px;padding:2rem 1.5rem}.auth-brand{font-size:2.25rem;margin-bottom:1.5rem}.auth-card h2{font-size:1.5rem}}.ship-builder{color:var(--color-ship-text);min-height:100vh;padding:24px 16px;position:relative}.builder-layout{align-items:flex-start;display:flex;gap:24px;margin:0 auto;max-width:900px}.inventory-panel,.schematic-panel{background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:12px;padding:20px;transition:box-shadow .3s ease,opacity .3s ease,filter .3s ease}.inventory-panel{flex:0 0 260px}.schematic-panel{flex:1 1}.panel-title{color:var(--color-panel-accent);font-size:1rem;font-weight:600;letter-spacing:.06em;margin:0 0 4px;text-transform:uppercase}.panel-hint{color:var(--color-panel-hint);font-size:.8rem;margin:0 0 16px}.ship-builder.tutorial-mode .inventory-panel:not(.tutorial-highlighted),.ship-builder.tutorial-mode .schematic-panel:not(.tutorial-highlighted){filter:blur(1.5px);opacity:.35;pointer-events:none}.tutorial-highlighted{border-color:var(--color-cyan)!important;box-shadow:0 0 0 3px var(--color-cyan),0 0 24px var(--color-cyan-glow),0 0 60px var(--color-cyan-muted);position:relative;z-index:1010}.component-list{display:flex;flex-direction:column;gap:8px}.component-item{-webkit-user-drag:none;align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;color:var(--color-ship-text-muted);cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:background .15s ease,border-color .15s ease,transform .1s ease;-webkit-user-select:none;user-select:none;width:100%}.component-item:hover{background:var(--color-cyan-surface);border-color:var(--color-cyan-border)}.component-item:active{transform:scale(.97)}.component-item.selected{background:var(--color-cyan-muted);border-color:var(--color-cyan)}.component-icon{flex-shrink:0;font-size:1.5rem}.component-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.component-name{color:var(--color-ship-text);font-size:.9rem;font-weight:600}.component-desc{color:var(--color-panel-hint);font-size:.72rem}.selected-badge{background:var(--color-cyan-muted);border:1px solid var(--color-cyan-border);border-radius:4px;color:var(--color-cyan);flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.07em;padding:2px 6px;text-transform:uppercase}.schematic-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);margin:0 auto;max-width:360px}.schematic-slot{-webkit-user-drag:none;align-items:center;aspect-ratio:1;background:var(--color-surface-subtle);border:2px dashed var(--color-border-dashed);border-radius:10px;color:var(--color-text-disabled);cursor:default;display:flex;flex-direction:column;font-size:.72rem;gap:4px;justify-content:center;transition:background .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.schematic-slot.available{animation:pulse-slot 1.6s ease-in-out infinite;background:var(--color-cyan-surface);border-color:var(--color-cyan-border);color:var(--color-cyan);cursor:pointer}.schematic-slot.available:hover{background:var(--color-cyan-muted);border-color:var(--color-cyan);box-shadow:0 0 12px var(--color-cyan-glow)}.schematic-slot.available:active{transform:scale(.94)}.schematic-slot.occupied{background:var(--color-cyan-surface);border:2px solid var(--color-cyan-border);color:var(--color-ship-text-muted);cursor:default}.slot-label{font-size:.7rem;text-align:center}.slot-icon{font-size:1.4rem}.slot-name{color:var(--color-panel-accent);font-size:.65rem;text-align:center}@keyframes pulse-slot{0%,to{box-shadow:0 0 0 0 var(--color-cyan-glow)}50%{box-shadow:0 0 0 5px #0000}}@media (max-width:768px){.ship-builder{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 24px)}}@media (max-width:640px){.ship-builder{min-height:0;padding:16px 12px;padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 24px)}.builder-layout{flex-direction:column}.inventory-panel{flex:none;width:100%}}.tutorial-overlay-dim{animation:fade-in .25s ease;background:var(--color-overlay-dim);inset:0;pointer-events:none;position:fixed;z-index:1005}.tutorial-banner{align-items:center;animation:slide-down .3s ease;background:var(--gradient-tutorial-banner);border-bottom:2px solid var(--color-cyan);box-shadow:0 4px 20px var(--color-cyan-muted);display:flex;gap:16px;left:0;padding:12px 20px;position:fixed;right:0;top:0;z-index:1020}.tutorial-progress{display:flex;flex-shrink:0;gap:6px}.progress-dot{background:var(--color-hover-overlay-strong);border:1.5px solid var(--color-border-strong);border-radius:50%;height:10px;transition:background .3s ease,border-color .3s ease;width:10px}.progress-dot.active{background:var(--color-cyan);border-color:var(--color-cyan);box-shadow:0 0 8px var(--color-cyan-glow)}.tutorial-instruction{align-items:center;display:flex;flex:1 1;gap:10px}.tutorial-step-badge{background:var(--color-cyan-muted);border:1px solid var(--color-cyan-border);border-radius:4px;color:var(--color-cyan);flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase}.instruction-text{color:var(--color-tutorial-text);font-size:.9rem;line-height:1.4;margin:0}.instruction-text strong{color:var(--color-text-primary)}.instruction-text em{color:var(--color-cyan);font-style:normal;font-weight:600}.instruction-arrow{flex-shrink:0;font-size:1.1rem}.left-arrow,.right-arrow{color:var(--color-cyan)}.tutorial-modal-overlay{align-items:center;animation:fade-in .2s ease;background:var(--color-overlay-heavy);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.tutorial-modal{animation:scale-in .25s ease;background:var(--gradient-tutorial-modal);border:1px solid var(--color-cyan-border);border-radius:16px;box-shadow:0 0 0 1px var(--color-cyan-muted),0 20px 60px var(--color-overlay-heavy),0 0 40px var(--color-cyan-surface);max-width:420px;padding:36px 32px;text-align:center;width:100%}.tutorial-modal h2{color:var(--color-tutorial-modal-heading);font-size:1.4rem;font-weight:700;margin:0 0 12px}.tutorial-modal p{color:var(--color-tutorial-text-muted);font-size:.9rem;line-height:1.6;margin:0 0 24px}.tutorial-modal-icon{display:block;font-size:2.8rem;margin-bottom:16px}.tutorial-steps-preview{display:flex;flex-direction:column;gap:12px;margin:0 0 28px;text-align:left}.preview-step{align-items:flex-start;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:8px;color:var(--color-tutorial-preview-text);display:flex;font-size:.85rem;gap:12px;line-height:1.4;padding:12px 14px}.preview-step strong{color:var(--color-tutorial-preview-strong)}.step-num{align-items:center;background:var(--color-cyan);border-radius:50%;color:var(--color-bg);display:flex;flex-shrink:0;font-size:.8rem;font-weight:800;height:24px;justify-content:center;width:24px}.tutorial-modal.success{border-color:var(--color-success-text);box-shadow:0 0 0 1px var(--color-success-bg),0 20px 60px var(--color-overlay-heavy),0 0 40px var(--color-success-bg)}.success-icon{align-items:center;background:var(--gradient-tutorial-btn);border-radius:50%;color:var(--color-bg);display:flex;font-size:1.8rem;font-weight:800;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.tutorial-btn{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 28px;transition:opacity .15s ease,transform .1s ease}.tutorial-btn:active{transform:scale(.97)}.tutorial-btn.primary{background:var(--gradient-tutorial-btn);color:var(--color-text-primary)}.tutorial-btn.primary:hover{opacity:.9}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.projects-container{animation:fadeIn .4s ease-out;color:var(--color-text);margin:0 auto;max-width:1200px;padding:2rem 1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.projects-header{margin-bottom:3.5rem;text-align:center}.projects-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-projects);-webkit-background-clip:text;background-clip:text;font-size:2.8rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.projects-header p{color:var(--color-text-secondary);font-size:1.1rem;margin:0 auto;max-width:600px}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:20px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:220px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:hover{background:var(--color-surface-hover);border-color:var(--color-project-border-hover);box-shadow:var(--shadow-project-hover);transform:translateY(-8px)}.project-card-icon{align-items:center;background:var(--gradient-project-icon);border-radius:16px;color:var(--color-accent);display:flex;height:64px;justify-content:center;margin-bottom:1.5rem;transition:transform .3s ease;width:64px}.project-card:hover .project-card-icon{color:var(--color-accent-light);transform:scale(1.1) rotate(5deg)}.project-card-content h3{color:var(--color-text-primary);font-size:1.4rem;font-weight:700;margin:0 0 .75rem}.project-card-content p{color:var(--color-text-tertiary);font-size:.95rem;line-height:1.6;margin:0}.project-card-footer{align-items:center;color:var(--color-accent);display:flex;font-size:.85rem;font-weight:600;gap:.5rem;margin-top:2rem;opacity:.8;transition:gap .3s ease}.project-card:hover .project-card-footer{gap:.75rem;opacity:1}@media (max-width:768px){.projects-container{padding:1.5rem 1rem}.projects-header{margin-bottom:2rem}.projects-header h1{font-size:2.2rem}.projects-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:480px){.projects-header h1{font-size:1.8rem}.projects-grid{gap:1rem;grid-template-columns:1fr}.project-card{min-height:auto}}.card-creator-page{animation:fadeIn .4s ease-out;color:var(--color-text);flex:1 1;margin:0 auto;max-width:1200px;min-height:0;overflow-y:auto;padding:2rem 1.5rem;width:100%}.page-header{margin-bottom:3rem;text-align:center}.page-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-digimon);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:.5rem}.page-header p{color:var(--color-text-secondary)}.creator-container{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1.2fr}.input-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:24px;display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.card-creator-page .form-group{display:flex;flex-direction:column;gap:.5rem}.card-creator-page .form-group label{color:var(--color-text-tertiary);font-size:.9rem;font-weight:600;margin-left:.25rem}.card-creator-page .form-group input,.card-creator-page .form-group textarea{background:var(--color-input-bg);border:1px solid var(--color-border-input);border-radius:12px;color:var(--color-text-primary);font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.card-creator-page .form-group input:focus,.card-creator-page .form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-muted);outline:none}.upload-box{border:2px dashed var(--color-border-dashed);border-radius:16px;cursor:pointer;height:200px;overflow:hidden;position:relative;transition:all .3s ease}.upload-box:hover{background:var(--color-accent-muted);border-color:var(--color-accent)}.upload-box img{height:100%;object-fit:cover;width:100%}.upload-placeholder{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:center}.preview-section{display:flex;justify-content:center;position:-webkit-sticky;position:sticky;top:2rem}.card-preview{background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid #ffffff26;border-radius:18px;box-shadow:0 25px 50px -12px #000c,0 0 20px #f5576c4d;height:560px;overflow:hidden;padding:12px;position:relative;width:400px}.card-inner{border:2px solid #fbbf24;border-radius:12px;display:flex;flex-direction:column;height:100%}.card-top-bar{align-items:center;background:#fbbf24;color:#000;display:flex;font-size:.85rem;font-style:italic;font-weight:800;height:40px;justify-content:space-between;padding:0 1rem;text-transform:uppercase}.card-image-container{background:#000;border:2px solid #fbbf24;flex:1 1;margin:8px;overflow:hidden;position:relative}.card-image-container img{height:100%;object-fit:cover;width:100%}.placeholder-image{align-items:center;background:repeating-linear-gradient(0deg,#fbbf240d,#fbbf240d 1px,#0000 0,#0000 2px);display:flex;height:100%;justify-content:center;width:100%}.scan-line{animation:scan 2s linear infinite;background:#fbbf244d;box-shadow:0 0 15px #fbbf2480;height:4px;position:absolute;top:0;width:100%}@keyframes scan{0%{top:-10%}to{top:110%}}.card-details{background:#fbbf24;border-radius:4px;color:#000;margin:0 8px 8px;padding:1rem}.card-name{border-bottom:2px solid #000;font-size:1.4rem;font-weight:900;margin:0 0 8px;padding-bottom:4px;text-transform:uppercase}.card-stats{display:flex;flex-direction:column;gap:8px}.stat-group label{display:block;font-size:.65rem;font-weight:800;letter-spacing:.05em;opacity:.8}.stat-group p{font-size:.85rem;font-weight:700;line-height:1.2;margin:0}@media (max-width:900px){.creator-container{grid-template-columns:1fr}.preview-section{margin-bottom:2rem;order:-1;position:static}.card-preview{height:490px;max-width:350px;width:100%}}@media (max-width:768px){.card-creator-page{padding:1.5rem 1rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem}}@media (max-width:480px){.page-header h1{font-size:1.6rem}.card-preview{aspect-ratio:5/7;height:auto;max-width:100%}.input-section{padding:1.25rem}}.dashboard-container{color:var(--color-text-body);margin:0 auto;max-width:1200px;padding:2rem}.dashboard-title{color:var(--color-text-heading);font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.dashboard-subtitle{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:2rem}.dashboard-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.dashboard-card{background-color:var(--color-surface-card);border:1px solid var(--color-border-card);border-radius:8px;box-shadow:var(--shadow-dashboard);padding:1.5rem}.dashboard-card h3{color:var(--color-text-heading);font-size:1.25rem;margin-bottom:1rem;margin-top:0}.dashboard-card p{color:var(--color-text-subtle);line-height:1.5;margin:0}@media (max-width:768px){.dashboard-container{padding:1.5rem 1rem}.dashboard-title{font-size:1.8rem}.dashboard-subtitle{font-size:1rem;margin-bottom:1.5rem}.dashboard-content{gap:1rem;grid-template-columns:1fr}}@media (max-width:480px){.dashboard-title{font-size:1.5rem}}.admin-container{color:var(--color-text-body);margin:0 auto;max-width:1200px;padding:2rem}.admin-header{align-items:center;display:flex;margin-bottom:.5rem}.admin-title{color:var(--color-text-heading);font-size:2.5rem;font-weight:600;margin:0 1rem 0 0}.admin-badge{background-color:var(--color-admin-badge);border-radius:9999px;color:var(--color-on-accent);font-size:.875rem;font-weight:700;padding:.25rem .75rem;text-transform:uppercase}.admin-subtitle{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:2rem}.admin-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.admin-card{background-color:var(--color-surface-card-alt);border:1px solid var(--color-border-card);border-left:4px solid var(--color-admin-badge);border-radius:8px;box-shadow:var(--shadow-dashboard);padding:1.5rem}.admin-card h3{color:var(--color-text-heading);font-size:1.25rem;margin-bottom:1rem;margin-top:0}.admin-card p{color:var(--color-text-subtle);line-height:1.5;margin:0}@media (max-width:768px){.admin-container{padding:1.5rem 1rem}.admin-title{font-size:1.8rem}.admin-subtitle{font-size:1rem;margin-bottom:1.5rem}.admin-content{gap:1rem;grid-template-columns:1fr}}@media (max-width:480px){.admin-title{font-size:1.5rem}}
/*# sourceMappingURL=main.85705da0.css.map*/