:root{--field:#0a0a0a;--shadow:#1a1a1a;--mist:#3b3b3b;--bone:#f5f1ea;--signal:#ff6b1a;--brass:#c9a961}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;background:var(--field);color:var(--bone);font-family:ui-sans-serif,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.06;z-index:1000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.shell{position:relative;height:100vh;width:100vw;display:grid;grid-template-columns:280px 1fr 280px;grid-template-rows:56px 1fr 88px;grid-gap:16px;gap:16px;padding:16px}.topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid var(--shadow);border-radius:8px;background:linear-gradient(180deg,hsla(0,0%,100%,.02),transparent)}.wordmark{display:flex;align-items:baseline;gap:10px;letter-spacing:.16em;font-weight:800}.wordmark .dot{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal)}.wordmark .sub{letter-spacing:.35em}.status,.wordmark .sub{font-size:11px;color:var(--mist)}.status{display:flex;align-items:center;gap:14px;letter-spacing:.25em;text-transform:uppercase}.status .pill{padding:4px 10px;border:1px solid var(--shadow);border-radius:999px;color:var(--bone)}.status .pill[data-state=listening]{color:var(--signal);border-color:rgba(255,107,26,.35)}.status .pill[data-state=thinking]{color:var(--brass);border-color:rgba(201,169,97,.35)}.status .pill[data-state=speaking]{color:var(--signal);border-color:rgba(255,107,26,.45)}.status .wake{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.25em;color:var(--mist)}.status .wake-dot{width:6px;height:6px;border-radius:50%;background:var(--mist)}.status .wake[data-wake=listening]{color:var(--signal)}.status .wake[data-wake=listening] .wake-dot{background:var(--signal);box-shadow:0 0 8px var(--signal);animation:wake-pulse 1.6s ease-in-out infinite}.status .wake[data-wake=loading] .wake-dot{background:var(--brass)}.status .wake[data-wake=error]{color:#b45a3c}.status .wake[data-wake=error] .wake-dot{background:#b45a3c}@keyframes wake-pulse{0%,to{opacity:1}50%{opacity:.35}}.panel{display:flex;flex-direction:column;border:1px solid var(--shadow);border-radius:10px;background:linear-gradient(180deg,hsla(0,0%,100%,.015),transparent);overflow:hidden}.panel header{padding:10px 14px;border-bottom:1px solid var(--shadow);font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--mist);display:flex;justify-content:space-between;align-items:center}.panel header .tag{color:var(--brass);font-size:9px;letter-spacing:.3em}.panel .body{padding:16px;flex:1 1;overflow:hidden}.stack{gap:18px}.metric,.stack{display:flex;flex-direction:column}.metric{gap:4px}.metric .k{font-size:10px;letter-spacing:.3em;color:var(--mist);text-transform:uppercase}.metric .v{font-size:22px;font-weight:700;letter-spacing:.02em}.metric .v.accent{color:var(--signal)}.bar{height:4px;width:100%;background:var(--shadow);border-radius:2px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--signal);opacity:.85}.stub{border:1px dashed var(--shadow);border-radius:8px;padding:10px 12px;color:var(--mist);font-size:12px;letter-spacing:.05em;display:flex;flex-direction:column;gap:4px}.stub b{color:var(--bone);font-weight:600;letter-spacing:.1em;font-size:10px}.stub .phase,.stub b{text-transform:uppercase}.stub .phase{color:var(--brass);font-size:9px;letter-spacing:.3em}.scrollbody{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--shadow) transparent}.scrollbody::-webkit-scrollbar{width:6px}.scrollbody::-webkit-scrollbar-thumb{background:var(--shadow);border-radius:3px}.weather{display:flex;flex-direction:column;gap:8px}.bs-head,.qa-head,.weather-head{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mist)}.bs-head .tag,.qa-head .tag,.weather-head .tag{color:var(--brass);font-size:9px;letter-spacing:.3em}.bs-head .tag[data-on=true]{color:var(--signal)}.weather-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.weather-cell{border:1px solid var(--shadow);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;background:linear-gradient(180deg,hsla(0,0%,100%,.015),transparent)}.weather-code{font-size:9px;letter-spacing:.35em;color:var(--mist)}.weather-temp{font-size:26px;font-weight:700;letter-spacing:0;color:var(--bone);line-height:1}.weather-label{font-size:9px;letter-spacing:.3em;color:var(--signal)}.brand-status{display:flex;flex-direction:column;gap:8px}.bs-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.bs-metric{border:1px solid var(--shadow);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.bs-metric .k{font-size:9px;letter-spacing:.3em;color:var(--mist);text-transform:uppercase}.bs-metric .v{font-size:20px;font-weight:700;color:var(--bone)}.bs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.bs-list li{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--bone);letter-spacing:.04em}.bs-list .dot{width:5px;height:5px;border-radius:50%;background:var(--signal);box-shadow:0 0 6px var(--signal)}.qa{display:flex;flex-direction:column;gap:8px}.qa-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.qa-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 6px;border:1px solid var(--shadow);border-radius:8px;background:linear-gradient(180deg,hsla(0,0%,100%,.015),transparent);text-decoration:none;color:var(--bone);transition:border-color .16s ease,transform .16s ease,background .16s ease}.qa-tile:hover{border-color:rgba(255,107,26,.5);background:rgba(255,107,26,.06);transform:translateY(-1px)}.qa-code{font-size:14px;font-weight:800;letter-spacing:.05em;color:var(--signal)}.qa-label{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--mist)}.center{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--shadow);border-radius:12px;overflow:hidden;background:radial-gradient(circle at center,rgba(255,107,26,.04),transparent 60%),var(--field)}.hud-canvas{position:absolute;inset:0;width:100%;height:100%}.hud-readout{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--mist)}.dock{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;grid-gap:16px;gap:16px;align-items:center;padding:0 8px}.transcript{height:88px;overflow-y:auto;padding:12px 14px;border:1px solid var(--shadow);border-radius:10px;font-size:13px;line-height:1.5;color:var(--bone);scrollbar-width:thin}.transcript .msg{margin-bottom:8px}.transcript .msg:last-child{margin-bottom:0}.transcript .who{display:inline-block;width:56px;color:var(--mist);font-size:10px;letter-spacing:.25em;text-transform:uppercase}.transcript .msg.user .who{color:var(--brass)}.transcript .msg.dina .who{color:var(--signal)}.transcript .msg.system .who{color:var(--mist)}.transcript .msg.system{color:var(--mist);font-style:italic}.mic{position:relative;width:88px;height:88px;border-radius:50%;border:1px solid var(--shadow);background:var(--shadow);display:flex;align-items:center;justify-content:center;transition:transform .12s ease,border-color .2s ease,background .2s ease}.mic:hover{transform:scale(1.03)}.mic.active{background:rgba(255,107,26,.18);border-color:var(--signal);box-shadow:0 0 0 6px rgba(255,107,26,.08),0 0 40px rgba(255,107,26,.25)}.mic.disabled{opacity:.5;cursor:not-allowed}.mic svg{width:32px;height:32px}.mic .label{position:absolute;bottom:-22px;font-size:9px;letter-spacing:.35em;white-space:nowrap}.hint,.mic .label{color:var(--mist);text-transform:uppercase}.hint{text-align:right;font-size:10px;letter-spacing:.25em}.hint kbd{font-family:inherit;padding:3px 7px;border:1px solid var(--shadow);border-radius:4px;color:var(--bone);margin-left:6px;letter-spacing:.15em}