:root{--bg:#fff;--side:#f7f7f8;--ink:#0d0d0d;--mute:#6e6e80;--line:#e5e5e5;--acc:#10a37f;--red:#d93025;--amb:#b26a00;--grey:#8e8ea0}*{box-sizing:border-box}body{margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit}.app{display:flex;min-height:100vh}nav{width:220px;background:var(--side);border-right:1px solid var(--line);padding:16px 10px;display:flex;flex-direction:column;position:fixed;top:0;bottom:0}nav .brand{font-weight:600;font-size:15px;padding:4px 10px 16px}nav>a{display:block;padding:7px 10px;border-radius:6px;text-decoration:none;color:#353740}nav>a:hover{background:#ececf1}nav>a.on{background:#e7e7ea;font-weight:600}nav .grow{flex:1}main{margin-left:220px;flex:1;padding:28px 36px;max-width:1200px;min-width:0}h1{font-size:22px;font-weight:600;margin:0 0 4px}.sub{color:var(--mute);margin-bottom:20px}table{width:100%;border-collapse:collapse;margin:8px 0 24px}th{text-align:left;font-weight:500;color:var(--mute);font-size:12px;border-bottom:1px solid var(--line);padding:8px 10px}td{border-bottom:1px solid var(--line);padding:9px 10px;vertical-align:top}tr.click{cursor:pointer}tr.click:hover td{background:#fafafa}.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#f0f0f0;color:#353740;margin:1px 3px 1px 0}.ok{background:#e6f6f1;color:#0b7a5c}.bad{background:#fdecea;color:var(--red)}.warn{background:#fff4e0;color:var(--amb)}.off{background:#f0f0f0;color:var(--grey)}.btn{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 11px;font-size:13px;cursor:pointer;text-decoration:none;color:var(--ink);margin-right:6px}.btn:hover{background:#f7f7f8}.btn.pri{background:var(--ink);color:#fff;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px}.card{border:1px solid var(--line);border-radius:8px;padding:12px 14px}.card .k{color:var(--mute);font-size:12px}.card .v{font-size:15px;margin-top:2px;overflow-wrap:anywhere}.flag{padding:8px 12px;border-radius:6px;margin-bottom:6px}.flag.red{background:#fdecea}.flag.amber{background:#fff4e0}.flag.grey{background:#f4f4f5;color:#555}h2{font-size:15px;font-weight:600;margin:24px 0 6px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.muted{color:var(--mute)}#login{max-width:320px;margin:18vh auto;text-align:center}#login input{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;margin:14px 0 8px;font-size:14px}#mic{width:100%;border:0;border-radius:8px;padding:10px;font-weight:600;cursor:pointer;background:var(--ink);color:#fff}#mic.live{background:var(--acc)}#mic.think{background:var(--amb)}#vlog{font-size:12px;color:#444;max-height:30vh;overflow:auto;margin-top:8px}#vlog div{margin:4px 0}#vlog b{color:#000}.chat{border:1px solid var(--line);border-radius:10px;margin:8px 0 24px;display:flex;flex-direction:column;height:460px}.chat .bar{display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}.chat .bar select{padding:4px 6px;border:1px solid var(--line);border-radius:6px;max-width:320px}.chat .msgs{flex:1;overflow:auto;padding:12px 14px}.chat .m{margin:0 0 12px}.chat .m .w{font-size:12px;color:var(--mute);margin-bottom:2px}.chat .m .t{white-space:pre-wrap}.chat .m.you .t{background:#f4f4f5;display:inline-block;padding:7px 11px;border-radius:10px}.chat .in{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat textarea{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit;resize:none;height:42px}.mode{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.mode button{border:0;background:#fff;padding:4px 10px;cursor:pointer;font-size:12px}.mode button.on{background:var(--ink);color:#fff}.mode button.act.on{background:var(--red)}input.f{padding:6px 10px;border:1px solid var(--line);border-radius:6px;width:260px;margin-bottom:8px}.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.err{color:var(--red)}@media(max-width:767px){nav{position:static;width:auto}.app{flex-direction:column}main{margin-left:0;padding:20px 14px}table{display:block;overflow-x:auto}}
