:root{--paper: #fbfbf9;--paper-2: #f3f3f0;--paper-3: #ebebe7;--ink: #17181c;--ink-2: #4f5360;--ink-3: #8a8e9b;--rule: #e4e4df;--rule-strong: #cfcfc8;--signal: #4f46e5;--signal-soft: #e9e8fb;--ember: #cf3f3a;--ember-soft: #fbe9e8;--amber: #b26b10;--amber-soft: #fbefdc;--moss: #2f7a56;--moss-soft: #e2f1e8;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--radius: 6px;--shadow: 0 1px 2px rgba(23, 24, 28, .06), 0 0 0 1px var(--rule)}@media(prefers-color-scheme:dark){:root{--paper: #141518;--paper-2: #1b1c21;--paper-3: #23252b;--ink: #ecebe6;--ink-2: #b0b2ba;--ink-3: #777a86;--rule: #2a2c33;--rule-strong: #3a3d46;--signal: #8b84ff;--signal-soft: #26244a;--ember: #ff6b61;--ember-soft: #3a1f1d;--amber: #e3a04b;--amber-soft: #352816;--moss: #5ec68f;--moss-soft: #1b3326;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 1px var(--rule)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:13.5px/1.45 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}code,pre,.mono{font-family:var(--mono);font-size:12.5px}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:17px}h2{font-size:14px}h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.muted{color:var(--ink-3)}.dim{color:var(--ink-2)}.shell{display:grid;grid-template-columns:232px 1fr;height:100%}.side{border-right:1px solid var(--rule);background:var(--paper-2);display:flex;flex-direction:column;padding:14px 10px;gap:4px;overflow-y:auto}.brand{display:flex;align-items:center;gap:9px;padding:4px 8px 14px;font-weight:650;font-size:14px}.brand svg{width:22px;height:22px}.side h3{padding:10px 8px 4px}.nav-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius);color:var(--ink-2)}.nav-item:hover{background:var(--paper-3);color:var(--ink)}.nav-item.active{background:var(--signal-soft);color:var(--ink)}.nav-item .count{margin-left:auto;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.nav-item .count.hot{color:var(--ember);font-weight:600}.dot{width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex:none}.dot.error{background:var(--ember)}.dot.warning{background:var(--amber)}.dot.info{background:var(--signal)}.dot.fatal{background:var(--ember);box-shadow:0 0 0 2px var(--ember-soft)}.side .spacer{flex:1}.side .foot{padding:8px;font-size:11.5px;color:var(--ink-3)}.main{overflow-y:auto;min-width:0}.page{padding:22px 28px 60px;max-width:1180px}.page-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}.page-head .grow{flex:1}.subnav{display:flex;gap:2px;margin-top:-4px;margin-bottom:18px;border-bottom:1px solid var(--rule)}.subnav a{padding:8px 10px;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}.subnav a.active{color:var(--ink);border-bottom-color:var(--ink)}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--paper);cursor:pointer;font-size:12.5px;line-height:1.3}.btn:hover{background:var(--paper-2)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover{opacity:.9}.btn.danger{color:var(--ember)}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:3px 8px;font-size:12px}.input,select.input,textarea.input{padding:5px 9px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper);min-width:0}.input:focus{outline:2px solid var(--signal-soft);border-color:var(--signal)}.chips{display:inline-flex;gap:2px;background:var(--paper-2);padding:2px;border-radius:7px;border:1px solid var(--rule)}.chip{padding:3px 9px;border-radius:5px;cursor:pointer;color:var(--ink-2);border:0;background:transparent}.chip.active{background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;font-size:11.5px;background:var(--paper-3);color:var(--ink-2);white-space:nowrap}.tag.ember{background:var(--ember-soft);color:var(--ember)}.tag.amber{background:var(--amber-soft);color:var(--amber)}.tag.moss{background:var(--moss-soft);color:var(--moss)}.tag.signal{background:var(--signal-soft);color:var(--signal)}.tag .k{color:var(--ink-3)}.pulse{display:inline-flex;align-items:flex-end;gap:2px;height:22px}.pulse i{display:block;width:5px;min-height:2px;background:var(--rule-strong);border-radius:1px}.pulse i.on{background:var(--ember)}.pulse i.today{outline:1px solid var(--ink-3);outline-offset:1px}.card{background:var(--paper);border-radius:8px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.stat{padding:10px 12px}.stat .label{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.stat .value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:2px}.stat .pulse{margin-top:6px}.stat .pulse i.on{background:var(--signal)}.issue-list{display:flex;flex-direction:column}.issue-row{display:grid;grid-template-columns:14px 1fr 92px 64px 64px 84px;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--rule)}.issue-row:first-child{border-top:0}.issue-row:hover{background:var(--paper-2)}.issue-row .title{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.issue-row .culprit{color:var(--ink-3);font-family:var(--mono);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.issue-row .num{text-align:right;font-variant-numeric:tabular-nums}.issue-row .when{text-align:right;color:var(--ink-3);font-size:12px}.issue-row.ignored .title{color:var(--ink-3)}.list-head{display:grid;grid-template-columns:14px 1fr 92px 64px 64px 84px;gap:12px;padding:6px 14px;font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.list-head .num{text-align:right}.empty{padding:40px;text-align:center;color:var(--ink-3)}.detail-head .title{font-size:16px;font-weight:600;word-break:break-word}.detail-head .culprit{font-family:var(--mono);color:var(--ink-2);margin-top:3px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}.meta{padding:8px 10px}.meta .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.meta .value{margin-top:2px;font-variant-numeric:tabular-nums;word-break:break-word}.two-col{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}@media(max-width:980px){.two-col{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}.section{margin-bottom:22px}.section h3{margin-bottom:8px}.stack{border:1px solid var(--rule);border-radius:8px;overflow:hidden}.exc-head{padding:9px 12px;background:var(--paper-2);border-bottom:1px solid var(--rule);font-family:var(--mono)}.exc-head b{color:var(--ember)}.frame{border-top:1px solid var(--rule);padding:7px 12px 7px 14px;font-family:var(--mono);font-size:12.5px}.frame:first-child{border-top:0}.frame.app{border-left:3px solid var(--ink);background:var(--paper)}.frame.lib{color:var(--ink-3);border-left:3px solid transparent}.frame .fn{font-weight:600}.frame.lib .fn{font-weight:500}.frame .loc{color:var(--ink-3)}.frame .loc em{color:var(--ink-2);font-style:normal}.ctx{margin:6px 0 2px;background:var(--paper-2);border-radius:5px;padding:6px 0;overflow-x:auto}.ctx div{display:flex;gap:12px;padding:0 10px;white-space:pre}.ctx div .n{color:var(--ink-3);width:36px;text-align:right;flex:none;-webkit-user-select:none;user-select:none}.ctx div.hit{background:var(--ember-soft)}.collapsed-frames{padding:6px 14px;color:var(--ink-3);font-size:12px;cursor:pointer;border-top:1px solid var(--rule);background:var(--paper-2)}.collapsed-frames:hover{color:var(--ink)}.crumbs{border:1px solid var(--rule);border-radius:8px;overflow:hidden}.crumb{display:grid;grid-template-columns:84px 110px 1fr;gap:10px;padding:6px 12px;border-top:1px solid var(--rule);font-size:12.5px}.crumb:first-child{border-top:0}.crumb .t{color:var(--ink-3);font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:11.5px}.crumb .c{color:var(--ink-2);font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb .m{overflow-wrap:anywhere}.crumb .m code{color:var(--ink-2)}.crumb.error .m{color:var(--ember)}.kv{display:grid;grid-template-columns:140px 1fr;gap:4px 12px;font-size:12.5px}.kv .k{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kv .v{overflow-wrap:anywhere;font-family:var(--mono);font-size:12px}.tagcloud{display:flex;flex-wrap:wrap;gap:6px}pre.json{background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;padding:12px;overflow:auto;max-height:520px;font-size:12px;margin:0}table.grid{width:100%;border-collapse:collapse;font-size:12.5px}table.grid th{text-align:left;font-weight:600;font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;border-bottom:1px solid var(--rule)}table.grid td{padding:7px 10px;border-bottom:1px solid var(--rule);vertical-align:top}table.grid tr:hover td{background:var(--paper-2)}table.grid td.mono{font-family:var(--mono);font-size:12px}.snippet{position:relative}.snippet pre{background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;padding:12px 14px;overflow:auto;font-size:12px;margin:0}.snippet .copy{position:absolute;top:8px;right:8px}.dsn{font-family:var(--mono);font-size:12.5px;padding:9px 12px;background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;word-break:break-all;display:flex;gap:10px;align-items:center}.dsn code{flex:1}.login{max-width:420px;margin:80px auto;padding:24px}.login p{color:var(--ink-2)}.login input{width:100%;margin:10px 0}.notice{padding:10px 12px;border-radius:8px;background:var(--amber-soft);color:var(--amber);margin-bottom:14px}.notice.moss{background:var(--moss-soft);color:var(--moss)}.notice.ember{background:var(--ember-soft);color:var(--ember)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.replay-wrap{background:#000;border-radius:8px;overflow:hidden;min-height:400px}.replay-wrap .rr-player{margin:0 auto}kbd{font-family:var(--mono);font-size:11px;padding:1px 5px;border:1px solid var(--rule-strong);border-bottom-width:2px;border-radius:4px}
