@tailwind base;@tailwind components;@tailwind utilities;:root{--bg-deepest: #07080d;--bg-page: #0b0d14;--bg-card: #11141c;--bg-raised: #1a1e28;--hairline: rgba(238, 240, 245, .08);--hairline-strong: rgba(238, 240, 245, .15);--text-primary: #eef0f5;--text-secondary: #a3a9b8;--text-muted: #7a8296;--accent: #7dd3fc;--positive: #4cc38a;--negative: #e5484d;--negative-text: #f27d81;--amber: #fbbf24;--ease: cubic-bezier(.22, 1, .36, 1);--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:20px;background:var(--bg-page);color:var(--text-primary)}button,a,input,textarea,select{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{display:flex;min-height:100vh}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.sidebar{width:260px;padding:16px;display:flex;flex-direction:column;gap:16px;background:var(--bg-deepest);border-right:1px solid var(--hairline)}.sidebar-head{display:flex;align-items:center;gap:8px}.logo{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;font-size:20px;font-weight:500;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--hairline)}.logo-text{font-size:16px;font-weight:500;line-height:20px}.logo-sub{font-size:12px;line-height:16px;color:var(--text-muted)}.new-chat-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--bg-page);background:var(--text-primary)}.new-chat-btn:hover{background:#d9dee9}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border-radius:8px;color:var(--text-secondary);text-decoration:none;font-size:14px}.nav-item:hover{background:var(--bg-raised);color:var(--text-primary)}.nav-item.active{background:var(--bg-raised);color:var(--text-primary);font-weight:500;box-shadow:inset 2px 0 0 var(--accent),inset 0 1px #ffffff1f}.sidebar-history{margin-top:8px}.section-label{font-size:12px;line-height:16px;letter-spacing:.01em;color:var(--text-secondary);margin:0 0 8px}.empty-note{font-size:13px;line-height:20px;color:var(--text-muted);margin:0}.topbar{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--hairline)}.brand{margin:0;font-size:16px;line-height:20px;font-weight:500}.powered{font-size:12px;line-height:16px;color:var(--text-muted)}.spacer{flex:1}.icon-btn,.theme-btn{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 8px;border-radius:8px;cursor:pointer;background:transparent;border:1px solid var(--hairline-strong);color:var(--text-secondary);font-size:14px}.icon-btn:hover,.theme-btn:hover{background:var(--bg-raised);color:var(--text-primary)}.chat-area{flex:1;display:flex;flex-direction:column;padding:24px;gap:16px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}.hero-mark{font-size:24px;line-height:1;color:var(--text-secondary)}.mirror-line{width:64px;height:1px;background:var(--hairline-strong)}.chat-empty h2{margin:0;font-size:28px;line-height:32px;font-weight:500}.chat-empty p{margin:0;font-size:15px;line-height:22px;color:var(--text-secondary);max-width:480px}.notice{color:var(--text-secondary);font-size:14px;max-width:480px}.composer{display:flex;gap:8px;padding:12px;border-radius:12px;background:var(--bg-raised);border:1px solid var(--hairline)}.composer input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:15px;line-height:22px;min-width:0}.composer input::placeholder{color:var(--text-muted)}.send-btn{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--bg-page);background:var(--text-primary)}.send-btn:hover{background:#d9dee9}.message-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.message{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--hairline)}.message:last-child{border-bottom:none}.message-role{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--text-muted);font-variant-numeric:tabular-nums}.message-content{font-size:14px;line-height:20px;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:break-word}.status-panel{width:280px;padding:20px;background:var(--bg-card);border-left:1px solid var(--hairline)}.status-panel h3{margin:0 0 12px;font-size:15px;line-height:20px;font-weight:500}.status-badge{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.status-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--text-muted)}.status-badge.connected{color:var(--text-primary)}.status-badge.connected .status-dot{background:var(--accent);box-shadow:0 0 8px #7dd3fca6}.status-note{font-size:13px;line-height:20px;color:var(--text-muted);margin:0 0 16px}.panel-label{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.01em;color:var(--text-secondary);margin:16px 0 8px}.status-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.status-panel li{font-size:14px;line-height:20px;color:var(--text-secondary)}@media (max-width: 900px){.status-panel{display:none}.sidebar{position:fixed;z-index:10;height:100vh;background:var(--bg-deepest)}}.panel{flex:1;display:flex;flex-direction:column;padding:24px;gap:16px;overflow-y:auto}.panel-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.panel-title{margin:0;font-size:20px;line-height:24px;font-weight:500}.panel-sub{font-size:13px;line-height:20px;color:var(--text-muted);margin:0}.card{padding:20px;border-radius:16px;background:var(--bg-card);border:1px solid var(--hairline)}.card h3{margin:0 0 12px;font-size:15px;line-height:20px;font-weight:500}.card h4{margin:16px 0 8px;font-size:12px;line-height:16px;font-weight:500;letter-spacing:.01em;color:var(--text-secondary)}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:6px;font-size:12px;line-height:16px;font-weight:500;background:var(--bg-raised);border:1px solid var(--hairline);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.badge-published:before,.badge-completed:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--positive)}.badge-failed:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--negative)}.badge-approval:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber)}.badge-active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.muted{color:var(--text-muted);font-size:13px;line-height:20px;font-variant-numeric:tabular-nums}.error-note{color:var(--negative-text);font-size:14px;line-height:20px}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list-item{padding:12px;border-radius:8px;display:flex;flex-direction:column;gap:6px;background:var(--bg-raised);border:1px solid var(--hairline)}.list-item-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list-item-row .grow{flex:1;min-width:0}.list-item-title{font-weight:500}.form{display:flex;flex-direction:column;gap:12px;max-width:560px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:20px;color:var(--text-secondary)}.form input[type=text],.form textarea,.form select,.input,.textarea,.select{background:var(--bg-raised);border:1px solid var(--hairline-strong);color:var(--text-primary);border-radius:8px;padding:8px 12px;font-size:14px;line-height:20px;outline:none;width:100%}.form input::placeholder,.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.form textarea,.textarea{font-family:var(--mono);font-size:13px;line-height:20px;resize:vertical}.check-row{display:flex;flex-direction:row!important;align-items:center;gap:8px!important;color:var(--text-primary)!important;font-size:14px!important}.check-row input{width:auto!important}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--bg-page);background:var(--text-primary)}.btn:hover{background:#d9dee9}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--hairline-strong);color:var(--text-primary)}.btn-ghost:hover{background:var(--bg-raised)}.btn-danger{background:transparent;border:1px solid rgba(229,72,77,.5);color:var(--negative-text)}.btn-danger:hover{background:#e5484d1a}.btn-sm{padding:4px 8px;font-size:13px;line-height:20px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pre{background:var(--bg-deepest);border:1px solid var(--hairline);border-radius:8px;padding:12px;font-family:var(--mono);font-size:12px;line-height:18px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;max-height:320px;overflow:auto;font-variant-numeric:tabular-nums}.search-row{display:flex;gap:8px;max-width:640px}.search-row .input{flex:1}.btn,.send-btn,.new-chat-btn,.nav-item,.icon-btn,.theme-btn{transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .12s var(--ease),box-shadow .15s var(--ease)}.btn:active,.send-btn:active,.new-chat-btn:active{transform:scale(.98)}
