:root{--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--t-xs: 10.5px;--t-sm: 11.5px;--t-base: 12.5px;--t-md: 13.5px;--t-lg: 16px;--t-xl: 20px;--t-2xl: 28px;--line-tight: 1.2;--line-normal: 1.45;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .36s;--hue-v: 240;--hue-d: 220;--hue-i: 150;--hue-w: 50;--hue-e: 12}[data-theme=dark]{--bg-0: oklch(.16 .012 var(--accent-hue));--bg-1: oklch(.19 .014 var(--accent-hue));--bg-2: oklch(.22 .016 var(--accent-hue));--bg-3: oklch(.26 .018 var(--accent-hue));--bg-hover: oklch(.24 .02 var(--accent-hue));--bg-selected: oklch(.3 .04 var(--accent-hue));--line: oklch(.3 .012 var(--accent-hue));--line-soft: oklch(.24 .012 var(--accent-hue));--fg-0: oklch(.94 .005 var(--accent-hue));--fg-1: oklch(.78 .008 var(--accent-hue));--fg-2: oklch(.62 .01 var(--accent-hue));--fg-3: oklch(.46 .012 var(--accent-hue));--accent: oklch(.74 .14 var(--accent-hue));--accent-soft: oklch(.36 .07 var(--accent-hue));--accent-fg: oklch(.98 .01 var(--accent-hue));--on-accent: oklch(.18 .02 var(--accent-hue));--shadow-1: 0 1px 0 oklch(1 0 0 / .04), 0 6px 20px -8px oklch(0 0 0 / .6);--shadow-2: 0 1px 0 oklch(1 0 0 / .04), 0 16px 48px -12px oklch(0 0 0 / .7);--shadow-3: 0 1px 0 oklch(1 0 0 / .05), 0 28px 80px -16px oklch(0 0 0 / .8);--glass-line: oklch(1 0 0 / .07);--lvl-v-fg: oklch(.72 .01 var(--hue-v));--lvl-v-bg: oklch(.3 .01 var(--hue-v));--lvl-d-fg: oklch(.78 .1 var(--hue-d));--lvl-d-bg: oklch(.32 .06 var(--hue-d));--lvl-i-fg: oklch(.82 .13 var(--hue-i));--lvl-i-bg: oklch(.32 .07 var(--hue-i));--lvl-w-fg: oklch(.84 .13 var(--hue-w));--lvl-w-bg: oklch(.34 .08 var(--hue-w));--lvl-e-fg: oklch(.78 .16 var(--hue-e));--lvl-e-bg: oklch(.34 .1 var(--hue-e));--fc-1: 290;--fc-2: 200;--fc-3: 160;--fc-4: 70;--fc-5: 30;--fc-6: 340;--fc-l: .72;--fc-c: .13;--fc-bg-l: .3;--fc-bg-c: .07;--fc-hl-l: .42;--fc-hl-c: .1}[data-theme=light]{--bg-0: oklch(.985 .003 var(--accent-hue));--bg-1: oklch(.97 .004 var(--accent-hue));--bg-2: oklch(.945 .005 var(--accent-hue));--bg-3: oklch(.91 .008 var(--accent-hue));--bg-hover: oklch(.93 .012 var(--accent-hue));--bg-selected: oklch(.88 .04 var(--accent-hue));--line: oklch(.86 .008 var(--accent-hue));--line-soft: oklch(.92 .005 var(--accent-hue));--fg-0: oklch(.2 .012 var(--accent-hue));--fg-1: oklch(.36 .01 var(--accent-hue));--fg-2: oklch(.5 .012 var(--accent-hue));--fg-3: oklch(.66 .01 var(--accent-hue));--accent: oklch(.5 .16 var(--accent-hue));--accent-soft: oklch(.92 .05 var(--accent-hue));--accent-fg: oklch(.42 .16 var(--accent-hue));--on-accent: oklch(.99 .005 var(--accent-hue));--shadow-1: 0 1px 0 oklch(0 0 0 / .02), 0 4px 14px -8px oklch(0 0 0 / .18);--shadow-2: 0 1px 0 oklch(0 0 0 / .02), 0 14px 38px -10px oklch(0 0 0 / .2);--shadow-3: 0 1px 0 oklch(0 0 0 / .03), 0 24px 60px -12px oklch(0 0 0 / .25);--glass-line: oklch(0 0 0 / .08);--lvl-v-fg: oklch(.46 .01 var(--hue-v));--lvl-v-bg: oklch(.92 .005 var(--hue-v));--lvl-d-fg: oklch(.42 .13 var(--hue-d));--lvl-d-bg: oklch(.93 .04 var(--hue-d));--lvl-i-fg: oklch(.42 .13 var(--hue-i));--lvl-i-bg: oklch(.93 .05 var(--hue-i));--lvl-w-fg: oklch(.48 .14 var(--hue-w));--lvl-w-bg: oklch(.94 .06 var(--hue-w));--lvl-e-fg: oklch(.5 .18 var(--hue-e));--lvl-e-bg: oklch(.94 .06 var(--hue-e));--fc-1: 290;--fc-2: 215;--fc-3: 165;--fc-4: 70;--fc-5: 30;--fc-6: 340;--fc-l: .42;--fc-c: .16;--fc-bg-l: .94;--fc-bg-c: .05;--fc-hl-l: .88;--fc-hl-c: .1}[data-accent=indigo]{--accent-hue: 268}[data-accent=teal]{--accent-hue: 190}[data-accent=amber]{--accent-hue: 60}[data-accent=rose]{--accent-hue: 12}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-mono);font-size:var(--t-base);line-height:var(--line-normal);color:var(--fg-0);background:var(--bg-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"calt" 0,"liga" 0,"ss01" 1;font-variant-ligatures:none;overflow:hidden;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea{font:inherit;color:inherit}::selection{background:oklch(from var(--accent) l c h / .35)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;border:2px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--fg-3)}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);color:var(--fg-1);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);position:relative}.icon-btn:hover{background:var(--bg-hover);color:var(--fg-0)}.icon-btn:active{transform:scale(.94)}.icon-btn.active{background:var(--accent-soft);color:var(--accent-fg)}.icon-btn[disabled]{opacity:.4;cursor:not-allowed}.icon-btn svg{width:16px;height:16px}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:0 14px;height:36px;border-radius:var(--r-md);font-size:var(--t-base);background:var(--bg-2);color:var(--fg-0);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--bg-3)}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover{background:oklch(from var(--accent) calc(l + .04) c h)}.btn.ghost{background:transparent}.btn.ghost:hover{background:var(--bg-hover)}.kbd{display:inline-block;padding:1px 6px;border-radius:var(--r-sm);background:var(--bg-3);border:1px solid var(--line);font-size:var(--t-xs);color:var(--fg-1);line-height:1.4}.divider{width:1px;height:20px;background:var(--line);margin:0 var(--sp-2)}.tt{position:relative}.tt:after{content:attr(data-tt);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(-4px);background:var(--bg-3);border:1px solid var(--line);color:var(--fg-0);font-size:var(--t-xs);padding:4px 8px;border-radius:var(--r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);z-index:100}.tt:hover:after{opacity:1;transform:translate(-50%) translateY(0)}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.root{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg-0);color:var(--fg-0);font-family:var(--font-mono);overflow:hidden}.toolbar{display:flex;align-items:center;gap:4px;height:52px;padding:0 12px;background:var(--bg-1);border-bottom:1px solid var(--line);flex-shrink:0}.tb-brand{display:inline-flex;align-items:center;gap:10px;padding:0 6px 0 4px}.tb-logo{width:22px;height:22px;position:relative;display:inline-block}.tb-logo-square{position:absolute;width:8px;height:8px;border-radius:1.5px;background:var(--accent);top:0;left:0}.tb-logo-square.s2{top:0;left:12px;opacity:.7;animation:pulse 2s infinite}.tb-logo-square.s3{top:12px;left:6px;opacity:.4;animation:pulse 2.4s infinite}.tb-name{font-size:var(--t-md);font-weight:600;letter-spacing:-.01em;color:var(--fg-0)}.tb-transport{display:inline-flex;gap:2px}.tb-counts{display:inline-flex;align-items:center;gap:14px;padding:0 4px}.tb-rate{display:inline-flex;align-items:center;gap:6px}.tb-pulse{width:6px;height:6px;border-radius:50%;background:#51c672;box-shadow:0 0 0 3px #51c67233;animation:pulse 1.4s var(--ease-in-out) infinite}.tb-pulse[data-paused=true]{animation:none;background:var(--fg-3);box-shadow:none}.tb-rate-val{font-size:var(--t-xs);color:var(--fg-2);letter-spacing:.05em;min-width:50px}.tb-count{font-size:var(--t-xs);color:var(--fg-2)}.tb-count strong{color:var(--fg-0);font-weight:600}.tb-count-sep{color:var(--fg-3);margin:0 3px}.tb-spacer{flex:1}.tb-toggles{display:inline-flex;gap:4px;align-items:center}.tb-mini{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;border-radius:var(--r-md);font-size:var(--t-xs);color:var(--fg-2);letter-spacing:.04em;transition:all var(--dur-fast) var(--ease-out)}.tb-mini:hover{background:var(--bg-hover);color:var(--fg-0)}.tb-mini.active{background:var(--accent-soft);color:var(--accent-fg)}.tb-density{display:inline-flex;padding:2px;background:var(--bg-2);border-radius:var(--r-md)}.tb-dense{width:26px;height:24px;display:grid;place-items:center;border-radius:5px;color:var(--fg-3);transition:all var(--dur-fast) var(--ease-out)}.tb-dense:hover{color:var(--fg-1)}.tb-dense.active{background:var(--bg-0);color:var(--fg-0)}.tb-dense-bars{display:flex;flex-direction:column;gap:2px;width:12px}.tb-dense-bars span{display:block;background:currentColor;width:100%;height:2px;border-radius:1px}.tb-dense.active .tb-dense-bars span:nth-child(1){width:80%}.tb-dense.active .tb-dense-bars span:nth-child(2){width:100%}.tb-dense.active .tb-dense-bars span:nth-child(3){width:60%}.tb-more{position:relative}.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:4px;z-index:80;animation:slideUp .16s var(--ease-out) both}.dropdown.right{right:0;left:auto}.dd-section{font-size:var(--t-xs);letter-spacing:.16em;color:var(--fg-3);padding:8px 10px 4px;text-transform:uppercase}.dd-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--fg-1);text-align:left;transition:background-color var(--dur-fast) var(--ease-out)}.dd-item:hover{background:var(--bg-hover);color:var(--fg-0)}.dd-item.current{color:var(--accent-fg)}.dd-device{flex:1;line-height:1.3}.dd-device-meta{font-size:var(--t-xs);color:var(--fg-3);margin-top:2px}.dd-sep{height:1px;background:var(--line);margin:4px 0}.overlay-catch{position:fixed;inset:0;z-index:79}.lvl-bar{display:flex;align-items:center;height:40px;padding:0;background:var(--bg-0);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}.lvl-filter{min-width:0;flex-shrink:1}.lvl-spacer{flex:1 1 0;min-width:0}.lvl-stats{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--fg-2);font-variant-numeric:tabular-nums;padding:0 12px;flex-shrink:0;white-space:nowrap}.lvl-stats .rate-dot{width:6px;height:6px;border-radius:50%;background:#51c672;box-shadow:0 0 0 3px #51c6722e}.lvl-stats .rate-dot[data-pulse=true]{animation:pulse 1.4s var(--ease-in-out) infinite}.lvl-stats .rate-sep{color:var(--fg-3)}.pin-summary{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--fg-2);padding:0 12px}.pin-clear{margin-left:4px;color:var(--accent-fg);font-size:var(--t-xs);text-decoration:underline}.log-area{flex:1;min-height:0;display:flex;position:relative}.log-scroll{flex:1;overflow-y:auto;overflow-x:auto;background:var(--bg-0);scrollbar-gutter:stable}.row{display:flex;align-items:flex-start;gap:10px;padding:0 14px 0 8px;font-size:var(--t-base);line-height:1.5;position:relative;border-bottom:1px solid transparent;transition:background-color var(--dur-fast) var(--ease-out);animation:rowIn .22s var(--ease-out) both;white-space:nowrap;min-height:22px}@keyframes rowIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.row[data-density=compact]{min-height:22px;padding-top:2px;padding-bottom:2px;font-size:12px}.row[data-density=cozy]{min-height:26px;padding-top:4px;padding-bottom:4px}.row[data-density=comfortable]{min-height:32px;padding-top:6px;padding-bottom:6px;line-height:1.55}.row:hover{background:var(--bg-hover)}.row.match{background:oklch(from var(--accent) l c h / .04)}.row.match:hover{background:oklch(from var(--accent) l c h / .1)}.row.crash{background:oklch(from var(--lvl-e-fg) l c h / .05)}.row-rail{position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;transition:background-color var(--dur-fast) var(--ease-out)}.row[data-level=W] .row-rail{background:oklch(from var(--lvl-w-fg) l c h / .5)}.row[data-level=E] .row-rail{background:var(--lvl-e-fg)}.row.match .row-rail{background:var(--accent)}.row-pin{width:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3);opacity:0;flex-shrink:0;transition:opacity var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);align-self:center}.row:hover .row-pin{opacity:.8}.row-pin:hover{color:var(--accent-fg);opacity:1!important}.row.pinned .row-pin{opacity:1;color:var(--accent-fg)}.cell{flex-shrink:0}.cell.ts{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:var(--t-sm);width:14em;align-self:center}.cell.pid{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:var(--t-sm);width:8em;text-align:right;padding:0 6px;border-radius:3px;align-self:center}.cell.pkg{color:var(--fg-2);width:18em;overflow:hidden;text-overflow:ellipsis;font-size:var(--t-sm);padding:0 6px;border-radius:3px;align-self:center}.cell.tag{color:var(--fg-1);width:15em;overflow:hidden;text-overflow:ellipsis;padding:0 6px;border-radius:3px;font-weight:500;align-self:center}.cell.level{width:18px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--t-xs);flex-shrink:0;align-self:center}.cell.level.lvl-V{background:var(--lvl-v-bg);color:var(--lvl-v-fg)}.cell.level.lvl-D{background:var(--lvl-d-bg);color:var(--lvl-d-fg)}.cell.level.lvl-I{background:var(--lvl-i-bg);color:var(--lvl-i-fg)}.cell.level.lvl-W{background:var(--lvl-w-bg);color:var(--lvl-w-fg)}.cell.level.lvl-E{background:var(--lvl-e-bg);color:var(--lvl-e-fg)}.cell.msg{color:var(--fg-0);flex:1;min-width:0;white-space:pre;overflow:hidden;text-overflow:ellipsis;font-size:var(--t-base);align-self:center}.cell.msg.wrap{white-space:pre-wrap;word-break:break-word;overflow:visible;text-overflow:clip}.row.crash .cell.msg{color:var(--lvl-e-fg);white-space:pre-wrap;word-break:break-word}.row.crash .cell.msg:before{content:""}.crash-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:12px;padding:1px 6px;border-radius:3px;font-size:var(--t-xs);color:var(--accent-fg);background:var(--accent-soft)}.crash-toggle:hover{opacity:.8}.hl{background:oklch(var(--fc-hl-l) var(--fc-hl-c) var(--mark-hue, 200));color:inherit;padding:0;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.hl-c1{--mark-hue: var(--fc-1)}.hl-c2{--mark-hue: var(--fc-2)}.hl-c3{--mark-hue: var(--fc-3)}.hl-c4{--mark-hue: var(--fc-4)}.hl-c5{--mark-hue: var(--fc-5)}.hl-c6{--mark-hue: var(--fc-6)}.pinned-block{border-bottom:1px solid var(--accent);background:var(--bg-1);position:sticky;top:0;z-index:5;box-shadow:0 4px 12px -4px #0000004d}.pinned-head{font-size:var(--t-xs);letter-spacing:.18em;color:var(--accent-fg);padding:4px 14px;background:oklch(from var(--accent) l c h / .06);border-bottom:1px solid var(--line-soft)}.empty-logs{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--fg-3);gap:8px;padding:60px 0}.empty-logs-hint{font-size:var(--t-sm);color:var(--fg-3)}.scroll-to-bottom{position:absolute;bottom:60px;right:24px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent);color:var(--on-accent);border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:600;box-shadow:var(--shadow-2);z-index:30;animation:slideUp .24s var(--ease-spring) both;transition:transform var(--dur-fast) var(--ease-out)}.scroll-to-bottom:hover{transform:translateY(-2px)}.scroll-to-bottom:active{transform:translateY(0)}.fake-badge{position:absolute;bottom:50px;left:24px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--accent-soft);color:var(--accent-fg);border-radius:var(--r-pill);font-size:var(--t-xs);letter-spacing:.04em;z-index:20}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:var(--bg-3);color:var(--fg-0);padding:10px 16px;border-radius:var(--r-md);font-size:var(--t-sm);box-shadow:var(--shadow-2);z-index:200;animation:toastIn .24s var(--ease-spring) both;border:1px solid var(--line)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.dash{display:flex;flex-direction:column;height:100vh;background:radial-gradient(circle at 18% 0%,oklch(from var(--accent) calc(l - .3) c h / .18),transparent 55%),radial-gradient(circle at 88% 100%,oklch(.4 .14 280 / .14),transparent 50%),var(--bg-0);color:var(--fg-0);overflow:hidden}.dash-grid{--tile-radius: var(--r-lg);position:relative;flex:1;min-height:0;overflow:hidden;background-image:radial-gradient(ellipse 70% 70% at 50% 50%,transparent 30%,var(--bg-0) 85%),linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:100% 100%,32px 32px,32px 32px}.dash-top{position:relative;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 14px;background:oklch(from var(--bg-0) calc(l + .01) c h / .7);backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid var(--glass-line);flex-shrink:0}.dash-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 6px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out)}.dash-brand:hover{background:oklch(from var(--accent) l c h / .06);border-color:oklch(from var(--accent) l c h / .15)}.dash-brand:active{transform:translateY(1px)}.dash-brand-glyph{width:22px;height:22px;position:relative;display:inline-block;flex-shrink:0}.dash-brand-square{position:absolute;width:8px;height:8px;border-radius:1.5px;background:var(--accent)}.dash-brand-square.s1{top:0;left:0}.dash-brand-square.s2{top:0;left:12px;opacity:.7;animation:pulse 2s infinite}.dash-brand-square.s3{top:12px;left:6px;opacity:.4;animation:pulse 2.4s infinite}.dash-brand-name{font-weight:700;font-size:14px;color:var(--fg-0);letter-spacing:-.01em}.tile .tt:after{left:0;transform:translateY(-4px)}.tile .tt:hover:after{transform:translateY(0)}.dash-brand-beta{align-self:flex-end;display:inline-flex;align-items:center;padding:1px 7px;margin-left:-2px;margin-bottom:1px;background:var(--accent);color:var(--bg-0);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-pill);line-height:1.4}.dash-brand-sub{font-size:11px;color:var(--fg-3);padding-left:8px;margin-left:4px;border-left:1px solid var(--glass-line);letter-spacing:.04em;text-transform:uppercase}.dash-device{position:relative;display:flex;align-items:center;gap:8px;padding:5px 10px 5px 9px;background:oklch(from var(--bg-1) l c h / .6);border:1px solid var(--glass-line);border-radius:8px;cursor:pointer;user-select:none;transition:background .12s}.dash-device:hover{background:oklch(from var(--bg-1) calc(l + .02) c h / .8)}.dash-device-status{display:inline-flex}.dash-device-status .dash-device-dot{width:7px;height:7px;border-radius:50%;background:#51c672;box-shadow:0 0 6px #51c672b3;animation:pulse 2s ease-in-out infinite}.dash-device-status[data-fake=true] .dash-device-dot{background:#ecaa0b;box-shadow:0 0 6px #ecaa0bb3}.dash-device-info{line-height:1.1}.dash-device-name{font-size:var(--t-sm);color:var(--fg-0);font-weight:500}.dash-device-meta{font-size:10px;color:var(--fg-3);font-family:var(--font-mono);margin-top:1px}.dash-device-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:280px;background:oklch(from var(--bg-1) l c h / .92);backdrop-filter:blur(20px);border:1px solid var(--glass-line);border-radius:10px;box-shadow:var(--shadow-3);padding:4px;z-index:10;cursor:default}.dash-device-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:6px;color:var(--fg-1);text-align:left}.dash-device-row:hover{background:var(--bg-2)}.dash-device-row.current{background:oklch(from var(--accent) l c h / .12)}.dash-device-row-dot{width:7px;height:7px;border-radius:50%;background:#51c672;flex-shrink:0}.dash-device-row-dot.fake{background:#ecaa0b}.dash-device-pop-foot{border-top:1px solid var(--glass-line);margin-top:2px;padding-top:2px}.dash-device-pop-foot button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:6px;color:var(--fg-2);font-size:var(--t-sm)}.dash-device-pop-foot button:hover{background:oklch(from var(--lvl-e-fg) l c h / .12);color:var(--lvl-e-fg)}.dash-actions{display:flex;align-items:center;gap:6px}.dash-actions .icon-btn{width:30px;height:30px;border-radius:7px}.dash-actions .icon-btn svg{width:14px;height:14px}.dash-divider{width:1px;height:20px;background:var(--glass-line);margin:0 4px}.dash-add{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--accent);color:var(--bg-0);border-radius:7px;font-size:var(--t-sm);font-weight:500;box-shadow:0 1px 2px #0003,inset 0 1px #ffffff26;transition:filter .12s,transform .12s}.dash-add:hover{filter:brightness(1.1)}.dash-add:active{transform:translateY(1px)}.dash-grid.dragging,.dash-grid.swap-dragging{cursor:grabbing;user-select:none}@keyframes tile-shake{0%{rotate:-.6deg}50%{rotate:.6deg}to{rotate:-.6deg}}.dash-grid.drag-polish .tile.dragging{animation:tile-shake .28s ease-in-out infinite;transform-origin:50% 50%}@media(prefers-reduced-motion:reduce){.dash-grid.drag-polish .tile.dragging{animation:none}}[data-compact=on] .dash-grid{--tile-radius: 0px}.dash-split-handle{background:transparent;z-index:2;touch-action:none;pointer-events:auto}.dash-split-handle--row{cursor:col-resize}.dash-split-handle--col{cursor:row-resize}.dash-split-line{position:absolute;background:transparent;pointer-events:none;transition:background .12s}.dash-split-handle--row .dash-split-line{top:0;bottom:0;left:50%;width:2px;margin-left:-1px}.dash-split-handle--col .dash-split-line{left:0;right:0;top:50%;height:2px;margin-top:-1px}.dash-split-handle:hover .dash-split-line,.dash-grid.dragging .dash-split-handle .dash-split-line{background:var(--accent)}.tile{display:flex;flex-direction:column;background:oklch(from var(--bg-1) l c h / .55);backdrop-filter:blur(2px) saturate(1.2);border:1px solid var(--glass-line);border-radius:var(--tile-radius, var(--r-lg));container-type:inline-size;container-name:tile;box-shadow:0 1px #ffffff0a inset,0 4px 24px #00000040;min-width:0;min-height:0;overflow:hidden;position:relative;transition:left .22s var(--ease-out),top .22s var(--ease-out),width .22s var(--ease-out),height .22s var(--ease-out),box-shadow .16s}.tile.dragging{z-index:50!important;transition:box-shadow .16s;cursor:grabbing;opacity:.4;box-shadow:0 1px #ffffff14 inset,0 18px 48px #00000073,0 0 0 1px oklch(from var(--accent) l c h / .4)}.tile.dragging .tile-head{cursor:grabbing}.tile.drop-target{box-shadow:0 1px #ffffff0f inset,0 8px 32px #00000059,0 0 0 2px var(--accent)}.tile.focused{outline:2px solid var(--accent);outline-offset:-2px;box-shadow:0 1px #ffffff0f inset,0 4px 24px #00000040}.tile.focused .tile-head{background:oklch(from var(--accent) calc(l - .15) c h / .14);border-bottom-color:oklch(from var(--accent) l c h / .35)}.tile.focused .tile-icon,.tile.focused .tile-title,.tile.focused .tile-grip{color:var(--fg-0);opacity:1}.tile.focused .tile-btn{color:var(--fg-0)}.tile.focused .tile-btn:hover{background:oklch(from var(--accent) calc(l - .2) c h / .25);color:var(--fg-0)}.tile.max{border-radius:0;margin:0;background:var(--bg-1);backdrop-filter:none}[data-compact=on] .tile{border:1px solid var(--glass-line);box-shadow:none!important}.dash-drop-overlay{position:absolute;z-index:25;pointer-events:none;background:oklch(from var(--accent) l c h / .18);border:1.5px solid oklch(from var(--accent) l c h / .65);border-radius:var(--tile-radius, var(--r-lg));transition:left .14s var(--ease-out),top .14s var(--ease-out),width .14s var(--ease-out),height .14s var(--ease-out),opacity .12s var(--ease-out);animation:fadeIn .12s var(--ease-out)}[data-perf=on] .dash-drop-overlay{transition:none;animation:none}.dash-swap-ghost{position:fixed;z-index:60;pointer-events:none;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:oklch(from var(--bg-1) l c h / .95);backdrop-filter:blur(14px);color:var(--fg-0);border:1px solid oklch(from var(--accent) l c h / .4);border-radius:8px;font-size:var(--t-sm);box-shadow:0 12px 36px #00000080;transform:translate(12px,12px)}.dash-swap-ghost svg{color:var(--accent)}.tile-head{display:flex;align-items:center;gap:6px;padding:7px 8px 7px 4px;height:34px;flex-shrink:0;background:oklch(from var(--bg-0) l c h / .6);border-bottom:1px solid var(--glass-line);cursor:grab;user-select:none}.tile-head:active{cursor:grabbing}.tile.max .tile-head{cursor:default}.tile-grip{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3);opacity:.5;transition:opacity .12s}.tile-head:hover .tile-grip{opacity:1}.tile-icon{display:inline-flex;color:var(--accent)}.tile-title{font-size:var(--t-sm);color:var(--fg-1);font-weight:500;letter-spacing:-.005em}.tile-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:var(--fg-3)}.tile-btn:hover{background:var(--bg-2);color:var(--fg-1)}.tile-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.tile.bars-hidden .widget-bar,.tile.bars-hidden .lc-toolbar,.tile.bars-hidden .ds-toolbar,.tile.bars-hidden .fx-toolbar,.tile.bars-hidden .mr-toolbar,.tile.bars-hidden .filter-bar,.tile.head-hidden .widget-bar,.tile.head-hidden .lc-toolbar,.tile.head-hidden .ds-toolbar,.tile.head-hidden .fx-toolbar,.tile.head-hidden .mr-toolbar,.tile.head-hidden .filter-bar{display:none!important}.tile-reveal{position:absolute;top:0;left:0;right:0;height:6px;background:transparent;cursor:ns-resize;z-index:3}.tile.head-hidden .tile-head{height:0;min-height:0;padding-top:0;padding-bottom:0;border-bottom-width:0;overflow:hidden;transition:height .18s var(--ease-out),border-bottom-width .18s var(--ease-out)}.tile.head-hidden .tile-head>*{opacity:0;pointer-events:none}.tile.head-hidden:not(.just-toggled):has(.tile-reveal:hover) .tile-head,.tile.head-hidden:not(.just-toggled):has(.tile-head:hover) .tile-head{height:34px;border-bottom-width:1px;overflow:visible}.tile.head-hidden:not(.just-toggled):has(.tile-reveal:hover) .tile-head>*,.tile.head-hidden:not(.just-toggled):has(.tile-head:hover) .tile-head>*{opacity:1;pointer-events:auto;transition:opacity .12s var(--ease-out) 60ms}.dash-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--fg-3);text-align:center}.dash-empty h3{font-size:16px;color:var(--fg-1);margin:4px 0 0}.dash-empty p{font-size:var(--t-sm)}.dash-empty-btn{margin-top:12px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--accent);color:#fff;border-radius:7px;font-size:var(--t-sm);font-weight:500}.qa-scrim{position:fixed;inset:0;z-index:52;background:#0000002e;animation:fadeIn .12s var(--ease-out)}.qa-menu{position:fixed;width:min(280px,86vw);background:oklch(from var(--bg-1) l c h / .96);backdrop-filter:blur(24px);border:1px solid var(--glass-line);border-radius:var(--r-md);box-shadow:0 18px 48px #0000008c;padding:6px 0;outline:none;animation:qaMenuIn .14s var(--ease-out)}@keyframes qaMenuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.qa-head{padding:6px 12px 8px;font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.qa-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 12px;background:transparent;border:0;color:var(--fg-1);text-align:left;font-size:var(--t-sm);cursor:pointer;transition:background-color 80ms var(--ease-out)}.qa-row:hover:not(:disabled),.qa-row:focus-visible,.qa-row.qa-row-active:not(:disabled){background:oklch(from var(--accent) l c h / .16);color:var(--fg-0);outline:none}.qa-row-disabled,.qa-row:disabled{opacity:.4;cursor:not-allowed}.qa-row-icon{display:inline-flex;width:18px;align-items:center;justify-content:center;color:var(--accent)}.qa-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-row-key{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--fg-3);background:oklch(from var(--fg-3) l c h / .12);border-radius:4px;padding:1px 6px;min-width:18px;text-align:center}.qa-row:hover:not(:disabled) .qa-row-key{color:var(--fg-1)}.qa-sep{height:1px;background:var(--glass-line);margin:4px 8px}.qa-row-more{color:var(--fg-2)}.palette-back{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);z-index:50;animation:fadeIn .2s var(--ease-out)}.palette{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,92vw);max-height:80vh;background:oklch(from var(--bg-1) l c h / .95);backdrop-filter:blur(24px);border:1px solid var(--glass-line);border-radius:var(--r-lg);box-shadow:0 24px 80px #0009;display:flex;flex-direction:column;overflow:hidden;z-index:51;animation:paletteIn .24s var(--ease-out)}@keyframes paletteIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.palette-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--glass-line)}.palette-head h3{margin:0;font-size:16px;font-weight:600;color:var(--fg-0)}.palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:18px;overflow:auto}.palette-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;background:oklch(from var(--bg-2) l c h / .6);border:1px solid var(--glass-line);border-radius:var(--r-md);text-align:left;transition:transform .12s,border-color .12s,background .12s;cursor:pointer}.palette-card:hover{background:oklch(from var(--accent) l c h / .12);border-color:oklch(from var(--accent) l c h / .4);transform:translateY(-1px)}.palette-card-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:oklch(from var(--accent) l c h / .15);border:1px solid oklch(from var(--accent) l c h / .3);color:var(--accent);border-radius:8px;margin-bottom:4px}.palette-card-title{font-size:var(--t-md);font-weight:600;color:var(--fg-0)}.palette-card-desc{font-size:var(--t-xs);color:var(--fg-3);line-height:1.4}.palette-foot{padding:10px 18px;border-top:1px solid var(--glass-line);font-size:var(--t-xs);color:var(--fg-3);background:oklch(from var(--bg-0) l c h / .5)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}[data-perf=on] .dash-grid{background-image:none}[data-perf=on] .dash-top{backdrop-filter:none;background:var(--bg-0)}[data-perf=on] .dash-device-pop{backdrop-filter:none;background:var(--bg-1)}[data-perf=on] .tile{backdrop-filter:none;background:var(--bg-1);transition:box-shadow .16s}@media(prefers-reduced-motion:reduce){.tile{transition:box-shadow .16s}.dash-drop-overlay{transition:none;animation:none}}.dash-grid.dragging .tile{transition:box-shadow .16s}[data-perf=on] .tile-head{backdrop-filter:none;background:var(--bg-0)}[data-perf=on] .palette-back{backdrop-filter:none}[data-perf=on] .palette{backdrop-filter:none;background:var(--bg-1)}[data-perf=on] .dash-brand-square.s2,[data-perf=on] .dash-brand-square.s3,[data-perf=on] .dash-device-status .dash-device-dot{animation:none}.log-scroll{min-width:0}.tb-brand{cursor:pointer;border:0;background:transparent;padding:0 6px 0 4px;border-radius:var(--r-md);transition:background-color var(--dur-fast) var(--ease-out)}.tb-brand:hover{background:var(--bg-hover)}.tb-brand:active{transform:scale(.98)}.row-list[data-wrap=false]{width:max-content;min-width:100%}.row-list[data-wrap=true]{width:100%}.row[data-wrap=false]{width:100%;min-width:max-content}.cell.msg:not(.wrap){flex:0 0 auto;overflow:visible;text-overflow:clip}.empty{position:absolute;inset:0;display:grid;place-items:center;background:var(--bg-0);overflow:hidden}.empty-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black 30%,transparent 80%);opacity:.5}.empty-card{position:relative;width:min(560px,92vw);padding:56px 48px 36px;text-align:center;animation:slideUp .48s var(--ease-out) both}.empty-illustration{height:140px;margin-bottom:32px;display:grid;place-items:center}.empty-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-xs);letter-spacing:.18em;color:var(--accent-fg);margin-bottom:12px}.empty-alpha{display:inline-flex;align-items:center;padding:1px 7px;background:var(--accent);color:var(--bg-0);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-pill);line-height:1.4}.empty-title{font-size:var(--t-2xl);font-weight:600;margin:0 0 12px;letter-spacing:-.02em;color:var(--fg-0)}.empty-sub{font-size:var(--t-md);color:var(--fg-2);margin:0 auto 28px;max-width:380px;line-height:1.55}.empty-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:36px}.btn.big{height:44px;padding:0 22px;font-size:var(--t-md);border-radius:10px;min-width:220px;justify-content:center}.empty-or{font-size:var(--t-sm);color:var(--fg-2)}.link{color:var(--accent-fg);background:none;padding:0;cursor:pointer;font:inherit;border:0;border-bottom:1px dashed var(--accent-fg);transition:opacity var(--dur-fast) var(--ease-out)}.link:hover{opacity:.7}.link:disabled{opacity:.4;cursor:not-allowed}.empty-hint{font-size:var(--t-xs);color:var(--fg-3);letter-spacing:.04em}.empty-hint .kbd{margin:0 4px}.connect-split{position:relative;display:inline-flex}.btn.primary.connect-primary{height:44px;padding:0 22px;font-size:var(--t-md);border-radius:10px 0 0 10px;min-width:220px;justify-content:center}.btn.primary.connect-arrow{height:44px;width:38px;padding:0;font-size:var(--t-md);border-radius:0 10px 10px 0;justify-content:center;border-left:1px solid color-mix(in oklab,var(--bg-0) 30%,transparent)}.connect-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:280px;display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:4px;z-index:200;animation:fadeIn .14s var(--ease-out) both;text-align:left}.connect-menu-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 10px;background:transparent;border:0;border-radius:var(--r-sm);color:var(--fg-0);font:inherit;cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease-out)}.connect-menu-item:hover{background:var(--bg-hover)}.connect-menu-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);color:var(--accent-fg);background:color-mix(in oklab,var(--accent) 12%,transparent);margin-top:1px}.connect-menu-label{min-width:0}.connect-menu-title{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:500;color:var(--fg-0)}.connect-menu-sub{margin-top:2px;font-size:var(--t-xs);color:var(--fg-3)}.connect-menu-badge{display:inline-flex;align-items:center;padding:1px 6px;background:var(--accent);color:var(--bg-0);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pill);line-height:1.4}.md-dialog.wdp-dialog{width:min(520px,92vw)}.wdp-dialog-body{display:flex;flex-direction:column;gap:14px;max-height:min(70vh,560px);overflow-y:auto}.wdp-dialog-blurb{margin:0;font-size:var(--t-sm);color:var(--fg-2);line-height:1.5}.wdp-dialog-blurb code{font-family:var(--font-mono);font-size:.95em;padding:0 3px;border-radius:3px;background:var(--bg-2);color:var(--fg-1)}.wdp-dialog-status,.wdp-dialog-empty-line{font-size:var(--t-xs);color:var(--fg-3);padding:8px 0}.wdp-dialog-empty{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--r-md)}.wdp-dialog-empty-meta{flex:1 1 0;min-width:0}.wdp-dialog-install{text-decoration:none}.wdp-dialog-empty-title{font-size:var(--t-sm);font-weight:500;color:var(--fg-0);margin-bottom:2px}.wdp-dialog-empty p,.wdp-dialog-approve p{margin:0;font-size:var(--t-xs);color:var(--fg-2);line-height:1.5}.wdp-dialog-empty code,.wdp-dialog-approve code{font-family:var(--font-mono);font-size:.9em;padding:0 3px;border-radius:3px;background:var(--bg-1);color:var(--fg-1)}.wdp-dialog-approve{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--r-md)}.wdp-dialog-list{display:flex;flex-direction:column;gap:8px;min-width:0}.wdp-dialog-version{align-self:flex-start;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--fg-3);letter-spacing:.04em;padding:1px 8px;background:var(--bg-2);border-radius:var(--r-pill)}.wdp-devices{list-style:none;margin:0;padding:0;border:1px solid var(--line-soft);border-radius:var(--r-md);overflow:hidden}.wdp-device{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line-soft);background:var(--bg-1)}.wdp-device:first-child{border-top:0}.wdp-device-meta{flex:1 1 0;min-width:0}.wdp-device-name{font-size:var(--t-sm);font-weight:500;color:var(--fg-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wdp-device-sub{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--fg-3);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wdp-device-connect{height:28px;padding:0 12px;font-size:var(--t-xs);border-radius:var(--r-sm);flex-shrink:0}.wdp-device-error{padding:8px 12px;font-size:var(--t-xs);color:#fa6863;background:color-mix(in oklab,oklch(.7 .18 25) 8%,transparent);border-radius:var(--r-sm);border:1px solid color-mix(in oklab,oklch(.7 .18 25) 20%,transparent)}.wdp-dialog-warn{padding:8px 12px;font-size:var(--t-xs);line-height:1.5;color:#ecaa0b;background:color-mix(in oklab,oklch(.78 .16 80) 8%,transparent);border-radius:var(--r-sm);border:1px solid color-mix(in oklab,oklch(.78 .16 80) 20%,transparent)}.wdp-dialog-warn .link{color:inherit;text-decoration:underline}.empty-version{position:absolute;right:16px;bottom:12px;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--fg-3);letter-spacing:.04em;z-index:2}.dot-spinner{width:10px;height:10px;border-radius:50%;background:currentColor;animation:pulse 1.2s var(--ease-in-out) infinite}.dp{position:relative}.dp-btn{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:var(--r-md);color:var(--fg-0);transition:background-color var(--dur-fast) var(--ease-out)}.dp-btn:hover{background:var(--bg-hover)}.dp-status{width:8px;height:8px;border-radius:50%;background:#51c672;box-shadow:0 0 0 3px #51c6722e}.dp-status.fake{background:oklch(.74 .14 var(--accent-hue));box-shadow:0 0 0 3px oklch(.74 .14 var(--accent-hue) / .18)}.dp-status.offline{background:var(--fg-3);box-shadow:none}.dp-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.dp-name{font-size:var(--t-base);font-weight:500}.dp-meta{font-size:var(--t-xs);color:var(--fg-3)}.filter-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg-1);border-bottom:1px solid var(--line);min-height:52px;flex-shrink:0}.fb-transport{display:inline-flex;gap:2px}.fb-display{display:inline-flex;gap:4px}.fb-chips{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 6px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-0);cursor:text;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);position:relative;min-height:34px}.fb-chips:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px oklch(from var(--accent) l c h / .18)}.fb-input-wrap{position:relative;flex:1 1 0;min-width:0}.fb-input{width:100%;height:26px;background:transparent;border:0;outline:none;font-size:var(--t-base);color:var(--fg-0)}.fb-input::placeholder{color:var(--fg-3)}.fb-ac{position:absolute;top:calc(100% + 6px);left:-8px;min-width:320px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:4px;z-index:60;animation:slideUp .14s var(--ease-out) both}.fb-ac-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 8px;border-radius:var(--r-sm);font-size:var(--t-base);color:var(--fg-1);text-align:left}.fb-ac-item.active{background:var(--bg-hover);color:var(--fg-0)}.fb-ac-label{font-weight:500}.fb-ac-hint{font-size:var(--t-xs);color:var(--fg-3);margin-left:12px}.fb-ac-head{font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);padding:8px 8px 6px}.chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 4px 0 8px;border-radius:var(--r-pill);font-size:var(--t-sm);background:var(--c-bg);color:var(--c-fg);animation:slideUp .16s var(--ease-out) both;max-width:320px}.chip-type{opacity:.7;font-weight:500}.chip-val{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.chip-x{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--c-fg);opacity:.6;margin-left:2px}.chip-x:hover{background:oklch(from var(--c-fg) l c h / .18);opacity:1}.chip{cursor:pointer;outline:none}.chip:focus-visible,.chip.chip-active{box-shadow:0 0 0 1.5px var(--c-fg),0 0 0 3px oklch(from var(--c-fg) l c h / .25)}.chip.chip-active{background:oklch(from var(--c-bg) calc(l + .04) c h)}.row.active-match{position:relative;background:oklch(from var(--accent) l c h / .18);outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.row.active-match:hover{background:oklch(from var(--accent) l c h / .24)}.row.active-match .row-rail{background:var(--accent);box-shadow:0 0 6px 1px oklch(from var(--accent) l c h / .55)}.fb-match-nav{display:inline-flex;align-items:center;gap:2px}.fb-match-step{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid oklch(from var(--accent) l c h / .25);border-radius:var(--r-sm);color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.fb-match-step:hover:not(:disabled){background:oklch(from var(--accent) l c h / .12);color:var(--fg-1)}.fb-match-step:disabled{opacity:.4;cursor:not-allowed}.fb-match-counter{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--fg-2);padding:2px 8px;margin-left:4px;border-radius:var(--r-sm);background:oklch(from var(--accent) l c h / .12);border:1px solid oklch(from var(--accent) l c h / .25);white-space:nowrap;font-variant-numeric:tabular-nums}.lvl-filter{display:flex;gap:4px;padding:0 8px}.lvl-toggles{display:inline-flex;gap:4px;padding:0 8px}.lvl-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;border-radius:var(--r-pill);font-size:var(--t-sm);background:var(--bg-1);color:var(--fg-2);border:1px solid transparent;transition:all var(--dur-fast) var(--ease-out)}.lvl-pill .lvl-letter{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--t-xs);background:var(--bg-3);color:var(--fg-2)}.lvl-pill.on{background:var(--bg-2);color:var(--fg-0)}.lvl-pill.on.lvl-V .lvl-letter{background:var(--lvl-v-bg);color:var(--lvl-v-fg)}.lvl-pill.on.lvl-D .lvl-letter{background:var(--lvl-d-bg);color:var(--lvl-d-fg)}.lvl-pill.on.lvl-I .lvl-letter{background:var(--lvl-i-bg);color:var(--lvl-i-fg)}.lvl-pill.on.lvl-W .lvl-letter{background:var(--lvl-w-bg);color:var(--lvl-w-fg)}.lvl-pill.on.lvl-E .lvl-letter{background:var(--lvl-e-bg);color:var(--lvl-e-fg)}.lvl-pill.off{opacity:.5}.lvl-pill.off .lvl-name{text-decoration:line-through;opacity:.7}.lvl-pill:hover{background:var(--bg-3)}.help-scrim{position:fixed;inset:0;background:#0006;backdrop-filter:blur(2px);z-index:200;animation:fadeIn .2s var(--ease-out) both}.help{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:80vh;display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);z-index:201;animation:helpAppear .24s var(--ease-spring) both;overflow:hidden}@keyframes helpAppear{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px))}to{opacity:1;transform:translate(-50%,-50%)}}.md-scrim{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);z-index:250;animation:fadeIn .2s var(--ease-out) both}.md-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,92vw);display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2);z-index:251;animation:helpAppear .22s var(--ease-spring) both;overflow:hidden}.md-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.md-dialog-head h2{margin:0;font-size:var(--t-md);font-weight:600;color:var(--fg-0)}.md-dialog-body{padding:16px 18px;font-size:var(--t-sm);color:var(--fg-1);line-height:1.5}.md-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:oklch(from var(--bg-0) l c h / .4)}.md-btn{font:inherit;padding:7px 14px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast) var(--ease-out);font-size:var(--t-sm)}.md-btn-text{background:transparent;color:var(--fg-1)}.md-btn-text:hover{background:var(--bg-2)}.md-btn-primary{background:var(--accent);color:#fcfcfc;font-weight:500}.md-btn-primary:hover{background:oklch(from var(--accent) calc(l + .04) c h)}.md-btn-destructive{background:var(--lvl-e-fg);color:#fcfcfc;font-weight:500}.md-btn-destructive:hover{background:oklch(from var(--lvl-e-fg) calc(l + .04) c h)}.md-prompt-label{display:block;margin-bottom:6px;font-size:var(--t-xs);color:var(--fg-2);text-transform:uppercase;letter-spacing:.04em}.md-prompt-input{width:100%;padding:8px 10px;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--fg-0);font:inherit;font-size:var(--t-sm);outline:none}.md-prompt-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px oklch(from var(--accent) l c h / .25)}.md-prompt-error{margin-top:6px;font-size:var(--t-xs);color:var(--lvl-e-fg)}.help-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.help-head h2{margin:0;font-size:var(--t-lg);font-weight:600}.help-body{padding:8px 12px 16px;overflow-y:auto}.help-group+.help-group{margin-top:12px}.help-group-title{margin:4px 8px 6px;font-size:var(--t-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.help-table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.help-table tr td{padding:8px;vertical-align:middle}.help-table tr+tr td{border-top:1px solid var(--line-soft)}.help-keys{white-space:nowrap;width:1%}.help-keys .kbd+.kbd{margin-left:4px}.help-desc{color:var(--fg-1)}.heatmap{width:14px;background:var(--bg-1);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:1px;padding:2px;overflow:hidden}.hm-cell{flex:1 1 0;min-height:2px;border-radius:1px;background:var(--lvl-cell, var(--fg-3));transition:opacity var(--dur-fast) var(--ease-out);cursor:pointer;border:0;padding:0}.hm-cell.lvl-V{--lvl-cell: var(--lvl-v-fg)}.hm-cell.lvl-D{--lvl-cell: var(--lvl-d-fg)}.hm-cell.lvl-I{--lvl-cell: var(--lvl-i-fg)}.hm-cell.lvl-W{--lvl-cell: var(--lvl-w-fg)}.hm-cell.lvl-E{--lvl-cell: var(--lvl-e-fg)}.hm-cell:hover{opacity:1!important;transform:scaleX(1.3)}.tile-loading{display:grid;place-items:center;height:100%;font-size:var(--t-sm);color:var(--fg-3)}.palette-card.disabled,.palette-card[disabled]{opacity:.45;cursor:not-allowed;filter:saturate(.5)}.palette-card.disabled:hover,.palette-card[disabled]:hover{background:oklch(from var(--bg-2) l c h / .6);border-color:var(--glass-line);transform:none}.dash-device-pop-foot button+button{margin-top:1px}.dash-appearance{position:relative;display:inline-flex;align-items:center}.dash-appearance-pop{left:auto;right:0;min-width:240px;padding:12px;display:flex;flex-direction:column;gap:12px}.dash-appearance-section{display:flex;flex-direction:column;gap:8px}.dash-appearance-label{font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3)}.dash-appearance-pop .seg{display:inline-flex;padding:3px;background:var(--bg-2);border-radius:var(--r-md);gap:2px}.dash-appearance-pop .seg button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:var(--t-sm);color:var(--fg-2);flex:1;justify-content:center;transition:all var(--dur-fast) var(--ease-out)}.dash-appearance-pop .seg button.active{background:var(--bg-0);color:var(--fg-0);box-shadow:var(--shadow-1)}.dash-appearance-pop .accents{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.dash-appearance-pop .accent-swatch{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-md);background:var(--bg-2);font-size:var(--t-sm);color:var(--fg-1);border:1.5px solid transparent;transition:all var(--dur-fast) var(--ease-out);text-align:left}.dash-appearance-pop .accent-swatch:hover{background:var(--bg-3)}.dash-appearance-pop .accent-swatch.active{border-color:var(--accent);color:var(--fg-0)}.dash-appearance-pop .accent-swatch .sw{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px var(--bg-2);flex-shrink:0}.dash-compact-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-md);background:var(--bg-2);border:1.5px solid transparent;color:var(--fg-1);text-align:left;transition:all var(--dur-fast) var(--ease-out);cursor:pointer}.dash-compact-toggle:hover{background:var(--bg-3)}.dash-compact-toggle.active{border-color:var(--accent);color:var(--fg-0)}.dash-compact-track{position:relative;width:28px;height:16px;flex-shrink:0;border-radius:999px;background:var(--bg-0);box-shadow:inset 0 0 0 1px var(--glass-line);transition:background var(--dur-fast) var(--ease-out)}.dash-compact-toggle.active .dash-compact-track{background:var(--accent);box-shadow:inset 0 0 0 1px oklch(from var(--accent) calc(l - .1) c h / .5)}.dash-compact-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--fg-0);box-shadow:0 1px 2px #0000004d;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.dash-compact-toggle.active .dash-compact-thumb{transform:translate(12px);background:#fff}.dash-compact-text{display:flex;flex-direction:column;gap:2px;min-width:0}.dash-compact-title{font-size:var(--t-sm);font-weight:500}.dash-compact-desc{font-size:var(--t-xs);color:var(--fg-3);line-height:1.4}.dash-appearance-pop .seg.seg-3 button{padding:6px 8px}.dash-perf-hint{font-size:var(--t-xs);color:var(--fg-3);line-height:1.4}.imex-back{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);z-index:60}.imex-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,94vw);max-height:88vh;z-index:61;display:flex;flex-direction:column;background:oklch(from var(--bg-1) l c h / .97);backdrop-filter:blur(24px);border:1px solid var(--glass-line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);overflow:hidden}.imex-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--glass-line);background:oklch(from var(--bg-0) l c h / .5)}.imex-head-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:oklch(from var(--accent) l c h / .14);border:1px solid oklch(from var(--accent) l c h / .3);border-radius:7px;color:var(--accent)}.imex-head-title{font-size:var(--t-md);font-weight:600;color:var(--fg-0)}.imex-head-sub{font-size:var(--t-xs);color:var(--fg-3);margin-top:1px}.imex-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--fg-3)}.imex-close:hover{background:var(--bg-2);color:var(--fg-0)}.imex-body{padding:16px;overflow:auto}.imex-section h4{margin:0 0 6px;font-size:var(--t-sm);font-weight:600;color:var(--fg-0);text-transform:uppercase;letter-spacing:.1em}.imex-note{margin:0 0 10px;font-size:var(--t-xs);color:var(--fg-3);line-height:1.5}.imex-row+.imex-note{margin-top:12px}.imex-warn{color:var(--lvl-w-fg)}.imex-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.imex-row .btn{height:32px;font-size:var(--t-sm)}.imex-divider{height:1px;background:var(--glass-line);margin:16px 0}.imex-textarea{width:100%;min-height:90px;resize:vertical;background:oklch(from var(--bg-0) calc(l - .02) c h);border:1px solid var(--glass-line);border-radius:6px;padding:8px 10px;margin-bottom:10px;color:var(--fg-0);font-family:var(--font-mono);font-size:var(--t-xs);line-height:1.5}.imex-textarea:focus{outline:0;border-color:oklch(from var(--accent) l c h / .55)}.imex-ack{display:flex;align-items:flex-start;gap:8px;margin:4px 0 16px;padding:10px;border-radius:8px;background:oklch(from var(--lvl-w-bg) l c h / .4);border:1px solid oklch(from var(--lvl-w-fg) l c h / .35);font-size:var(--t-xs);color:var(--fg-1);line-height:1.5}.imex-ack input{margin-top:2px;accent-color:var(--accent)}.imex-ack a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.imex-ack a:hover{text-decoration-thickness:2px}.imex-ack.shake{animation:imex-shake .42s var(--ease-out)}@keyframes imex-shake{0%,to{transform:translate(0)}15%{transform:translate(-5px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}80%{transform:translate(-2px)}}.imex-btn-disabled{opacity:.5;cursor:not-allowed}.imex-btn-disabled:hover{background:var(--accent)}.lc-widget{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;outline:none}.lc-widget .filter-bar{border-top:0}.lc-widget .log-area{flex:1;min-height:0}.lc-resume{position:absolute!important;bottom:12px!important;right:auto!important;left:50%!important;transform:translate(-50%)}@container tile (max-width: 920px){.lvl-pill .lvl-name{display:none}.lvl-pill{padding:0 6px}}@container tile (max-width: 760px){.lvl-toggles .tb-mini{padding-right:6px;gap:0;font-size:0}.lvl-toggles .tb-mini svg{font-size:var(--t-sm)}}@container tile (max-width: 600px){.lvl-stats{font-size:var(--t-xs)}.lvl-stats>span:nth-child(4),.lvl-stats>.rate-sep{display:none}}@container tile (max-width: 520px){.rate-dot{display:none}}.fb-ac{max-width:calc(100% + 16px)}.fb-ac-item{min-width:0;gap:12px}.fb-ac-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-ac-hint{flex:0 0 auto;margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.lc-widget .log-scroll{background:transparent}.lc-widget .log-scroll::-webkit-scrollbar-thumb{background:transparent;transition:background .2s ease-out}.lc-widget[data-active=true] .log-scroll::-webkit-scrollbar-thumb{background:oklch(from var(--fg-3) l c h / .5)}.lc-widget[data-active=true] .log-scroll::-webkit-scrollbar-thumb:hover{background:var(--fg-3)}.lc-widget .log-scroll{scrollbar-color:transparent transparent;transition:scrollbar-color .2s ease-out}.lc-widget[data-active=true] .log-scroll{scrollbar-color:oklch(from var(--fg-3) l c h / .5) transparent}.ws-back{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:60;animation:fadeIn .2s var(--ease-out)}.ws-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,92vw);max-height:80vh;display:flex;flex-direction:column;background:oklch(from var(--bg-1) l c h / .95);backdrop-filter:blur(24px);border:1px solid var(--glass-line);border-radius:var(--r-lg);box-shadow:0 24px 80px #0009;z-index:61;overflow:hidden;animation:paletteIn .24s var(--ease-out)}.ws-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--glass-line);flex-shrink:0}.ws-head h3{margin:0;font-size:var(--t-md);font-weight:600;color:var(--fg-0)}.ws-body{overflow:auto;padding:4px 0 12px}.ws-version{flex-shrink:0;padding:8px 18px 12px;text-align:right;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--fg-3);letter-spacing:.04em}.ws-section{padding:14px 18px 6px;border-bottom:1px solid var(--glass-line)}.ws-section:last-child{border-bottom:0}.ws-section-label{font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);margin-bottom:10px}.ws-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;gap:16px}.ws-row-key{font-size:var(--t-sm);color:var(--fg-1)}.ws-row-control{display:inline-flex;align-items:center;gap:8px}.ws-seg{display:inline-flex;padding:3px;background:var(--bg-2);border-radius:var(--r-md);gap:2px}.ws-seg button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:var(--t-sm);color:var(--fg-2);transition:all var(--dur-fast, .12s) var(--ease-out)}.ws-seg button.on{background:var(--bg-0);color:var(--fg-0);box-shadow:var(--shadow-1)}.ws-toggle{width:36px;min-width:36px;height:20px;background:var(--bg-3);border-radius:999px;position:relative;flex-shrink:0;transition:background-color .12s var(--ease-out)}.ws-toggle.on{background:var(--accent)}.ws-toggle-dot{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--fg-0);border-radius:50%;transition:transform .16s var(--ease-spring, cubic-bezier(.34, 1.56, .64, 1))}.ws-toggle.on .ws-toggle-dot{transform:translate(16px);background:#fff}.ws-slider{display:inline-flex;align-items:center;gap:8px}.ws-slider input[type=range]{width:130px}.ws-slider-label{font-size:var(--t-xs);color:var(--fg-3);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.ws-text{background:var(--bg-2);border:1px solid var(--glass-line);border-radius:6px;padding:6px 10px;color:var(--fg-0);font-family:var(--font-mono);font-size:var(--t-sm);outline:0;min-width:200px}.ws-text:focus{border-color:var(--accent)}.ws-btn{background:var(--bg-2);border:1px solid var(--glass-line);border-radius:6px;padding:5px 12px;color:var(--fg-1);font-size:var(--t-sm);cursor:pointer;transition:background .12s var(--ease-out),color .12s var(--ease-out)}.ws-btn:hover:not(:disabled){background:var(--bg-3);color:var(--fg-0)}.ws-btn:disabled{opacity:.45;cursor:not-allowed}.ws-levels{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.lc-widget .row,.lc-widget .row .cell,.lc-widget .row .cell.tag,.lc-widget .row .cell.msg,.lc-widget .pinned-block .row,.lc-widget .pinned-block .row .cell{font-size:var(--widget-font-size, var(--t-sm))}.lc-widget .row .cell.ts,.lc-widget .row .cell.pid,.lc-widget .row .cell.pkg,.lc-widget .pinned-block .row .cell.ts,.lc-widget .pinned-block .row .cell.pid,.lc-widget .pinned-block .row .cell.pkg{font-size:calc(var(--widget-font-size, var(--t-sm)) - 1px)}.lc-widget .cell.ts{width:11.5em}.lc-widget[data-ts-format=time] .cell.ts{width:7.75em}.lc-widget[data-ts-format=clock] .cell.ts{width:5.25em}.lc-widget .cell.pid{width:7.5em}.sh-widget .sh-scroll,.sh-widget .sh-line,.sh-widget .sh-input-line input{font-size:var(--widget-font-size, 12px)}.ds-widget .ds-card-row,.ds-widget .ds-card-row .k,.ds-widget .ds-card-row .v,.ds-widget .ds-raw,.ds-widget .ds-procs .ds-proc,.ds-widget .ds-bucket-row,.fx-widget .fx-row,.fx-widget .fx-row .fx-cell,.fx-widget .fx-row .fx-cell.name,.fx-widget .fx-row .fx-cell.num,.fx-widget .fx-row .fx-cell.mono,.fx-widget .fx-list-head .fx-cell,.fx-widget .fx-tree,.fx-widget .fx-tree .fx-tnode,.fx-widget .fx-tile,.fx-widget .fx-tile .fx-tile-name,.mr-widget .mr-recording-pill,.mr-widget .mr-inline-notice{font-size:var(--widget-font-size, var(--t-sm))}.lc-widget[data-density=comfortable] .row{padding-top:4px;padding-bottom:4px;line-height:1.55}.lc-widget[data-density=compact] .row{padding-top:1px;padding-bottom:1px;line-height:1.4}.ws-row.gs-row-stacked{flex-direction:column;align-items:stretch;gap:10px}.gs-row-head{display:flex;flex-direction:column;gap:2px;flex:1 1 0;min-width:0}.gs-row-desc{font-size:var(--t-xs);color:var(--fg-3);line-height:1.5}.ws-row.gs-row-stacked .ws-seg{display:flex}.ws-row.gs-row-stacked .ws-seg button{flex:1 1 0;justify-content:center}
