:root{--obsidian:#0a0a0a;--panel:#0e0e0d;--paper:#f4f4f0;--text:#d9d9d4;--titanium:#8a8a86;--line:#222220;--line-soft:#171716;--signal:#ff3b00;--font-display:"Space Grotesk", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--obsidian);color:var(--paper);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;font-size:14px}body:after{content:"";pointer-events:none;opacity:.05;z-index:100;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0}button:disabled{cursor:default}input,textarea{font:inherit;color:var(--paper)}::selection{background:var(--signal);color:var(--obsidian)}.signal{color:var(--signal)}.side-label,.message-label,.field span,.detail-domain,.map-count,.seed-title,.link-btn,.new-btn,.btn-primary,.btn-ghost,.tabbar button,.auth-tabs button{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.side-label{color:var(--titanium)}.link-btn{color:var(--titanium);padding:0}.link-btn:hover{color:var(--signal)}.btn-primary,.btn-ghost{border:1px solid var(--paper);padding:11px 16px}.btn-primary{background:var(--paper);color:var(--obsidian)}.btn-primary:hover:not(:disabled){background:var(--signal);border-color:var(--signal)}.btn-ghost{color:var(--paper);border-color:var(--line)}.btn-ghost:hover{border-color:var(--signal);color:var(--signal)}.boot{height:100%}.wordmark{align-items:baseline;gap:12px;display:inline-flex}.wordmark-name{font-family:var(--font-display);letter-spacing:.04em;font-size:1.15rem;font-weight:700}.wordmark-by{font-family:var(--font-display);letter-spacing:.06em;color:var(--titanium);font-size:.68rem;font-weight:700}.wordmark-by .signal{color:var(--signal)}.auth{background-image:linear-gradient(#121211 1px,#0000 1px),linear-gradient(90deg,#121211 1px,#0000 1px);background-size:32px 32px;min-height:100%;padding:24px}.auth-main{max-width:420px;margin:14vh 0 0}.auth-lead{font-family:var(--font-serif);color:var(--paper);font-size:1.5rem;line-height:1.35}.auth-tabs{border-bottom:1px solid var(--line);gap:24px;margin-top:40px;display:flex}.auth-tabs button{color:var(--titanium);border-bottom:1px solid #0000;margin-bottom:-1px;padding:0 0 10px}.auth-tabs button[aria-selected=true]{color:var(--paper);border-bottom-color:var(--signal)}.auth-form{flex-direction:column;gap:18px;margin-top:28px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field span{color:var(--titanium)}.field input{background:var(--obsidian);border:1px solid var(--line);outline:none;padding:11px 12px}.field input:focus{border-color:var(--paper)}.auth-form .btn-primary{align-self:flex-start;margin-top:6px}.form-error,.message-error{color:var(--signal);font-size:.8rem}.auth-note{color:var(--titanium);margin-top:40px;font-size:.78rem;line-height:1.6}.workspace{grid-template:"top top top"52px"side chat map"minmax(0,1fr)/248px minmax(0,1fr) minmax(320px,420px);height:100%;display:grid}.topbar{border-bottom:1px solid var(--line);grid-area:top;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.topbar-right{align-items:center;gap:18px;display:flex}.topbar-user{color:var(--titanium);font-size:.78rem}.sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;grid-area:side;min-height:0;padding:16px 0;display:flex}.new-btn{border:1px solid var(--line);text-align:left;margin:0 16px 24px;padding:11px 12px}.new-btn:hover{border-color:var(--signal);color:var(--signal)}.sidebar .side-label{padding:0 16px 8px}.conv-list{padding:0;list-style:none;overflow-y:auto}.conv-list li{border-left:2px solid #0000;align-items:center;display:flex}.conv-list li.is-active{border-left-color:var(--signal);background:#141413}.conv-open{text-align:left;min-width:0;font-family:var(--font-serif);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;padding:10px 8px 10px 14px;font-size:.98rem;overflow:hidden}.conv-list li.is-active .conv-open,.conv-open:hover{color:var(--paper)}.conv-delete{color:var(--titanium);opacity:0;padding:4px 12px}.conv-list li:hover .conv-delete,.detail-links .conv-delete,.conv-delete:focus-visible{opacity:1}.conv-delete:hover{color:var(--signal)}.conv-empty{color:var(--titanium);padding:8px 16px;font-size:.8rem}.chat-panel{grid-area:chat;min-height:0}.chat{flex-direction:column;height:100%;display:flex}.chat-scroll{flex:1;padding:40px clamp(20px,5vw,64px) 24px;overflow-y:auto}.chat-empty{max-width:640px;margin-top:8vh}.chat-empty h1{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;line-height:1.2}.seeds-loading{color:var(--titanium);margin-top:28px;font-size:.8rem}.seeds{border-top:1px solid var(--line);margin-top:36px;padding:0;list-style:none}.seeds button{text-align:left;border-bottom:1px solid var(--line);flex-direction:column;gap:6px;width:100%;padding:16px 0;display:flex}.seed-title{color:var(--titanium)}.seed-prompt{font-family:var(--font-serif);color:var(--paper);font-size:1.15rem}.seeds button:hover:not(:disabled) .seed-title{color:var(--signal)}.messages{flex-direction:column;gap:32px;max-width:680px;padding:0;list-style:none;display:flex}.message{flex-direction:column;gap:10px;display:flex}.message-label{color:var(--titanium)}.message-assistant .message-label{color:var(--signal)}.message-user{white-space:pre-wrap;color:var(--paper);font-size:.9rem;line-height:1.6}.message-body{font-family:var(--font-serif);color:var(--text);font-size:1.12rem;line-height:1.55}.message-body>*+*{margin-top:.8em}.message-body strong{color:var(--paper);font-weight:500}.message-body ul,.message-body ol{padding-left:1.2em}.message-body li+li{margin-top:.3em}.message-body h1,.message-body h2,.message-body h3{font-family:var(--font-display);letter-spacing:.02em;color:var(--paper);font-size:1rem}.message-body code{font-family:var(--font-mono);background:#161615;padding:1px 4px;font-size:.85em}.message-body pre{border:1px solid var(--line);background:#121211;padding:12px;overflow-x:auto}.message-body blockquote{border-left:1px solid var(--signal);color:var(--paper);padding-left:14px}.message-wait{font-family:var(--font-mono);color:var(--titanium);font-size:.8rem}.added-note{color:var(--signal);letter-spacing:.12em;text-transform:uppercase;align-self:flex-start;align-items:center;gap:8px;padding:0;font-size:.72rem;display:inline-flex}.added-dot{background:var(--signal);width:6px;height:6px;box-shadow:0 0 8px var(--signal)}.composer{border:1px solid var(--line);background:var(--panel);align-items:flex-end;gap:12px;max-width:680px;margin:0 clamp(20px,5vw,64px) 20px;padding:12px 14px;display:flex}.composer:focus-within{border-color:var(--titanium)}.composer textarea{resize:none;font-family:var(--font-serif);background:0 0;border:0;outline:none;flex:1;font-size:1.05rem;line-height:1.45}.composer textarea::placeholder{color:var(--titanium)}.composer button{color:var(--signal);padding:2px 4px;font-size:1.1rem}.composer button:disabled{color:var(--titanium)}.map-panel{border-left:1px solid var(--line);background:var(--panel);grid-area:map;min-height:0}.map{flex-direction:column;height:100%;display:flex}.map-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:16px 16px 12px;display:flex}.map-count{color:var(--titanium);letter-spacing:.06em}.map-canvas{background-image:linear-gradient(#141413 1px,#0000 1px),linear-gradient(90deg,#141413 1px,#0000 1px);background-size:24px 24px;flex:1;min-height:0;position:relative}.map-empty{font-family:var(--font-serif);color:var(--titanium);pointer-events:none;font-size:1rem;line-height:1.5;position:absolute;inset:auto 20px 20px}.map-svg{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.map-svg:active{cursor:grabbing}.edge{stroke:#3a3a37;stroke-width:1px}.edge.is-hot{stroke:var(--signal)}.node{cursor:pointer}.node rect{fill:var(--obsidian);stroke:var(--titanium);stroke-width:1px}.node text{font-family:var(--font-mono);fill:#b9b9b4;pointer-events:none;font-size:10px}.node.is-recent rect{fill:var(--signal);stroke:var(--signal)}.node.is-selected rect{fill:var(--paper);stroke:var(--paper)}.node.is-selected text{fill:var(--paper)}.node.is-dim{opacity:.3}.detail{border-top:1px solid var(--line);background:var(--obsidian);max-height:55%;padding:16px;overflow-y:auto}.detail-head{justify-content:space-between;display:flex}.detail-domain{color:var(--signal)}.detail h2{font-family:var(--font-display);letter-spacing:-.01em;margin-top:10px;font-size:1.3rem;font-weight:700}.detail-summary{font-family:var(--font-serif);color:var(--text);margin-top:8px;font-size:1.02rem;line-height:1.5}.detail .side-label{margin-top:18px;display:block}.detail-links{margin-top:6px;padding:0;list-style:none}.detail-links li{border-bottom:1px solid var(--line-soft);align-items:center;display:flex}.detail-link{text-align:left;flex-direction:column;flex:1;gap:2px;padding:8px 0;font-size:.85rem;display:flex}.detail-relation{color:var(--titanium);font-size:.72rem}.detail-link:hover span:last-child{color:var(--signal)}.detail-actions{gap:10px;margin-top:18px;display:flex}.tabbar{display:none}@media (width<=900px){.workspace{grid-template:"top"52px"main"minmax(0,1fr)"tabs"52px/minmax(0,1fr)}.sidebar,.chat-panel,.map-panel{border:0;grid-area:main;display:none}.panel-list .sidebar,.panel-chat .chat-panel,.panel-map .map-panel{flex-direction:column;display:flex}.panel-chat .chat-panel>.chat{flex:1}.topbar{padding:0 16px}.topbar-user{display:none}.tabbar{border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-area:tabs;grid-template-columns:repeat(3,1fr);display:grid}.tabbar button{color:var(--titanium);border-top:1px solid #0000;margin-top:-1px}.tabbar button[aria-pressed=true]{color:var(--paper);border-top-color:var(--signal)}.chat-scroll{padding:24px 16px 16px}.composer{margin:0 16px 12px}.detail{max-height:60%}.conv-delete{opacity:1}}@media (width<=640px){.auth{padding:16px}.auth-main{margin-top:10vh}.auth-lead{font-size:1.3rem}.wordmark-by{display:none}}
