:root{--bg:#000;--surface:#0a0f0c;--surface-2:#0e1712;--surface-3:#142018;--ink:#e9fbf0;--muted:#86a696;--faint:#4a6156;--border:#1d3527;--border-soft:#16261c;--accent:#3cff89;--accent-soft:rgba(60,255,137,.12);--blue:#82c8ff;--error:#ff6259;font-family:Archivo,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);overflow:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background:url('/img/earth.png') no-repeat right -6% top -18%;background-size:78% auto;opacity:.4;pointer-events:none;z-index:-1}[hidden]{display:none!important}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.auth-checking,.login-gate{min-height:100dvh;display:grid;place-items:center}.spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-card{width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px;background:rgba(10,15,12,.9);border:1px solid var(--border);border-radius:16px;padding:36px;box-shadow:0 25px 80px #0009}.brand-mark{font-size:42px;line-height:1;color:var(--accent);text-align:center}.login-kicker{color:var(--accent);font-size:.7rem;letter-spacing:.18em;text-align:center;margin-top:8px}.login-card h1{font-size:1.4rem;letter-spacing:.08em;text-align:center;margin:0}.login-card p{color:var(--muted);text-align:center;margin:0 0 12px}.login-card label{font-size:.8rem;color:var(--muted)}.login-card input{padding:13px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink)}.primary{border:0;background:var(--accent);color:#04170c;padding:13px;border-radius:8px;font-weight:700}.error{color:var(--error)}
.panel-app{height:100dvh;display:flex;background:rgba(0,0,0,.2)}.side-rail{width:76px;flex:none;background:rgba(10,15,12,.92);border-right:1px solid var(--border-soft);display:flex;align-items:center;flex-direction:column;padding:15px 9px;gap:16px}.rail-mark{font-size:30px;line-height:34px;color:var(--accent)}.rail-link{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;color:var(--faint)}.rail-link.active{background:var(--accent-soft);color:var(--accent)}.rail-link svg{width:24px;height:24px}.panel-body{flex:1;min-width:0;display:flex;flex-direction:column}.panel-header{height:66px;display:flex;align-items:center;gap:28px;padding:0 clamp(16px,3vw,36px);border-bottom:1px solid var(--border-soft);background:rgba(10,15,12,.83)}.panel-brand{display:flex;flex-direction:column;gap:3px}.wordmark{font-weight:700;letter-spacing:.13em;font-size:.84rem}.panel-sub{font-size:.62rem;letter-spacing:.12em;color:var(--faint)}.panel-tabs{align-self:stretch;display:flex;align-items:end;flex:1}.panel-tab{display:flex;align-items:center;height:100%;padding:0 4px;border-bottom:2px solid var(--accent);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.text-button{border:0;background:none;color:var(--muted);font-size:.78rem}.text-button:hover{color:var(--accent)}
.pm-app{flex:1;min-height:0;display:flex}.pm-columns{display:flex;flex:1;min-width:0;min-height:0}.pm-col{display:flex;flex-direction:column;min-width:0;min-height:0;background:rgba(10,15,12,.55);backdrop-filter:blur(6px)}.pm-col-clean{flex:1 1 56%}.pm-col-activity{flex:1 1 44%;border-left:1px solid var(--border-soft)}.pm-toolbar{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--border-soft);min-height:58px}.pm-agent-switch{margin-right:auto;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.pm-agent-option{display:block;border-radius:6px;padding:6px 13px;background:rgba(65,170,255,.22);color:var(--blue);font-size:.78rem;font-weight:600}.toolbar-button{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;color:var(--muted);padding:7px 10px;font-size:.77rem}.toolbar-button:hover{border-color:var(--accent);color:var(--accent)}.toolbar-button.muted{color:var(--faint)}
.pm-thread{flex:1;min-height:0;overflow-y:auto;padding:18px clamp(16px,3vw,36px);display:flex;flex-direction:column;gap:15px;width:100%;scrollbar-color:#23402f transparent}.pm-empty{text-align:center;color:var(--faint);margin-top:60px;font-size:.95rem}.pm-message{max-width:min(88%,780px);padding:12px 15px;border-radius:10px;line-height:1.55;font-size:.94rem;white-space:pre-wrap;overflow-wrap:anywhere}.pm-user{align-self:flex-end;background:var(--accent-soft);border:1px solid rgba(60,255,137,.26)}.pm-assistant{align-self:flex-start;background:rgba(65,170,255,.12);border:1px solid rgba(65,170,255,.48)}.pm-error{align-self:flex-start;background:rgba(255,98,89,.14);border:1px solid var(--error)}.message-label{display:block;color:var(--blue);font-size:.72rem;font-weight:700;margin-bottom:6px}.message-meta{display:block;color:var(--faint);font-size:.68rem;margin-top:8px}.message-actions{display:flex;gap:10px;margin-top:9px}.message-actions button{border:0;background:none;color:var(--muted);font-size:.72rem;padding:2px 0}.message-actions button:hover{color:var(--accent)}.message-images{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.message-images img{width:80px;height:80px;object-fit:cover;border-radius:5px;border:1px solid var(--border)}
.pm-inputbar{padding:12px clamp(16px,3vw,36px) 14px;border-top:1px solid var(--border-soft);background:rgba(10,15,12,.8)}.input-row{display:flex;align-items:flex-end;gap:8px;padding:5px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.input-row:focus-within{border-color:#367c50}.input-row textarea{flex:1;min-width:0;max-height:190px;resize:none;background:transparent;border:0;outline:0;color:var(--ink);padding:9px 5px;line-height:1.45}.input-row textarea::placeholder{color:var(--faint)}.icon-button,.send-button{flex:none;width:36px;height:36px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-size:1.2rem}.icon-button:hover{color:var(--accent);background:var(--surface-3)}.icon-button.recording{color:var(--error);background:rgba(255,98,89,.14);animation:blink 1s infinite}@keyframes blink{50%{opacity:.4}}.send-button{background:var(--accent);color:#04170c;font-size:1rem}.pm-hint{font-size:.68rem;color:var(--faint);padding:8px 5px 0}.reply-preview,.attachment-preview{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;margin-bottom:8px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);font-size:.75rem;color:var(--muted);gap:8px}.reply-preview b{color:var(--ink);font-weight:500}.reply-preview button,.attachment-preview button{border:0;background:none;color:var(--muted);font-size:1rem}.attachment-preview{flex-wrap:wrap;justify-content:flex-start}
.pm-queue-section{flex:0 1 38%;min-height:88px;display:flex;flex-direction:column;border-bottom:1px solid var(--border-soft)}.pm-activity-section{flex:1 1 62%;min-height:0;display:flex;flex-direction:column}.pm-activity-head{padding:15px 18px;font-size:.84rem;font-weight:700;border-bottom:1px solid var(--border-soft)}.pm-activity-hint{font-size:.7rem;font-weight:400;color:var(--faint)}.pm-queue-list,.pm-activity{flex:1;min-height:0;overflow-y:auto;padding:12px 18px;scrollbar-color:#23402f transparent}.pm-queue-list{display:flex;flex-direction:column;gap:6px}.pm-queue-empty,.pm-idle{color:var(--faint);font-size:.82rem;font-style:italic}.task-row{display:flex;gap:9px;align-items:center;border:1px solid transparent;padding:8px 10px;border-radius:6px;color:var(--muted);font-size:.8rem;cursor:pointer;text-align:left;background:transparent;width:100%}.task-row:hover{background:var(--surface-2)}.task-row.active{background:var(--accent-soft);border-color:rgba(60,255,137,.26);color:var(--ink)}.task-row .task-num{color:var(--accent);font-family:monospace}.task-copy{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.task-state{color:var(--faint);font-size:.68rem}.task-cancel{border:1px solid var(--error);color:#ffad94;background:none;border-radius:5px;padding:3px 5px;font-size:.65rem}.activity-line{padding:6px 0;border-bottom:1px solid var(--border-soft);font: .75rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.activity-line:first-child{color:var(--accent)}
.pm-usage-option{border:0;border-left:1px solid var(--border);background:none;color:var(--muted);padding:6px 12px;font-size:.77rem}.pm-usage-option:hover{color:var(--accent)}.usage-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#010804cb;backdrop-filter:blur(8px)}.usage-dialog{width:min(680px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:linear-gradient(150deg,#18261ffb,#080e0bfd);border:1px solid #3cff8950;border-radius:14px;box-shadow:0 25px 80px #000b}.usage-dialog header,.usage-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--border-soft)}.usage-dialog footer{border-top:1px solid var(--border-soft);border-bottom:0;color:var(--faint);font-size:.7rem}.usage-dialog header small{color:var(--accent);font-size:.62rem;letter-spacing:.14em}.usage-dialog h2{margin:5px 0 0;font-size:1.3rem;font-weight:500}.usage-dialog button{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;color:var(--muted);padding:6px 11px}.usage-content{padding:22px;color:var(--muted);font-size:.84rem}.usage-bucket{border:1px solid var(--border);border-radius:9px;padding:14px;margin-bottom:12px}.usage-bucket h3{margin:0 0 12px;color:var(--ink);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.usage-window{margin:12px 0}.usage-window-label{display:flex;justify-content:space-between;margin-bottom:7px}.usage-meter{height:7px;border-radius:8px;background:#ffffff15;overflow:hidden}.usage-meter span{display:block;height:100%;background:var(--accent);border-radius:inherit}.usage-reset{font-size:.69rem;color:var(--faint);margin-top:6px}.task-drawer-btn{display:none}
@media(max-width:850px){.side-rail{display:none}.panel-header{height:58px;padding:0 14px;gap:12px}.panel-tabs{display:none}.wordmark{font-size:.7rem}.pm-col-clean{flex-basis:100%}.pm-col-activity{display:flex;position:fixed;right:0;top:58px;bottom:0;width:min(88vw,380px);z-index:22;transform:translateX(100%);transition:transform .2s ease;border-left:1px solid var(--border);background:rgba(10,15,12,.98);box-shadow:-15px 0 40px #0008}.pm-col-activity.open{transform:translateX(0)}.task-drawer-btn{display:block;position:fixed;right:0;top:50%;z-index:23;transform:translateY(-50%);width:30px;height:68px;border:1px solid var(--border);border-right:0;border-radius:10px 0 0 10px;background:var(--surface-2);color:var(--accent);font-size:1.5rem}.task-drawer-btn.open{right:min(88vw,380px)}.pm-toolbar{padding:7px 11px;gap:7px}.toolbar-button{font-size:.67rem;padding:6px 7px}.pm-thread{padding:12px}.pm-inputbar{padding:8px}.pm-message{max-width:92%}.pm-hint{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Markdown replies retain semantic spacing without inherited pre-wrap. */
.message-content{white-space:normal;min-width:0}
.message-content>:first-child{margin-top:0}.message-content>:last-child{margin-bottom:0}
.message-content p{margin:.65em 0}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{line-height:1.3;margin:1em 0 .5em;font-size:1.1em}
.message-content ul,.message-content ol{padding-left:1.6em;margin:.65em 0}.message-content li+li{margin-top:.35em}
.message-content blockquote{margin:.8em 0;padding:.1em 0 .1em 1em;border-left:3px solid var(--blue);color:var(--muted)}
.message-content a{color:var(--blue);text-decoration:underline}.message-content code{font-family:monospace;background:#0004;padding:.1em .3em;border-radius:3px}
.message-content pre{max-width:100%;overflow-x:auto;background:#0004;padding:12px;border-radius:6px;white-space:pre}.message-content pre code{background:none;padding:0}
.message-content table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;margin:.8em 0}.message-content th,.message-content td{border:1px solid var(--border);padding:6px 10px;text-align:left}
.message-content hr{border:0;border-top:1px solid var(--border);margin:1em 0}

.attachment-preview{max-height:180px;overflow-y:auto;gap:10px;padding:10px}
.attachment-card{width:88px;position:relative;flex:none}
.attachment-image{display:block;width:88px;height:76px;border-radius:6px;overflow:hidden;border:1px solid var(--border);background:#0004}
.attachment-image img{width:100%;height:100%;object-fit:contain;display:block}
.attachment-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;margin-top:5px}
.attachment-card .remove-file{position:absolute;right:-4px;top:-5px;width:22px;height:22px;border-radius:50%;background:#15261d;color:#fff;border:1px solid var(--border);font-size:16px;line-height:1}
.pm-inputbar.drag-active{outline:2px dashed var(--accent);outline-offset:-5px;background:#173322}
.message-images img{width:120px;height:96px;object-fit:contain;background:#0003}
.message-images a:focus-visible,.attachment-image:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.upload-status{display:flex;align-items:center;gap:12px;color:var(--accent);font-size:.78rem;margin-bottom:10px}.upload-status progress{width:100px;height:6px;accent-color:var(--accent)}
