@import"https://fonts.googleapis.com/css2?family=PT+Sans:wght@400;700&family=PT+Sans+Narrow:wght@400;700&family=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg-0: #eef1f6;--bg-1: #f8f9fb;--bg-2: #ffffff;--bg-3: #f3f5f9;--bg-4: #e8edf6;--line-1: #e3e6eb;--line-2: #d2d6dd;--line-3: #b1b8c4;--fg-1: #0c1424;--fg-2: #4a566e;--fg-3: #6b7689;--fg-4: #8a93a4;--acc: #294d9d;--acc-hover: #1f3e80;--acc-press: #152c5e;--acc-soft: rgba(41, 77, 157, .1);--acc-softer: rgba(41, 77, 157, .05);--acc-line: rgba(41, 77, 157, .22);--warn: #d99518;--danger: #c83838;--info: #466fbf;--success: #2c9a55;--font: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--header-h: 56px;--tabs-h: 48px;--radius-1: 4px;--radius-2: 6px;--radius-3: 10px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-1);color:var(--fg-1);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01";overflow:hidden}::selection{background:var(--acc-soft);color:var(--fg-1)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea{font:inherit;color:inherit;background:none;border:0;outline:0}input::placeholder,textarea::placeholder{color:var(--fg-4)}.mono{font-family:var(--mono);font-feature-settings:"tnum","zero"}.num{font-variant-numeric:tabular-nums}.scroll{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.scroll::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.scroll::-webkit-scrollbar-thumb:hover{background:var(--line-3)}.app{height:100vh;display:grid;grid-template-rows:var(--header-h) var(--tabs-h) 1fr;background:var(--bg-1)}.header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line-1);background:var(--bg-1);position:relative;z-index:5}.header-left{display:flex;align-items:center;gap:14px}.logo-mark{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:4px;background:var(--bg-2)}.logo-mark .dot{width:8px;height:8px;background:var(--acc);border-radius:1px}.brand{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.01em;font-family:var(--font)}.brand .ad{font-family:"PT Sans Narrow",var(--font);font-weight:700;font-size:17px;letter-spacing:.01em;color:var(--acc);text-transform:lowercase}.brand .sep{color:var(--fg-4);font-weight:400}.brand .sub{color:var(--fg-2);font-weight:500}.header-right{display:flex;align-items:center;gap:16px;font-size:11px;color:var(--fg-3);letter-spacing:.02em}.header-right .powered{font-family:var(--mono);text-transform:uppercase;font-size:10px;letter-spacing:.08em}.header-right .powered b{color:var(--fg-2);font-weight:500}.header-divider{width:1px;height:16px;background:var(--line-2)}.header-user{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-2)}.header-user .avatar{width:24px;height:24px;border-radius:50%;background:var(--bg-3);border:1px solid var(--line-2);display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--fg-1)}.tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line-1);background:var(--bg-1);padding:0 16px;gap:0;position:relative;z-index:4}.tab{display:flex;align-items:center;gap:10px;height:100%;padding:0 18px;font-size:13px;font-weight:500;color:var(--fg-3);border-bottom:1px solid transparent;margin-bottom:-1px;position:relative;transition:color .15s ease;white-space:nowrap}.tab:hover{color:var(--fg-1)}.tab.active{color:var(--fg-1);border-bottom-color:var(--acc)}.tab .tab-num{font-family:var(--mono);font-size:11px;color:var(--fg-4);font-weight:500}.tab.active .tab-num{color:var(--acc)}.tab .tab-ai{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:9px;font-weight:600;color:var(--acc);background:var(--acc-soft);border:1px solid var(--acc-line);padding:2px 6px;border-radius:3px;letter-spacing:.06em;text-transform:uppercase}.page{overflow:hidden;min-height:0}.tab-stack{display:none;height:100%;min-height:0;overflow:hidden}.tab-stack.is-active{display:block}.search-page{display:grid;grid-template-columns:280px 1fr;height:100%}.filters{border-right:1px solid var(--line-1);background:var(--bg-1);overflow:auto;padding:20px 18px 32px}.filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.filters-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-3)}.filters-clear{font-size:11px;color:var(--fg-3);font-family:var(--mono)}.filters-clear:hover{color:var(--acc)}.filter-group{margin-bottom:22px}.filter-label{display:block;font-size:12px;font-weight:500;color:var(--fg-2);margin-bottom:8px}.filter-select,.filter-input{width:100%;background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--radius-1);padding:8px 10px;font-size:13px;color:var(--fg-1);transition:border-color .15s ease}.filter-input:focus,.filter-select:focus{border-color:var(--line-3)}.filter-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--fg-3) 50%),linear-gradient(135deg,var(--fg-3) 50%,transparent 50%);background-position:calc(100% - 14px) 14px,calc(100% - 9px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:28px}.range-row{display:grid;grid-template-columns:1fr 12px 1fr;gap:6px;align-items:center}.range-row .dash{color:var(--fg-4);text-align:center}.checkbox-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--fg-2);cursor:pointer}.checkbox-row:hover{color:var(--fg-1)}.checkbox-row .box{width:14px;height:14px;border:1px solid var(--line-2);border-radius:3px;background:var(--bg-2);display:grid;place-items:center;flex-shrink:0;transition:all .15s ease}.checkbox-row.checked .box{background:var(--acc);border-color:var(--acc)}.checkbox-row.checked .box:after{content:"";width:7px;height:4px;border-left:1.5px solid var(--bg-1);border-bottom:1.5px solid var(--bg-1);transform:rotate(-45deg) translate(1px,-1px)}.checkbox-row .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--fg-4)}.results{display:flex;flex-direction:column;min-height:0}.search-bar{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line-1);background:var(--bg-1)}.search-input-wrap{flex:1;display:flex;align-items:center;gap:10px;background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--radius-1);padding:8px 12px;transition:border-color .15s ease}.search-input-wrap:focus-within{border-color:var(--line-3)}.search-input-wrap input{flex:1;font-size:13px}.search-icon{color:var(--fg-3);flex-shrink:0}.search-kbd{font-family:var(--mono);font-size:10px;color:var(--fg-3);border:1px solid var(--line-2);border-radius:3px;padding:1px 5px}.search-meta{font-family:var(--mono);font-size:11px;color:var(--fg-3);white-space:nowrap}.search-meta b{color:var(--fg-1);font-weight:500}.results-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid var(--line-1);font-size:12px;color:var(--fg-3);background:var(--bg-1)}.results-toolbar .seg{display:flex;border:1px solid var(--line-1);border-radius:var(--radius-1);overflow:hidden}.results-toolbar .seg button{padding:4px 10px;font-size:12px;color:var(--fg-3);border-right:1px solid var(--line-1)}.results-toolbar .seg button:last-child{border-right:0}.results-toolbar .seg button.on{background:var(--bg-3);color:var(--fg-1)}.results-list{flex:1;overflow:auto;padding:16px 24px 32px;display:flex;flex-direction:column;gap:12px}.zk-card{border:1px solid var(--line-1);border-radius:var(--radius-2);background:var(--bg-2);overflow:hidden;transition:border-color .15s ease;flex-shrink:0}.zk-card:hover{border-color:var(--line-2)}.zk-card.expanded{border-color:var(--acc-line)}.zk-head{display:grid;grid-template-columns:88px 1fr auto;gap:18px;padding:18px;cursor:pointer;align-items:center}.zk-thumb{width:88px;height:88px;border-radius:var(--radius-1);background:var(--bg-3);border:1px solid var(--line-1);position:relative;overflow:hidden;flex-shrink:0}.zk-thumb svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.zk-main{min-width:0}.zk-row1{display:flex;align-items:center;gap:10px;margin-bottom:4px;font-family:var(--mono);font-size:11px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em}.zk-row1 .pellet{display:inline-flex;align-items:center;gap:4px;color:var(--fg-2)}.zk-row1 .dev{color:var(--acc)}.zk-name{font-size:22px;font-weight:700;letter-spacing:-.015em;margin:0 0 8px;font-family:var(--font)}.zk-loc{font-size:13px;color:var(--fg-2);display:flex;align-items:center;gap:6px;margin-bottom:12px}.zk-stats{display:flex;gap:24px;font-family:var(--mono)}.zk-stat .v{font-size:16px;font-weight:600;color:var(--fg-1);font-feature-settings:"tnum","zero"}.zk-stat .l{font-size:10px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.zk-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.zk-deadline{font-family:var(--mono);font-size:11px;color:var(--fg-3);text-align:right}.zk-deadline b{display:block;color:var(--fg-1);font-size:13px;font-weight:600;margin-top:2px}.zk-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:10px;font-family:var(--mono);font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:3px;border:1px solid var(--line-1);color:var(--fg-2);background:var(--bg-1);white-space:nowrap}.tag.acc{color:var(--acc);border-color:var(--acc-line);background:var(--acc-softer)}.tag.warn{color:var(--warn);border-color:#f5b5443d;background:#f5b5440f}.zk-expand-icon{color:var(--fg-3);transition:transform .2s ease}.zk-card.expanded .zk-expand-icon{transform:rotate(180deg);color:var(--acc)}.zk-body{border-top:1px solid var(--line-1);padding:0}.zk-section{padding:18px 18px 18px 124px;border-bottom:1px solid var(--line-1)}.zk-section:last-child{border-bottom:0}.zk-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.zk-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--fg-3)}.zk-section-meta{font-family:var(--mono);font-size:10px;color:var(--fg-4)}.zk-desc{font-size:13px;color:var(--fg-2);max-width:720px;line-height:1.6}.zk-infra{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.infra-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line-1);border-radius:var(--radius-1);background:var(--bg-1)}.infra-item .l{font-size:11px;color:var(--fg-3)}.infra-item .v{font-size:13px;color:var(--fg-1);font-weight:500}.buildings{display:grid;gap:1px;background:var(--line-1);border:1px solid var(--line-1);border-radius:var(--radius-1);overflow:hidden;font-family:var(--mono)}.bld-row{display:grid;grid-template-columns:80px 1fr 100px 140px 100px;background:var(--bg-2);padding:10px 14px;font-size:12px;align-items:center}.bld-row.head{background:var(--bg-1);color:var(--fg-3);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.bld-row .name{color:var(--fg-1);font-weight:500}.bld-row .status{display:inline-flex;align-items:center;gap:6px;font-size:11px}.bld-row .status .dot{width:6px;height:6px;border-radius:50%}.bld-row .status.done .dot{background:var(--fg-3)}.bld-row .status.done{color:var(--fg-3)}.bld-row .status.active .dot{background:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.bld-row .status.active{color:var(--acc)}.bld-row .status.future .dot{background:var(--warn)}.bld-row .status.future{color:var(--warn)}.chat-page{display:flex;flex-direction:column;height:100%;background:var(--bg-1)}.chat-scroll{flex:1;overflow:auto;display:flex;flex-direction:column}.chat-inner{width:100%;max-width:880px;margin:0 auto;padding:32px 32px 24px;flex:1;display:flex;flex-direction:column}.empty-state{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px 0}.empty-mark{width:56px;height:56px;border-radius:12px;border:1px solid var(--line-2);background:var(--bg-2);display:grid;place-items:center;margin-bottom:20px;position:relative}.empty-mark:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:12px;border:1px solid var(--acc-line);opacity:.6;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.6;transform:scale(1.06)}}.empty-title{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.empty-sub{color:var(--fg-3);font-size:14px;margin:0 0 28px;max-width:420px}.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:10px;width:100%;max-width:600px}.example{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line-1);border-radius:var(--radius-2);background:var(--bg-2);text-align:left;font-size:13px;color:var(--fg-2);transition:all .15s ease}.example:hover{border-color:var(--acc-line);background:var(--bg-3);color:var(--fg-1)}.example .arrow{margin-left:auto;color:var(--fg-4);flex-shrink:0}.example:hover .arrow{color:var(--acc)}.msg-list{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.msg{display:flex;gap:12px;max-width:100%}.msg.user{flex-direction:row-reverse;align-self:flex-end;max-width:80%}.msg.assistant{max-width:100%}.msg-avatar{width:28px;height:28px;border-radius:6px;flex-shrink:0;display:grid;place-items:center;font-size:11px;font-family:var(--mono);font-weight:600;margin-top:2px}.msg.user .msg-avatar{background:var(--bg-3);border:1px solid var(--line-2);color:var(--fg-2)}.msg.assistant .msg-avatar{background:var(--acc-soft);border:1px solid var(--acc-line);color:var(--acc)}.msg-body{min-width:0;flex:1}.msg.user .msg-body{flex:initial}.msg-meta{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;color:var(--fg-4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.msg.user .msg-meta{justify-content:flex-end}.msg-meta .who{color:var(--fg-2)}.msg.assistant .msg-meta .who{color:var(--acc)}.msg-bubble{font-size:14px;line-height:1.65;color:var(--fg-1)}.msg.user .msg-bubble{background:var(--acc);border:1px solid var(--acc);color:#fff;border-radius:var(--radius-2);padding:10px 14px;display:inline-block}.msg.assistant .msg-bubble{padding:0 2px}.msg.assistant .msg-bubble p{margin:0 0 10px}.msg.assistant .msg-bubble p:last-child{margin:0}.msg.assistant .msg-bubble ul{margin:8px 0;padding:0;list-style:none}.msg.assistant .msg-bubble ul li{padding-left:16px;position:relative;margin:4px 0}.msg.assistant .msg-bubble ul li:before{content:"•";position:absolute;left:4px;color:var(--acc)}.cite{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--acc);background:var(--acc-soft);border:1px solid var(--acc-line);border-radius:3px;padding:1px 5px;margin:0 1px;cursor:pointer;vertical-align:1px;transition:all .12s ease;white-space:nowrap}.cite:hover,.cite.open{background:var(--acc);color:#fff;border-color:var(--acc)}.source-card{margin-top:12px;border:1px solid var(--acc-line);border-radius:var(--radius-2);background:var(--bg-2);overflow:hidden;animation:srcIn .18s ease-out}@keyframes srcIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.source-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line-1);background:var(--acc-softer)}.source-head-left{display:flex;align-items:center;gap:10px}.source-id{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--acc)}.source-kind{font-size:11px;font-family:var(--mono);color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em}.source-close{color:var(--fg-3);padding:2px}.source-close:hover{color:var(--fg-1)}.source-body{padding:14px}.source-title{font-size:15px;font-weight:600;margin:0 0 10px;color:var(--fg-1)}.source-grid{display:grid;grid-template-columns:120px 1fr;row-gap:8px;column-gap:16px;font-size:13px}.source-grid .k{color:var(--fg-3);font-size:12px}.source-grid .v{color:var(--fg-1)}.source-grid .v.mono{font-family:var(--mono);font-size:12px}.source-grid .v.acc{color:var(--acc);font-family:var(--mono)}.composer-wrap{border-top:1px solid var(--line-1);background:var(--bg-1);padding:16px 32px 20px}.composer{max-width:880px;margin:0 auto;border:1px solid var(--line-2);border-radius:var(--radius-3);background:var(--bg-2);display:flex;align-items:flex-end;padding:8px;gap:8px;transition:border-color .15s ease}.composer:focus-within{border-color:var(--line-3)}.composer.recording{border-color:var(--acc)}.icon-btn{width:36px;height:36px;border-radius:var(--radius-1);display:grid;place-items:center;color:var(--fg-2);flex-shrink:0;transition:all .15s ease}.icon-btn:hover{background:var(--bg-3);color:var(--fg-1)}.icon-btn.mic.recording{background:var(--acc);color:#fff}.icon-btn.mic.recording:hover{background:var(--acc-hover)}.icon-btn.send{background:var(--acc);color:#fff}.icon-btn.send:hover{background:var(--acc-hover)}.icon-btn.send:disabled{background:var(--bg-3);color:var(--fg-4);cursor:not-allowed}.composer-input{flex:1;font-size:14px;padding:8px 4px;resize:none;min-height:36px;max-height:160px;line-height:1.5;font-family:var(--font);background:transparent}.composer-extras{max-width:880px;margin:6px auto 0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--fg-3);font-family:var(--mono)}.composer-extras .tip{display:flex;align-items:center;gap:6px}.composer-extras .replay{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--line-1);border-radius:3px;color:var(--fg-2);font-family:var(--mono);font-size:11px}.composer-extras .replay:hover{color:var(--acc);border-color:var(--acc-line);background:var(--acc-softer)}.composer-extras .replay.playing{color:var(--acc);border-color:var(--acc);background:var(--acc-soft)}.voice-record{flex:1;display:flex;align-items:center;gap:12px;padding:0 8px;height:36px}.voice-record .timer{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--acc);min-width:36px}.voice-record .wave{flex:1;display:flex;align-items:center;gap:2px;height:28px}.voice-record .wave .bar{flex:1;background:var(--acc);border-radius:1px;min-width:2px;opacity:.85;animation:waveAnim .8s ease-in-out infinite}@keyframes waveAnim{0%,to{height:20%;opacity:.6}50%{height:90%;opacity:1}}.voice-record .hint{font-family:var(--mono);font-size:10px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em}.voice-demo{position:fixed;bottom:16px;right:16px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-2);padding:8px;display:flex;flex-direction:column;gap:6px;z-index:100;font-size:11px;font-family:var(--mono);box-shadow:0 8px 24px #0f193c1a,0 2px 6px #0f193c0d;min-width:200px}.voice-demo .vd-title{display:flex;align-items:center;gap:6px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em;font-size:9px;padding:2px 4px}.voice-demo .vd-title .dot{width:6px;height:6px;border-radius:50%;background:var(--warn)}.voice-demo .vd-row{display:flex;gap:4px}.voice-demo button{flex:1;padding:6px 8px;border-radius:3px;border:1px solid var(--line-1);background:var(--bg-1);color:var(--fg-2);font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}.voice-demo button:hover{background:var(--bg-3);color:var(--fg-1)}.voice-demo button.on{background:var(--acc-soft);color:var(--acc);border-color:var(--acc-line)}.typing{display:inline-flex;align-items:center;gap:4px}.typing .d{width:4px;height:4px;border-radius:50%;background:var(--acc);animation:typingDot 1.2s infinite}.typing .d:nth-child(2){animation-delay:.2s}.typing .d:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}@media(max-width:900px){.tabs{padding:0 8px;overflow-x:auto}.tab{padding:0 12px;font-size:12px}.search-page{grid-template-columns:1fr}.filters{display:none}.zk-section{padding-left:18px}.chat-inner,.composer-wrap{padding-left:16px;padding-right:16px}.example-grid{grid-template-columns:1fr}.header-right .powered{display:none}}
