:root{--primary: #c8f04a;--secondary: #a89bc2;--accent: #c8f04a;--bg: #080808;--bg-hover: #2a2a2a;--text: #999999;--text-bright: #f0ede6;--text-muted: #666666;--border: rgba(168,155,194,.12);--error: #ff4444;--disabled: #444444;--bg-primary: var(--bg);--bg-secondary: var(--bg-hover);--text-primary: var(--text-bright);--text-secondary: var(--text);--accent-primary: var(--primary);--accent-secondary: var(--secondary);--border-color: var(--border);--status-success: #c8f04a;--status-warning: #ffa500;--status-error: #ff4444}.theme-echodigital{--primary: #c8f04a;--secondary: #a89bc2;--accent: #c8f04a;--bg: #080808;--bg-hover: #2a2a2a;--text: #999999;--text-bright: #f0ede6;--text-muted: #666666;--border: rgba(168,155,194,.12);--error: #ff4444;--disabled: #444444}.theme-hacker{--primary: #0c0;--secondary: #0ff;--accent: #ffc107;--bg: #000;--bg-hover: #002200;--text: #c0c0c0;--text-bright: #ccc;--text-muted: #808080;--border: #0a0;--error: #f00;--disabled: #333}.theme-vaporwave{--primary: #cf3bcf;--secondary: #40e0d0;--accent: #ffaa00;--bg: #000;--bg-hover: #220033;--text: #c0c0c0;--text-bright: #ccc;--text-muted: #808080;--border: #cf3bcf;--error: #ff4081;--disabled: #664488}.theme-darcula{--primary: #cc7832;--secondary: #6897bb;--accent: #bbb529;--bg: #2b2b2b;--bg-hover: #323232;--text: #a9b7c6;--text-bright: #e0e0e0;--text-muted: #808080;--border: #323232;--error: #bc3f3c;--disabled: #555555}.theme-monokai{--primary: #a6e22e;--secondary: #66d9ef;--accent: #fd971f;--bg: #272822;--bg-hover: #3e3d32;--text: #f8f8f2;--text-bright: #ffffff;--text-muted: #75715e;--border: #49483e;--error: #f92672;--disabled: #5a5a5a}.theme-solarized-dark{--primary: #268bd2;--secondary: #2aa198;--accent: #b58900;--bg: #002b36;--bg-hover: #073642;--text: #839496;--text-bright: #93a1a1;--text-muted: #586e75;--border: #073642;--error: #dc322f;--disabled: #445555}.theme-dracula{--primary: #50fa7b;--secondary: #8be9fd;--accent: #f1fa8c;--bg: #282a36;--bg-hover: #44475a;--text: #f8f8f2;--text-bright: #ffffff;--text-muted: #6272a4;--border: #44475a;--error: #ff5555;--disabled: #6272a4}.theme-nord{--primary: #88c0d0;--secondary: #81a1c1;--accent: #ebcb8b;--bg: #2e3440;--bg-hover: #3b4252;--text: #d8dee9;--text-bright: #eceff4;--text-muted: #4c566a;--border: #3b4252;--error: #bf616a;--disabled: #4c566a}.theme-gruvbox{--primary: #b8bb26;--secondary: #83a598;--accent: #fabd2f;--bg: #282828;--bg-hover: #3c3836;--text: #ebdbb2;--text-bright: #fbf1c7;--text-muted: #928374;--border: #504945;--error: #fb4934;--disabled: #665c54}.theme-tactical{--primary: #7cb342;--secondary: #ffa726;--accent: #ffeb3b;--bg: #0d1117;--bg-hover: #1a1e24;--text: #b0b0b0;--text-bright: #e0e0e0;--text-muted: #6e7681;--border: #2d3a2d;--error: #ef5350;--disabled: #3a3a3a}.theme-companion{--primary: #e8a87c;--secondary: #9ed9cc;--accent: #f4d19b;--bg: #1a1410;--bg-hover: #2a2220;--text: #d4c4b0;--text-bright: #f0e6d8;--text-muted: #8a7a6a;--border: #3a3028;--error: #d88884;--disabled: #4a4038}.theme-therapeutic{--primary: #8fa8c8;--secondary: #b8c9a8;--accent: #d4b896;--bg: #1c1e22;--bg-hover: #2a2d32;--text: #c4ccd4;--text-bright: #e4ecf4;--text-muted: #7a8288;--border: #3a3e44;--error: #c89898;--disabled: #4a4e54}.theme-education{--primary: #f4a261;--secondary: #2a9d8f;--accent: #e9c46a;--bg: #1a1a1a;--bg-hover: #2a2a2a;--text: #d4d4d4;--text-bright: #f4f4f4;--text-muted: #888888;--border: #3a3a3a;--error: #e76f51;--disabled: #4a4a4a}.theme-resurrection{--primary: #a78bfa;--secondary: #818cf8;--accent: #c4b5fd;--bg: #0f0f14;--bg-hover: #1a1a24;--text: #c4c4d4;--text-bright: #e4e4f4;--text-muted: #7a7a8a;--border: #2a2a3a;--error: #b4a4c4;--disabled: #3a3a4a}.theme-robotics{--primary: #00d4ff;--secondary: #7c9fb0;--accent: #ffa500;--bg: #0a0e12;--bg-hover: #1a2228;--text: #b0c4d0;--text-bright: #e0f0ff;--text-muted: #6a7a85;--border: #2a3a45;--error: #ff6b6b;--disabled: #3a4a55}:root{font-family:Space Mono,Courier New,monospace;line-height:1.6;font-weight:400;color-scheme:dark;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;height:100vh;background:var(--bg);color:var(--text);overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}#root{width:100%;height:100vh}.notification-toast{position:fixed;bottom:2rem;right:2rem;background:var(--bg, var(--bg-secondary));color:var(--primary, var(--accent-primary));padding:.75rem 1.5rem;border:1px solid var(--primary, var(--accent-primary));border-radius:4px;font-family:Space Mono,monospace;font-size:.85rem;box-shadow:0 4px 12px #00000080;animation:slideInUp .3s ease-out;z-index:2000}@keyframes slideInUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);padding:20px;position:relative}.login-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(200,240,74,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(200,240,74,.05) 1px,transparent 1px);background-size:60px 60px;animation:gridDrift 20s linear infinite;pointer-events:none;z-index:0}.login-container{background:var(--bg);border:1px solid var(--border);padding:2.5rem;width:100%;max-width:440px;position:relative;z-index:1}.login-logo{font-family:Space Mono,monospace;font-size:.98rem;color:var(--primary);letter-spacing:.15em;margin-bottom:1.5rem}.login-header{text-align:center;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem}.login-header h1{font-family:"Exo 2",sans-serif;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--text-bright);text-transform:none;margin:0 0 .75rem}.login-header p{font-family:Space Mono,monospace;color:var(--text-muted);margin:0;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form .form-group label{color:var(--text);font-size:.9rem;font-weight:700;letter-spacing:1px}.login-form .form-group input{width:100%;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-size:.9rem;transition:all .3s}.login-form .form-group input:focus{outline:none;border-color:var(--primary)}.login-form .form-group input:disabled{opacity:.5;cursor:not-allowed}.password-input-group{display:flex;gap:.5rem}.password-input-group input{flex:1}.toggle-password-btn{padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:0;cursor:pointer;font-size:.75rem;color:var(--text);transition:all .3s;font-weight:700;letter-spacing:1px}.toggle-password-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.toggle-password-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{background:var(--bg);border:1px solid var(--error);padding:.75rem;color:var(--error);font-size:.85rem;text-align:center;letter-spacing:1px}.login-btn{background:var(--primary);border:none;border-radius:0;padding:1rem 2.5rem;color:var(--bg);font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:.5rem;letter-spacing:.2em;text-transform:uppercase;width:100%}.login-btn:hover:not(:disabled){background:var(--text-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}.login-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--disabled);color:var(--disabled)}.login-footer{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.login-footer p{color:var(--text-muted);font-size:.85rem;margin:0;letter-spacing:1px}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.85rem;font-weight:700;padding:0;text-decoration:underline;transition:color .3s;letter-spacing:1px}.link-btn:hover:not(:disabled){color:var(--secondary)}.link-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.login-container{padding:1.5rem}.login-header h1{font-size:1.2rem}}.register-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);padding:20px}.register-container{background:var(--bg);border:1px solid var(--border);padding:2.5rem;width:100%;max-width:440px}.register-header{text-align:center;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:1rem}.register-header h1{color:var(--primary);font-size:.95rem;font-weight:400;margin:0 0 .5rem;letter-spacing:.2em;text-transform:uppercase}.register-header p{color:var(--text-muted);margin:0;font-size:.85rem;letter-spacing:1px}.register-form{display:flex;flex-direction:column;gap:1.5rem}.register-btn{background:var(--primary);border:none;border-radius:0;padding:1rem 2.5rem;color:var(--bg);font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:.5rem;letter-spacing:.2em;text-transform:uppercase;width:100%}.register-btn:hover:not(:disabled){background:var(--text-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}.register-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--disabled);color:var(--disabled)}.register-footer{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.register-footer p{color:var(--text-muted);font-size:.85rem;margin:0;letter-spacing:1px}@media (max-width: 480px){.register-container{padding:1.5rem}.register-header h1{font-size:1.2rem}}.toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0;flex:1 1 auto}.toolbar .toolbar-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.toolbar .toolbar-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-left:auto}.toolbar .user-menu-section{margin-left:auto}.toolbar-link{font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;border:1px solid var(--border);padding:6px 12px 4px;transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent}.toolbar-link:hover{border-color:var(--text-bright);color:var(--text-bright)}.toolbar-link--primary{background:var(--primary);border-color:var(--primary);color:var(--bg);font-weight:700}.toolbar-link--primary:hover{background:var(--text-bright);border-color:var(--text-bright);color:var(--bg);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}.toolbar-link--toggle{background:transparent}.toolbar-link--toggle:hover{border-color:var(--border);background:#a89bc20f;color:var(--text)}.toolbar-link--toggle.toolbar-link--active{color:var(--primary);border-color:var(--primary);background:#c8f04a0f}.toolbar-link--toggle.toolbar-link--active:hover{border-color:var(--primary);background:#c8f04a14;color:var(--primary)}@media (max-width: 768px){.toolbar{gap:.4rem;flex-wrap:nowrap}.toolbar-link{padding:5px 8px 3px;font-size:.65rem;white-space:nowrap}}.global-header{background:#080808eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:0 1.5rem;gap:1rem;min-width:0}.global-header-title{display:flex;align-items:center;flex-shrink:0}.global-header h1{padding:1rem 0;font-family:Space Mono,monospace;font-size:.98rem;font-weight:400;line-height:1;color:var(--primary);margin:0;text-transform:uppercase;letter-spacing:.15em;white-space:nowrap}.global-header h1:before{content:"// "}.global-header .user-menu-section{position:relative}.global-header .user-menu-trigger{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);border-radius:0;padding:8px 15px;color:var(--text-muted);cursor:pointer;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.15em;transition:all .2s;-webkit-user-select:none;user-select:none}.global-header .user-menu-trigger:hover{border-color:var(--primary);color:var(--text-bright)}.global-header .username{text-decoration:none}.global-header .menu-arrow{font-size:.7rem;opacity:.6}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg);border:1px solid var(--border);border-radius:0;min-width:180px;max-width:280px;width:max-content;z-index:100}.user-dropdown .dropdown-item{display:flex;align-items:center;width:100%;text-align:left;background:var(--bg);border:none;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;padding:8px 15px;border-radius:0;cursor:pointer;transition:all .3s;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.15em}.user-dropdown .dropdown-item:last-child{border-bottom:none}.user-dropdown .dropdown-item:hover{background:var(--primary);color:var(--bg)}.user-dropdown .dropdown-back{border-bottom:1px solid var(--border)!important}.user-dropdown.theme-dropdown .theme-switcher{width:100%;display:block;padding:0;margin:0;position:static}.user-dropdown.theme-dropdown .theme-switcher-toggle{display:none}.user-dropdown.theme-dropdown .theme-switcher-dropdown{position:static;border:none;max-height:60vh;min-width:auto}.user-dropdown.theme-dropdown .theme-option{border-bottom:1px solid var(--border);padding:8px 15px;text-decoration:none}.user-dropdown.theme-dropdown .theme-option:last-child{border-bottom:none}#global-toolbar-portal{display:flex;flex:1;align-items:center;gap:1rem;min-width:0}@media (max-width: 768px){.global-header{padding:0 .5rem;gap:.5rem;overflow:hidden}.global-header-right{gap:.5rem}.global-header h1{padding:.4rem 0;font-size:.85rem;letter-spacing:.1em}.global-header h1:before{display:none}.global-header .user-menu-trigger{padding:4px 8px;font-size:.8rem}.toolbar-left{display:none}.toolbar-link{padding:4px 8px;font-size:.8rem}}.welcome-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text-bright);overflow-y:auto}.welcome-content{flex:1;padding:2rem 3rem;max-width:1400px;margin:0 auto;width:100%;position:relative;z-index:1}.welcome-section{margin-bottom:3rem}.welcome-section.intro h2{font-family:Space Mono,monospace;font-size:.82rem;font-weight:400;color:var(--primary);text-transform:uppercase;letter-spacing:.3em;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.welcome-section.intro h2:after{content:"";display:block;height:1px;width:48px;background:var(--primary);opacity:.35}.welcome-section.intro p{font-family:Space Mono,monospace;font-size:.9rem;line-height:1.9;color:var(--text);max-width:800px}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);margin-bottom:3rem}.concept-card{background:var(--bg);padding:2rem;transition:background .3s;position:relative;overflow:hidden}.concept-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.concept-card:hover:before{transform:scaleX(1)}.concept-card:hover{background:#a89bc20a}.concept-card h3{font-family:"Exo 2",sans-serif;color:var(--text-bright);font-size:1.1rem;font-weight:700;margin-bottom:1rem}.concept-description p{font-family:Space Mono,monospace;font-size:.85rem;margin-bottom:1rem;line-height:1.9;color:var(--text)}.concept-description ul{list-style:none;padding:0;margin:0}.concept-description li{font-family:Space Mono,monospace;font-size:.82rem;padding:.35rem 0 .35rem 1.25rem;position:relative;color:var(--text);line-height:1.6}.concept-description li:before{content:"→";position:absolute;left:0;color:var(--primary);opacity:.7}.welcome-section.workflow h2{font-family:Space Mono,monospace;font-size:.82rem;color:var(--primary);text-transform:uppercase;letter-spacing:.3em;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem}.welcome-section.workflow h2:after{content:"";display:block;height:1px;width:48px;background:var(--primary);opacity:.35}.workflow-steps{list-style:none;counter-reset:workflow-counter;padding:0;max-width:600px;border:1px solid var(--border)}.workflow-steps li{counter-increment:workflow-counter;padding:1rem 1.25rem 1rem 3.5rem;position:relative;line-height:1.7;font-family:Space Mono,monospace;font-size:.85rem;color:var(--text);border-bottom:1px solid var(--border)}.workflow-steps li:last-child{border-bottom:none}.workflow-steps li:before{content:counter(workflow-counter,decimal-leading-zero);position:absolute;left:1.25rem;color:var(--primary);font-weight:700;font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:.1em}.welcome-actions{display:flex;justify-content:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.get-started-btn{background:var(--primary);border:none;padding:1rem 3rem;font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bg);cursor:pointer;transition:all .2s}.get-started-btn:hover{background:var(--text-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}@media (max-width: 768px){.welcome-content{padding:1.5rem}.concepts-grid{grid-template-columns:1fr}.concept-card{padding:1.5rem}}.simulation-browser{height:100vh;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto}.browser-app-header{background:#080808eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;gap:1rem;position:sticky;top:0}.browser-app-header .header-left{display:flex;align-items:center;gap:1.5rem}.browser-app-header h1{padding:1rem 0;font-family:Space Mono,monospace;font-size:.95rem;font-weight:400;color:var(--primary);margin:0;text-transform:uppercase;letter-spacing:.15em;white-space:nowrap}.browser-app-header h1:before{content:"// ";color:var(--secondary);opacity:.7}.browser-app-header .header-right{display:flex;align-items:center;gap:1rem}.dashboard-btn-header,.admin-panel-btn-header{background:transparent;border:1px solid var(--border);padding:.5rem 1rem;color:var(--text-muted);font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .2s}.dashboard-btn-header:hover,.admin-panel-btn-header:hover{border-color:var(--text-bright);color:var(--text-bright)}.create-simulation-btn-header{background:var(--primary);border:none;padding:.5rem 1.25rem;color:var(--bg);font-family:Space Mono,monospace;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .2s}.create-simulation-btn-header:hover{background:var(--text-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}.browser-app-header .user-menu-section{position:relative}.browser-app-header .user-menu-trigger{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);padding:8px 15px;color:var(--text-muted);cursor:pointer;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.15em;transition:all .2s}.browser-app-header .user-menu-trigger:hover{border-color:var(--primary);color:var(--text-bright)}.browser-app-header .username{text-decoration:none}.browser-app-header .menu-arrow{font-size:.7rem;opacity:.6}.browser-app-header .user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg);border:1px solid var(--border);min-width:180px;z-index:100}.browser-app-header .dropdown-item{display:block;width:100%;text-align:left;background:var(--bg);border:none;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;padding:8px 15px;cursor:pointer;font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:.1em;transition:all .2s}.browser-app-header .dropdown-item:last-child{border-bottom:none}.browser-app-header .dropdown-item:hover{background:#a89bc20f;color:var(--primary)}.browser-loading,.browser-error,.browser-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.browser-loading p,.browser-empty p{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase}.empty-hint{font-size:.8rem!important;color:var(--text-muted);opacity:.6}.browser-error p{color:var(--error);font-family:Space Mono,monospace;font-size:.85rem;letter-spacing:.2em;margin-bottom:1rem}.browser-error button{background:transparent;border:1px solid var(--border);padding:.75rem 1.5rem;color:var(--text-muted);font-family:Space Mono,monospace;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .2s}.browser-error button:hover{border-color:var(--text-bright);color:var(--text-bright)}.simulation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;max-width:1400px;margin:2rem auto;width:calc(100% - 4rem)}.simulation-card{background:var(--bg);border:1px solid var(--border);padding:2rem;cursor:pointer;transition:background .3s;text-align:left;position:relative;overflow:hidden;width:100%}.simulation-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.simulation-card:hover:not(:disabled):not([aria-disabled=true]):before{transform:scaleX(1)}.simulation-card:hover:not(:disabled):not([aria-disabled=true]){background:#a89bc20a}.simulation-card:disabled,.simulation-card[aria-disabled=true]{opacity:.5;cursor:not-allowed}.simulation-card--maintenance:before{background:var(--status-warning)}.simulation-card--offline:before{background:var(--error)}.card-content{display:flex;flex-direction:column;gap:.75rem}.card-title{font-family:"Exo 2",sans-serif;color:var(--text-bright);font-size:1.1rem;font-weight:700;margin:0;letter-spacing:-.01em}.card-description{font-family:Space Mono,monospace;color:var(--text);font-size:.85rem;margin:0;line-height:1.8}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:auto}.status-badge{padding:.2rem .6rem;font-family:Space Mono,monospace;font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;border:1px solid}.status-badge--active{color:var(--primary);border-color:var(--primary);background:#c8f04a0f}.status-badge--maintenance{color:var(--status-warning);border-color:var(--status-warning);background:#ffa5000f}.status-badge--offline,.status-badge--private{color:var(--error);border-color:var(--error);background:#ff44440f}.ai-count{font-family:Space Mono,monospace;font-size:.7rem;color:var(--text-muted);letter-spacing:.1em}.card-ai-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ai-badge{padding:.2rem .5rem;font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);color:var(--secondary)}.card-share-btn{position:absolute;top:1rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:.4rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:32px;height:32px;z-index:10}.card-share-btn:first-of-type{right:3.5rem}.card-share-btn:nth-of-type(2){right:1rem}.card-share-btn svg{width:16px;height:16px}.card-share-btn:hover{border-color:var(--primary);color:var(--primary)}.loading-spinner{border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:0;width:32px;height:32px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.browser-app-header h1{font-size:.85rem}.dashboard-btn-header,.admin-panel-btn-header,.create-simulation-btn-header{font-size:.65rem;padding:.4rem .75rem}.simulation-grid{grid-template-columns:1fr;width:calc(100% - 2rem);margin:1rem auto}}.admin-panel-page{padding:2rem 3rem;max-width:1400px;margin:0 auto}.admin-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--border)}.admin-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-muted);cursor:pointer;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;transition:all .2s}.admin-tab:hover{color:var(--text-bright)}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.admin-content h2{margin-bottom:1.5rem;font-family:Space Mono,monospace;font-size:.82rem;font-weight:400;color:var(--primary);text-transform:uppercase;letter-spacing:.3em;display:flex;align-items:center;gap:1rem}.admin-content h2:before{content:"// "}.admin-content h2:after{content:"";display:block;height:1px;flex:1;background:var(--primary);opacity:.25}.section-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header-with-action h2{margin-bottom:0}.section-header-with-action h2:after{display:none}.btn-create-ai{background:var(--primary);color:var(--bg);border:none;padding:.5rem 1.25rem;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .2s}.btn-create-ai:hover{background:var(--text-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}.admin-table{overflow-x:auto;background:var(--bg);border:1px solid var(--border)}.admin-table table{width:100%;border-collapse:collapse;font-family:Space Mono,monospace;font-size:.82rem}.admin-table thead{background:#a89bc20a;border-bottom:1px solid var(--border)}.admin-table th{padding:.75rem 1rem;text-align:left;font-weight:700;color:var(--text-muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.2em}.admin-table td{padding:.7rem 1rem;border-bottom:1px solid var(--border);color:var(--text)}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:#a89bc20a}.admin-table tbody tr:last-child td{border-bottom:none}.role-badge,.status-badge,.publish-badge{display:inline-block;padding:.15rem .6rem;font-family:Space Mono,monospace;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid}.role-badge.role-admin{background:#ffa5000f;color:var(--status-warning);border-color:var(--status-warning)}.role-badge.role-user{background:#a89bc20f;color:var(--secondary);border-color:var(--secondary)}.role-badge.role-AI{background:#a89bc214;color:var(--secondary);border-color:var(--secondary)}.status-badge.status-active{background:#c8f04a0f;color:var(--primary);border-color:var(--primary)}.status-badge.status-maintenance{background:#ffa5000f;color:var(--status-warning);border-color:var(--status-warning)}.publish-badge.published{background:#c8f04a0f;color:var(--primary);border-color:var(--primary)}.publish-badge.unpublished{background:transparent;color:var(--text-muted);border-color:var(--border)}.admin-table select{padding:.25rem .5rem;background:var(--bg-hover);border:1px solid var(--border);color:var(--text);font-family:Space Mono,monospace;font-size:.78rem}.btn-small{padding:.3rem .7rem;margin-right:.4rem;font-family:Space Mono,monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);cursor:pointer;transition:all .2s;background:transparent;color:var(--text-muted)}.btn-small:disabled{opacity:.4;cursor:not-allowed}.btn-small.btn-primary{background:var(--primary);color:var(--bg);border-color:var(--primary)}.btn-small.btn-primary:hover:not(:disabled){background:var(--text-bright);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--primary)}.btn-small.btn-secondary{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-small.btn-secondary:hover:not(:disabled){border-color:var(--text-bright);color:var(--text-bright)}.btn-small.btn-danger{background:transparent;color:var(--error);border-color:var(--error)}.btn-small.btn-danger:hover:not(:disabled){background:var(--error);color:var(--bg)}.loading{padding:2rem;text-align:center;font-family:Space Mono,monospace;color:var(--text-muted);letter-spacing:.15em}.error-message{padding:1rem;text-align:center;font-family:Space Mono,monospace;color:var(--error);border:1px solid var(--error);background:#ff44440a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg);border:1px solid var(--border);padding:2rem;max-width:500px;width:90%;animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin-top:0;margin-bottom:1.5rem;font-family:Space Mono,monospace;font-size:.82rem;font-weight:400;color:var(--primary);text-transform:uppercase;letter-spacing:.3em;display:flex;align-items:center;gap:1rem}.modal-content h2:before{content:"// "}.modal-description{margin-bottom:1.5rem;font-family:Space Mono,monospace;color:var(--text-muted);font-size:.85rem;line-height:1.8;padding-left:1rem;border-left:1px solid var(--border)}.modal-content .form-group{margin-bottom:1.25rem}.modal-content .form-group label{display:block;margin-bottom:.4rem;font-family:Space Mono,monospace;color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}.modal-content .form-group input,.modal-content .form-group textarea{width:100%;padding:.65rem .75rem;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-bright);font-family:Space Mono,monospace;font-size:.88rem;box-sizing:border-box;transition:border-color .2s}.modal-content .form-group input:focus,.modal-content .form-group textarea:focus{outline:none;border-color:var(--primary)}.modal-content .form-group input::placeholder,.modal-content .form-group textarea::placeholder{color:var(--text-muted);opacity:.5}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.modal-actions button{padding:.65rem 1.5rem;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .2s;border:none}.modal-actions .btn-primary{background:var(--primary);color:var(--bg);border:none}.modal-actions .btn-primary:hover{background:var(--text-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}.modal-actions .btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.modal-actions .btn-secondary:hover{border-color:var(--text-bright);color:var(--text-bright)}.token-textarea{width:100%;min-height:100px;font-family:Space Mono,monospace;font-size:.75rem;padding:.75rem;resize:vertical;line-height:1.5;word-break:break-all;background:var(--bg-hover);border:1px solid var(--border);color:var(--primary)}.user-profile-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.user-profile-content{background:var(--bg);border:2px solid var(--border);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.profile-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border)}.profile-header h2{color:var(--primary);margin:0;font-size:1.3rem;font-weight:400;letter-spacing:2px}.profile-header h2:before{content:"// "}.close-btn{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-size:1.2rem;cursor:pointer;padding:.5rem 1rem;transition:all .3s;font-weight:700}.close-btn:hover{border-color:var(--error);color:var(--error)}.profile-body{padding:1.5rem}.profile-info{display:flex;flex-direction:column;gap:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.info-label{color:var(--text-muted);font-size:.85rem;font-weight:700;letter-spacing:1px}.info-value{color:var(--text);font-size:.9rem}.profile-header-actions{display:flex;align-items:center;gap:.5rem}.edit-icon-btn{background:var(--bg);border:1px solid var(--border);border-radius:0;color:var(--text);font-size:1.2rem;cursor:pointer;padding:.5rem 1rem;transition:all .3s;line-height:1}.edit-icon-btn:hover{border-color:var(--primary);color:var(--primary)}.profile-edit{display:flex;flex-direction:column;gap:1.5rem}.profile-edit .form-group{display:flex;flex-direction:column;gap:.5rem}.profile-edit label{color:var(--text);font-size:.85rem;font-weight:700;letter-spacing:1px}.profile-edit input{background:var(--bg);border:1px solid var(--border);border-radius:0;padding:.75rem;color:var(--text);font-size:.9rem;transition:all .3s}.profile-edit input:focus{outline:none;border-color:var(--primary)}.profile-edit input:disabled{opacity:.5;cursor:not-allowed}.success-message{background:var(--bg);border:1px solid var(--primary);padding:.75rem;color:var(--primary);font-size:.85rem;text-align:center;letter-spacing:1px}.edit-actions{display:flex;gap:1rem;margin-top:.5rem}.save-btn,.cancel-btn{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:0;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s;letter-spacing:1px}.save-btn{background:var(--bg);color:var(--primary);border-color:var(--primary)}.save-btn:hover:not(:disabled){background:var(--primary);color:var(--bg)}.save-btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--disabled);color:var(--disabled)}.cancel-btn{background:var(--bg);color:var(--text);border-color:var(--border)}.cancel-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.api-keys-section{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);padding-top:1rem}.api-keys-header{display:flex;align-items:center;gap:1rem;margin-bottom:.25rem}.keys-loading{color:var(--text-muted);font-size:.8rem;letter-spacing:1px}.no-keys{color:var(--text-muted);font-size:.8rem;letter-spacing:1px;padding:.5rem 0}.api-key-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.api-key-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.api-key-name{color:var(--text);font-size:.85rem;letter-spacing:1px}.api-key-date{color:var(--text-muted);font-size:.75rem;letter-spacing:1px}.revoke-key-btn{background:var(--bg);border:1px solid var(--error);border-radius:0;color:var(--error);font-size:.75rem;font-weight:700;cursor:pointer;padding:.3rem .6rem;letter-spacing:1px;white-space:nowrap;transition:all .3s;flex-shrink:0}.revoke-key-btn:hover{background:var(--error);color:var(--bg)}.create-key-row{display:flex;gap:.5rem;margin-top:.25rem}.key-name-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:0;padding:.5rem .75rem;color:var(--text);font-size:.8rem;letter-spacing:1px;transition:border-color .3s;min-width:0}.key-name-input:focus{outline:none;border-color:var(--primary)}.key-name-input:disabled{opacity:.5;cursor:not-allowed}.key-name-input::placeholder{color:var(--text-muted);opacity:.7}.create-key-btn{background:var(--bg);border:1px solid var(--primary);border-radius:0;color:var(--primary);font-size:.8rem;font-weight:700;cursor:pointer;padding:.5rem .75rem;letter-spacing:1px;white-space:nowrap;transition:all .3s;flex-shrink:0}.create-key-btn:hover:not(:disabled){background:var(--primary);color:var(--bg)}.create-key-btn:disabled{opacity:.5;cursor:not-allowed}.fresh-key-box{background:var(--bg);border:1px solid var(--primary);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.fresh-key-label{color:var(--primary);font-size:.75rem;font-weight:700;letter-spacing:1px}.fresh-key-value{background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:.8rem;padding:.5rem;resize:none;width:100%;box-sizing:border-box;word-break:break-all}.fresh-key-actions{display:flex;gap:.5rem}.copy-key-btn,.dismiss-key-btn{flex:1;padding:.4rem;border:1px solid var(--border);border-radius:0;font-size:.8rem;font-weight:700;cursor:pointer;letter-spacing:1px;transition:all .3s}.copy-key-btn{background:var(--bg);color:var(--primary);border-color:var(--primary)}.copy-key-btn:hover{background:var(--primary);color:var(--bg)}.dismiss-key-btn{background:var(--bg);color:var(--text-muted);border-color:var(--border)}.dismiss-key-btn:hover{border-color:var(--primary);color:var(--text)}.user-profile-content::-webkit-scrollbar{width:8px}.user-profile-content::-webkit-scrollbar-track{background:var(--bg)}.user-profile-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}.user-profile-content::-webkit-scrollbar-thumb:hover{background:var(--primary)}.theme-switcher{position:relative;z-index:1000}.theme-switcher-toggle{background:var(--bg);color:var(--secondary);border:1px solid var(--border);border-radius:0;padding:.5rem 1rem;cursor:pointer;font-size:.9rem;font-family:Space Mono,monospace;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.theme-switcher-toggle:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.theme-switcher-dropdown{position:absolute;top:calc(100% + 5px);right:0;background:var(--bg);border:1px solid var(--border);min-width:200px;max-height:400px;overflow-y:auto;z-index:1001}.theme-switcher-dropdown::-webkit-scrollbar{width:8px}.theme-switcher-dropdown::-webkit-scrollbar-track{background:var(--bg)}.theme-switcher-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}.theme-switcher-dropdown::-webkit-scrollbar-thumb:hover{background:var(--primary)}.theme-option{width:100%;background:var(--bg);color:var(--text);border:none;border-bottom:1px solid var(--border);padding:.75rem 1rem;cursor:pointer;font-size:.9rem;font-family:Space Mono,monospace;text-align:left;transition:all .3s;text-transform:uppercase}.theme-option:last-child{border-bottom:none}.theme-option:hover{background:var(--bg-hover);color:var(--primary)}.theme-option.active{background:var(--bg-hover);color:var(--primary);border-left:3px solid var(--primary)}.organism-panel{display:flex;flex-direction:column;gap:0}.organism-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.organism-panel h3{margin:0;font-family:Space Mono,monospace;font-size:.72rem;font-weight:400;color:var(--primary);text-transform:uppercase;letter-spacing:.25em;display:flex;align-items:center;gap:.75rem;flex:1}.organism-panel h3:after{content:"";display:block;height:1px;flex:1;background:var(--primary);opacity:.25}.refresh-btn{background:transparent;border:1px solid var(--border);padding:.2rem .5rem;cursor:pointer;font-size:.9rem;color:var(--text-muted);transition:all .2s}.refresh-btn:hover{border-color:var(--text-bright);color:var(--text-bright)}.organisms{overflow-y:visible}.organism-list-controls{display:flex;align-items:center;gap:.5rem}.organism-list-chevron{display:none}.no-organisms{text-align:center;color:var(--text-muted);padding:1rem;font-size:.8rem;letter-spacing:.1em}.organism-item{background:var(--bg);border:1px solid var(--border);margin-bottom:.3rem;transition:background .2s;position:relative;overflow:hidden}.organism-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--primary);transition:height .3s ease}.organism-item:hover:before{height:100%}.organism-item:hover,.organism-item.expanded{background:#a89bc20a}.organism-header{padding:.5rem .75rem;cursor:pointer;background:transparent;display:flex;align-items:center;gap:.5rem}.organism-chevron{font-size:.65rem;color:var(--text-muted);transition:transform .15s;display:inline-block;flex-shrink:0}.organism-chevron.open{transform:rotate(90deg)}.organism-name{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.organism-id{font-weight:700;color:var(--text-bright);font-family:Space Mono,monospace;font-size:.82rem;letter-spacing:.05em}.state-badge{font-family:Space Mono,monospace;font-size:.62rem;padding:.1rem .35rem;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.1em}.state-badge--alive,.state-badge--running{border-color:var(--primary);color:var(--primary)}.state-badge--gestating,.state-badge--spawning{border-color:var(--secondary);color:var(--secondary)}.state-badge--dead{border-color:var(--text-muted);color:var(--text-muted)}.organism-genome{color:var(--text-muted);font-family:Space Mono,monospace;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.organism-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0;padding-top:.35rem;margin-top:.1rem;border-top:1px solid var(--border)}.kill-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:Space Mono,monospace;font-size:.68rem;padding:.12rem .4rem;cursor:pointer;letter-spacing:.05em;transition:all .2s;flex-shrink:0}.kill-btn:hover{border-color:var(--error);color:var(--error)}.snapshot-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:Space Mono,monospace;font-size:.68rem;padding:.12rem .4rem;cursor:pointer;letter-spacing:.05em;transition:all .2s;flex-shrink:0}.snapshot-btn:hover:not(:disabled){border-color:var(--secondary);color:var(--secondary)}.snapshot-btn:disabled{opacity:.5;cursor:not-allowed}.organism-item.hovered:before{height:100%}.organism-item.selected{border-color:#ffffff59;background:#ffffff0a}.organism-item.selected:before{height:100%;background:#fff9}.follow-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:Space Mono,monospace;font-size:.68rem;padding:.12rem .4rem;cursor:pointer;letter-spacing:.05em;transition:all .2s;flex-shrink:0}.follow-btn:hover{border-color:var(--primary);color:var(--primary)}.follow-btn--active{border-color:var(--primary);color:var(--primary);background:#c8f04a1a}.organism-spawn{border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:.75rem}.spawn-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.organism-spawn h3{color:var(--primary);letter-spacing:.25em;margin-bottom:0}.dev-toggle{display:flex;align-items:center;gap:.3rem;font-family:Space Mono,monospace;font-size:.68rem;color:var(--text-muted);cursor:pointer;letter-spacing:.1em;-webkit-user-select:none;user-select:none}.dev-toggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.genome-select{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.4rem .5rem;font-family:Space Mono,monospace;font-size:.8rem;margin-bottom:.5rem}.genome-select:focus{outline:none;border-color:var(--primary)}.spawn-btn{width:100%;background:var(--primary);border:none;color:var(--bg);padding:.6rem;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .2s}.spawn-btn:hover:not(:disabled){background:var(--text-bright);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--primary)}.spawn-btn:disabled{opacity:.35;cursor:not-allowed}.spawn-actions{display:flex;gap:.4rem}.kill-all-btn{flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--error);color:var(--error);font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.kill-all-btn:hover:not(:disabled){background:var(--error);color:var(--bg);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--error)}.kill-all-btn:disabled{opacity:.35;cursor:not-allowed}.spawn-actions .spawn-btn{flex:1;width:auto}@media (max-width: 900px){.organism-panel{display:flex;flex-direction:column}.organisms{order:1;padding:.4rem .5rem 0}.organism-spawn{order:2;flex-shrink:0;display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-top:1px solid var(--border);border-bottom:none;margin-bottom:0;background:var(--bg)}.organism-panel-header{order:3;flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg);padding:.35rem .75rem;margin-bottom:0;border-top:1px solid var(--border);border-bottom:none}.organism-panel-header:hover{background:#a89bc20a}.organism-list-chevron{display:inline-block;font-size:.65rem;color:var(--text-muted);transition:transform .15s}.organism-list-chevron.open{transform:rotate(90deg)}.organism-panel--collapsed .organism-spawn,.organisms--collapsed,.organism-spawn h3{display:none}.genome-select{margin-bottom:0;flex:1;min-width:60px}.spawn-actions{flex-shrink:0}.spawn-btn{white-space:nowrap;padding:.4rem .6rem;transform:none!important;box-shadow:none!important}.organism-header{padding:.65rem .75rem;min-height:48px}.kill-btn,.snapshot-btn,.follow-btn{padding:.3rem .65rem;min-height:34px;min-width:44px}}.organism-detail{padding:.5rem .75rem .6rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem}.org-stat{display:flex;align-items:center;gap:.5rem;font-size:.7rem}.org-stat-label{font-family:Space Mono,monospace;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;min-width:60px;flex-shrink:0}.org-progress-bar{flex:1;height:3px;background:var(--border)}.org-progress-fill{height:100%;transition:width .5s ease}.org-progress-fill--gestation{background:var(--secondary)}.org-progress-fill--energy{background:var(--primary)}.org-detail-empty{font-size:.72rem;color:var(--text-muted)}.org-genome-id{font-family:Space Mono,monospace;font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snapshot-browser{display:flex;flex-direction:column;gap:0;padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--border)}.snapshot-browser-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.snapshot-browser h3{margin:0;font-family:Space Mono,monospace;font-size:.72rem;font-weight:400;color:var(--primary);text-transform:uppercase;letter-spacing:.25em;display:flex;align-items:center;gap:.75rem;flex:1}.snapshot-browser h3:after{content:"";display:block;height:1px;flex:1;background:var(--primary);opacity:.25}.snapshot-header-controls{display:flex;align-items:center;gap:.5rem}.no-snapshots{text-align:center;color:var(--text-muted);padding:1rem;font-size:.8rem;letter-spacing:.1em}.snapshot-item{background:var(--bg);border:1px solid var(--border);margin-bottom:.3rem;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.35rem}.snapshot-meta{display:flex;align-items:center;gap:.5rem;min-width:0}.snapshot-name{font-family:Space Mono,monospace;font-size:.82rem;font-weight:700;color:var(--text-bright);letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0}.snapshot-tags{display:flex;gap:.3rem;flex-shrink:0}.snapshot-tag{font-family:Space Mono,monospace;font-size:.58rem;padding:.08rem .3rem;border:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.snapshot-tag--substrate{border-color:var(--secondary);color:var(--secondary)}.snapshot-date{font-family:Space Mono,monospace;font-size:.64rem;color:var(--text-muted);letter-spacing:.05em}.snapshot-actions{display:flex;align-items:center;gap:.3rem;border-top:1px solid var(--border);padding-top:.35rem;margin-top:.1rem}.mutate-toggle{display:flex;align-items:center;gap:.25rem;font-family:Space Mono,monospace;font-size:.65rem;color:var(--text-muted);cursor:pointer;letter-spacing:.05em;-webkit-user-select:none;user-select:none;margin-right:auto}.mutate-toggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.snapshot-spawn-btn{background:transparent;border:1px solid var(--primary);color:var(--primary);font-family:Space Mono,monospace;font-size:.68rem;padding:.12rem .5rem;cursor:pointer;letter-spacing:.05em;transition:all .2s;flex-shrink:0}.snapshot-spawn-btn:hover:not(:disabled){background:var(--primary);color:var(--bg)}.snapshot-spawn-btn:disabled{opacity:.4;cursor:not-allowed}.snapshot-delete-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);font-family:Space Mono,monospace;font-size:.72rem;padding:.1rem .4rem;cursor:pointer;transition:all .2s;flex-shrink:0}.snapshot-delete-btn:hover:not(:disabled){border-color:var(--error);color:var(--error)}.snapshot-delete-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 900px){.snapshot-browser{padding-top:0;margin-top:0;border-top:none}.snapshot-list{padding:.4rem .5rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Space Mono,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.08;pointer-events:none;z-index:9998}em{color:var(--accent);font-style:normal}@keyframes gridDrift{0%{background-position:0 0}to{background-position:0 60px}}.app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow-x:hidden}.app-header{background:#080808eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;gap:1rem}.header-actions{display:flex;align-items:center;gap:1rem}.user-menu-section{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);border-radius:0;padding:8px 15px;color:var(--text-muted);cursor:pointer;font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.15em;transition:all .2s}.user-menu-trigger:hover{border-color:var(--primary);color:var(--text-bright)}.username{font-size:.7rem;letter-spacing:.15em}.menu-arrow{font-size:.7rem;opacity:.6}.user-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg);border:1px solid var(--border);border-radius:0;min-width:180px;z-index:100}.dropdown-item{display:block;width:100%;text-align:left;background:var(--bg);border:none;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;padding:8px 15px;border-radius:0;cursor:pointer;font-family:Space Mono,monospace;font-size:.72rem;letter-spacing:.1em;transition:all .2s}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#a89bc20f;color:var(--primary)}.dropdown-theme-switcher{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:center}.app-header h1{padding:1rem 0;font-family:Space Mono,monospace;font-size:.92rem;font-weight:400;color:var(--primary);margin:0;text-transform:uppercase;letter-spacing:.15em;flex:1;text-align:center;white-space:nowrap}.app-header h1:before{content:"// ";color:var(--secondary);opacity:.7}.back-button{background:transparent;border:1px solid var(--border);border-radius:0;padding:6px 12px 4px;color:var(--text-muted);font-family:Space Mono,monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .2s}.back-button:hover{border-color:var(--text-bright);color:var(--text-bright)}.app-layout{display:grid;grid-template-columns:320px 1fr;flex:1;overflow:hidden;gap:0;min-height:0}.sidebar{background:var(--bg);overflow-y:auto;overflow-x:hidden;padding:1rem}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:var(--bg)}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:0}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--primary)}.sidebar-left{border-right:1px solid var(--border)}.simulation-broadcast-view{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden;min-width:0;min-height:0}.sim-canvas{width:100%;height:100%;display:block}.broadcast-offline{text-align:center;font-family:Space Mono,monospace;color:var(--primary)}.broadcast-offline p{margin:.5rem 0}.broadcast-offline-hint{opacity:.5;font-size:.85rem}.broadcast-offline button{margin-top:1rem}.main-scene{background:var(--bg);position:relative;overflow:hidden}@media (max-width: 1200px){.app-layout{grid-template-columns:280px 1fr}}.sidebar-desktop{display:flex;flex-direction:column;flex:1;overflow-y:auto;min-height:0}.mobile-tab-content,.mobile-tab-bar{display:none}@media (max-width: 900px){.app-layout{grid-template-columns:1fr;grid-template-rows:1fr}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:50;padding:0;overflow:hidden;background:var(--bg);border-right:none;display:flex;flex-direction:column}.sidebar--tab-open{max-height:70vh}.sidebar-desktop{display:none}.mobile-tab-content{display:flex;flex-direction:column;overflow-y:auto;min-height:0}.mobile-tab-bar{display:flex;flex-shrink:0;border-top:1px solid var(--border);background:var(--bg)}.mobile-tab{flex:1;background:transparent;border:none;border-right:1px solid var(--border);color:var(--text-muted);font-family:Space Mono,monospace;font-size:.65rem;letter-spacing:.15em;padding:.6rem .5rem;cursor:pointer;transition:color .15s,background .15s;text-transform:uppercase}.mobile-tab:last-child{border-right:none}.mobile-tab:hover{color:var(--text-bright)}.mobile-tab--active{color:var(--primary);background:#a89bc20f}.main-scene{display:none}}input,select,button{font-family:Space Mono,monospace}input:focus,select:focus,button:focus{outline:1px solid var(--primary);outline-offset:0}*{scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg)}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:var(--bg);border:1px solid var(--border)}*::-webkit-scrollbar-thumb{background:var(--primary);border:2px solid var(--bg)}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 80%,white)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);color:var(--text)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:0;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--primary);font-family:Space Mono,monospace;font-size:.8rem;letter-spacing:.25em;text-transform:uppercase}
