:root{color:#14201b;background:radial-gradient(1200px 600px at 10% -10%,#d7ebe1 0%,#0000 55%),radial-gradient(900px 500px at 100% 0,#e8f0ea 0%,#0000 50%),#f3f6f4;font-family:Segoe UI,IBM Plex Sans,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}.brand{color:#e8f5ef;letter-spacing:.04em;padding:18px 16px 12px;font-size:15px;font-weight:700}.login-shell{background:linear-gradient(145deg,#14372aeb,#12201ce0),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");place-items:center;min-height:100vh;display:grid}.login-card{width:min(420px,92vw);box-shadow:0 18px 50px #00000047}.search-panel{background:#ffffffb8;border:1px solid #d7e3dc;border-radius:8px;margin-bottom:16px;padding:12px 14px}.page-panel{background:#ffffffe0;border:1px solid #d7e3dc;border-radius:10px;min-height:60vh;padding:18px}.code-block{color:#d7ebe1;background:#0f1c17;border-radius:8px;max-height:360px;padding:12px;font-size:12px;overflow:auto}.log-viewer-card .log-viewer-toolbar{width:100%}.log-viewer-meta{color:#3d5a4e;flex-wrap:wrap;gap:8px 16px;font-size:12px;display:flex}.log-viewer-path{text-overflow:ellipsis;white-space:nowrap;max-width:420px;overflow:hidden}.log-tab-bar{flex-wrap:wrap;gap:6px;display:flex}.log-tab{color:#1f4b3a;cursor:pointer;background:#f7fbf8;border:1px solid #c5d8cc;border-radius:6px 6px 0 0;padding:5px 12px;font-family:inherit;font-size:12px}.log-tab:hover{border-color:#1f4b3a}.log-tab.is-active{color:#e8f5ef;background:#1f4b3a;border-color:#1f4b3a}.log-tab.is-tq:not(.is-active){background:#eef6f1}.log-console{color:#d7ebe1;background:#0f1c17;border:1px solid #1b3329;border-radius:8px;font-family:Consolas,Cascadia Mono,Courier New,monospace;font-size:12px;line-height:22px;position:relative;overflow:auto}.log-console-empty{color:#8aa396;text-align:center;place-items:center;min-height:180px;padding:24px;display:grid}.log-virtual{width:100%;position:relative}.log-virtual-slice{width:100%;position:absolute;inset:0 auto auto 0}.log-older-hint{z-index:1;text-align:center;color:#9ec9b6;background:#0f1c17eb;padding:2px 0;font-size:11px;position:sticky;top:0}.log-line{white-space:pre;cursor:text;box-sizing:border-box;border-left:3px solid #0000;gap:10px;min-width:max-content;padding:0 10px;display:flex}.log-line:hover{background:#ffffff0a}.log-line.is-selected{outline-offset:-1px;background:#5cd6a81f;outline:1px solid #5cd6a8}.log-line-num{text-align:right;color:#5d7a6e;-webkit-user-select:none;user-select:none;flex:0 0 64px}.log-line-body{flex:1;min-width:0}.log-line-critical{color:#ffd6d6;background:#ff4d4f2e;border-left-color:#ff4d4f}.log-line-error{color:#ffccc7;background:#a8071a33;border-left-color:#a8071a}.log-line-warning{color:#ffe7ba;background:#d4880629;border-left-color:#d48806}.log-line-info{background:#1677ff14;border-left-color:#1677ff}.log-line-debug{color:#b4c4bc;border-left-color:#8c8c8c}.log-tok-critical{color:#fff;background:#cf1322;border-radius:3px;padding:0 4px;font-weight:700}.log-tok-error{color:#fff;background:#a8071a;border-radius:3px;padding:0 4px;font-weight:600}.log-tok-warn{color:#141414;background:#fa8c16;border-radius:3px;padding:0 4px;font-weight:600}.log-tok-info{color:#e6f4ff;background:#1677ff;border-radius:3px;padding:0 4px}.log-mark{color:#141414;background:#d4b106;border-radius:2px;padding:0 2px}.log-cal-has{position:relative}.log-cal-has:after{content:"";background:#1f4b3a;border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:2px;left:50%}.tq-trend{align-items:flex-end;gap:3px;height:80px;display:flex;overflow:hidden}.tq-trend-col{flex:1;align-items:flex-end;min-width:6px;display:flex}.tq-trend-bar{opacity:.85;border-radius:3px 3px 0 0;width:100%}.tq-log-console{color:#d7ebe1;background:#0f1c17;border:1px solid #1b3329;border-radius:8px;max-height:520px;padding:8px 0;font-family:Consolas,Cascadia Mono,Courier New,monospace;font-size:12px;line-height:1.45;overflow:auto}.tq-log-line{border-left:3px solid #0000;padding:3px 12px}.tq-log-info{border-left-color:#1677ff}.tq-log-warning{background:#d4880614;border-left-color:#d48806}.tq-log-error{background:#a8071a29;border-left-color:#a8071a}.tq-log-critical{background:#ff4d4f2e;border-left-color:#ff4d4f}.tq-log-meta{color:#8aa396;margin-right:8px}.tq-log-mod{color:#9ec9b6;margin-right:8px}.tq-log-msg{color:#e8f5ef}.tq-log-who{color:#5d7a6e;margin-left:8px;font-size:11px}.tq-log-player-a .tq-log-msg{color:#e8f5ef}.tq-log-player-b{background:#9ec9b61a}.tq-log-player-b .tq-log-msg{color:#9ec9b6}.tq-log-player-b .tq-log-mod{color:#7fb39a}.tq-log-player-b .tq-log-who{color:#7a9a8c}.tq-log-stack{color:#ffccc7;white-space:pre-wrap;margin:4px 0 0 84px}.tq-log-empty{text-align:center;color:#8aa396;padding:48px 16px}
