lionscope 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dashboard/assets/index-CD9VgxaN.js +16 -0
- package/dashboard/assets/index-D7CAYHTy.css +1 -0
- package/dashboard/index.html +2 -2
- package/dist/THIRD_PARTY_NOTICES.txt +1019 -0
- package/dist/lionscope.mjs +98 -26698
- package/package.json +1 -1
- package/dashboard/assets/index-CAhmk3w_.js +0 -15
- package/dashboard/assets/index-DGwPvuPB.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"IBM Plex Sans", ui-sans-serif, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-overline:.65625rem;--text-meta:.71875rem;--text-small:.78125rem;--text-body:.84375rem;--text-title:1rem;--text-readout:1.625rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-s:3px;--radius-m:5px;--radius-pill:999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.12s;--dur:.22s;--plane:#eceef1;--surface:#fbfbfc;--surface-sunk:#f3f4f6;--surface-raised:#fff;--hover-wash:#1114180b;--active-wash:#11141814;--ink:#111418;--ink-2:#474e5a;--ink-muted:#5f6673;--ink-inverse:#fbfbfc;--rule:#e2e4e8;--rule-strong:#c4c8cf;--focus:#2a6fdb;--brand:#d7262f;--event:#6250d6;--event-wash:#6250d61a;--jank:#c26a00;--jank-text:#9a5200;--jank-wash:#c26a001a;--good:#0b7d32;--good-wash:#0b7d321a;--critical:#c42f2f;--critical-wash:#c42f2f14;--viz-cpu:#2a78d6;--viz-fps:#2a78d6;--viz-frametime:#2a78d6;--viz-framemax:#8b919c;--viz-mem-native:#1baf7a;--viz-mem-java:#2a78d6;--viz-mem-graphics:#e87ba4;--viz-mem-code:#008300;--viz-mem-other:#8b919c;--viz-mem-total:#111418;--viz-threshold:#5f6673;--viz-stage-input:#1c5cab;--viz-stage-animation:#2a78d6;--viz-stage-layout:#5598e7;--viz-stage-draw:#86b6ef;--viz-stage-sync:#4fb94a;--viz-stage-command:#2b9927;--viz-stage-swap:#007a00;--viz-stage-delay:#babfc7;--viz-stage-gpu:#e87ba4;--viz-screen-1:#2a78d6;--viz-screen-2:#e87ba4;--viz-screen-3:#008300;--viz-screen-wash:.06;--viz-stall-1:#df7e82;--viz-stall-2:#ba2840;--viz-stall-3:#89142a;--viz-stall-debug:#8b919c;--viz-strictmode:#00a396;--stall-wash:#ba284014;--log-v:#5f6673;--log-d:#3f4752;--log-i:#1f6fbf;--log-w:#8f5a00;--log-e:#c42f2f;--log-f:#a3122b;--shadow-pop:0 1px 0 #1114180a, 0 14px 36px -10px #11141838}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--plane:#0b0d10;--surface:#13161b;--surface-sunk:#0f1216;--surface-raised:#1a1e24;--hover-wash:#e9ebee0d;--active-wash:#e9ebee17;--ink:#e9ebee;--ink-2:#b1b7c1;--ink-muted:#8a919c;--ink-inverse:#0b0d10;--rule:#232831;--rule-strong:#343a45;--focus:#6b9cf0;--brand:#f0434b;--event:#9085e9;--event-wash:#9085e924;--jank:#f0a420;--jank-text:#f3b23a;--jank-wash:#f0a4201f;--good:#3cc26a;--good-wash:#3cc26a1f;--critical:#f07070;--critical-wash:#f070701a;--viz-cpu:#3987e5;--viz-fps:#3987e5;--viz-frametime:#3987e5;--viz-framemax:#6f7682;--viz-mem-native:#199e70;--viz-mem-java:#3987e5;--viz-mem-graphics:#d55181;--viz-mem-code:#008300;--viz-mem-other:#6f7682;--viz-mem-total:#e9ebee;--viz-threshold:#8a919c;--viz-stage-input:#256abf;--viz-stage-animation:#3987e5;--viz-stage-layout:#6da7ec;--viz-stage-draw:#9ec5f4;--viz-stage-sync:#56c050;--viz-stage-command:#33a02e;--viz-stage-swap:green;--viz-stage-delay:#4a505b;--viz-stage-gpu:#d55181;--viz-screen-1:#3987e5;--viz-screen-2:#d55181;--viz-screen-3:#008300;--viz-screen-wash:.085;--viz-stall-1:#96353b;--viz-stall-2:#d64e57;--viz-stall-3:#f08e8e;--viz-stall-debug:#6f7682;--viz-strictmode:#20a89b;--stall-wash:#d64e571f;--log-v:#8a919c;--log-d:#c9ced6;--log-i:#6aa8f0;--log-w:#e8b04a;--log-e:#f07070;--log-f:#ff6b81;--shadow-pop:0 0 0 1px #e9ebee0f, 0 18px 40px -12px #000000b3}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--plane);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.45}#root{min-height:100dvh}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}code,kbd{font-family:var(--font-mono);font-size:.95em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overline{font-size:var(--text-overline);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:30px;padding:0 var(--space-3);border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface);font-size:var(--text-small);white-space:nowrap;transition:background-color var(--dur-fast) linear, border-color var(--dur-fast) linear, transform var(--dur-fast) var(--ease-out);font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover-wash);border-color:var(--ink-muted)}.btn:active:not(:disabled){background:var(--active-wash);transform:translateY(1px)}.btn:disabled{opacity:.45}.btn--primary{background:var(--ink);border-color:var(--ink);color:var(--ink-inverse)}.btn--primary:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2)}.btn--icon{width:30px;padding:0}.btn svg{flex:none}.segmented{border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface);display:inline-flex;overflow:hidden}.segmented>button{min-width:34px;height:26px;padding:0 var(--space-2);border:0;border-left:1px solid var(--rule);font-family:var(--font-mono);font-size:var(--text-meta);color:var(--ink-2);transition:background-color var(--dur-fast) linear, color var(--dur-fast) linear;background:0 0;font-weight:500}.segmented>button:first-child{border-left:0}.segmented>button:hover:not([aria-checked=true]):not([aria-pressed=true]){background:var(--hover-wash);color:var(--ink)}.segmented>button[aria-checked=true],.segmented>button[aria-pressed=true]{background:var(--ink);color:var(--ink-inverse)}.segmented>button:focus-visible{outline-offset:-2px}.segmented[aria-disabled=true]{opacity:.5}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.device-col{--device-col-w:clamp(296px, 24vw, 372px);--bezel:#101317;--bezel-ring:#11141838;--bezel-shine:#ffffff12;--glass-ink:#d5d9df;width:var(--device-col-w);background-color:var(--surface-sunk);background-image:radial-gradient(circle, var(--rule) 1px, transparent 1.2px);background-size:16px 16px;flex-direction:column;min-width:0;min-height:0;display:flex}.device-col:has(.device-bezel[data-orientation=landscape]){--device-col-w:clamp(420px, 36vw, 620px)}@media (prefers-color-scheme:dark){.device-col{--bezel:#050608;--bezel-ring:#e9ebee1f;--bezel-shine:#ffffff0d}}.device-col[data-collapsed]{background-image:none;width:36px}.device-rail{align-items:center;gap:var(--space-2);padding:var(--space-3) 0;color:var(--ink-muted);transition:background-color var(--dur-fast) linear, color var(--dur-fast) linear;background:0 0;border:0;flex-direction:column;flex:auto;display:flex}.device-rail:hover{background:var(--hover-wash);color:var(--ink)}.device-rail:focus-visible{outline-offset:-2px}.device-rail-label{font-size:var(--text-overline);letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;font-weight:600;transform:rotate(180deg)}.device-head{align-items:center;gap:var(--space-2);min-height:44px;padding:6px var(--space-2) 6px var(--space-4);border-bottom:1px solid var(--rule);background:var(--surface);flex:none;display:flex}.device-head-text{flex:auto;min-width:0}.device-head .overline{margin:0;line-height:1.2}.device-head-name{font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.device-collapse{width:28px;height:28px;color:var(--ink-2);background:0 0;border-color:#0000}.device-body{flex-direction:column;flex:auto;min-height:0;display:flex}.screen-view{flex-direction:column;flex:auto;min-height:0;display:flex;container:device-screen/inline-size}.device-toolbar{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--surface) 88%, transparent);flex-wrap:nowrap;flex:none;display:flex}.device-tool{width:28px;height:28px;color:var(--ink-2);background:0 0;border-color:#0000;flex:none}.device-tool:hover:not(:disabled){color:var(--ink)}.device-size{margin-left:var(--space-1);flex:none}.device-size>button{min-width:30px;height:24px}.device-fps{color:var(--ink-muted);font-size:var(--text-meta);white-space:nowrap;flex:none;margin-left:auto}.device-fps[data-live]{color:var(--ink)}.device-fps-unit{color:var(--ink-muted)}@container device-screen (width<=360px){.device-toolbar{padding-inline:var(--space-2);gap:2px}.device-toolbar .device-tool{width:26px;height:26px}.device-size{margin-left:2px}.device-size>button{min-width:26px;padding:0 3px}.device-fps-unit{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@container device-screen (width<=280px){.device-toolbar .device-tool{width:24px}.device-size>button{min-width:24px;padding:0 2px}}.device-stage{min-height:0;padding:var(--space-3);flex:auto;place-items:center;display:grid;overflow:hidden}.device-bezel{background:var(--bezel);box-shadow:0 0 0 1px var(--bezel-ring), inset 0 1px 0 var(--bezel-shine), 0 24px 44px -24px #1114188c, 0 2px 6px -2px #11141840;transition:box-shadow var(--dur-fast) linear;border-radius:26px;padding:7px}.device-bezel[data-orientation=landscape]{border-radius:22px}.device-bezel:has(.device-canvas:focus){box-shadow:0 0 0 1px var(--bezel-ring), 0 0 0 3px var(--focus), 0 24px 44px -24px #1114188c}.device-glass{aspect-ratio:9/20;background:#000;border-radius:19px;width:auto;height:min(60vh,560px);position:relative;overflow:hidden}.device-glass[style]{aspect-ratio:auto}.device-bezel[data-orientation=landscape] .device-glass{border-radius:15px}.device-canvas{object-fit:contain;cursor:default;touch-action:none;outline:none;width:100%;height:100%;display:block}.device-glass-status{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);color:var(--glass-ink);font-size:var(--text-small);text-align:center;animation:glass-in var(--dur) var(--ease-out) both;background:#0000008c;flex-direction:column;display:flex;position:absolute;inset:0}.device-glass-status .banner-spinner{border-color:#fff #fff3 #fff3}.device-glass-status[data-tone=failed]{background:#000000c7}@keyframes glass-in{0%{opacity:0}}.pinch-hint{pointer-events:none;position:absolute;inset:0}.pinch-dot,.pinch-centre{border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.pinch-dot{background:color-mix(in srgb, var(--focus) 45%, transparent);border:2px solid #ffffffe6;width:22px;height:22px;box-shadow:0 0 0 1px #00000059}.pinch-dot--mirror{background:0 0;border-style:dashed}.pinch-centre{background:#fffc;width:6px;height:6px;top:50%;left:50%}.device-nav{justify-content:center;gap:var(--space-5);flex:none;padding:2px 0 0;display:flex}.device-nav .device-tool{border-radius:var(--radius-pill);width:44px;height:30px}.device-hint{padding:var(--space-1) var(--space-3) var(--space-3);color:var(--ink-muted);font-size:var(--text-overline);text-align:center;flex:none;margin:0}.device-hint kbd{border:1px solid var(--rule-strong);border-radius:var(--radius-s);background:var(--surface);font-size:var(--text-overline);padding:0 3px}.device-note{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);color:var(--ink-2);font-size:var(--text-small);text-align:center;flex-direction:column;flex:auto;display:flex}.device-note p{max-width:30ch;margin:0}.device-note-glyph{width:56px;height:112px;margin-bottom:var(--space-2);border:1.5px dashed var(--rule-strong);background:var(--surface);border-radius:12px;place-items:center;display:grid}.device-note-glyph[data-busy]{border-style:solid}.device-note .device-note-title{color:var(--ink);font-size:var(--text-body);font-weight:600}.device-note-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.device-col[data-mode=overlay]{z-index:50;width:min(var(--device-col-w), calc(100vw - 40px));border-right:1px solid var(--rule-strong);box-shadow:var(--shadow-pop);animation:drawer-in var(--dur) var(--ease-out) both;position:fixed;inset:0 auto 0 0}.device-col[data-mode=overlay]:focus-visible{outline-offset:-2px}.device-backdrop{z-index:49;animation:glass-in var(--dur) var(--ease-out) both;background:#0b0d105c;position:fixed;inset:0}@keyframes drawer-in{0%{opacity:0;transform:translate(-12px)}}.device-retry{margin-top:var(--space-1);color:#fff;background:0 0;border-color:#ffffff59}.device-retry:hover:not(:disabled){background:#ffffff1f;border-color:#fff}.device-paste-note{padding:0 var(--space-3);color:var(--jank-text);font-size:var(--text-overline);text-align:center;flex:none;margin:0}.device-paste-note:empty{display:none}.screen-view{position:relative}.device-toast-region{right:var(--space-3);bottom:64px;left:var(--space-3);z-index:2;pointer-events:none;justify-content:center;display:flex;position:absolute}.device-toast{align-items:center;gap:var(--space-2);min-height:30px;padding:4px 6px 4px var(--space-3);border-radius:var(--radius-pill);background:var(--ink);box-shadow:var(--shadow-pop);color:var(--ink-inverse);font-size:var(--text-meta);pointer-events:auto;animation:jump-in-toast var(--dur) var(--ease-out) both;font-weight:500;display:inline-flex}.device-toast:not(:has(button)){padding-right:var(--space-3)}.device-toast-copy{height:22px;padding:0 var(--space-2);border-color:color-mix(in srgb, var(--ink-inverse) 40%, transparent);border-radius:var(--radius-pill);color:var(--ink-inverse);font-size:var(--text-meta);background:0 0}.device-toast-copy:hover:not(:disabled){border-color:var(--ink-inverse);background:color-mix(in srgb, var(--ink-inverse) 14%, transparent)}@keyframes jump-in-toast{0%{opacity:0;transform:translateY(6px)}}.logcat-drawer{border-top:1px solid var(--rule-strong);background:var(--surface);flex-direction:column;flex:none;min-height:0;display:flex;position:relative}.drawer-handle{z-index:4;cursor:row-resize;touch-action:none;height:9px;position:absolute;top:-5px;left:0;right:0}.drawer-handle:before{border-radius:var(--radius-pill);background:var(--rule-strong);content:"";width:36px;height:3px;transition:background-color var(--dur-fast) linear, transform var(--dur-fast) var(--ease-out);position:absolute;top:3px;left:50%;transform:translate(-50%)}.drawer-handle:hover:before,.drawer-handle:active:before{background:var(--ink-muted);transform:translate(-50%)scaleX(1.5)}.drawer-handle:focus-visible{outline:none}.drawer-handle:focus-visible:before{background:var(--focus);transform:translate(-50%)scaleX(1.5)}.drawer-bar{align-items:center;gap:var(--space-2);min-height:32px;padding:2px var(--space-2) 2px var(--space-4);display:flex}.drawer-title{color:var(--ink-muted);font-size:var(--text-overline);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:600}.drawer-meta{color:var(--ink-muted);font-size:var(--text-meta)}.drawer-toggle{width:26px;height:26px;color:var(--ink-2);background:0 0;border-color:#0000;margin-left:auto}.drawer-toggle svg{transition:transform var(--dur) var(--ease-out)}.logcat-drawer[data-collapsed] .drawer-toggle svg{transform:rotate(180deg)}.drawer-body{border-top:1px solid var(--rule);flex-direction:column;min-height:0;display:flex}.drawer-body[hidden]{display:none}.drawer-body>.logcat{flex:auto}.logcat{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;container:logcat/inline-size}.logcat-head{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-3);border-bottom:1px solid var(--rule);display:grid}.logcat-title-row{align-items:baseline;gap:var(--space-2);display:flex}.logcat-title{font-size:var(--text-small);letter-spacing:.01em;margin:0;font-weight:600}.logcat-pid{color:var(--ink-muted);font-size:var(--text-meta)}.logcat-count{color:var(--ink-2);font-size:var(--text-meta);margin-left:auto}.logcat-count-unit{color:var(--ink-muted)}.logcat-clear{height:24px;padding:0 var(--space-2);font-size:var(--text-meta);align-self:center}.logcat-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.level-filter>button:not([data-included]){color:var(--ink-muted);text-decoration:line-through;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong)}.level-filter>button[data-included]:not([aria-checked=true]){background:var(--surface-sunk)}.logcat-search{min-width:0;color:var(--ink-muted);flex:160px;align-items:center;display:flex;position:relative}.logcat-search svg{pointer-events:none;position:absolute;left:9px}.logcat-search input{width:100%;height:28px;padding:0 var(--space-2) 0 28px;border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface-sunk);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-meta);transition:border-color var(--dur-fast) linear, background-color var(--dur-fast) linear}.logcat-search input::placeholder{color:var(--ink-muted)}.logcat-search input:hover{border-color:var(--ink-muted)}.logcat-search input:focus-visible{border-color:var(--focus);background:var(--surface);outline-offset:0}.logcat-body{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.logcat-list{min-height:0;padding:var(--space-1) 0;overscroll-behavior:contain;font-family:var(--font-mono);font-size:var(--text-meta);scrollbar-color:var(--rule-strong) transparent;flex:auto;margin:0;line-height:1.5;list-style:none;overflow-y:auto}.log-row{padding:1px var(--space-4) 1px calc(var(--space-4) - 2px);border-left:2px solid #0000;grid-template-columns:12.5ch 1.5ch minmax(0,15ch) minmax(0,1fr);column-gap:1.25ch;display:grid}.log-row:hover{background:var(--hover-wash)}.log-time{color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.log-level{text-align:center;font-weight:600}.log-tag{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.log-msg{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.log-row mark{background:var(--event-wash);box-shadow:0 0 0 1px var(--event-wash);color:inherit;border-radius:2px}.log-row[data-level=V] .log-level{color:var(--log-v)}.log-row[data-level=V] .log-msg{color:var(--ink-2)}.log-row[data-level=D] .log-level{color:var(--log-d)}.log-row[data-level=I] .log-level{color:var(--log-i)}.log-row[data-level=W]{border-left-color:var(--jank);background:var(--jank-wash)}.log-row[data-level=W] .log-level{color:var(--log-w)}.log-row[data-level=E],.log-row[data-level=F]{border-left-color:var(--critical);background:var(--critical-wash)}.log-row[data-level=E] .log-level{color:var(--log-e)}.log-row[data-level=F] .log-level{color:var(--log-f)}.log-row[data-level=F] .log-msg{font-weight:500}.logcat-empty{padding:var(--space-5);color:var(--ink-muted);font-size:var(--text-small);text-align:center;flex:1;place-content:center;display:grid}.logcat-empty p{max-width:32ch;margin:0}.logcat-empty-title{color:var(--ink-2);font-weight:600;margin-bottom:var(--space-1)!important}.jump-latest{bottom:var(--space-3);height:28px;padding:0 var(--space-3);border:1px solid var(--ink);border-radius:var(--radius-pill);background:var(--ink);box-shadow:var(--shadow-pop);color:var(--ink-inverse);font-size:var(--text-meta);animation:jump-in var(--dur) var(--ease-out) both;align-items:center;gap:6px;font-weight:500;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.jump-latest:hover{background:var(--ink-2)}.jump-count{border-left:1px solid color-mix(in srgb, var(--ink-inverse) 35%, transparent);padding-left:6px}@keyframes jump-in{0%{opacity:0;transform:translate(-50%,6px)}}@container logcat (width<=560px){.log-row{grid-template-columns:12.5ch 1.5ch minmax(0,1fr);padding-block:2px}.log-msg{grid-column:2/-1}}.screens{background:var(--surface);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;container:screens/inline-size}.screens-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.screens-scope{align-items:baseline;gap:var(--space-2);color:var(--ink-2);font-size:var(--text-meta);margin:0;display:inline-flex}.screens-filter{max-width:100%;height:26px;padding:0 var(--space-2);border-color:var(--ink);font-size:var(--text-meta)}.screens-filter-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.screens-filter-hint{color:var(--ink-muted)}.screens-body{flex:auto;min-height:0;overflow:auto}.screens-table{border-collapse:collapse;width:100%;font-size:var(--text-small)}.screens-table thead th{z-index:1;border-bottom:1px solid var(--rule-strong);background:var(--surface);color:var(--ink-muted);font-size:var(--text-overline);letter-spacing:.06em;text-align:right;text-transform:uppercase;white-space:nowrap;padding:0;font-weight:600;position:sticky;top:0}.screens-table thead th[data-col=name],.screens-table thead th[data-col=dominant]{text-align:left}.screens-table thead th[data-col=dominant]>span{padding:8px var(--space-4) 7px var(--space-2);display:inline-block}.sort-btn{padding:8px var(--space-2) 7px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;transition:color var(--dur-fast) linear;background:0 0;border:0;align-items:center;gap:4px;display:inline-flex}th[data-col=name] .sort-btn{padding-left:var(--space-4)}.sort-btn:hover{color:var(--ink)}.sort-btn svg{opacity:0;transition:opacity var(--dur-fast) linear, transform var(--dur) var(--ease-out)}th[aria-sort] .sort-btn{color:var(--ink)}th[aria-sort] .sort-btn svg{opacity:1}th[aria-sort=ascending] .sort-btn svg{transform:rotate(180deg)}.screens-table tbody tr{border-bottom:1px solid var(--rule);cursor:pointer;transition:background-color var(--dur-fast) linear}.screens-table tbody tr:hover{background:var(--hover-wash)}.screens-table tbody tr[data-selected]{background:var(--active-wash);box-shadow:inset 2px 0 0 var(--ink)}.screens-table tbody th,.screens-table td{padding:7px var(--space-2);text-align:right;vertical-align:middle;white-space:nowrap;font-weight:400}.screens-table tbody th{width:40%;max-width:0;padding-left:var(--space-4);text-align:left}.screens-table td.mono{font-size:var(--text-meta)}.screen-cell{max-width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-weight:500;display:inline-flex}.screen-cell[data-none]{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-meta)}.screen-cell-name{text-overflow:ellipsis;overflow:hidden}.screen-cell:focus-visible{outline-offset:3px}td[data-col=jankPercent]{min-width:64px}.jank-value[data-flag]{color:var(--jank-text);font-weight:600}.jank-meter{background:var(--rule);border-radius:2px;height:3px;margin-top:3px;display:block;overflow:hidden}.jank-meter>span{background:var(--jank);transform-origin:0;height:100%;transition:transform var(--dur) var(--ease-out);border-radius:2px;display:block}.p90-worst{color:var(--ink-muted);font-size:var(--text-overline);margin-top:2px;display:block}.stall-count{color:var(--ink-muted)}.stall-blocked{color:var(--ink-muted);font-size:var(--text-overline);margin-top:2px;display:block}.stall-count[data-flag]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--viz-stall-2);font-weight:600}td[data-col=dominant]{padding-right:var(--space-4);text-align:left}.dominant{font-size:var(--text-meta);align-items:center;gap:6px;display:inline-flex}.dominant-name{color:var(--ink-2)}.stage-profile{gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);animation:profile-in var(--dur) var(--ease-out) both;margin:0;display:grid}@keyframes profile-in{0%{opacity:0;transform:translateY(3px)}}.stage-bar{gap:2px;height:10px;display:flex}.stage-seg{background:var(--key,var(--ink-muted));border-radius:2px;min-width:2px}.stage-list{font-size:var(--text-meta);gap:3px;margin:0;padding:0;list-style:none;display:grid}.stage-list li{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr auto 4ch;display:grid}.stage-name{color:var(--ink-2)}.stage-share{color:var(--ink-muted);text-align:right}.screens-note{padding:var(--space-3) var(--space-4);color:var(--ink-2);font-size:var(--text-small);margin:0}.screens-empty{gap:var(--space-2);max-width:560px;padding:var(--space-5) var(--space-4);color:var(--ink-2);font-size:var(--text-small);grid-template-columns:minmax(0,1fr);display:grid}.screens-empty p{margin:0}.screens-empty-title{color:var(--ink);font-size:var(--text-body);font-weight:600}.screens-empty[data-tone=critical] .screens-empty-title{color:var(--log-e)}.screens-empty-detail{padding:var(--space-2) var(--space-3);border-left:2px solid var(--critical);border-radius:var(--radius-s);background:var(--critical-wash);color:var(--ink);font-size:var(--text-meta);overflow-wrap:anywhere}.screens-empty .screens-empty-note{color:var(--ink-muted);font-size:var(--text-meta)}.screens-snippet{margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface-sunk);color:var(--ink);font-size:var(--text-meta);line-height:1.55;overflow-x:auto}@container screens (width<=600px){.screens-table [data-col=slowPercent]{display:none}}@container screens (width<=540px){.screens-table tbody tr{position:relative}.screens-table tbody th[data-col=name]{width:100%;padding-bottom:25px}.screens-table thead th[data-col=dominant]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;position:absolute;overflow:hidden}.screens-table td[data-col=dominant]{bottom:7px;left:calc(var(--space-4) + 16px);padding:0;position:absolute}.screens-table td[data-col=dominant] .dominant{font-size:var(--text-overline)}}@container screens (width<=430px){.screens-table [data-col=typicalP90Ms]{display:none}}@container screens (width<=340px){.screens-table tbody th,.screens-table td,.sort-btn{padding-inline:5px}.screens-table tbody th[data-col=name],th[data-col=name] .sort-btn{padding-left:var(--space-3)}.screens-table td[data-col=dominant]{left:calc(var(--space-3) + 16px)}}.side{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.side-tabs{gap:var(--space-1);padding:0 var(--space-3);border-bottom:1px solid var(--rule);background:var(--surface);flex:none;display:flex}.side-tab{height:36px;padding:0 var(--space-2);color:var(--ink-muted);font-size:var(--text-small);letter-spacing:.01em;transition:color var(--dur-fast) linear;background:0 0;border:0;align-items:center;gap:6px;font-weight:600;display:inline-flex;position:relative}.side-tab:after{right:var(--space-2);bottom:-1px;left:var(--space-2);background:var(--ink);content:"";height:2px;transition:transform var(--dur) var(--ease-out);border-radius:1px;position:absolute;transform:scaleX(0)}.side-tab:hover,.side-tab[aria-selected=true]{color:var(--ink)}.side-tab[aria-selected=true]:after{transform:scaleX(1)}.side-tab:focus-visible{outline-offset:-2px}.side-tab-count{border-radius:var(--radius-pill);background:var(--surface-sunk);min-width:18px;box-shadow:inset 0 0 0 1px var(--rule-strong);color:var(--ink-2);font-size:var(--text-overline);text-align:center;padding:0 5px;font-weight:500;line-height:16px}.side-panel{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.side-panel:focus-visible{outline-offset:-2px}.side-panel[hidden]{display:none}[data-color=stall1]{--key:var(--viz-stall-1)}[data-color=stall2]{--key:var(--viz-stall-2)}[data-color=stall3]{--key:var(--viz-stall-3)}[data-color=stallDebug]{--key:var(--viz-stall-debug)}.stall-glyph{background:var(--key,var(--viz-stall-2));border-radius:2px 2px 0 0;flex:none;width:9px;height:9px;display:inline-block}.stall-glyph[data-kind=strictmode]{background:var(--viz-strictmode);border-radius:1px;width:7px;height:7px;margin:0 1px;transform:rotate(45deg)}.stall-glyph[data-kind=debugger],.stall-glyph[data-color=stallDebug]{background:repeating-linear-gradient(135deg, var(--viz-stall-debug) 0 1px, transparent 1px 3px), color-mix(in srgb, var(--viz-stall-debug) 45%, var(--surface))}.stall-badge{border:1px dashed var(--rule-strong);border-radius:var(--radius-s);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-overline);white-space:nowrap;flex:none;padding:0 5px;font-weight:500;line-height:15px}@media (forced-colors:active){.stall-glyph{forced-color-adjust:none;border:1px solid canvastext}}.stalls{background:var(--surface);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;container:stalls/inline-size}.stalls-head{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--rule);flex:none}.stalls-body{flex:auto;min-height:0;overflow:auto}.stall-controls{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.stall-control{align-items:center;gap:var(--space-2);display:inline-flex}.stall-controls[data-pending] .stall-thresholds{opacity:.75}.stall-blocker{color:var(--ink-2);font-size:var(--text-meta);flex-basis:100%;margin:0}.stall-blocker[data-quiet]{color:var(--ink-muted)}.switch{align-items:center;gap:var(--space-2);height:26px;padding:0 var(--space-1) 0 0;color:var(--ink-2);font-size:var(--text-small);background:0 0;border:0;font-weight:500;display:inline-flex}.switch-track{border-radius:var(--radius-pill);background:var(--rule-strong);width:26px;height:14px;transition:background-color var(--dur-fast) linear;position:relative}.switch-thumb{background:var(--surface-raised);width:10px;height:10px;transition:transform var(--dur) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 1px #0003}.switch[aria-checked=true]{color:var(--ink)}.switch[aria-checked=true] .switch-track{background:var(--ink)}.switch[aria-checked=true] .switch-thumb{background:var(--ink-inverse);transform:translate(12px)}.switch:hover:not(:disabled){color:var(--ink)}.switch:disabled{opacity:.5}.offenders,.feed{padding:var(--space-3) 0 var(--space-2)}.feed{border-top:1px solid var(--rule)}.stalls-section-head{align-items:center;gap:var(--space-1) var(--space-2);padding:0 var(--space-4) var(--space-2);flex-wrap:wrap;display:flex}.stalls-section-head h3{margin:0}.stalls-section-meta{color:var(--ink-muted);font-size:var(--text-meta)}.feed-filter{margin-left:auto}.feed-filter>button{height:22px;font-size:var(--text-overline)}.stalls-note{padding:var(--space-1) var(--space-4) var(--space-2);color:var(--ink-2);font-size:var(--text-small);margin:0}.stalls-more{margin:var(--space-1) var(--space-4) 0;color:var(--ink-2);font-size:var(--text-meta);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:3px;background:0 0;border:0;padding:2px 0;font-weight:500}.stalls-more:hover{color:var(--ink)}.offenders-table{border-collapse:collapse;width:100%;font-size:var(--text-small)}.offenders-table thead th{padding:0 var(--space-2) 5px;border-bottom:1px solid var(--rule-strong);color:var(--ink-muted);font-size:var(--text-overline);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;font-weight:600}.offenders-table thead th:first-child{padding-left:var(--space-4)}.offenders-table [data-num]{text-align:right}.offenders-table thead th:last-child,.offenders-table td:last-child{padding-right:var(--space-4)}.offenders-table tbody tr{border-bottom:1px solid var(--rule);cursor:pointer;transition:background-color var(--dur-fast) linear}.offenders-table tbody tr:hover{background:var(--hover-wash)}.offenders-table tbody tr[data-selected]{background:var(--stall-wash);box-shadow:inset 2px 0 0 var(--viz-stall-2)}.offenders-table tbody th{width:58%;max-width:0;padding:7px var(--space-2) 7px var(--space-4);text-align:left;font-weight:400}.offenders-table td{padding:7px var(--space-2);font-size:var(--text-meta);vertical-align:top;white-space:nowrap}.offender-cell{text-align:left;background:0 0;border:0;gap:1px;width:100%;padding:0;display:grid}.offender-cell>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.offender-line{color:var(--ink);font-size:var(--text-small);font-weight:600}.offender-method{color:var(--ink-2);font-size:var(--text-meta)}.offender-screens{color:var(--ink-muted);font-size:var(--text-overline)}.offender-cell:focus-visible{outline-offset:3px}.offender-meter{background:var(--rule);border-radius:2px;width:56px;height:3px;margin:4px 0 0 auto;display:block;overflow:hidden}.offender-meter>span{background:var(--viz-stall-2);transform-origin:0;height:100%;transition:transform var(--dur) var(--ease-out);border-radius:2px;display:block}.offender-max{align-items:center;gap:5px;display:inline-flex}.feed-culprit-filter{height:24px;max-width:calc(100% - 2 * var(--space-4));margin:0 var(--space-4) var(--space-2);padding:0 var(--space-2);border-color:var(--ink);font-size:var(--text-meta)}.feed-culprit-filter-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.feed-culprit-filter-hint{color:var(--ink-muted)}.feed-list{margin:0;padding:0;list-style:none}.feed-row{align-items:baseline;gap:var(--space-2);width:100%;padding:6px var(--space-4);border:0;border-bottom:1px solid var(--rule);color:var(--ink);font-size:var(--text-meta);text-align:left;transition:background-color var(--dur-fast) linear;background:0 0;grid-template-columns:7.5ch 16ch minmax(0,1fr) minmax(0,11ch);display:grid}.feed-row:hover{background:var(--hover-wash)}.feed-row:focus-visible{outline-offset:-2px}.feed-time{color:var(--ink-muted)}.feed-what{white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex}.feed-value{text-overflow:ellipsis;font-weight:500;overflow:hidden}.feed-culprit{min-width:0;display:grid}.feed-culprit>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feed-line{font-weight:600}.feed-method{color:var(--ink-muted);font-size:var(--text-overline)}.feed-screen{color:var(--ink-2);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stall-detail{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-5);animation:detail-in var(--dur) var(--ease-out) both;display:grid}@keyframes detail-in{0%{opacity:0;transform:translate(6px)}}.detail-nav{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.detail-back,.detail-step .btn{height:26px;font-size:var(--text-meta)}.detail-step{align-items:center;gap:var(--space-1);display:inline-flex}.detail-step .btn--icon{width:26px}.detail-position{min-width:7ch;color:var(--ink-2);font-size:var(--text-meta);text-align:center}.detail-head{gap:4px;display:grid}.detail-head p{margin:0}.detail-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-title .stall-glyph:not([data-kind=strictmode]){width:11px;height:16px}.detail-readout{font-size:var(--text-readout);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:500;line-height:1.1}.detail-kind,.detail-count{color:var(--ink-2);font-size:var(--text-small)}.detail-meta{color:var(--ink-2);font-size:var(--text-meta)}.detail-message{padding:var(--space-2) var(--space-3);border-left:2px solid var(--viz-strictmode);border-radius:var(--radius-s);background:var(--surface-sunk);font-size:var(--text-meta);overflow-wrap:anywhere}.culprit{padding:var(--space-3);border:1px solid var(--rule-strong);border-left:3px solid var(--viz-stall-2);border-radius:var(--radius-m);background:var(--surface-raised);gap:2px;display:grid}.culprit p{margin:0}.culprit-head,.stack-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.culprit-head .stall-copy,.stack-head .stall-copy{margin-left:auto}.culprit>.culprit-line{font-size:var(--text-title);overflow-wrap:anywhere;margin-top:2px;font-weight:600}.culprit-method{color:var(--ink);font-size:var(--text-small);overflow-wrap:anywhere}.culprit-pkg{color:var(--ink-muted);font-size:var(--text-meta);overflow-wrap:anywhere}.stall-copy{height:24px;padding:0 var(--space-2);font-size:var(--text-meta)}.stall-copy[data-state=copied]{border-color:color-mix(in srgb, var(--good) 45%, var(--rule-strong));background:var(--good-wash)}.stall-copy[data-state=failed]{border-color:color-mix(in srgb, var(--critical) 45%, var(--rule-strong))}.stack{gap:var(--space-2);display:grid}.stack-count{color:var(--ink-muted);font-size:var(--text-overline)}.stack-list{border:1px solid var(--rule);border-radius:var(--radius-m);background:var(--surface-sunk);margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.stack-list--run{background:0 0;border:0;border-radius:0;margin:2px 0 0}.frame{column-gap:var(--space-2);padding:4px var(--space-3) 4px calc(var(--space-3) + 3px);border-top:1px solid var(--rule);color:var(--ink-muted);font-size:var(--text-meta);grid-template-columns:minmax(0,1fr) auto;display:grid}.stack-list>.frame:first-child{border-top:0}.frame-method{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frame-loc{white-space:nowrap}.frame-pkg{color:var(--ink-muted);font-size:var(--text-overline);opacity:.85;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.frame[data-app]{background:var(--surface-raised);box-shadow:inset 3px 0 0 var(--viz-stall-2);color:var(--ink)}.frame[data-app] .frame-method,.frame[data-app] .frame-loc{font-weight:600}.frame-run{border-top:1px solid var(--rule)}.stack-list>.frame-run:first-child{border-top:0}.frame-run-toggle{width:100%;padding:4px var(--space-3) 4px calc(var(--space-3) + 3px);background:repeating-linear-gradient(135deg, var(--hover-wash) 0 2px, transparent 2px 6px);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-overline);text-align:left;border:0;align-items:center;gap:6px;font-weight:500;display:flex}.frame-run-toggle:hover{background-color:var(--hover-wash);color:var(--ink)}.frame-run-toggle:focus-visible{outline-offset:-2px}.frame-run-toggle svg{transition:transform var(--dur) var(--ease-out)}.frame-run[data-open] .frame-run-toggle svg{transform:rotate(90deg)}.stack-note{color:var(--ink-2);font-size:var(--text-meta);margin:0}.stalls-empty{gap:var(--space-2);max-width:560px;padding:var(--space-5) var(--space-4);color:var(--ink-2);font-size:var(--text-small);grid-template-columns:minmax(0,1fr);display:grid}.stalls-empty p{margin:0}.stalls-empty-title{color:var(--ink);font-size:var(--text-body);font-weight:600}.stalls-empty .stalls-empty-note{color:var(--ink-muted);font-size:var(--text-meta)}.stalls-snippet{margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface-sunk);color:var(--ink);font-size:var(--text-meta);line-height:1.55;overflow-x:auto}@container stalls (width<=440px){.feed-row{grid-template-columns:7.5ch minmax(0,1fr);align-items:center;row-gap:2px}.feed-screen{display:none}.feed-culprit{grid-column:2}.offenders-table tbody th{width:50%}}.stalls-empty[data-tone=critical] .stalls-empty-title{color:var(--log-e)}.stalls-empty-detail{padding:var(--space-2) var(--space-3);border-left:2px solid var(--critical);border-radius:var(--radius-s);background:var(--critical-wash);color:var(--ink);font-size:var(--text-meta);overflow-wrap:anywhere}.offender-line[data-none],.feed-line[data-none]{color:var(--ink-muted);font-weight:500}.stack-empty{padding:var(--space-3);border:1px dashed var(--rule-strong);border-radius:var(--radius-m);color:var(--ink-2);font-size:var(--text-small);gap:4px;display:grid}.stack-empty p{margin:0}.stack-empty .stack-empty-title{color:var(--ink);font-family:var(--font-mono);font-size:var(--text-small);font-weight:600}.stalls-body:focus-visible,.feed-list:focus-visible,.stall-detail:focus-visible{outline-offset:-2px}.stalls-body:focus:not(:focus-visible),.feed-list:focus:not(:focus-visible),.stall-detail:focus:not(:focus-visible){outline:none}.stat-strip{border-bottom:1px solid var(--rule)}.readouts{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.readout{min-width:0;padding:10px var(--space-4) 9px;border-right:1px solid var(--rule)}.readout:last-child{border-right:0}.readout .overline{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.readout-body{align-items:baseline;gap:2px var(--space-2);flex-wrap:wrap;margin:2px 0 0;display:flex}.readout-value{font-size:var(--text-readout);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500;line-height:1.05}.readout[data-empty] .readout-value{color:var(--ink-muted);font-weight:400}.readout-note{color:var(--ink-2);font-size:var(--text-body);white-space:nowrap;align-self:center;margin:5px 0 4px;font-weight:500}.readout[title]{cursor:help}.readout-unit{color:var(--ink-muted);font-size:var(--text-small);letter-spacing:0;margin-left:3px;font-weight:400}.readout-detail{text-overflow:ellipsis;color:var(--ink-muted);font-size:var(--text-meta);white-space:nowrap;flex-basis:100%;margin-top:1px;overflow:hidden}.readout-flag{border-radius:var(--radius-s);background:var(--jank-wash);height:18px;color:var(--jank-text);font-size:var(--text-overline);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;animation:flag-in var(--dur) var(--ease-out) both;align-items:center;gap:4px;padding:0 6px;font-weight:600;display:inline-flex}.readout-flag svg{color:var(--jank)}@keyframes flag-in{0%{opacity:0;transform:scale(.92)}}.cursor-readout{margin-right:var(--space-2);font-size:var(--text-small);white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.live-btn{border-color:var(--ink)}.live-dot{background:var(--good);border-radius:50%;width:7px;height:7px}@media (width<=1400px){.readout{padding-inline:var(--space-3)}.readout-value{font-size:1.375rem}}@media (width<=760px){.readouts{grid-template-columns:repeat(3,minmax(0,1fr))}.readout{border-bottom:1px solid var(--rule)}.readout:nth-child(3n){border-right:0}.readout:nth-child(n+4){border-bottom:0}}@media (width<=420px){.readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.readout:nth-child(3n){border-right:1px solid var(--rule)}.readout:nth-child(2n){border-right:0}.readout:nth-child(n+4){border-bottom:1px solid var(--rule)}.readout:nth-child(n+5){border-bottom:0}}.empty-state{max-width:440px;padding:var(--space-5) var(--space-5) var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-pop);color:var(--ink-2);font-size:var(--text-body);position:relative}.empty-state:before{border-radius:var(--radius-m) 0 0 var(--radius-m);background:var(--ink);content:"";width:3px;position:absolute;inset:-1px auto -1px -1px}.empty-state[data-tone=critical]:before{background:var(--critical)}.empty-state p{margin:0 0 var(--space-2)}.empty-state .overline{margin-bottom:var(--space-1)}.empty-title{margin:0 0 var(--space-3);color:var(--ink);font-size:var(--text-title);letter-spacing:-.005em;font-weight:600}.empty-code{margin:var(--space-2) 0 var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface-sunk);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-small)}.empty-state code{border-radius:var(--radius-s);background:var(--surface-sunk);color:var(--ink);padding:1px 4px}.empty-steps{gap:var(--space-2);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.empty-steps li{gap:var(--space-2);counter-increment:step;grid-template-columns:20px 1fr;display:grid}.empty-steps li:before{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-small);content:counter(step, decimal-leading-zero)}.empty-devices{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.empty-devices li{padding-left:var(--space-3);border-left:2px solid var(--jank);gap:2px;display:grid}.empty-devices .mono{color:var(--ink);font-size:var(--text-small)}.empty-error{padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);background:var(--critical-wash);color:var(--log-e);font-size:var(--text-small);overflow-wrap:anywhere}.timeline-overlay{background-color:color-mix(in srgb, var(--surface) 82%, transparent);background-image:radial-gradient(circle, var(--rule-strong) 1px, transparent 1.2px);background-size:16px 16px}.banner{align-items:center;gap:var(--space-1) var(--space-2);padding:7px var(--space-4);border-bottom:1px solid var(--rule);background:var(--surface);font-size:var(--text-small);animation:banner-in var(--dur) var(--ease-out) both;flex-wrap:wrap;display:flex}.banner[data-tone=critical]{border-bottom-color:color-mix(in srgb, var(--critical) 35%, var(--rule));background:color-mix(in srgb, var(--critical) 7%, var(--surface))}.banner[data-tone=warning]{border-bottom-color:color-mix(in srgb, var(--jank) 40%, var(--rule));background:color-mix(in srgb, var(--jank) 9%, var(--surface))}.banner[data-tone=warning] .banner-dot{background:var(--jank)}.banner[data-tone=quiet]{color:var(--ink-2)}.banner code{font-size:var(--text-meta)}.banner-meta{color:var(--ink-muted);font-size:var(--text-meta)}.banner-hint{color:var(--ink-2)}.banner-dot{background:var(--critical);border-radius:50%;width:8px;height:8px}.banner-spinner{border:1.5px solid var(--rule-strong);border-top-color:var(--ink);border-radius:50%;width:10px;height:10px;animation:.9s linear infinite spin}.banner-close{border-radius:var(--radius-s);width:24px;height:24px;color:var(--ink-2);background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.banner-close:hover{background:var(--hover-wash);color:var(--ink)}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes spin{to{transform:rotate(360deg)}}.crash{min-height:100dvh;padding:var(--space-5) var(--space-4);place-items:center;display:grid}.crash-actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.stall-plot{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.stall-plot[data-hit] .lane-plot{cursor:pointer}.stall-plot-empty{color:var(--ink-muted);font-size:var(--text-meta);text-align:center;pointer-events:none;margin:0;position:absolute;top:50%;left:52px;right:14px;transform:translateY(-60%)}.stall-ramp{gap:var(--space-2)}.stall-ramp-step{align-items:center;gap:4px;display:inline-flex}.stall-tip{z-index:20;border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface-raised);width:280px;box-shadow:var(--shadow-pop);pointer-events:none;animation:stall-tip-in .14s var(--ease-out) both;gap:2px;padding:8px 10px 9px;display:grid;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}@keyframes stall-tip-in{0%{opacity:0;transform:translate(-50%,2px)}}.stall-tip>p{margin:0}.stall-tip-title{align-items:center;gap:6px;min-width:0;padding-bottom:2px;display:flex}.stall-tip-name{font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.stall-tip-count{color:var(--ink-2);font-size:var(--text-meta)}.stall-tip-kind{color:var(--ink-muted);font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stall-tip-method{color:var(--ink-2);font-size:var(--text-meta);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stall-tip-line{color:var(--ink);font-size:var(--text-body);overflow-wrap:anywhere;font-weight:500}.stall-tip-meta{color:var(--ink-muted);font-size:var(--text-overline);padding-top:2px}.stall-tip>.stall-tip-hint{border-top:1px solid var(--rule);color:var(--ink-muted);font-size:var(--text-overline);margin-top:4px;padding-top:5px}.stall-tip-line[data-none]{color:var(--ink-muted);font-size:var(--text-small)}.lane.lane--screens{z-index:4;flex:none;height:auto;min-height:0;position:relative}.lane.lane--screens .lane-head{padding-bottom:2px}.screen-readout{min-width:0;font-size:var(--text-meta);white-space:nowrap;align-items:center;gap:6px;margin:0;display:inline-flex}.screen-readout-name{color:var(--ink);text-overflow:ellipsis;font-weight:500;overflow:hidden}.screen-readout[data-at-cursor] .legend-value{background:var(--hover-wash)}.screen-swatch{background:var(--band,var(--ink-muted));border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}.screen-swatch[data-bg]{background:repeating-linear-gradient(135deg, var(--ink-muted) 0 1px, transparent 1px 3px);box-shadow:inset 0 0 0 1px var(--rule-strong)}[data-color=screen1]{--band:var(--viz-screen-1)}[data-color=screen2]{--band:var(--viz-screen-2)}[data-color=screen3]{--band:var(--viz-screen-3)}.screen-clear{max-width:220px;font-family:var(--font-sans);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;display:inline-flex;overflow:hidden}.screen-clear-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.screen-clear svg{opacity:.7;flex:none}.screen-view-link{border-radius:var(--radius-s);color:var(--ink-2);font-size:var(--text-meta);text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:3px;white-space:nowrap;transition:color var(--dur-fast) linear, text-decoration-color var(--dur-fast) linear;background:0 0;border:0;align-self:center;align-items:center;gap:4px;padding:0 2px;font-weight:500;display:inline-flex}.screen-view-link:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.screen-view-link svg{transition:transform var(--dur) var(--ease-out)}.screen-view-link:hover svg{transform:translate(2px)}.screen-track-host{height:30px;position:relative}.screen-track{position:absolute;top:3px;bottom:5px}.screen-track:before{border-radius:var(--radius-s);background:var(--surface-sunk);content:"";position:absolute;inset:0}.screen-track-empty{padding-left:var(--space-2);color:var(--ink-muted);font-size:var(--text-meta);align-items:center;display:flex;position:absolute;inset:0}.screen-band{border:0;border-right:2px solid var(--surface);background:color-mix(in srgb, var(--band,var(--ink-muted)) 17%, var(--surface));min-width:3px;box-shadow:inset 2px 0 0 var(--band,var(--ink-muted));color:var(--ink);font-family:var(--font-sans);font-size:var(--text-meta);text-align:left;white-space:nowrap;transition:background-color var(--dur-fast) linear, opacity var(--dur-fast) linear;background-clip:padding-box;border-radius:2px;align-items:center;margin:0;padding:0;font-weight:500;line-height:1;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.screen-band[data-labelled]{padding:0 6px 0 7px}.screen-band-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.screen-band[data-cluster]{background:repeating-linear-gradient(90deg, var(--ink-muted) 0 1px, transparent 1px 3px);box-shadow:none;opacity:.55;background-clip:padding-box}button.screen-band:hover{background-color:color-mix(in srgb, var(--band) 28%, var(--surface))}button.screen-band:focus-visible{z-index:2;outline-offset:0}.screen-band[data-open]{border-right:0;border-radius:2px 0 0 2px}.screen-band[data-selected]{z-index:1;background-color:color-mix(in srgb, var(--band) 34%, var(--surface));box-shadow:inset 3px 0 0 var(--band), inset 0 0 0 1px var(--band);font-weight:600}.screen-track[data-has-selection] .screen-band:not([data-selected]){opacity:.5}.screen-track[data-has-selection] .screen-band:not([data-selected]):hover{opacity:.85}.screen-band[data-bg]{background:repeating-linear-gradient(135deg, var(--rule-strong) 0 1px, color-mix(in srgb, var(--surface-sunk) 70%, var(--surface)) 1px 6px);box-shadow:none;color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-overline);letter-spacing:.04em;text-transform:uppercase;background-clip:padding-box;font-weight:500}.screen-track-cursor,.screen-track-probe{z-index:3;opacity:0;pointer-events:none;width:0;position:absolute;top:-3px;bottom:-5px;left:0}.screen-track-cursor{border-left:1px solid var(--ink-muted)}.screen-track-probe{border-left:1px solid var(--ink);transition:opacity var(--dur-fast) linear}.screen-tip{z-index:20;border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface-raised);width:260px;box-shadow:var(--shadow-pop);pointer-events:none;animation:tip-in .14s var(--ease-out) both;padding:8px 10px 9px;position:absolute;top:calc(100% + 8px);transform:translate(-50%)}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,-2px)}}.screen-tip p{margin:0}.screen-tip-title{align-items:center;gap:6px;min-width:0;display:flex}.screen-tip-name{font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.screen-tip-kind{border:1px solid var(--rule-strong);border-radius:var(--radius-s);color:var(--ink-2);font-size:var(--text-overline);letter-spacing:.04em;text-transform:uppercase;flex:none;margin-left:auto;padding:1px 5px;font-weight:600}.screen-tip .screen-tip-class{color:var(--ink-2);font-size:var(--text-meta);overflow-wrap:anywhere;margin-top:4px}.screen-tip .screen-tip-time{justify-content:space-between;gap:var(--space-2);border-top:1px solid var(--rule);color:var(--ink);font-size:var(--text-meta);margin-top:6px;padding-top:6px;display:flex}.screen-tip-time span{color:var(--ink-muted)}@media (forced-colors:active){.screen-band{border:1px solid canvastext}.screen-band[data-selected]{outline:2px solid highlight}}.timeline{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.timeline-toolbar{z-index:3;align-items:center;gap:var(--space-2);min-height:40px;padding:5px var(--space-4);border-bottom:1px solid var(--rule);background:var(--surface);flex-wrap:wrap;display:flex;position:relative}.timeline-toolbar>.overline{margin-right:auto}.timeline-lanes{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.timeline-lanes[data-dense] .lane:not(.lane--screens){min-height:108px}.timeline-lanes[data-dense] .lane-plot{min-height:68px}.lane{border-top:1px solid var(--rule);min-height:136px;animation:lane-in .42s var(--ease-out) both;flex-direction:column;flex:1 1 0;margin:0;display:flex}.lane:first-child{border-top:0}.lane:nth-child(2){animation-delay:40ms}.lane:nth-child(3){animation-delay:80ms}.lane:nth-child(4){animation-delay:.12s}.lane:nth-child(n+5){animation-delay:.16s}@keyframes lane-in{0%{opacity:0;transform:translateY(4px)}}.lane-head{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);padding:var(--space-2) var(--space-4) 0;flex-wrap:wrap;display:flex}.lane-name{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.lane-title{font-size:var(--text-small);letter-spacing:.01em;margin:0;font-weight:600}.lane-unit{color:var(--ink-muted);font-size:var(--text-meta);white-space:nowrap}.lane-hint{width:18px;height:18px;color:var(--ink-muted);cursor:help;border-radius:50%;align-self:center;place-items:center;display:inline-grid}.lane-hint:hover,.lane-hint:focus-visible{color:var(--ink);background:var(--hover-wash)}.lane-toggle{border:1px solid var(--rule-strong);border-radius:var(--radius-s);height:20px;color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-overline);transition:background-color var(--dur-fast) linear, color var(--dur-fast) linear;background:0 0;align-self:center;padding:0 7px;font-weight:500}.lane-toggle:hover{background:var(--hover-wash);color:var(--ink)}.lane-toggle[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--ink-inverse)}.lane-legend{gap:2px var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.legend-item{font-size:var(--text-meta);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.legend-label{color:var(--ink-muted)}.legend-value{border-radius:var(--radius-s);min-width:3.5ch;color:var(--ink);font-size:var(--text-meta);text-align:right;transition:background-color var(--dur-fast) linear;padding:0 3px;font-weight:500}.lane-legend[data-at-cursor] .legend-value{background:var(--hover-wash)}.legend-key{background:var(--key,var(--ink));border-radius:1px;flex:none;width:14px;height:2px;display:inline-block}.legend-key[data-key=thin]{height:1px}.legend-key[data-key=area]{border-radius:2px;width:9px;height:9px}.legend-key[data-key=bar]{border-radius:2px 2px 0 0;width:4px;height:10px}.legend-key[data-tint]{background:color-mix(in srgb, var(--key,var(--ink)) 45%, var(--surface))}.legend-key[data-color=cpu]{--key:var(--viz-cpu)}.legend-key[data-color=fps]{--key:var(--viz-fps)}.legend-key[data-color=jank]{--key:var(--jank)}.legend-key[data-color=frameTime]{--key:var(--viz-frametime)}.legend-key[data-color=frameMax]{--key:var(--viz-framemax)}.legend-key[data-color=memNative]{--key:var(--viz-mem-native)}.legend-key[data-color=memJava]{--key:var(--viz-mem-java)}.legend-key[data-color=memGraphics]{--key:var(--viz-mem-graphics)}.legend-key[data-color=memCode]{--key:var(--viz-mem-code)}.legend-key[data-color=memOther]{--key:var(--viz-mem-other)}.legend-key[data-color=memTotal]{--key:var(--viz-mem-total)}.legend-key[data-color=ink]{--key:var(--ink)}[data-color=stageInput]{--key:var(--viz-stage-input)}[data-color=stageAnimation]{--key:var(--viz-stage-animation)}[data-color=stageLayout]{--key:var(--viz-stage-layout)}[data-color=stageDraw]{--key:var(--viz-stage-draw)}[data-color=stageSync]{--key:var(--viz-stage-sync)}[data-color=stageCommand]{--key:var(--viz-stage-command)}[data-color=stageSwap]{--key:var(--viz-stage-swap)}[data-color=stageDelay]{--key:var(--viz-stage-delay)}[data-color=stageGpu]{--key:var(--viz-stage-gpu)}.legend-item[data-emphasis] .legend-label{color:var(--ink);font-weight:600}.legend-item[data-emphasis] .legend-value{box-shadow:inset 0 0 0 1px var(--rule-strong);font-weight:600}.legend-item[title]{cursor:help}.source-tag{border:1px solid var(--rule-strong);border-radius:var(--radius-s);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-overline);white-space:nowrap;align-self:center;padding:1px 6px;font-weight:500}.source-tag[data-source=sdk]{border-color:color-mix(in srgb, var(--good) 45%, var(--rule-strong));background:var(--good-wash);color:var(--ink)}.source-tag[data-idle]{color:var(--ink-2);cursor:help;background:0 0;border-style:dashed}.lane-plot{flex:auto;min-height:92px;position:relative;overflow:hidden}.lane-plot>.uplot{width:100%;font-family:var(--font-mono);position:absolute;inset:0}.lane-plot .u-hz .u-cursor-x{border-right:1px solid var(--ink-muted)}.lane-plot .u-cursor-pt{box-shadow:0 0 0 1px var(--rule-strong)}.lane-probe{border-left:1px solid var(--ink);opacity:0;pointer-events:none;width:0;transition:opacity var(--dur-fast) linear;position:absolute;top:0;bottom:0;left:0}.lane-probe:before{background:var(--ink);width:7px;height:7px;box-shadow:0 0 0 2px var(--surface);content:"";border-radius:50%;position:absolute;top:0;left:-4px}.timeline-notice{align-items:center;gap:var(--space-2);padding:6px var(--space-4);border-bottom:1px solid var(--rule);background:var(--surface-sunk);color:var(--ink-2);font-size:var(--text-small);display:flex}.timeline-overlay{z-index:2;padding:var(--space-5);animation:overlay-in var(--dur) var(--ease-out) both;place-items:center;display:grid;position:absolute;inset:0}@keyframes overlay-in{0%{opacity:0}}@media (width<=1024px){.lane{flex:none;height:210px}}@media (width<=640px){.lane{height:184px}.lane-head{padding-inline:var(--space-3)}}.topbar{z-index:10;align-items:flex-end;gap:var(--space-5);padding:10px var(--space-4) 10px;border-bottom:1px solid var(--rule-strong);background:var(--plane);display:flex;position:relative}.topbar-brand{flex-direction:column;flex:none;align-self:center;gap:1px;display:flex}.brand{color:var(--ink);align-items:center;gap:8px;display:inline-flex}.brand-mark{flex:none}.brand-dot{fill:var(--brand)}.brand-word{font-size:var(--text-title);letter-spacing:-.015em;font-weight:600;line-height:1}.brand-word span{color:var(--ink-2);font-weight:400}.topbar-version{color:var(--ink-muted);font-size:var(--text-overline);letter-spacing:.02em;padding-left:30px}.topbar-controls{align-items:flex-end;gap:var(--space-2) var(--space-3);min-width:0;padding-left:var(--space-5);border-left:1px solid var(--rule-strong);flex-wrap:wrap;flex:auto;display:flex}.field{gap:3px;min-width:0;display:grid}.field--grow{flex:260px;max-width:440px}.field-row{gap:var(--space-1);display:flex}.select-wrap,.combo{min-width:0;position:relative}.select-wrap{flex:auto}.select,.combo-input{border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface);width:100%;height:30px;color:var(--ink);font-size:var(--text-small);text-overflow:ellipsis;transition:border-color var(--dur-fast) linear;padding:0 28px 0 10px}.select{appearance:none;cursor:pointer;width:300px;max-width:100%}.select:hover:not(:disabled),.combo-input:hover:not(:disabled){border-color:var(--ink-muted)}.select:disabled,.combo-input:disabled{background:var(--surface-sunk);color:var(--ink-2);cursor:not-allowed}.combo-input::placeholder{color:var(--ink-muted);font-family:var(--font-sans)}.combo[data-open] .combo-input{border-color:var(--focus);outline:none}.select-chevron{color:var(--ink-muted);pointer-events:none;transition:transform var(--dur) var(--ease-out);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.combo[data-open] .select-chevron{transform:translateY(-50%)rotate(180deg)}.combo-pop{z-index:30;border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface-raised);width:max(100%,380px);max-width:calc(100vw - 32px);max-height:min(420px,60vh);box-shadow:var(--shadow-pop);transform-origin:0 0;animation:pop-in .16s var(--ease-out) both;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0}@keyframes pop-in{0%{opacity:0;transform:translateY(-3px)scale(.99)}}.combo-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);display:flex}.check{font-size:var(--text-small);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.check input{width:14px;height:14px;accent-color:var(--ink);margin:0}.combo-status{color:var(--ink-muted);font-size:var(--text-meta);white-space:nowrap}.combo-list{padding:var(--space-1);flex:auto;margin:0;list-style:none;overflow-y:auto}.combo-option{align-items:center;gap:var(--space-2);min-height:30px;padding:0 var(--space-2);border-radius:var(--radius-s);cursor:pointer;display:flex}.combo-option[aria-selected=true]{background:var(--active-wash)}.combo-option[data-current]{box-shadow:inset 2px 0 0 var(--ink)}.combo-option[data-kind=reveal]{color:var(--ink-2);font-size:var(--text-small)}.combo-option[data-kind=reveal] .combo-name:before{color:var(--ink-muted);content:"+";margin-right:6px}.combo-note{padding:6px var(--space-3);border-bottom:1px solid var(--rule);background:var(--surface-sunk);color:var(--ink-2);font-size:var(--text-meta);margin:0}.combo-note--foot{border-top:1px solid var(--rule);border-bottom:0}.combo-kbd{border:1px solid var(--rule-strong);border-radius:var(--radius-s);color:var(--ink-muted);font-size:var(--text-overline);padding:0 4px}.combo-name{min-width:0;font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.combo-name mark{background:var(--event-wash);color:inherit;border-radius:2px}.combo-empty{padding:var(--space-3) var(--space-2);color:var(--ink-muted);font-size:var(--text-small)}.pid-badge{border-radius:var(--radius-s);background:var(--good-wash);color:var(--good);font-size:var(--text-overline);flex:none;padding:1px 6px;font-weight:600}.sys-badge{color:var(--ink-muted);font-size:var(--text-overline);letter-spacing:.04em;text-transform:uppercase;flex:none}.topbar-session{align-items:center;gap:var(--space-3);min-width:0;display:flex}.session-btn{min-width:84px}.session-btn--stop{border-color:var(--ink);font-weight:600}.status-pill{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--surface);min-width:0;max-width:360px;height:26px;color:var(--ink-2);font-size:var(--text-small);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.status-dot{background:var(--ink-muted);border-radius:50%;flex:none;width:7px;height:7px;position:relative}.status-meta{color:var(--ink-muted);font-size:var(--text-meta);font-weight:400}.status-meta:before{color:var(--rule-strong);content:"·";margin-right:6px}.status-error{font-family:var(--font-sans);text-overflow:ellipsis;overflow:hidden}.status-pill[data-status=running]{border-color:color-mix(in srgb, var(--good) 45%, var(--rule-strong));color:var(--ink)}.status-pill[data-status=running] .status-dot{background:var(--good)}.status-pill[data-status=running] .status-dot:after,.status-pill[data-status=waiting] .status-dot:after{content:"";animation:pulse 1.6s var(--ease-out) infinite;border:1.5px solid;border-radius:50%;position:absolute;inset:-3px}.status-pill[data-status=running] .status-dot:after{color:var(--good)}.status-pill[data-status=waiting]{color:var(--ink)}.status-pill[data-status=waiting] .status-dot{background:var(--ink-2)}.status-pill[data-status=waiting] .status-dot:after{color:var(--ink-2)}.status-pill[data-status=error]{border-color:color-mix(in srgb, var(--critical) 50%, var(--rule-strong));background:var(--critical-wash);color:var(--log-e)}@keyframes pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.status-dot:after{display:none}}.sdk-status{position:relative}.sdk-pill{border:1px solid var(--rule-strong);border-radius:var(--radius-pill);background:var(--surface);height:26px;color:var(--ink-2);font-size:var(--text-small);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.sdk-dot{background:var(--ink-muted);border-radius:2px;flex:none;width:7px;height:7px}.sdk-pill[data-state=connected]{color:var(--ink)}.sdk-pill[data-state=connected] .sdk-dot{background:var(--good)}.sdk-meta{color:var(--ink-muted);font-size:var(--text-meta);font-weight:400}.sdk-meta:before{color:var(--rule-strong);content:"·";margin:0 5px}.sdk-pill[data-state=disconnected] .sdk-dot{box-shadow:inset 0 0 0 1.5px var(--ink-muted);background:0 0}button.sdk-pill{transition:background-color var(--dur-fast) linear, border-color var(--dur-fast) linear;border-style:dashed}button.sdk-pill:hover,button.sdk-pill[aria-expanded=true]{border-color:var(--ink-muted);background:var(--hover-wash);color:var(--ink)}button.sdk-pill .sdk-dot{box-shadow:inset 0 0 0 1.5px var(--ink-muted);background:0 0}.sdk-pop{z-index:30;gap:var(--space-2);width:540px;max-width:calc(100vw - 32px);padding:var(--space-3);border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface-raised);box-shadow:var(--shadow-pop);transform-origin:100% 0;animation:pop-in .16s var(--ease-out) both;grid-template-columns:minmax(0,1fr);display:grid;position:absolute;top:calc(100% + 6px);right:0}@media (width<=640px){.sdk-pop{transform-origin:0 0;left:0;right:auto}}button.sdk-pill[data-state=failed]{border-style:solid;border-color:color-mix(in srgb, var(--critical) 50%, var(--rule-strong));background:var(--critical-wash);color:var(--log-e)}button.sdk-pill[data-state=failed] .sdk-dot{background:var(--critical);box-shadow:none}.sdk-pop:focus-visible{outline-offset:0}.sdk-pop-error{padding:var(--space-2) var(--space-3);border-left:2px solid var(--critical);border-radius:var(--radius-s);background:var(--critical-wash);color:var(--ink);font-size:var(--text-meta);overflow-wrap:anywhere;margin:0}.sdk-pop-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sdk-pop-title{font-size:var(--text-small);margin:0;font-weight:600}.sdk-pop-close{border-color:#0000;width:24px;height:24px}.sdk-pop-text{color:var(--ink-2);font-size:var(--text-meta);margin:0;line-height:1.5}.sdk-snippet{border:1px solid var(--rule);border-radius:var(--radius-s);background:var(--surface-sunk);position:relative}.sdk-snippet pre{padding:var(--space-2) var(--space-3);color:var(--ink);font-size:var(--text-meta);margin:0;line-height:1.55;overflow-x:auto}.sdk-snippet-bar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:4px 4px 4px var(--space-3);border-bottom:1px solid var(--rule);display:flex}.sdk-copy{height:24px;padding:0 var(--space-2);font-size:var(--text-meta)}.topbar-link{color:var(--ink-muted);font-size:var(--text-meta);flex:none;align-self:center;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.link-dot{background:var(--good);border-radius:50%;width:6px;height:6px}.topbar-link:not([data-state=open]) .link-dot{background:var(--critical)}@media (width<=1180px){.topbar{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap}.topbar-controls{border-left:0;flex-basis:100%;order:3;padding-left:0}}@media (width<=640px){.field,.field--grow{flex:100%;max-width:none}.select{width:100%}.topbar-session{flex-wrap:wrap;flex:100%}.status-pill{max-width:100%}}.emu-action{flex:none}.emu-action svg{margin-right:-2px}.emu-busy{height:30px;padding:0 var(--space-2);color:var(--ink-2);font-size:var(--text-small);white-space:nowrap;flex:none;align-items:center;gap:6px;font-weight:500;display:inline-flex}.boot-menu{flex:none;position:relative}.boot-pop{z-index:30;width:260px;max-width:calc(100vw - 32px);padding:var(--space-1);border:1px solid var(--rule-strong);border-radius:var(--radius-m);background:var(--surface-raised);box-shadow:var(--shadow-pop);transform-origin:0 0;animation:pop-in .16s var(--ease-out) both;display:grid;position:absolute;top:calc(100% + 4px);left:0}.boot-item{padding:6px var(--space-2);border-radius:var(--radius-s);text-align:left;background:0 0;border:0;gap:1px;display:grid}.boot-item:hover,.boot-item:focus-visible{background:var(--active-wash)}.boot-item:focus-visible{outline-offset:-2px}.boot-item-label{font-size:var(--text-small);font-weight:600}.boot-item-detail{color:var(--ink-muted);font-size:var(--text-meta)}.device-toggle{align-self:flex-end}.device-toggle[aria-expanded=true]{background:var(--active-wash);border-color:var(--ink-muted)}@media (width<=640px){.boot-pop{transform-origin:100% 0;left:auto;right:0}}.app{flex-direction:column;min-width:0;height:100dvh;display:flex}.banners:empty{display:none}.workspace{background:var(--rule-strong);flex:auto;grid-template-columns:auto minmax(0,2fr) minmax(360px,1fr);gap:1px;min-height:0;display:grid}.workspace[data-device=overlay]{grid-template-columns:minmax(0,2fr) minmax(360px,1fr)}.instrument{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex}.timeline-notice{margin:0}@media (width<=1024px){.app{height:auto;min-height:100dvh}.workspace,.workspace[data-device=overlay]{grid-template-columns:minmax(0,1fr)}.side{height:min(72vh,680px)}}
|
package/dashboard/index.html
CHANGED
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0b0d10" />
|
|
13
13
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
14
14
|
<title>Lionscope</title>
|
|
15
|
-
<script type="module" crossorigin src="/assets/index-
|
|
16
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
15
|
+
<script type="module" crossorigin src="/assets/index-CD9VgxaN.js"></script>
|
|
16
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D7CAYHTy.css">
|
|
17
17
|
</head>
|
|
18
18
|
<body>
|
|
19
19
|
<div id="root"></div>
|