:root{--fg:#1d2330;--muted:#6b7385;--line:#e3e6ec;--bg:#f7f8fa;--accent:#3557d6;--bad:#c62f3c;color:var(--fg);background:var(--bg);font:14px/1.45 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}button,.button{font:inherit;border:1px solid var(--line);cursor:pointer;color:inherit;background:#fff;border-radius:6px;padding:6px 12px;text-decoration:none;display:inline-block}button.primary,.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:var(--bad);border-color:var(--bad)}input,select,textarea{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;padding:5px 8px}.topbar{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex}.topbar nav{gap:10px;display:flex}.topbar nav a{color:var(--muted);text-decoration:none}.topbar nav a.active{color:var(--fg);font-weight:600}.brand{color:var(--fg);font-weight:700;text-decoration:none}.spacer{flex:1}main{padding:16px}.muted{color:var(--muted)}.mono{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:12px}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.bad{color:var(--bad);font-weight:600}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.filters,.row{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:12px;display:flex}label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.login{flex-direction:column;gap:16px;max-width:360px;margin:10vh auto;display:flex}.login form{flex-direction:column;gap:10px;display:flex}.session{grid-template-columns:minmax(0,3fr) minmax(320px,2fr);gap:12px;height:calc(100vh - 120px);display:grid}.player{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;height:100%}.timeline{border:1px solid var(--line);background:#fff;border-radius:8px;height:calc(100% - 40px);margin:0;padding:0;list-style:none;overflow:auto}.timeline li button{text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;gap:8px;width:100%;display:flex}.timeline li[aria-current=true] button{background:#eef2ff}.timeline .lvl-error,.timeline .lvl-exception,.timeline .lvl-unhandledrejection,.timeline .lvl-resource_error{color:var(--bad)}.secret{background:#fff8e1;border:1px solid #f0c36d;border-radius:6px;padding:10px}pre{border:1px solid var(--line);background:#fff;border-radius:6px;padding:10px;overflow:auto}
