:root{--bg:#05060b;--panel:#0c0e17;--line:#1d2133;--text:#e7e9f3;--muted:#8a90a8;--fast:#5be3a5;--learned:#f5c451;--claude:#b79bff;--failed:#ff7a7a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 Inter,system-ui,sans-serif}button{font:inherit;cursor:pointer}h1,h2{letter-spacing:-.01em;margin:0;font-weight:600}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login form{gap:12px;width:min(360px,100%);display:grid}.login h1{font-size:40px}.login input,.ask input{background:var(--panel);border:1px solid var(--line);color:var(--text);font:inherit;border-radius:10px;padding:12px 14px}.login input:focus,.ask input:focus{border-color:#3b4363}.ask input:focus-visible,.login input:focus-visible{outline:2px solid var(--claude);outline-offset:2px}.login button,.ask button{color:#05060b;background:#e7e9f3;border:0;border-radius:10px;padding:12px 18px;font-weight:600}.login button:disabled,.ask button:disabled{opacity:.4;cursor:default}.tagline{color:var(--muted);margin:2px 0 0}.error{color:var(--failed);margin:4px 0 0}.home{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px 24px;min-height:100vh;padding:20px 24px;display:grid}.home header{flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:16px;display:flex}.house{flex-direction:column;gap:12px;min-width:0;display:flex}.ask{gap:8px;display:flex}.ask input{flex:1;min-width:0}.sim-note,.mic-note{color:var(--muted);margin:0;font-size:12px}.gaps{border-top:1px solid var(--line);color:var(--muted);margin-top:8px;padding-top:12px;font-size:12px}.gaps h2{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:11px}.gaps p{margin:0 0 4px}.gaps ul{margin:0 0 4px;padding-left:18px}.try{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.try-chip{color:var(--text);cursor:pointer;background:0 0;font-size:12px}.try-chip:hover{border-color:#3b4363}.try-chip:disabled{opacity:.5;cursor:default}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:12px;display:flex}.legend .badge{font-size:10px}.legend-item{white-space:nowrap}.legend-shared{flex-basis:100%}.note.next{align-items:center;gap:8px;display:flex}.mic-note{color:#d9b36c}.ask input.listening{border-color:var(--claude);color:#cfc4ff}.ask .mic{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;flex:none;place-items:center;width:46px;padding:0;display:grid}.ask .mic:hover{border-color:#3b4363}.ask .mic:disabled{opacity:.4;cursor:default}.ask .mic.listening{border-color:var(--claude);color:var(--claude);animation:1.2s ease-in-out infinite breathe-mic}@keyframes breathe-mic{50%{box-shadow:0 0 18px #b79bff73}}.mic svg{width:20px;height:20px;display:block}.resets{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.resets-note{color:var(--muted);flex-basis:100%;font-size:12px}.again.danger{color:var(--failed);border-color:#4a2a2a}.floorplan{border:1px solid var(--line);background:radial-gradient(at 50% 40%,#0b0d18,#04050a 70%);border-radius:16px;width:100%;height:auto}.room{fill:#080a12;stroke:#262b40;stroke-width:2px}.room-porch{fill:#05060a;stroke-dasharray:6 6}.room-label{fill:#4c5370;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;font-size:15px}.glows{mix-blend-mode:screen}.glow{filter:blur(6px);transition:r .3s,opacity .3s}.fixture .core{fill:#23283b;stroke:#343a52;stroke-width:1.5px;transition:fill .3s}.fixture.on .core{stroke:#fff9}.fixture .ring{fill:none;stroke-width:2px;animation:.9s ease-out forwards ring}@keyframes ring{0%{r:8px;opacity:1}to{r:46px;opacity:0}}.feed{flex-direction:column;gap:10px;min-width:0;display:flex}.feed h2{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:14px}.feed>ul{flex-direction:column;gap:10px;max-height:calc(100vh - 120px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.entry{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.entry.mine{border-color:#2f3652;box-shadow:inset 3px 0 #6d77a8}.entry.pending{border-color:#3a3360}.entry-head{align-items:baseline;gap:8px;display:flex}.said{overflow-wrap:anywhere;flex:1;min-width:0}.badge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600}.badge.fast{color:var(--fast)}.badge.learned{color:var(--learned)}.badge.claude{color:var(--claude)}.badge.failed{color:var(--failed)}.timing{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.timing strong{color:var(--text);font-weight:600}.timing .quick{color:var(--fast)}.timing .noticeable{color:var(--learned)}.timing .was{opacity:.7;text-decoration:line-through}.timing.live{color:var(--claude)}.timing .match{color:var(--muted);text-align:right;font-size:11px;display:block}.entry.open{border-color:#3b4363}.trace{border-top:1px solid var(--line);color:var(--muted);padding-top:8px;font-size:12px}.trace dl{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.trace dt{color:var(--text);font-weight:500}.trace dd{overflow-wrap:anywhere;margin:0}.trace ul{margin:0;padding-left:14px}.trace .unknown{color:var(--claude)}.who em{color:#8f9bd6;font-style:normal}.foot-actions{gap:6px;display:flex}.understood{color:var(--muted);margin:0;padding-left:16px;font-size:13px}.interpretation{color:#cfc4ff;margin:0;font-size:14px}.streaming .caret{background:var(--claude);vertical-align:-2px;width:7px;height:14px;margin-left:3px;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{to{opacity:0}}.changes,.pieces-used{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.chip{border:1px solid var(--line);color:var(--text);border-radius:6px;align-items:center;gap:5px;padding:1px 7px;display:inline-flex}.chip em{color:var(--muted);font-style:normal}.chip.piece{border-color:#5a4a1f}.swatch{border-radius:50%;width:9px;height:9px;display:inline-block}.skipped,.note{color:#d9b36c;margin:0;font-size:12px}.note{color:var(--muted)}.entry-foot{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.again{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;padding:2px 8px;font-size:12px}.again:hover{color:var(--text);border-color:#3b4363}@media (width<=860px){.home{grid-template-columns:1fr;padding:16px}.feed>ul{max-height:none}.room-label{letter-spacing:0;font-size:30px}}.tabs{gap:4px;display:flex}.tabs button{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;border-radius:8px;padding:4px 10px;font-size:13px}.tabs button.active{color:var(--text);background:var(--panel)}.tabs .count{color:var(--learned);margin-left:4px}.event{border-radius:12px;padding:10px 14px;font-size:13px;list-style:none}.event.quiet,.event.conflict{color:var(--muted);padding:4px 14px}.event.conflict{color:#d9b36c}.event.learning{color:var(--learned);border:1px dashed #5a4a1f;align-items:center;gap:10px;animation:1.6s ease-in-out infinite breathe;display:flex}@keyframes breathe{50%{border-color:var(--learned);box-shadow:0 0 24px #f5c45126}}.spark{background:var(--learned);width:8px;height:8px;box-shadow:0 0 12px var(--learned);border-radius:50%;animation:1s ease-in-out infinite breathe}.event.learned{background:linear-gradient(#f5c45117,#f5c45105);border:1px solid #5a4a1f;flex-direction:column;gap:6px;display:flex}.event.learned.live{animation:.7s ease-out arrive}@keyframes arrive{0%{opacity:0;transform:translateY(-6px);box-shadow:0 0 40px #f5c45159}to{opacity:1;transform:none}}.event.rejected{background:var(--panel);border:1px solid #4a2a2a;flex-direction:column;gap:6px;display:flex}.event-head{align-items:baseline;gap:8px;display:flex}.analysis{color:var(--muted);margin:0}.gates{flex-direction:column;gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.gates li{gap:6px;display:flex}.gates.live li{opacity:0;animation:.3s ease-out forwards tick}@keyframes tick{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}.gates .mark{width:12px}.gates .pass .mark{color:var(--fast)}.gates .fail .mark,.gates .fail .gate-name{color:var(--failed)}.gates .info .mark,.gates .info .gate-name{color:var(--muted)}.gate-name{color:var(--text);min-width:84px}.gate-detail{color:var(--muted)}.chip.piece b{font-weight:600}.learned-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.learned-piece{background:var(--panel);border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.learned-piece .chip{border:0;flex-wrap:wrap;flex:1;padding:0}.version{color:var(--muted);font-size:12px}.empty{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}
