.boot-screen{--boot-void: #020204;--boot-cyan: #00d4ff;--boot-cyan-dim: rgba(0, 212, 255, .5);--boot-green: #00ff88;--boot-gold: #ffb800;--font-hud: "Orbitron", sans-serif;--font-mono: "Share Tech Mono", "SF Mono", monospace;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--boot-void);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .8s ease-out}.boot-screen--fade-out{opacity:0;pointer-events:none}.boot-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px);pointer-events:none;opacity:.6;z-index:1}.boot-network{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.85}.boot-network-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 80px rgba(0,212,255,.08))}.boot-network-links .boot-link{stroke:#00d4ff59;stroke-width:.2;fill:none;stroke-dasharray:100;stroke-dashoffset:100;animation:boot-link-draw .5s ease-out forwards}@keyframes boot-link-draw{to{stroke-dashoffset:0}}.boot-network-nodes .boot-node{fill:#00d4ff33;opacity:0;animation:boot-node-in .35s ease-out forwards}.boot-node--center{fill:#00d4ff80;filter:url(#boot-glow-center);animation:boot-node-center-pulse 3s ease-in-out infinite,boot-node-in .6s ease-out forwards;animation-delay:0s,0s}.boot-node--inner{filter:url(#boot-glow)}.boot-node--outer{filter:url(#boot-glow)}.boot-center-spinny{opacity:1}.boot-center-spinny .boot-mini-ring{transform-origin:50px 50px}.boot-mini-outer{animation:boot-hud-spin 20s linear infinite}.boot-mini-data{animation:boot-hud-spin 14s linear infinite reverse}.boot-center-spinny .boot-mini-bars{transform-origin:50px 50px;animation:boot-hud-spin 10s linear infinite}.boot-mini-dashed{animation:boot-hud-spin 6s linear infinite}.boot-center-spinny-label{font-family:Orbitron,sans-serif;font-size:48px;font-weight:700;letter-spacing:.15em;fill:#00d4fff2;filter:drop-shadow(0 0 4px rgba(0,212,255,.8));pointer-events:none}.boot-node-label{font-family:Orbitron,Share Tech Mono,sans-serif;font-size:2.2px;font-weight:600;letter-spacing:.12em;fill:#00d4ff99;opacity:0;animation:boot-node-in .35s ease-out forwards;pointer-events:none}@keyframes boot-node-in{to{opacity:1}}@keyframes boot-node-center-pulse{0%,to{fill:#00d4ff73;filter:url(#boot-glow-center)}50%{fill:#00d4ffb3;filter:url(#boot-glow-center)}}.boot-scanlines,.boot-grid{z-index:1}.boot-content{z-index:2}.boot-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,212,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.boot-content{position:relative;z-index:2;width:100%;max-width:560px;padding:2rem}.boot-hud-circle{position:relative;width:clamp(200px,45vw,280px);height:clamp(200px,45vw,280px);margin:0 auto 2rem;animation:boot-hud-in 1.4s ease-out}.boot-hud-svg{width:100%;height:100%;filter:drop-shadow(0 0 40px rgba(0,212,255,.2))}.boot-hud-ring{transform-origin:50px 50px}.boot-hud-outer{animation:boot-hud-spin 25s linear infinite}.boot-hud-data{animation:boot-hud-spin 18s linear infinite reverse}.boot-hud-bars{transform-origin:50px 50px;animation:boot-hud-spin 12s linear infinite}.boot-hud-dashed{animation:boot-hud-spin 8s linear infinite}@keyframes boot-hud-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes boot-hud-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.boot-hud-segment{opacity:.9}.boot-hud-circle .boot-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:100%;text-align:center;pointer-events:none}.boot-logo-inner{font-family:var(--font-hud);font-size:clamp(1.1rem,4vw,1.6rem);font-weight:700;letter-spacing:.35em;color:var(--boot-cyan);text-shadow:0 0 30px rgba(0,212,255,.7),0 0 60px rgba(0,212,255,.35);display:inline-block;animation:boot-logo-in 1.2s ease-out .3s both}@keyframes boot-logo-in{0%{opacity:0;transform:scale(.92);filter:blur(6px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.boot-console{font-family:var(--font-mono);font-size:.82rem;line-height:1.7;letter-spacing:.08em;color:var(--boot-cyan-dim);min-height:220px;padding:1.25rem 1.5rem;border:1px solid rgba(0,212,255,.35);border-radius:10px;background:linear-gradient(180deg,#000a12e6,#00050af2);box-shadow:0 0 40px #00d4ff1f,0 0 0 1px #00d4ff1a inset,inset 0 0 80px #00000080}.boot-line{animation:boot-line-in .35s ease-out}@keyframes boot-line-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.boot-line--tagline{font-size:.6rem;letter-spacing:.2em;color:#00d4ff73;margin-bottom:.5rem;text-transform:uppercase}.boot-line--ok{color:var(--boot-green);text-shadow:0 0 12px rgba(0,255,136,.3)}.boot-line--ready{color:var(--boot-gold);font-weight:600;letter-spacing:.2em;text-shadow:0 0 20px rgba(255,184,0,.4);margin-top:.25rem}.boot-line--blank{height:.6em}.boot-cursor{display:inline-block;color:var(--boot-cyan);font-weight:600;margin-left:2px;opacity:.4;transition:opacity .15s}.boot-cursor--on{opacity:1;text-shadow:0 0 10px var(--boot-cyan)}.boot-progress-wrap{margin-top:1.5rem;height:4px;background:#00d4ff14;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 10px #00000080}.boot-progress{height:100%;background:linear-gradient(90deg,var(--boot-cyan),var(--boot-green));border-radius:2px;box-shadow:0 0 16px var(--boot-cyan),0 0 30px #00d4ff4d;transition:width .25s ease-out}.cursor-follower{position:fixed;width:100px;height:100px;margin-left:-50px;margin-top:-50px;pointer-events:none;z-index:9998}.cursor-follower-svg{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(0,212,255,.25))}.cursor-follower-ring-outer{transform-origin:50px 50px;animation:cf-spin-slow 20s linear infinite}.cursor-follower-ring-data{transform-origin:50px 50px;animation:cf-spin 12s linear infinite reverse}.cursor-follower-bars{transform-origin:50px 50px;animation:cf-spin 8s linear infinite}.cursor-follower-ring-dashed{transform-origin:50px 50px;animation:cf-spin 6s linear infinite}@keyframes cf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cf-spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cursor-follower-segment{opacity:.8}.cursor-follower-core{animation:cf-pulse 2s ease-in-out infinite}@keyframes cf-pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px),(hover: none){.cursor-follower{display:none!important}}.app{--void: #050508;--surface: #0a0c12;--panel: #0e111a;--panel-border: rgba(0, 212, 255, .15);--glow-cyan: #00d4ff;--glow-cyan-soft: rgba(0, 212, 255, .4);--glow-gold: #ffb800;--text: #e0f4ff;--text-dim: #7a9eb5;--ok: #00ff88;--ok-soft: rgba(0, 255, 136, .25);--error: #ff3366;--error-soft: rgba(255, 51, 102, .2);--font-hud: "Orbitron", sans-serif;--font-mono: "Share Tech Mono", "SF Mono", monospace;min-height:100vh;background:var(--void);background-image:radial-gradient(ellipse 120% 80% at 50% -20%,rgba(0,212,255,.08),transparent),linear-gradient(180deg,var(--void) 0%,var(--surface) 100%);color:var(--text);display:flex;flex-direction:column;font-family:var(--font-mono)}.app.login-page{align-items:center;justify-content:center;background-image:radial-gradient(ellipse 80% 50% at 50% 50%,rgba(0,212,255,.06),transparent),linear-gradient(180deg,var(--void) 0%,var(--surface) 100%)}.login-page-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 120% 80% at 50% 20%,rgba(0,212,255,.04),transparent 50%),linear-gradient(180deg,var(--void) 0%,var(--surface) 100%);z-index:-1}.auth-box{background:linear-gradient(145deg,#0e111af2,#0a0c12fa);border:1px solid var(--panel-border);box-shadow:0 0 40px #00d4ff14,inset 0 1px #ffffff08;border-radius:12px;padding:2.5rem;max-width:380px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-greeting{margin:0 0 .75rem;font-family:var(--font-hud);font-size:1rem;font-weight:500;letter-spacing:.12em;color:var(--text);text-transform:uppercase}.auth-box h2{margin:0 0 .5rem;font-family:var(--font-hud);font-size:1.1rem;font-weight:600;letter-spacing:.2em;color:var(--glow-cyan);text-shadow:0 0 20px var(--glow-cyan-soft)}.auth-subtitle{color:var(--text-dim);margin-bottom:1.25rem;font-size:.85rem}.auth-form{display:flex;flex-direction:column;gap:0}.auth-error{margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8rem;color:var(--error);background:#ff33661a;border:1px solid rgba(255,51,102,.3);border-radius:6px}.auth-box input{width:100%;padding:.65rem .9rem;margin-bottom:.75rem;background:#050508cc;border:1px solid var(--panel-border);border-radius:8px;color:var(--text);font-family:var(--font-mono);font-size:.9rem;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.auth-box input:focus{outline:none;border-color:var(--glow-cyan);box-shadow:0 0 20px var(--glow-cyan-soft)}.auth-box input::placeholder{color:var(--text-dim)}.auth-box button{width:100%;margin-top:.25rem;padding:.7rem;background:linear-gradient(135deg,#00d4ff40,#00b4dc33);color:var(--glow-cyan);border:1px solid var(--glow-cyan);border-radius:8px;cursor:pointer;font-family:var(--font-hud);font-weight:500;letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;transition:box-shadow .2s,background .2s}.auth-box button:hover:not(:disabled){box-shadow:0 0 25px var(--glow-cyan-soft);background:linear-gradient(135deg,#00d4ff59,#00b4dc4d)}.auth-box button:disabled{opacity:.7;cursor:not-allowed}.header{padding:.9rem 1.5rem;border-bottom:1px solid var(--panel-border);background:linear-gradient(180deg,rgba(14,17,26,.6) 0%,transparent 100%);display:flex;align-items:center;gap:1rem;flex-shrink:0}.header h1{margin:0;font-family:var(--font-hud);font-size:1.35rem;font-weight:600;letter-spacing:.35em;color:var(--glow-cyan);text-shadow:0 0 30px var(--glow-cyan-soft)}.header .subtitle{font-size:.7rem;letter-spacing:.2em;color:var(--text-dim);text-transform:uppercase}.header .status-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok);animation:pulse-dot 2s ease-in-out infinite;margin-left:auto}.header-logout{font-size:.75rem;letter-spacing:.1em;color:var(--text-dim);background:transparent;border:1px solid var(--panel-border);padding:.35rem .6rem;border-radius:4px;cursor:pointer}.header-logout:hover{color:var(--glow-cyan);border-color:var(--glow-cyan-soft)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.header-chat-menu{position:relative}.header-chat-menu-trigger{font-size:.75rem;letter-spacing:.1em;color:var(--text-dim);background:transparent;border:1px solid var(--panel-border);padding:.35rem .6rem;border-radius:4px;cursor:pointer;font-family:var(--font-hud)}.header-chat-menu-trigger:hover{color:var(--glow-cyan);border-color:var(--glow-cyan-soft)}.header-chat-dropdown{position:absolute;top:100%;left:0;margin-top:.35rem;min-width:240px;max-width:280px;max-height:60vh;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#0e111afa,#0a0c12fc);border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:100}.past-chats-new{margin:.5rem .5rem .25rem;padding:.5rem .75rem;font-size:.75rem;letter-spacing:.1em;color:var(--glow-cyan);background:transparent;border:1px solid var(--panel-border);border-radius:6px;cursor:pointer;font-family:var(--font-hud)}.past-chats-new:hover{border-color:var(--glow-cyan-soft);background:#00d4ff14}.past-chats-label{font-size:.65rem;letter-spacing:.15em;color:var(--text-dim);padding:0 .75rem .35rem}.past-chats-list{list-style:none;margin:0;padding:0 0 .5rem;overflow-y:auto;max-height:50vh}.past-chats-list li{margin:0}.past-chats-item{width:100%;text-align:left;padding:.45rem .75rem;font-size:.8rem;color:var(--text-dim);background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;font-family:var(--font-mono);display:block;transition:color .15s,background .15s,border-color .15s}.past-chats-item:hover{color:var(--text);background:#00d4ff0f;border-left-color:var(--glow-cyan-soft)}.past-chats-item-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.past-chats-item-date{display:block;font-size:.7rem;color:var(--text-dim);opacity:.8;margin-top:.1rem}.past-chats-empty{padding:.6rem .75rem .75rem;font-size:.75rem;color:var(--text-dim)}.panels{flex:1;display:flex;min-height:0}.panel{border-right:1px solid var(--panel-border);display:flex;flex-direction:column;min-width:0;background:linear-gradient(90deg,rgba(10,12,18,.6) 0%,transparent 100%)}.panel.conversation{flex:1;min-width:280px;position:relative}.panel.conversation:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,212,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.02) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.panel.log-panel{width:420px;max-width:40vw;background:linear-gradient(90deg,transparent 0%,rgba(5,8,12,.85) 100%)}.conversation-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.25rem;border-bottom:1px solid var(--panel-border);background:#05050866}.conversation-head-left{display:flex;align-items:center;gap:.75rem}.conversation-label{font-family:var(--font-hud);font-size:.65rem;letter-spacing:.3em;color:var(--glow-cyan);text-shadow:0 0 12px var(--glow-cyan-soft)}.conversation-head-right{display:flex;align-items:center;gap:1rem}.conversation-status{font-size:.65rem;letter-spacing:.1em;color:var(--text-dim)}.model-select-wrap{display:flex;align-items:center;gap:.5rem}.model-select-label{font-size:.65rem;letter-spacing:.1em;color:var(--text-dim)}.model-select{font-family:var(--font-hud);font-size:.7rem;padding:.25rem .5rem;background:#0a0e14e6;border:1px solid var(--panel-border);color:var(--text);border-radius:2px;cursor:pointer}.model-select:hover,.model-select:focus{border-color:var(--glow-cyan-soft);outline:none}.messages-wrap{flex:1;min-height:0;overflow:hidden;position:relative}.messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem;position:relative;z-index:1}.placeholder{color:var(--text-dim);font-size:.85rem;padding:.75rem 0;letter-spacing:.03em}.placeholder-prompt{color:var(--glow-cyan);margin-right:.5rem;font-weight:600;text-shadow:0 0 8px var(--glow-cyan-soft)}.message{max-width:100%;padding:1.1rem 1.25rem;border-radius:8px;border:1px solid var(--panel-border);border-left-width:3px;background:#0e111a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 24px #0000004d;animation:message-in .35s ease-out}@keyframes message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user{border-left-color:var(--glow-cyan);border-color:#00d4ff4d;background:linear-gradient(135deg,#00d4ff14,#0e111a99 50%);box-shadow:0 0 30px #00d4ff14,0 4px 24px #0000004d}.message.assistant{border-left-color:var(--glow-gold);border-color:#ffb80026;background:linear-gradient(135deg,#ffb8000a,#0e111a99 50%);box-shadow:0 0 20px #ffb8000d,0 4px 24px #0000004d}.message.greeting{animation:message-in .6s ease-out}.message.greeting .content{margin-bottom:.5rem}.greeting-hint{font-size:.78rem;color:var(--text-dim);letter-spacing:.02em;border-top:1px solid var(--panel-border);padding-top:.6rem;margin-top:.25rem}.message .role{font-family:var(--font-hud);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.4rem;display:block;color:var(--text-dim)}.message.user .role{color:var(--glow-cyan);text-shadow:0 0 15px var(--glow-cyan-soft)}.message.assistant .role{color:var(--glow-gold);text-shadow:0 0 12px rgba(255,184,0,.3)}.message .content{font-size:.92rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;letter-spacing:.02em}.message .content .math-inline{display:inline}.message .content .math-block{display:block;margin:.5em 0}.message .content .katex{font-size:1.05em;color:inherit}.message .content .katex .mord,.message .content .katex .mop,.message .content .katex .mbin,.message .content .katex .mrel,.message .content .katex .minner,.message .content .katex .mpunct{color:inherit}.message .content .content-link{color:var(--glow-cyan);text-decoration:underline}.message .content .content-link:hover{color:var(--glow-cyan-soft)}.message .content .content-code-block{margin:.75em 0;border-radius:8px;overflow:hidden;border:1px solid var(--panel-border);background:#05080cf2;box-shadow:0 0 20px #00d4ff0f,inset 0 1px #ffffff05}.message .content .content-code-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;background:#00d4ff0f;border-bottom:1px solid var(--panel-border);font-family:var(--font-mono);font-size:.75rem}.message .content .content-code-lang{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.message .content .content-code-copy{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);padding:.2rem .5rem;border-radius:4px;cursor:pointer;font-family:var(--font-mono);font-size:.7rem;transition:color .2s,border-color .2s}.message .content .content-code-copy:hover{color:var(--glow-cyan);border-color:var(--glow-cyan)}.message .content .content-code-body{display:flex;overflow-x:auto}.message .content .content-code-line-nos{-webkit-user-select:none;user-select:none;flex-shrink:0;padding:.5em .75em .5em 1em;text-align:right;color:#7dd3fc;font-size:.85rem;line-height:1.5;border-right:1px solid var(--panel-border);min-width:2.75em;background:#00d4ff0a}.message .content .content-code-line-nos span{display:block}.message .content .content-code-pre{margin:0;padding:.5em 1em;flex:1;overflow-x:auto;font-size:.88rem;line-height:1.5;color:var(--text);white-space:pre;background:transparent}.message .content .content-code-pre code{font-family:var(--font-mono);letter-spacing:.02em}.message .content .content-code-pre code>span{display:block}.message .content .content-code-pre .token.keyword,.message .content .content-code-pre .token.boolean,.message .content .content-code-pre .token.atrule{color:#7dd3fc}.message .content .content-code-pre .token.class-name{color:#86efac}.message .content .content-code-pre .token.constant{color:#67e8f9}.message .content .content-code-pre .token.string,.message .content .content-code-pre .token.attr-value{color:#fde047}.message .content .content-code-pre .token.function{color:#e0f4ff}.message .content .content-code-pre .token.comment,.message .content .content-code-pre .token.prolog,.message .content .content-code-pre .token.doctype,.message .content .content-code-pre .token.cdata{color:#7a9eb5;font-style:italic}.message .content .content-code-pre .token.number,.message .content .content-code-pre .token.regex{color:#a5f3fc}.message .content .content-code-pre .token.operator,.message .content .content-code-pre .token.punctuation{color:#e0f4ff}.message .content .content-code-pre .token.variable,.message .content .content-code-pre .token.property{color:#c4b5fd}.message .content .content-code-pre .token.tag{color:#f472b6}.message .tool-calls{margin-top:.75rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-dim);border-top:1px solid var(--panel-border);padding-top:.6rem}.message .tool-call{padding:.3rem 0 .3rem .6rem;margin-top:.3rem;border-left:2px solid var(--panel-border)}.message .tool-call.ok{border-left-color:var(--ok);color:#00ff88f2}.message .tool-call.error{border-left-color:var(--error)}.message .created-files{margin-top:.75rem;padding-top:.6rem;border-top:1px solid var(--panel-border);display:flex;flex-wrap:wrap;gap:.5rem}.message .download-file{font-family:var(--font-mono);font-size:.8rem;color:var(--glow-cyan);background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);padding:.35rem .6rem;border-radius:4px;cursor:pointer}.message .download-file:hover{background:#00d4ff33;color:var(--glow-cyan);color:#ff3366f2}.message .tool-call code{color:var(--glow-cyan);letter-spacing:.05em}.input-area{padding:1rem 1.25rem;border-top:1px solid var(--panel-border);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;position:relative;z-index:1;background:linear-gradient(0deg,#05080cf2,#0a0c1299);box-shadow:0 -1px #00d4ff14}.save-folder-row{width:100%;flex-basis:100%;font-size:.75rem;color:var(--text-dim);margin-bottom:.25rem}.save-folder-row .link-button{background:none;border:none;padding:0;color:var(--glow-cyan);cursor:pointer;font-size:inherit;text-decoration:underline;letter-spacing:0}.save-folder-row .link-button:hover{text-shadow:0 0 10px var(--glow-cyan-soft)}.save-folder-hint{opacity:.85}.save-folder-banner{width:100%;flex-basis:100%;display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--glow-cyan);background:#00d4ff14;border:1px solid rgba(0,212,255,.25);border-radius:6px;padding:.5rem .75rem;margin-bottom:.25rem}.save-folder-banner .link-button{margin-left:auto;font-size:1rem;opacity:.8}.save-folder-banner .link-button:hover{opacity:1}.input-prefix{font-family:var(--font-mono);font-size:.95rem;color:var(--glow-cyan);text-shadow:0 0 10px var(--glow-cyan-soft);flex-shrink:0}.input-area .error{position:absolute;bottom:100%;left:1.25rem;right:6rem;margin-bottom:.35rem;font-size:.78rem;color:var(--error);text-shadow:0 0 10px var(--error-soft)}.input-area input{flex:1;padding:.75rem 1rem;background:#050508f2;border:1px solid var(--panel-border);border-radius:6px;color:var(--text);font-family:var(--font-mono);font-size:.9rem;letter-spacing:.04em;transition:border-color .2s,box-shadow .2s}.input-area input:focus{outline:none;border-color:var(--glow-cyan);box-shadow:0 0 20px var(--glow-cyan-soft),inset 0 0 20px #00d4ff08}.input-area input::placeholder{color:var(--text-dim)}.input-area button{padding:.75rem 1.35rem;background:linear-gradient(135deg,#00d4ff33,#00b4dc26);color:var(--glow-cyan);border:1px solid var(--glow-cyan);border-radius:6px;cursor:pointer;font-family:var(--font-hud);font-weight:600;letter-spacing:.2em;font-size:.65rem;transition:box-shadow .2s,background .2s,transform .15s}.input-area button:hover:not(:disabled){box-shadow:0 0 25px var(--glow-cyan-soft);background:linear-gradient(135deg,#00d4ff59,#00b4dc47);transform:translateY(-1px)}.input-area button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.attachment-chips{width:100%;flex-basis:100%;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.attachment-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .5rem;font-size:.75rem;color:var(--glow-cyan);background:#00d4ff1f;border:1px solid rgba(0,212,255,.3);border-radius:6px;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip-remove{flex-shrink:0;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:0 .15rem;font-size:1rem;line-height:1}.attachment-chip-remove:hover{color:var(--text)}.input-area .attach-button{padding:.75rem 1rem;min-width:2.5rem;font-size:1.1rem;letter-spacing:0}.log-panel-head{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--panel-border);background:#05050880}.log-panel-head h3{margin:0;font-family:var(--font-hud);font-size:.65rem;font-weight:600;letter-spacing:.28em;color:var(--text-dim);text-transform:uppercase}.log-badge{font-size:.6rem;letter-spacing:.1em;color:var(--glow-cyan);background:#00d4ff1a;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--panel-border)}.log-terminal{flex:1;overflow-y:auto;padding:1rem 1.1rem;font-family:var(--font-mono);font-size:.76rem;line-height:1.6;background:linear-gradient(180deg,rgba(0,212,255,.02) 0%,transparent 6%),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,212,255,.03) 2px,rgba(0,212,255,.03) 4px),#05070a;color:var(--text-dim);border-left:1px solid rgba(0,212,255,.1);letter-spacing:.05em}.log-placeholder{color:var(--text-dim);font-style:italic;opacity:.85}.log-cursor{color:var(--glow-cyan);margin-right:.35rem;animation:log-blink 1s step-end infinite}@keyframes log-blink{0%,50%{opacity:1}51%,to{opacity:0}}.log-entry{margin-bottom:1rem;padding:.5rem 0 .5rem .5rem;border-left:2px solid rgba(0,212,255,.25);background:#0003;border-radius:0 6px 6px 0;animation:log-entry-in .3s ease-out}@keyframes log-entry-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.log-entry:last-of-type{margin-bottom:0}.log-time{color:var(--glow-cyan);margin-right:.5rem;font-size:.7rem;text-shadow:0 0 8px var(--glow-cyan-soft)}.log-msg{color:var(--text-dim)}.log-tool{margin-top:.4rem;padding-left:.75rem;word-break:break-all;border-left:1px solid rgba(0,212,255,.2);font-size:.72rem}.log-tool.ok{color:var(--ok);text-shadow:0 0 10px var(--ok-soft)}.log-tool.error{color:var(--error);text-shadow:0 0 10px var(--error-soft)}.workspace-files-resizer{flex:0 0 6px;min-height:6px;background:var(--panel-border);cursor:ns-resize;position:relative}.workspace-files-resizer:hover{background:var(--glow-cyan);opacity:.7}.workspace-files-resizer:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:2px;background:var(--text-dim);border-radius:1px;opacity:.6}.workspace-files-resizer:hover:after{background:var(--glow-cyan)}body.workspace-resizing{cursor:ns-resize;-webkit-user-select:none;user-select:none}.workspace-files-panel{border-top:1px solid var(--panel-border);display:flex;flex-direction:column;min-height:0}.workspace-files-head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-bottom:1px solid var(--panel-border);background:#05050880}.workspace-files-head h3{margin:0;font-family:var(--font-hud);font-size:.65rem;letter-spacing:.12em;color:var(--text-dim)}.workspace-files-actions{display:flex;align-items:center;gap:.5rem}.workspace-files-refresh,.workspace-files-push-gh{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-family:var(--font-mono);cursor:pointer}.workspace-files-refresh:hover:not(:disabled),.workspace-files-push-gh:hover:not(:disabled){color:var(--glow-cyan);border-color:var(--glow-cyan)}.workspace-files-refresh:disabled,.workspace-files-push-gh:disabled{opacity:.7;cursor:not-allowed}.workspace-files-list{flex:1;overflow-y:auto;padding:.5rem .75rem;font-size:.78rem;font-family:var(--font-mono);color:var(--text-dim)}.workspace-files-item{display:block;width:100%;text-align:left;background:none;border:none;color:inherit;padding:.25rem .35rem;margin:0;border-radius:4px;cursor:pointer;font-family:inherit;font-size:inherit}.workspace-files-item:hover{background:#00d4ff14;color:var(--text)}.workspace-files-item.folder{color:var(--glow-cyan)}.workspace-files-empty{color:var(--text-dim);font-style:italic;padding:.5rem 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--panel-bg, #0a0c10);border:1px solid var(--panel-border);border-radius:8px;padding:1.25rem;max-width:90vw;width:380px;box-shadow:0 8px 32px #00000080}.push-github-modal h3{margin:0 0 .5rem;font-size:1rem;color:var(--text)}.push-github-modal .modal-hint{font-size:.75rem;color:var(--text-dim);margin:0 0 1rem}.push-github-modal label{display:block;margin-bottom:.75rem;font-size:.8rem;color:var(--text-dim)}.push-github-modal label input[type=text]{display:block;width:100%;margin-top:.25rem;padding:.4rem .5rem;background:#0000004d;border:1px solid var(--panel-border);border-radius:4px;color:var(--text);font-family:var(--font-mono)}.push-github-modal .checkbox-label{display:flex;align-items:center;gap:.5rem}.push-github-modal .checkbox-label input{margin:0}.push-gh-no-folder{font-size:.8rem;color:var(--glow-amber, #f59e0b);margin:0 0 .75rem}.push-gh-source-row{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.push-github-modal .radio-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;cursor:pointer}.push-github-modal .radio-label input{margin:0}.push-gh-workspace-wrap{margin-top:.5rem;border:1px solid var(--panel-border);border-radius:6px;overflow:hidden;background:var(--panel-bg)}.push-gh-workspace-label{display:block;margin-bottom:.25rem;font-size:.85rem}.push-gh-workspace-head{display:flex;align-items:center;justify-content:space-between;padding:.4rem .75rem;border-bottom:1px solid var(--panel-border);background:#05050880}.push-gh-workspace-title{font-family:var(--font-hud);font-size:.65rem;letter-spacing:.12em;color:var(--text-dim)}.push-gh-workspace-refresh{background:transparent;border:1px solid var(--panel-border);color:var(--text-dim);padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-family:var(--font-mono);cursor:pointer}.push-gh-workspace-refresh:hover:not(:disabled){color:var(--glow-cyan);border-color:var(--glow-cyan)}.push-gh-workspace-refresh:disabled{opacity:.7;cursor:not-allowed}.push-gh-workspace-list{max-height:12rem;overflow-y:auto;padding:.5rem .75rem;font-size:.78rem;font-family:var(--font-mono);color:var(--text-dim)}.push-gh-workspace-item{display:block;width:100%;text-align:left;background:none;border:none;color:inherit;padding:.25rem .35rem;margin:0;border-radius:4px;cursor:pointer;font-family:inherit;font-size:inherit}.push-gh-workspace-item:hover{background:#00d4ff14;color:var(--text)}.push-gh-workspace-item.folder{color:var(--glow-cyan)}.push-gh-workspace-empty{color:var(--text-dim);font-style:italic;padding:.5rem 0}.push-gh-workspace-actions{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;border-top:1px solid var(--panel-border)}.push-gh-use-folder{background:transparent;border:1px solid var(--panel-border);color:var(--glow-cyan);padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-family:var(--font-mono);cursor:pointer}.push-gh-use-folder:hover{border-color:var(--glow-cyan);background:#00d4ff14}.push-gh-selected-path{font-size:.75rem;color:var(--text-dim)}.mobile-tabs{display:none}@media (max-width: 1024px){.panels{flex-direction:column}.panel{border-right:none}.panel.log-panel{width:100%;max-width:100%;border-top:1px solid var(--panel-border)}}@media (max-width: 768px){.mobile-tabs{display:flex;gap:0;padding:0 .5rem;border-bottom:1px solid var(--panel-border);background:#05050899}.mobile-tabs button{flex:1;padding:.65rem .75rem;border:none;background:none;color:var(--text-dim);font-family:var(--font-hud);font-size:.75rem;letter-spacing:.08em;cursor:pointer}.mobile-tabs button.active{color:var(--glow-cyan);border-bottom:2px solid var(--glow-cyan);font-weight:600}.panels{flex-direction:column}.panels[data-mobile-tab=chat] .panel.log-panel,.panels[data-mobile-tab=log] .panel.conversation{display:none}.panel.log-panel{width:100%;max-width:100%;flex:1;min-height:50vh;border-top:none}.workspace-files-resizer{display:none}.panel.log-panel .workspace-files-panel{min-height:180px;max-height:45vh}.header{padding:.6rem .75rem;flex-wrap:wrap;gap:.4rem}.header h1{font-size:.95rem;letter-spacing:.15em}.conversation-head{padding:.5rem .75rem;flex-wrap:wrap;gap:.4rem}.conversation-label{font-size:.6rem}.conversation-status,.model-select-label{display:none}.conversation-head-right{margin-left:auto}.messages{padding:.6rem .75rem;gap:1rem}.message .role{font-size:.7rem}.message .content{font-size:.88rem}.input-area{padding:.6rem .75rem;gap:.4rem}.input-area input{padding:.6rem .75rem;font-size:.85rem}.input-area button{padding:.6rem 1rem;font-size:.6rem}.save-folder-row,.save-folder-banner{font-size:.7rem}.log-panel-head{padding:.4rem .75rem}.log-panel-head h3{font-size:.65rem}.log-terminal{padding:.5rem .75rem;font-size:.7rem}.workspace-files-head h3{font-size:.6rem}.workspace-files-refresh,.workspace-files-push-gh{padding:.18rem .4rem;font-size:.65rem}.push-github-modal .modal-hint,.push-gh-source-row,.push-github-modal .radio-label{font-size:.8rem}.modal{max-width:100%;width:100%;margin:.5rem;max-height:calc(100vh - 1rem);overflow-y:auto}.app{overflow-x:hidden}.panels{min-height:0}}.push-github-modal .push-gh-folder-name{font-size:.8rem;color:var(--text-dim);margin:0 0 .5rem}.push-gh-folder-row{display:flex;gap:.4rem;align-items:center;margin-top:.15rem}.push-gh-folder-row input{flex:1}.push-gh-folder-select{flex:0 0 auto;font-size:.75rem;padding:.25rem .6rem;border-radius:4px;border:1px solid var(--panel-border);background:var(--panel-bg);cursor:pointer;font-family:var(--font-mono)}.push-gh-folder-select:disabled{opacity:.6;cursor:default}.push-gh-folder-picker{margin-top:.35rem;border-radius:6px;border:1px solid var(--panel-border);background:var(--panel-bg);box-shadow:0 10px 30px #000000a6}.push-gh-folder-picker-head{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;border-bottom:1px solid var(--panel-border);font-size:.75rem}.push-gh-folder-picker-close{background:none;border:none;color:inherit;cursor:pointer;font-size:.85rem;padding:0 .25rem}.push-gh-folder-picker-list{max-height:9rem;overflow-y:auto;padding:.25rem}.push-gh-folder-picker-item{width:100%;text-align:left;padding:.25rem .4rem;border-radius:4px;border:none;background:transparent;color:inherit;cursor:pointer;font-size:.8rem}.push-gh-folder-picker-item:hover{background:#94a3b840}.push-gh-folder-picker-item.selected{background:#38bdf84d}.push-gh-folder-picker-actions{display:flex;justify-content:flex-end;padding:.3rem .4rem .4rem;border-top:1px solid var(--panel-border)}.push-gh-folder-picker-actions button{font-size:.75rem;padding:.2rem .7rem;border-radius:4px;border:1px solid var(--panel-border);background:var(--panel-bg);cursor:pointer;font-family:var(--font-mono)}.push-gh-folder-picker-actions button:disabled{opacity:.5;cursor:default}.push-gh-folder-picker-empty{padding:.3rem .5rem;font-size:.75rem;color:var(--text-dim)}.push-github-modal .modal-pick-folder{margin-bottom:1rem;padding:.4rem .75rem;border:1px solid var(--panel-border);background:transparent;color:var(--glow-cyan);border-radius:4px;cursor:pointer;font-family:var(--font-mono)}.push-github-modal .modal-pick-folder:hover{border-color:var(--glow-cyan);background:#00d4ff14}.push-gh-result{font-size:.8rem;margin:.75rem 0;padding:.5rem;border-radius:4px}.push-gh-result.success{background:#00d4ff1a;color:var(--glow-cyan)}.push-gh-result.error{background:#ef444426;color:#f87171}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-actions button{padding:.4rem .75rem;border-radius:4px;font-family:var(--font-mono);cursor:pointer;border:1px solid var(--panel-border);background:transparent;color:var(--text-dim)}.modal-actions button[type=submit]{background:var(--glow-cyan);color:#000;border-color:var(--glow-cyan)}.modal-actions button:hover:not(:disabled){color:var(--glow-cyan);border-color:var(--glow-cyan)}.modal-actions button[type=submit]:hover:not(:disabled){opacity:.9}*{box-sizing:border-box}:root{font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}body{margin:0;min-height:100vh;background:#050508;color:#e0f4ff}#root{min-height:100vh}
