:root{--bg: #05060a;--glass: rgba(18, 22, 33, .55);--border: rgba(255, 255, 255, .08);--text: #e8ecf4;--muted: #8b94a7;--accent: #7c5cff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;overflow:hidden;overscroll-behavior:none}.app{position:fixed;top:0;right:0;bottom:0;left:0}.app canvas{touch-action:none}.glass{background:var(--glass);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 40px #00000073}.topbar{position:absolute;top:18px;left:18px;right:18px;z-index:10;display:flex;align-items:center;gap:18px;padding:12px 16px}.brand{font-weight:700;font-size:18px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;white-space:nowrap}.accent{color:var(--accent)}.brand .dot{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#a78bfa,#7c5cff);box-shadow:0 0 14px #7c5cff}.ask{display:flex;gap:8px;flex:1;min-width:0}.ask input{flex:1;min-width:0;background:#ffffff0a;border:1px solid var(--border);border-radius:12px;padding:10px 14px;color:var(--text);font-size:14px;outline:none}.ask input:focus{border-color:#7c5cff99;box-shadow:0 0 0 3px #7c5cff26}.ask button{background:linear-gradient(135deg,#7c5cff,#9d7bff);border:none;color:#fff;border-radius:12px;padding:10px 18px;font-weight:600;cursor:pointer}.ask button:disabled{opacity:.6;cursor:default}.ask button.ghost{background:#ffffff0f;color:var(--muted)}.randhint{flex:1;min-width:0;display:flex;align-items:center;padding:0 6px;color:var(--muted);font-size:13px}.modes{display:flex;gap:6px;align-items:center;flex-shrink:0}.modes button{background:#ffffff0d;border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:9px 13px;font-size:13px;font-weight:600;cursor:pointer}.modes button.on{background:linear-gradient(135deg,#7c5cff,#9d7bff);color:#fff;border-color:transparent}.modes .shuffle{padding:9px 11px;font-size:15px}.legend{position:absolute;left:18px;bottom:18px;z-index:10;padding:12px 14px;display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);max-height:calc(100vh - 120px);overflow-y:auto}.legend-item{display:flex;align-items:center;gap:8px;text-transform:capitalize}.legend-sep{height:1px;background:var(--border);margin:4px 0}.swatch{width:11px;height:11px;border-radius:4px}.answer{position:absolute;left:50%;transform:translate(-50%);bottom:18px;z-index:10;width:min(560px,calc(100vw - 36px));padding:16px 18px}.answer-head{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.answer-head .model{flex-shrink:0}.answer-head .model{background:#7c5cff2e;color:#c4b5fd;padding:2px 8px;border-radius:999px;font-size:11px;letter-spacing:0;text-transform:none}.answer-head .model.muted{background:#ffffff0f;color:var(--muted)}.answer-body{font-size:14px;line-height:1.55;max-height:240px;overflow:auto}.answer-body>:first-child{margin-top:0}.answer-body>:last-child{margin-bottom:0}.answer-body h1,.answer-body h2,.answer-body h3{font-size:14px;margin:12px 0 6px;color:#fff}.answer-body p{margin:6px 0}.answer-body ul,.answer-body ol{margin:6px 0;padding-left:18px}.answer-body li{margin:2px 0}.answer-body strong{color:#fff}.answer-body code{background:#ffffff14;padding:1px 5px;border-radius:5px;font-size:12px}.answer-body table{border-collapse:collapse;margin:8px 0;font-size:12px}.answer-body th,.answer-body td{border:1px solid var(--border);padding:4px 8px;text-align:left}.answer-body a{color:var(--accent)}.panel{position:absolute;top:84px;right:18px;bottom:18px;z-index:10;width:min(320px,calc(100vw - 36px));padding:22px;overflow:auto}.panel .close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1}.panel-type{font-size:12px;text-transform:capitalize;letter-spacing:.03em;margin-bottom:4px}.panel h2{margin:0 0 10px;font-size:20px;letter-spacing:-.02em}.panel .summary{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 18px}.rel-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 8px}.panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.panel li{font-size:13px;background:#ffffff08;border:1px solid var(--border);border-radius:10px;padding:8px 10px}.rel{color:var(--accent);font-size:11px;font-style:italic}.tooltip{font-size:12px}.gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(60% 60% at 50% 38%,rgba(124,92,255,.12),transparent 70%),var(--bg)}.gate-card{display:flex;flex-direction:column;gap:14px;padding:30px;width:280px;text-align:center}.gate-card .brand{justify-content:center;font-size:22px}.gate-sub{margin:0;color:var(--muted);font-size:13px}.gate-card input{background:#ffffff0a;border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text);font-size:18px;letter-spacing:.3em;text-align:center;outline:none}.gate-card input:focus{border-color:#7c5cff99;box-shadow:0 0 0 3px #7c5cff26}.gate-card button{background:linear-gradient(135deg,#7c5cff,#9d7bff);border:none;color:#fff;border-radius:12px;padding:11px;font-weight:600;cursor:pointer}.gate-card button:disabled{opacity:.5;cursor:default}.gate-err{color:#fb7185;font-size:13px}@media (max-width: 640px){.topbar{top:10px;left:10px;right:10px;gap:10px;padding:10px 12px;flex-wrap:wrap;border-radius:14px}.brand{font-size:16px}.modes{margin-left:auto}.ask,.randhint{order:3;flex:1 0 100%}.ask input{font-size:16px;padding:11px 14px}.ask button,.modes button{min-height:42px}.legend{left:10px;right:10px;bottom:10px;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:14px;padding:9px 12px;scrollbar-width:none}.legend::-webkit-scrollbar{display:none}.legend-item{flex:0 0 auto;white-space:nowrap}.answer{left:10px;right:10px;bottom:64px;width:auto;transform:none;padding:14px}.answer-body{max-height:34vh}.panel{top:auto;left:10px;right:10px;bottom:64px;width:auto;max-height:62vh;padding:18px}.panel h2{font-size:18px}}@media (max-width: 640px) and (max-height: 480px){.legend{display:none}.answer,.panel{bottom:10px}}.vitals{position:relative;flex:none}.vitals-pill{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;border:1px solid rgba(159,224,21,.3);background:#9fe01512;color:var(--text);font-size:12.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;white-space:nowrap}.vitals-pill:hover{border-color:#9fe0158c}.vitals-sub{color:var(--muted);font-weight:500}.vitals-dot{width:8px;height:8px;border-radius:50%;background:#9fe015;box-shadow:0 0 #9fe0158c;animation:vitals-pulse 2.4s ease-out infinite}@keyframes vitals-pulse{0%{box-shadow:0 0 #9fe01580}70%{box-shadow:0 0 0 7px #9fe01500}to{box-shadow:0 0 #9fe01500}}.vitals-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:30;width:290px;padding:14px;display:flex;flex-direction:column;gap:12px}.vitals-watch{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}.vitals-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}.vstat{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 4px;border-radius:11px;background:#ffffff08;border:1px solid var(--border)}.vstat b{font-size:17px;font-weight:700;color:var(--text)}.vstat span{font-size:10.5px;color:var(--muted)}.vitals-props-head{font-size:12.5px;font-weight:600;margin-bottom:7px}.vitals-chips{display:flex;flex-wrap:wrap;gap:6px}.vitals-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border)}.vitals-cdot{width:6px;height:6px;border-radius:50%}.vitals-foot{font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:9px}@media (max-width: 720px){.vitals-pill .vitals-sub{display:none}}.trace{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 10px}.trace-step{font-size:11px;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--accent);background:#7c5cff1a;border:1px solid rgba(124,92,255,.25);border-radius:7px;padding:2px 7px;animation:trace-in .2s ease}@keyframes trace-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.pq-fab{position:absolute;right:18px;bottom:18px;z-index:20;display:flex;align-items:center;gap:8px;padding:11px 16px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--text);cursor:pointer;border-radius:999px}.pq-fab:hover{border-color:#7c5cff80}.pq-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.pq-drawer{position:absolute;top:84px;right:18px;bottom:18px;z-index:19;width:380px;max-width:calc(100vw - 36px);padding:0;display:flex;flex-direction:column;overflow:hidden}.pq-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:700;font-size:14px;border-bottom:1px solid var(--border)}.pq-empty{padding:28px 18px;color:var(--muted);font-size:13px;text-align:center}.pq-list{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.pq-card{background:#ffffff08;border:1px solid var(--border);border-radius:14px;padding:13px 14px}.pq-kind{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.pq-dot{width:7px;height:7px;border-radius:50%}.pq-title{margin-top:7px;font-size:13.5px;font-weight:600;color:var(--text);line-height:1.35}.pq-body{margin-top:4px;font-size:12.5px;color:var(--muted);line-height:1.45}.pq-body p{margin:6px 0}.pq-body code{font-size:11.5px;background:#ffffff0f;padding:1px 5px;border-radius:5px}.pq-actions{margin-top:12px;display:flex;gap:8px}.pq-btn{flex:1;padding:7px 0;border-radius:9px;border:1px solid var(--border);background:#ffffff0a;color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer}.pq-btn:disabled{opacity:.4;cursor:default}.pq-approve:hover{background:#2dd4bf2e;border-color:#2dd4bf80}.pq-snooze:hover{background:#ffffff14}.pq-reject:hover{background:#f43f7e29;border-color:#f43f7e73}@media (max-width: 640px){.pq-drawer{top:auto;height:60vh;width:calc(100vw - 24px);right:12px;bottom:70px}.pq-fab{right:12px;bottom:14px}}.ticker-fab{position:absolute;left:18px;top:84px;z-index:20;display:flex;align-items:center;gap:8px;max-width:340px;padding:9px 14px;font-size:12.5px;font-weight:600;color:var(--text);cursor:pointer;border-radius:999px}.ticker-fab:hover{border-color:#7c5cff80}.ticker-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.ticker-fab-label{flex-shrink:0;letter-spacing:.02em}.ticker-fab-target{color:#9aa4b2;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticker-when{margin-left:auto;padding-left:8px;color:#9aa4b2;font-variant-numeric:tabular-nums;flex-shrink:0}.ticker-drawer{position:absolute;left:18px;top:132px;z-index:19;width:340px;max-width:calc(100vw - 36px);max-height:56vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.ticker-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;font-weight:700;font-size:13.5px;border-bottom:1px solid var(--border)}.ticker-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#7c5cff2e;color:var(--accent);font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.ticker-list{overflow-y:auto;padding:6px 0}.ticker-row{display:flex;gap:10px;padding:8px 15px;align-items:flex-start}.ticker-row:hover{background:#ffffff08}.ticker-icon{flex-shrink:0;width:16px;text-align:center;font-size:12px;line-height:1.45}.ticker-body{min-width:0;flex:1}.ticker-line{display:flex;gap:7px;align-items:baseline}.ticker-act{font-weight:700;font-size:12px;flex-shrink:0;text-transform:lowercase}.ticker-target{color:var(--text);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticker-sub{color:#9aa4b2;font-size:11px;margin-top:2px}@media (max-width: 640px){.ticker-fab{max-width:calc(100vw - 36px)}.ticker-drawer{width:calc(100vw - 36px)}}
