:root{--bg: #01030a;--panel: #040a14;--panel2: #020610;--border: #14365a;--text: #f2f8ff;--muted: #8fb0c9;--accent: #00a8ff;--accent2: #00e0b8;--ok: #00e0a4;--warn: #f5a623;--err: #ff5c5c}*{box-sizing:border-box}html,body,#root{height:100%}body{overflow:hidden}body{margin:0;background:radial-gradient(900px 480px at 88% -10%,rgba(0,224,184,.16),transparent 60%),radial-gradient(1000px 620px at 6% -18%,rgba(0,119,255,.24),transparent 62%),linear-gradient(180deg,#020817,#01030a 48%,#000208);color:var(--text);font-family:ui-sans-system,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted{color:var(--muted)}.small{font-size:12px}.wrap{word-break:break-all}.app{display:flex;flex-direction:column;height:100%;height:100dvh;max-height:100dvh;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-bottom:1px solid rgba(0,224,184,.38);background:linear-gradient(90deg,#07182e,#020610 58%,#01030a);box-shadow:0 10px 32px #0000008c,0 1px #00d8ff1f}.brand{display:flex;gap:12px;align-items:center}.brand-logo{width:226px;height:58px;object-fit:contain;object-position:left center;mix-blend-mode:screen;filter:saturate(1.18) drop-shadow(0 0 16px rgba(0,168,255,.35))}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-console{align-self:flex-start;color:#031525;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.logo{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:22px;color:#fff;background:linear-gradient(135deg,#087eea,#00b7c9);box-shadow:0 4px 18px #1da1ff73}.brand h1{margin:0;font-size:18px;letter-spacing:.2px}.brand p{margin:2px 0 0;color:var(--muted);font-size:12px}.legend{display:flex;gap:8px;flex-wrap:wrap}.app-switcher{display:flex;gap:8px;align-items:center}.app-switcher label{color:var(--muted);font-size:12px}.accent-text{color:var(--accent2)}.active-card{border-color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent) inset,0 0 20px #00a8ff47}.badge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge.ok{color:#b9f4d4;border-color:#1e5c3c;background:#2fbf711f}.badge.warn{color:#ffe1a8;border-color:#6b4d12;background:#f5a6231f}.badge.err{color:#ffc4c4;border-color:#6e2323;background:#ff5c5c1f}.badge.type{color:#c9f7ff;border-color:#1479a8;background:#00a8ff21;box-shadow:0 0 10px #00a8ff1a}.layout{display:grid;grid-template-columns:minmax(300px,25%) 1fr;gap:0;flex:1 1 auto;min-height:0;overflow:hidden}.chat{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--panel2);min-height:0;overflow:hidden}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.msg{display:flex}.msg.user{justify-content:flex-end}.bubble{max-width:92%;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.msg.user .bubble{background:linear-gradient(135deg,#003a5cf5,#001626f5);border-color:var(--accent);box-shadow:0 0 14px #00a8ff24}.bubble p{margin:0 0 6px;line-height:1.45}.bubble p:last-child{margin-bottom:0}.action-card{margin-top:8px;border:1px dashed #1479a8;border-radius:10px;padding:9px 10px;background:#00a8ff12}.action-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-summary{color:var(--muted);font-size:12.5px}.action-result{color:#bfe3c8;font-size:12.5px}.action-btns{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.btn{background:#01060d;color:var(--text);border:1px solid #1b4d73;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px;box-shadow:inset 0 0 0 1px #00e0b80d}.btn:hover{border-color:var(--accent2);box-shadow:0 0 0 1px #00e0b838,0 0 14px #00a8ff2e}.btn:disabled{opacity:.5;cursor:default}.btn.primary:hover{background:linear-gradient(90deg,#07f,#00c9a7);color:#fff;border-color:#00e0b8bf}.btn.primary{background:#010409;border:1px solid #25d8ff;color:#54d8ff;font-weight:800;letter-spacing:.01em;box-shadow:0 0 16px #00d8ff61,inset 0 0 12px #00a8ff1f}.btn.ghost{background:transparent}.btn.danger{background:#ff5c5c1f;border-color:#6e2323;color:#ffc4c4}.btn.small{padding:4px 8px;font-size:12px}.guidance{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:12.5px;line-height:1.55}.mini-table,.table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12.5px}.mini-table th,.mini-table td,.table th,.table td{border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.mini-table th,.table th{color:var(--muted);font-weight:600}.chat-footer{flex:0 0 auto;border-top:1px solid var(--border);background:var(--panel2)}.suggestions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:8px 12px 0;scrollbar-width:thin}.suggestions-label{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chip{flex:0 0 auto;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#010b16;border:1px solid #1b4d73;color:#c9f7ff;border-radius:999px;padding:5px 10px;font-size:12px;cursor:pointer}.chip:hover{border-color:var(--accent2)}.composer{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.chat-footer .composer{border-top:none}.composer textarea{flex:1;min-width:0;min-height:46px;max-height:30vh;resize:none;line-height:1.45;overflow-y:hidden}input,select,textarea{background:#01060d;border:1px solid #1b4d73;color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px;outline:none}input:focus,select:focus,textarea:focus{border-color:#25d8ff;box-shadow:0 0 0 3px #00d8ff21,0 0 14px #00a8ff29}.activity{flex:0 0 auto;border-top:1px solid var(--border);padding:8px 12px;max-height:92px;overflow-y:auto}.activity h4{margin:0 0 6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.activity-row{font-size:11.5px;color:var(--muted);padding:2px 0}.workbench{display:flex;flex-direction:column;min-width:0;min-height:0}.tabs{display:flex;align-items:flex-end;gap:10px;padding:10px 14px 0;border-bottom:1px solid var(--border);min-width:0}.tabs-list{display:flex;gap:4px;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tabs-toggle{flex:0 0 auto;margin-bottom:3px;white-space:nowrap}.tab{flex:0 0 auto;white-space:nowrap;background:transparent;border:1px solid transparent;border-bottom:none;color:var(--muted);padding:8px 14px;border-radius:9px 9px 0 0;cursor:pointer;font-size:13.5px}.tab.active{background:linear-gradient(180deg,#02101d,var(--panel));color:var(--text);border-color:#1b4d73;font-weight:800;box-shadow:inset 0 2px 0 var(--accent2),0 -8px 22px #00e0b81a}.tab-body{flex:1;overflow-y:auto;background:var(--panel)}.panel{padding:16px 18px}.panel-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.panel-head h3{margin:0;font-size:16px}.note{background:#00a8ff17;border:1px solid #1479a8;border-radius:8px;padding:8px 10px;color:#c9f7ff}.success{background:#2fbf711a;border:1px solid #1e5c3c;border-radius:8px;padding:8px 10px;color:#b9f4d4}.error{background:#ff5c5c1a;border:1px solid #6e2323;border-radius:8px;padding:8px 10px;color:#ffc4c4}.add-form{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.add-form h4{margin:0 0 8px}.form-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.form-row input{flex:1;min-width:140px}.check{display:flex;gap:6px;align-items:center;color:var(--muted)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.sql-editor{width:100%;margin-bottom:8px;line-height:1.5}.code-layout{display:grid;grid-template-columns:220px 1fr;gap:12px;min-height:380px}.file-tree{border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--panel2);overflow-y:auto}.tree-dir{color:var(--muted);font-size:12px;padding:4px 6px;font-weight:600}.tree-file{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:5px 6px;border-radius:6px;cursor:pointer;font-size:12.5px;font-family:ui-monospace,Menlo,Consolas,monospace}.tree-file:hover{background:#0a2a47}.tree-file.active{background:#0b4f86}.editor-wrap{border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;background:#041426}.editor-head{padding:7px 10px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px}.editor-body{display:flex;flex:1;min-height:0}.line-numbers{margin:0;padding:10px 8px;text-align:right;color:#3d5578;font-size:12.5px;line-height:1.55;-webkit-user-select:none;user-select:none;overflow:hidden}.editor{flex:1;border:none;border-radius:0;resize:none;padding:10px;line-height:1.55;font-size:12.5px;background:transparent}.conn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.conn-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--panel2)}.conn-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dot{width:9px;height:9px;border-radius:50%;background:#5a6d8f;display:inline-block}.dot.ok{background:var(--ok)}.dot.error{background:var(--err)}.details{margin:6px 0;padding-left:16px;color:var(--muted);font-size:12.5px}textarea.mono{width:100%}@media(max-width:980px){.layout{grid-template-columns:1fr}.chat{border-right:none;border-bottom:1px solid var(--border);max-height:calc(100dvh - 24px)}.code-layout{grid-template-columns:1fr}}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.seg button{background:transparent;border:none;color:var(--muted);padding:6px 14px;cursor:pointer;font-size:12.5px}.seg button.on{background:linear-gradient(90deg,#087eea,#00b7c9);color:#fff;font-weight:700}.project-summary{display:grid;grid-template-columns:1.25fr 1fr 1.35fr 1fr auto;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#07f3,#00c9a71c),#01040a;align-items:stretch}.summary-block{display:flex;flex-direction:column;gap:4px;min-width:0}.summary-label{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}.summary-main strong{font-size:15px}.summary-action{display:flex;flex-direction:column;gap:6px;align-items:flex-end;justify-content:center;max-width:250px;text-align:right}@media(max-width:1200px){.project-summary{grid-template-columns:1fr 1fr}.summary-action{align-items:flex-start;text-align:left;max-width:none}}.preview-frame-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;margin-top:10px}.preview-frame-wrap.mobile{max-width:400px;margin-left:auto;margin-right:auto}.preview-frame{width:100%;height:max(480px,calc(100vh - 330px));border:none;display:block}.arch-layout{display:grid;grid-template-columns:1fr 330px;gap:14px;align-items:start}.arch-canvas{border:1px solid #1b4d73;border-radius:12px;background:radial-gradient(circle at 30% 20%,#04264a,#01030a 70%);padding:8px;box-shadow:inset 0 0 32px #00a8ff14}.arch-svg{width:100%;height:auto;display:block}.arch-node rect{filter:drop-shadow(0 3px 10px rgba(0,0,0,.55)) drop-shadow(0 0 7px rgba(108,178,255,.22))}.arch-node,.arch-edge{cursor:pointer}.arch-node:hover rect,.arch-edge:hover rect{stroke:#e8eef9}.node-tag{font-size:9.5px;font-weight:800;letter-spacing:1.2px}.node-label{font-size:14.5px;font-weight:700;fill:#fff}.node-sub{font-size:10.5px;fill:#dceaff}.node-status{font-size:9.5px;fill:#c2d6f7;font-style:italic}.edge-label{font-size:10.5px;fill:#cfe0fb;pointer-events:none}.arch-detail{border:1px solid var(--border);border-radius:12px;background:var(--panel2);padding:14px;position:sticky;top:0}.arch-detail h4{margin:8px 0 4px;font-size:16px}.arch-detail h5{margin:12px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.detail-empty{color:var(--muted)}.pub-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px}.pub-grid h4{margin:0 0 6px}.pub-steps{margin:12px 0;padding-left:18px;line-height:2}.pub-steps .badge{margin-right:8px}@media(max-width:1200px){.arch-layout{grid-template-columns:1fr}.arch-detail{position:static}}@media(max-width:980px){.pub-grid{grid-template-columns:1fr}.preview-frame{height:440px}}.rollup-icon{font-size:11px;font-weight:800;fill:#fff}.int-list{display:flex;flex-direction:column;gap:6px}.int-row{display:flex;gap:8px;align-items:center;width:100%;text-align:left;background:#0b1526;border:1px solid var(--border);border-radius:9px;padding:8px 10px;color:var(--text);cursor:pointer}.int-row:hover{border-color:#33507f}.int-name{flex:1;font-weight:600;font-size:13px}.int-icon{width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;font-weight:800;flex:none;background:#263859;color:#cfe0fb}.int-icon.ok{background:#2fbf71;color:#062d1a}.int-icon.err{background:#ff5c5c;color:#3d0a0a}.skel-list{display:flex;flex-direction:column;gap:10px}.skel-row{display:flex;gap:9px;border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:#0b1526}.skel-body{flex:1;min-width:0}.skel-body p{margin:4px 0}.skel-body .form-row{margin:6px 0 0}.check-list{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:8px}.check-list li{border-bottom:1px dashed var(--border);padding-bottom:6px}.dropzone{border:2px dashed #2c4a7d;border-radius:12px;padding:16px;background:#3d8bfd0d;margin-bottom:12px}.dropzone.over{border-color:var(--accent2);background:#3d8bfd21}.ingest-report{margin-bottom:14px}.files-layout{display:grid;grid-template-columns:300px 1fr;gap:12px;align-items:start}.file-groups{border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--panel2);max-height:520px;overflow-y:auto}.file-group{margin-bottom:8px}.file-view{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.55;max-height:520px;overflow-y:auto}@media(max-width:980px){.files-layout{grid-template-columns:1fr}}.layout{grid-template-columns:minmax(320px,28%) 1fr}.left-col{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:auto;min-height:0;overflow:hidden;border-right:1px solid var(--border);background:var(--panel)}.left-col .chat{height:auto;min-height:0;border-right:none}.side-section{border-bottom:1px solid var(--border);flex:0 0 auto}.side-head{width:100%;background:none;border:none;color:var(--text);font:inherit;font-weight:700;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer}.side-head .chev{color:var(--muted)}.side-badges{display:inline-flex;gap:6px;align-items:center}.side-body{padding:0 12px 10px;max-height:26vh;overflow-y:auto}.tasks-section .side-body{max-height:30vh}.side-subhead{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 4px}.task-row{display:flex;gap:8px;align-items:center;width:100%;background:none;border:none;color:var(--text);font:inherit;padding:4px 2px;cursor:pointer;text-align:left}.task-row.current .task-title{font-weight:700;color:var(--accent2)}.task-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.task-card{border:1px solid var(--border);border-radius:10px;padding:8px;margin:6px 0;background:var(--panel2)}.task-card.suggestion{border-color:#2c4a7d}.task-card strong{font-size:13px}.task-detail{margin-top:6px}.task-steps{list-style:none;padding:0;margin:6px 0;font-size:12px;color:var(--muted)}.task-steps li.done{color:var(--ok)}.task-steps li.failed{color:var(--danger)}.task-line{margin-top:8px;border-left:3px solid var(--accent);padding:6px 8px;display:flex;flex-direction:column;gap:2px;background:var(--panel2);border-radius:6px;font-size:13px}.badge.warn{background:#3a2f16;color:#ffd27a}.badge.type{background:#173468;color:#9ec1ff}.migration-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel2);margin:12px 0}.migration-card .panel-head{flex-wrap:wrap;gap:8px}.migration-changes{list-style:none;padding:0;margin:10px 0;display:grid;gap:6px}.migration-changes li{display:flex;gap:8px;align-items:flex-start}.migration-sql-details{margin-top:8px}.migration-sql-details summary{cursor:pointer;color:var(--accent2);font-size:13px}.migration-sql{margin:8px 0 0;padding:10px;border:1px solid var(--border);border-radius:8px;background:#0000002e;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto;font-size:12px;line-height:1.5}.gap-card{border:1px solid #6e2323;background:#ff5c5c0f;border-radius:12px;padding:12px;margin:0 0 12px}.gap-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:10px 0}.gap-row:first-of-type{border-top:none}.gap-missing{list-style:none;padding:0;margin:6px 0;display:grid;gap:6px;font-size:13px}.gap-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;align-items:stretch}.gap-detail{border:1px solid #6b4d12;background:#f5a62314;border-radius:10px;padding:10px;margin:10px 0}@media(max-width:980px){.gap-row{flex-direction:column}.gap-actions{flex-direction:row}}@media(max-width:980px){.left-col{grid-template-rows:auto auto minmax(420px,1fr)}.left-col .chat{min-height:420px;max-height:none}}.claim-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:10px 0}.claim{border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:#0a2138b8}.claim strong{display:block;font-size:12px;margin-bottom:4px}.claim p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.candidate-list{display:grid;gap:10px;margin-top:10px}.candidate-card{border:1px solid var(--border);border-radius:10px;padding:11px 12px;background:linear-gradient(135deg,#087eea1a,#00b7c90d),var(--panel2)}.candidate-card.selected{border-color:var(--accent2);box-shadow:0 0 0 1px #19d3c559 inset}.candidate-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.candidate-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.finding-next{border-left:3px solid var(--accent2);padding-left:10px}@media(max-width:720px){.brand-logo{width:150px;height:44px}.brand p{display:none}}*{scrollbar-color:#1479a8 #01040a}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:#01040a}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#07f,#00c9a7);border-radius:999px;border:2px solid #01040a}.task-board-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 8px}.task-board-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#000208ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px}.task-board{width:min(1220px,96vw);max-height:92dvh;overflow-y:auto;border:1px solid #1b4d73;border-radius:16px;background:linear-gradient(180deg,#020817,#01030a);box-shadow:0 24px 80px #000000a6,0 0 32px #00a8ff29;padding:16px}.task-board-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.task-board-head h3{margin:0 0 4px;font-size:18px}.task-board-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.board-col{border:1px solid var(--border);border-radius:12px;background:#040a14c7;padding:10px;min-height:180px}.board-col h4{margin:0 0 10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;gap:7px;align-items:center;flex-wrap:wrap}@media(max-width:1100px){.task-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.task-board-grid{grid-template-columns:1fr}.task-board{padding:12px}}.chat-head{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 8px;border-bottom:1px solid rgba(20,54,90,.75);background:linear-gradient(90deg,#0077ff21,#00c9a70f)}.chat-head strong{display:block;font-size:13px;letter-spacing:.02em}.chat-head span{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}.chat-head .badge{flex:0 0 auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-role{display:block;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--accent2);margin-bottom:4px}.msg.user .msg-role{color:#9be7ff;text-align:right}.composer-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.composer-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;line-height:1.3}.composer-meta span:last-child{text-align:right}@media(max-width:720px){.composer-meta span:last-child{display:none}}.left-col{background:linear-gradient(180deg,#030d1d,#02060f 55%,#01030a);box-shadow:inset -1px 0 #00e0b81a,12px 0 32px #00000059}.side-head{letter-spacing:.05em;text-transform:uppercase;font-size:12px;padding:11px 12px;background:linear-gradient(90deg,rgba(0,119,255,.14),rgba(0,201,167,.05) 70%,transparent);border-left:3px solid var(--accent)}.side-head:hover{background:linear-gradient(90deg,rgba(0,119,255,.22),rgba(0,201,167,.08) 70%,transparent)}.side-section{border-bottom:1px solid rgba(20,54,90,.8)}.task-card,.conn-card,.candidate-card,.claim,.migration-card,.checkpoint-row,.purpose-grid div,.feature-row{transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.task-card:hover,.conn-card:hover,.candidate-card:hover,.checkpoint-row:hover{border-color:#2f7fc4;box-shadow:0 6px 18px #00000059,0 0 14px #00a8ff1f}.btn.primary{background:linear-gradient(90deg,#0a7dff,#00c2a8);border-color:#78e6ffcc;color:#fff;text-shadow:0 1px 2px rgba(0,20,40,.45);box-shadow:0 0 16px #00a8ff59,inset 0 1px #ffffff40}.btn.primary:hover{background:linear-gradient(90deg,#2f97ff,#22dcbc);color:#fff}.panel-head h3{position:relative;padding-left:10px}.panel-head h3:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent2));box-shadow:0 0 8px #00a8ff80}.badge.info{color:#c9f7ff;border-color:#1479a8;background:#00a8ff21}.badge.draft{color:#d6d6e2;border-color:#4a4a5e;background:#8c8caa1f}.dot.ok{box-shadow:0 0 7px #00e0a4cc}.dot.error{box-shadow:0 0 7px #ff5c5ccc}.tab.active{box-shadow:inset 0 2px 0 var(--accent2),inset 0 -2px #00e0b859,0 -8px 22px #00e0b81a}.topbar{position:relative}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,224,184,.65) 30%,rgba(0,168,255,.65) 70%,transparent)}.auth-wrap{min-height:100dvh;display:grid;place-items:center;padding:20px}.auth-card{width:min(420px,94vw);border:1px solid #1b4d73;border-radius:16px;background:linear-gradient(180deg,#020817,#01030a);box-shadow:0 24px 80px #0009,0 0 32px #00a8ff24;padding:22px}.auth-card .form-row input{width:100%}.checkpoint-card,.workflow-card{border:1px solid #1b4d73;border-radius:12px;background:#020814b8;padding:12px;margin:0 0 12px;box-shadow:inset 0 0 24px #00a8ff0d}.checkpoint-list{display:grid;gap:8px}.checkpoint-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:#01040a8c}.checkpoint-row p{margin:3px 0 0}.restore-review{border:1px solid rgba(245,166,35,.65);border-radius:10px;padding:10px;margin-top:10px;background:#f5a6230f}.purpose-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:10px 0}.purpose-grid div,.feature-row{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#01040a80}.purpose-grid strong,.purpose-grid span{display:block}.purpose-grid span{color:var(--muted);font-size:12.5px;margin-top:3px}.feature-list{display:grid;gap:8px;margin:10px 0}.feature-row{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.workflow-block{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.workflow-steps{margin:8px 0;padding-left:20px;display:grid;gap:8px}.workflow-steps li{padding-left:4px}.workflow-steps span{display:block;margin-top:2px}.home-main{padding:14px 18px;overflow:auto}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.home-card{border:1px solid #1b4d73;border-radius:12px;background:#020814b8;padding:14px;box-shadow:inset 0 0 24px #00a8ff0d}.wt-thread{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px;background:#01040a8c}.wt-msg{border-radius:10px;padding:8px 10px;font-size:13.5px;line-height:1.45;max-width:92%}.wt-msg.guide{background:#006ebe24;border:1px solid rgba(0,168,255,.35);align-self:flex-start}.wt-msg.user{background:#00be961f;border:1px solid rgba(0,220,180,.3);align-self:flex-end}:root{--glow: rgba(0, 216, 255, .55);--card-bg: linear-gradient(180deg, #040b18 0%, #020610 70%, #01030a 100%)}.panel-head h3,.task-board-head h3{letter-spacing:.06em;text-transform:uppercase;font-size:15px}.home-card h4,.conn-card h4,.candidate-card strong:first-child{letter-spacing:.03em}.tab{letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.tab.active{color:#eaf7ff;text-shadow:0 0 12px rgba(0,216,255,.65);box-shadow:inset 0 2px 0 var(--accent2),inset 0 -2px 0 var(--accent),0 -10px 26px #00e0b829,0 0 18px #00a8ff1f}.home-card,.conn-card,.candidate-card,.task-card,.migration-card,.checkpoint-card,.workflow-card,.gap-card{border-radius:14px;background:var(--card-bg);border-color:#1b4d73e6;box-shadow:inset 0 1px #78e6ff14,inset 0 0 26px #00a8ff0d,0 10px 26px #00000059}.home-card:hover,.conn-card:hover,.candidate-card:hover{border-color:#00d8ffa6;box-shadow:inset 0 1px #78e6ff24,0 0 0 1px #00d8ff40,0 0 22px #00a8ff38,0 12px 28px #0006}.project-card{position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent) 30%,var(--accent2) 70%,transparent);opacity:.8}.platform-card:before{background:linear-gradient(90deg,transparent,var(--warn) 30%,var(--accent2) 70%,transparent)}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px}.btn{border-radius:10px}.badge{letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.seg{box-shadow:0 0 14px #00a8ff1f}.seg button{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:700}input,select,textarea{border-radius:10px;background:#010409}.auth-card{width:min(560px,94vw);padding:34px 38px 28px;border-radius:22px;border:1px solid rgba(0,216,255,.5);background:linear-gradient(180deg,#030a16,#010208);box-shadow:0 30px 90px #000000b3,0 0 42px #00a8ff38,0 0 120px #00e0b81a,inset 0 1px #78e6ff24;text-align:left}.auth-logo{display:block;width:100%;max-width:440px;margin:0 auto 8px;mix-blend-mode:screen;filter:saturate(1.15) drop-shadow(0 0 22px rgba(0,168,255,.35))}.auth-sub{text-align:center;color:var(--muted);margin:4px 0 18px;font-size:13px}.auth-label{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c9f7ff;margin:12px 0 6px}.auth-card .form-row input{padding:13px 14px;font-size:14px;border-radius:12px}.auth-submit{margin-top:18px;padding:13px;font-size:14px;letter-spacing:.1em;text-transform:uppercase;border-radius:12px}.side-body{max-height:17vh}.tasks-section .side-body{max-height:20vh}.left-col .chat{min-height:0}.chat-scroll{padding:16px 14px;gap:12px}.suggestions-panel{flex:0 0 auto;border-top:1px solid rgba(20,54,90,.8);background:linear-gradient(90deg,#0077ff14,#00c9a70a);padding:8px 12px 10px}.suggestions-toggle{width:100%;display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text);font:inherit;cursor:pointer;padding:2px 0 6px}.suggestions-toggle .chev{margin-left:auto;color:var(--accent2)}.suggestions-wrap{display:flex;flex-wrap:wrap;gap:6px;max-height:96px;overflow-y:auto;padding-right:2px}.suggestions-wrap .chip{max-width:100%;white-space:normal;text-align:left;line-height:1.35;border-radius:10px}.composer textarea{min-height:78px}.activity{max-height:68px}@media(max-width:980px){.side-body{max-height:22vh}.tasks-section .side-body{max-height:24vh}}
