:root{color-scheme:light dark;--bg: light-dark(#f6f5f1, #0d0d0d);--card: light-dark(#fdfdfb, #151515);--inset: light-dark(rgba(17, 17, 17, .05), rgba(255, 255, 255, .055));--hover: light-dark(rgba(17, 17, 17, .05), rgba(255, 255, 255, .06));--overlay: light-dark(rgba(17, 17, 17, .35), rgba(0, 0, 0, .6));--strong: light-dark(#111111, #ffffff);--text: light-dark(rgba(17, 17, 17, .88), rgba(255, 255, 255, .88));--muted: light-dark(rgba(17, 17, 17, .7), rgba(255, 255, 255, .64));--faint: light-dark(rgba(17, 17, 17, .6), rgba(255, 255, 255, .5));--line: light-dark(rgba(17, 17, 17, .14), rgba(255, 255, 255, .14));--line-strong: light-dark(rgba(17, 17, 17, .46), rgba(255, 255, 255, .36));--accent: light-dark(#0a7566, #35d6ba);--accent-wash: light-dark(rgba(10, 117, 102, .12), rgba(53, 214, 186, .15));--on-accent: light-dark(#fdfdfb, #0d0d0d);--ok: light-dark(#17753a, #5fcf7f);--warn: light-dark(#a35200, #ffa94d);--danger: light-dark(#c4203f, #ff6b81);--info: light-dark(#0b6b93, #6fcdf0);--ok-wash: light-dark(rgba(23, 117, 58, .1), rgba(95, 207, 127, .14));--warn-wash: light-dark(rgba(163, 82, 0, .1), rgba(255, 169, 77, .14));--danger-wash: light-dark(rgba(196, 32, 63, .08), rgba(255, 107, 129, .14));--info-wash: light-dark(rgba(11, 107, 147, .1), rgba(111, 205, 240, .14));--chart-1: light-dark(#0a8573, #35d6ba);--chart-2: light-dark(#a87b00, #f5b800);--chart-3: light-dark(#c4600f, #f0954a);--chart-4: light-dark(#a23fc0, #d07be6);--chart-5: light-dark(#2e9446, #58c574);--chart-6: light-dark(#6b4be0, #a48bff);--chart-7: light-dark(#cf2f5f, #f0698f);--chart-other: light-dark(#8c9097, #6b6f76);--chart-grid: var(--line);--chart-axis: var(--line-strong);--seq-1: light-dark(#d3ece7, #0f2f2a);--seq-2: light-dark(#a3d8ce, #14483f);--seq-3: light-dark(#63bcae, #1b6b5e);--seq-4: light-dark(#1f9a88, #25a08c);--seq-5: light-dark(#0a7566, #35d6ba);--font: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--mono: var(--font);--size: 14px;--lh: 1.55;--small: 12.5px;--tiny: 11.5px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--radius: 0px;--radius-card: 0px;--shadow: 0 0 0 transparent;--shadow-pop: 0 8px 28px light-dark(rgba(17, 17, 17, .14), rgba(0, 0, 0, .55));--pad: 16px;--card-pad: 16px;--measure: 640px;--wide: 1120px;--control: 44px;--segment: 34px;--field: 40px;--tabbar: 60px;--z-sticky: 10;--z-menu: 20;--z-dialog: 30;--z-toast: 40}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}[data-theme=auto]{color-scheme:light dark}@media(min-width:720px){:root{--pad: 24px;--card-pad: 20px;--size: 13px;--small: 12px;--tiny: 11px;--control: 36px;--segment: 28px;--field: 34px}}@media(min-width:720px)and (pointer:coarse){:root{--control: 44px}}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Regular-BQaDgvhP.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Bold-D4WEaHbo.woff2) format("woff2");font-weight:700;font-display:swap}*,*:before,*:after{box-sizing:border-box}::selection{background:var(--accent);color:var(--on-accent)}html{background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%;scrollbar-color:var(--line-strong) transparent}body{margin:0;background:var(--bg);color:var(--text);font:var(--size)/var(--lh) var(--font);font-synthesis:none;-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4,p,ul,ol,dl,pre,table,blockquote,figure,fieldset{margin:0 0 var(--s4)}h1,h2,h3,h4{color:var(--strong);line-height:1.25;overflow-wrap:anywhere}h1,h2,h3,h4{font-weight:700;text-transform:uppercase;letter-spacing:.01em}h1{font-size:18px}h2{font-size:var(--size)}h3,h4{font-size:var(--small);color:var(--muted)}h1:before,h2:before,h3:before,h4:before{color:var(--faint);font-weight:400}h1:before{content:"# ";content:"# " / ""}h2:before{content:"## ";content:"## " / ""}h3:before{content:"### ";content:"### " / ""}h4:before{content:"#### ";content:"#### " / ""}ul,ol{padding-left:var(--s5)}li::marker{color:var(--faint)}strong,b{color:var(--strong);font-weight:700}small{font-size:var(--small);color:var(--muted)}mark{background:var(--accent-wash);color:var(--strong)}abbr[title]{text-decoration:underline dotted var(--faint);text-underline-offset:3px}code,pre,kbd,samp{font:inherit}code,samp{color:var(--strong)}kbd{padding:0 .5ch;border:1px solid var(--line-strong);color:var(--strong)}pre{overflow-x:auto;padding:var(--s3) var(--s4);border-radius:var(--radius);background:var(--inset);color:var(--strong);line-height:1.55}hr{margin:var(--s5) 0;border:0;border-top:1px solid var(--line)}img,svg,video{max-width:100%}figure{margin-inline:0}figcaption{color:var(--muted)}time{font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}caption{margin-bottom:var(--s3);color:var(--muted);text-align:left}th,td{padding:10px var(--s3);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-weight:400}thead th{color:var(--faint);font-size:var(--small);white-space:nowrap}tbody th{color:var(--strong)}tbody tr:last-child>*{border-bottom:0}summary{display:flex;align-items:center;gap:1ch;min-height:var(--control);cursor:pointer;list-style:none;color:var(--strong)}summary::-webkit-details-marker{display:none}summary:after{content:"+";content:"+" / "";color:var(--accent)}details[open]>summary:after{content:"−";content:"−" / ""}details{margin-bottom:var(--s3)}button,input,select,textarea{font:inherit;color:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5ch;min-height:var(--control);padding:0 .5ch;border:0;border-radius:0;background:none;color:var(--accent);cursor:pointer;white-space:nowrap;touch-action:manipulation}button:before,.button:before{content:"[";content:"[" / "";color:var(--faint)}button:after,.button:after{content:"]";content:"]" / "";color:var(--faint)}button:hover:not(:disabled),.button:hover{background:var(--accent-wash);text-decoration:none}button:disabled,.button[aria-disabled=true]{color:var(--faint);cursor:not-allowed}label{display:block;color:var(--strong)}fieldset{min-width:0;padding:0;border:0}legend{padding:0;margin-bottom:var(--s2);color:var(--muted);font-size:var(--small)}input,select,textarea{display:block;width:100%;min-width:0;min-height:var(--field);margin:0;padding:0 var(--s3);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);color:var(--strong);font-size:var(--size);appearance:none;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--faint);opacity:1}input:hover,select:hover,textarea:hover{border-color:var(--muted)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent);border-radius:0}input:disabled,select:disabled,textarea:disabled{background:var(--inset);color:var(--faint);cursor:not-allowed}input[readonly],textarea[readonly]{background:var(--inset)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}textarea{padding-block:var(--s3);min-height:96px;line-height:var(--lh);resize:vertical}select{padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);background-size:5px 5px;background-repeat:no-repeat;background-position:right 17px center,right 12px center;cursor:pointer}option{background:var(--card);color:var(--strong)}input[type=checkbox],input[type=radio]{display:inline-block;flex:none;width:auto;height:auto;min-height:0;margin:0;padding:0;border:0;outline-offset:2px;background:none;color:var(--faint);font-size:inherit;cursor:pointer;white-space:pre;vertical-align:top}input[type=checkbox]:before{content:"[ ]"}input[type=checkbox]:checked:before{content:"[x]"}input[type=checkbox]:indeterminate:before{content:"[-]"}input[type=radio]:before{content:"( )"}input[type=radio]:checked:before{content:"(*)"}input[type=checkbox]:checked,input[type=checkbox]:indeterminate,input[type=radio]:checked{color:var(--accent)}input[type=checkbox]:disabled,input[type=radio]:disabled{color:var(--line-strong)}input[type=search]::-webkit-search-cancel-button{appearance:none}::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}[data-theme=dark] ::-webkit-calendar-picker-indicator{filter:invert(1)}@media(prefers-color-scheme:dark){[data-theme=auto] ::-webkit-calendar-picker-indicator{filter:invert(1)}}@supports (-webkit-touch-callout: none){input,select,textarea{font-size:16px}}dialog{width:min(480px,calc(100% - var(--pad) * 2));max-height:calc(100dvh - var(--pad) * 2);padding:var(--s5);border:1px solid var(--line-strong);border-radius:0;background:var(--card);color:var(--text);box-shadow:var(--shadow-pop);overflow-y:auto}dialog::backdrop{background:var(--overlay)}dialog>:first-child{margin-top:0}dialog>:last-child{margin-bottom:0}@media(max-width:719px){dialog:modal{width:100%;max-width:none;margin:auto 0 0;border-width:1px 0 0;padding-bottom:max(var(--s5),env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.muted{color:var(--muted)}.faint{color:var(--faint)}.strong{color:var(--strong)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spacer{margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:var(--pad);top:-80px;z-index:var(--z-toast);padding:var(--s2) var(--s3);background:var(--accent);color:var(--on-accent)}.skip-link:focus{top:8px}.page{max-width:var(--measure);margin-inline:auto;padding-inline:max(var(--pad),env(safe-area-inset-left)) max(var(--pad),env(safe-area-inset-right))}.page.wide{max-width:calc(var(--wide) + var(--pad) * 2)}.card,.panel{min-width:0;padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow)}.card>:last-child,.panel>:last-child{margin-bottom:0}.card>h2:first-child,.panel>h2:first-child{margin-bottom:var(--s3)}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);margin-bottom:var(--s3)}.card-head>*{margin-block:0}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--col, 320px),100%),1fr));gap:var(--s4)}.cols>*{min-width:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-bottom:var(--s4)}.toolbar>*{margin-block:0}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s4)}.wordmark{color:var(--strong);font-weight:700;white-space:nowrap}.wordmark:after{content:"_";content:"_" / "";color:var(--accent)}.wordmark:hover{text-decoration:none}.tabs{display:flex;gap:var(--s5);margin-bottom:var(--s4);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs>*{flex:none;min-height:var(--control);padding:0;background:none;color:var(--muted);display:inline-flex;align-items:center}.tabs>*:before,.tabs>*:after{content:none}.tabs>*:hover:not(:disabled){background:none;color:var(--accent);text-decoration:none}.tabs>[aria-selected=true],.tabs>[aria-current]{color:var(--accent);font-weight:700;box-shadow:inset 0 -2px 0 var(--accent)}.button-group,.segmented{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;vertical-align:top}.button-group>button,.button-group>.button,.segmented>button{flex:none;min-height:var(--segment);padding:0 1ch;border:1px solid var(--line);background:none;color:var(--muted);font-size:var(--small)}.button-group>*+*,.segmented>*+*{margin-left:-1px}.button-group>:before,.button-group>:after,.segmented>:before,.segmented>:after{content:none}.button-group>:not([aria-pressed=true]):hover:not(:disabled),.segmented>:not([aria-pressed=true]):hover:not(:disabled){position:relative;background:var(--hover);color:var(--strong)}.button-group>[aria-pressed=true],.segmented>[aria-pressed=true]{position:relative;z-index:1;border-color:var(--accent);background:var(--accent-wash);color:var(--accent);font-weight:700}.button-group>:focus-visible,.segmented>:focus-visible{position:relative;z-index:2;outline-offset:-2px}.button-group>:disabled,.segmented>:disabled{color:var(--faint)}.solid{padding:0 1.5ch;background:var(--accent);color:var(--on-accent);font-weight:700}.solid:before,.solid:after{content:none}.solid:hover:not(:disabled),a.solid:hover{background:var(--strong);color:var(--bg)}.solid:disabled{background:var(--inset);color:var(--faint)}.quiet{color:var(--muted)}.quiet:hover:not(:disabled){color:var(--strong)}button.danger,.button.danger{color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-wash)}.solid.danger{background:var(--danger);color:var(--on-accent)}.block{display:flex;width:100%}.field{margin-bottom:var(--s4)}.field>label{margin-bottom:6px}.field>small,.check small{display:block}.field>small{margin-top:6px}.hint{margin-left:var(--s2);color:var(--faint);font-weight:400}.error{color:var(--danger)}.check{display:flex;align-items:center;gap:1ch;width:fit-content;min-height:var(--control);color:var(--text);font-weight:400;cursor:pointer}.check:has(:disabled){color:var(--faint);cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:0 var(--s4)}.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s4);padding:0;list-style:none}.chip{display:inline-flex;align-items:center;gap:1ch;min-height:32px;padding:0 1ch;border:1px solid var(--line-strong);color:var(--text);white-space:nowrap}.chip button{min-height:28px;padding:0;color:var(--faint)}.chip button:before,.chip button:after{content:none}.chip button:hover:not(:disabled){background:none;color:var(--danger)}.table-wrap{overflow-x:auto;margin-bottom:var(--s4);scrollbar-width:thin}.table-wrap table{margin:0}table.plain :is(th,td):first-child{padding-left:0}table.plain :is(th,td):last-child{padding-right:0}table.compact th,table.compact td{padding-block:var(--s2)}table.fixed{table-layout:fixed}table.hover tbody tr:hover{background:var(--hover)}tr[aria-selected=true]{background:var(--accent-wash)}td.num,th.num{text-align:right}td .check{display:inline-flex;min-height:0}.defs{display:grid;grid-template-columns:var(--term, 120px) minmax(0,1fr);gap:var(--s1) var(--s3)}.defs dt{color:var(--muted)}.defs dd{margin:0;color:var(--strong);overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin:0 0 var(--s4)}.stat{min-width:0;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow)}.stat dt{color:var(--faint);font-size:var(--small);text-transform:uppercase;letter-spacing:.03em}.stat dd{margin:2px 0 0;color:var(--strong);font-size:24px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.stat dd strong{font-weight:inherit}@media(min-width:720px){.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.badge{color:var(--text);font-weight:400;white-space:nowrap}.badge:before{content:"● ";content:"● " / "";color:var(--faint)}.badge.ok:before{color:var(--ok)}.badge.warn:before{color:var(--warn)}.badge.danger:before{color:var(--danger)}.badge.info:before{color:var(--info)}.badge.accent:before{color:var(--accent)}.bar{display:block;height:6px;background:linear-gradient(to right,var(--bar, var(--chart-1)) var(--v, 0%),var(--inset) 0)}.rows{margin:0 0 var(--s4);padding:0;list-style:none}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s2) var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line);color:var(--text)}.rows>.row:first-child{padding-top:0}.rows>.row:last-child{border-bottom:0;padding-bottom:0}.empty{margin-bottom:var(--s4);padding:var(--s5) var(--s4);background:var(--inset);color:var(--muted)}.empty>:last-child{margin-bottom:0}.note{margin-bottom:var(--s4);padding:var(--s1) 0 var(--s1) 2ch;border-left:2px solid var(--accent);color:var(--muted);overflow-wrap:anywhere}.note>:last-child{margin-bottom:0}.note.ok{border-color:var(--ok)}.note.warn{border-color:var(--warn)}.note.danger{border-color:var(--danger);color:var(--danger)}.note.info{border-color:var(--info)}.spinner{display:inline-block;width:1ch;height:1lh;overflow:hidden;color:var(--accent);white-space:pre;vertical-align:top}.spinner:before{content:"~";display:inline-block}@media(prefers-reduced-motion:no-preference){.wordmark:after{animation:harbor-blink 1.1s steps(1) infinite}.spinner:before{content:"|/-\\";animation:harbor-spin .6s steps(4) infinite}}@keyframes harbor-blink{50%{opacity:0}}@keyframes harbor-spin{to{transform:translate(-4ch)}}.pop{position:absolute;z-index:var(--z-menu);top:calc(100% + 6px);left:0;min-width:100%;width:max-content;max-width:calc(100vw - var(--pad) * 2);padding:var(--s2);border:1px solid var(--line-strong);background:var(--card);box-shadow:var(--shadow-pop)}.pop.end{left:auto;right:0}.pop ul{margin:0;padding:0;list-style:none}.pop a,.pop .menu-item{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:var(--control);padding:0 var(--s3);background:none;color:var(--text)}.pop .menu-item:before,.pop .menu-item:after{content:none}.pop a:hover,.pop .menu-item:hover:not(:disabled){background:var(--hover);color:var(--strong);text-decoration:none}.pop a[aria-current]{color:var(--accent);font-weight:700}.pop a[aria-current]:before{content:"> ";content:"> " / "";white-space:pre}.pop hr{margin:var(--s2) 0}@media(max-width:719px){.defs{grid-template-columns:1fr;gap:0}.defs dd{margin-bottom:var(--s3)}.actions>.solid{flex:1}}.c1{--c: var(--chart-1)}.c2{--c: var(--chart-2)}.c3{--c: var(--chart-3)}.c4{--c: var(--chart-4)}.c5{--c: var(--chart-5)}.c6{--c: var(--chart-6)}.c7{--c: var(--chart-7)}.c-other{--c: var(--chart-other)}.chart{min-width:0;margin:0}.chart figcaption{margin-bottom:var(--s2);color:var(--strong)}.chart .empty{border:0;padding:var(--s5) 0}.chart-plot{position:relative;margin-bottom:var(--s2)}.chart-plot svg{display:block;max-width:none;overflow:visible}.chart-plot.scrolls{overflow-x:auto;scrollbar-width:thin}.chart text{fill:var(--faint);font:var(--tiny) var(--font);font-variant-numeric:tabular-nums}.chart text.label{fill:var(--muted)}.chart .grid{stroke:var(--chart-grid);stroke-width:1;shape-rendering:crispEdges}.chart .axis{stroke:var(--chart-axis);stroke-width:1;shape-rendering:crispEdges}.chart .line{fill:none;stroke:var(--c);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--c);fill-opacity:.12;stroke:none}.chart .dot{fill:var(--c);stroke:var(--card);stroke-width:2}.chart .col{fill:var(--c)}.chart .band{fill:transparent}.chart .band.is-active{fill:var(--hover)}.chart .cross{stroke:var(--line-strong);stroke-width:1;shape-rendering:crispEdges}.chart [hidden]{display:none}.chart .cell{stroke:var(--card);stroke-width:2}.chart .cell.is-active{stroke:var(--strong);stroke-width:1}.h0{fill:var(--inset);background:var(--inset)}.h1{fill:var(--seq-1);background:var(--seq-1)}.h2{fill:var(--seq-2);background:var(--seq-2)}.h3{fill:var(--seq-3);background:var(--seq-3)}.h4{fill:var(--seq-4);background:var(--seq-4)}.h5{fill:var(--seq-5);background:var(--seq-5)}.legend{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);margin:0 0 var(--s2);padding:0;list-style:none;color:var(--muted);font-size:var(--small)}.legend li{display:flex;align-items:center;gap:var(--s2);white-space:nowrap}.legend strong{font-weight:500;font-variant-numeric:tabular-nums}.key{display:inline-block;flex:none;width:1ch;height:1ch;background:var(--c)}.key.stroke{width:14px;height:3px;border-radius:2px}.scale{display:flex;align-items:center;gap:2px;color:var(--faint)}.scale i{width:12px;height:12px;border-radius:2px}.chart-tip{position:absolute;top:0;z-index:var(--z-menu);min-width:140px;padding:var(--s2) var(--s3);border:1px solid var(--line-strong);background:var(--card);box-shadow:var(--shadow-pop);color:var(--muted);font-size:var(--small);white-space:nowrap;pointer-events:none}.chart-tip p{margin:0 0 2px;color:var(--faint)}.chart-tip div{display:flex;align-items:center;gap:var(--s2)}.chart-tip strong{margin-left:auto;padding-left:var(--s4);font-variant-numeric:tabular-nums}.chart-data{margin:0}.chart-data>summary{color:var(--faint)}.chart-data table{margin:0}.chart-data .table-wrap{max-height:320px;overflow-y:auto}.spark{display:inline-block;width:96px;height:24px;vertical-align:middle;overflow:visible}.spark .line{fill:none;stroke:var(--chart-other);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.spark .dot{fill:var(--accent)}.segments{display:flex;gap:2px;height:8px;margin-bottom:var(--s2);border-radius:4px;overflow:hidden}.segments>*{flex:var(--v, 1) 0 0;min-width:2px;background:var(--c)}@media(forced-colors:active){.chart .line{stroke:CanvasText}.chart .col,.key,.segments>*{forced-color-adjust:none}}.harbor{min-height:100dvh;padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + var(--s5))}.harbor :is(main,form,section,article,aside,.row>div){min-width:0}.harbor :is(h1,h2,h3,td,.row>div,.trace-frame summary){overflow-wrap:anywhere}.harbor form{max-width:var(--measure)}.harbor .rows pre{max-width:100%}.harbor .error:empty{display:none}.icon{flex:none}.topbar{position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.topbar-inner{display:flex;align-items:center;gap:var(--s3);min-height:56px}.topbar details{position:relative;margin:0}.switcher{min-width:0}.switcher>summary{min-height:36px;max-width:46vw;padding:0 1ch;border:1px solid var(--line-strong);background:var(--card)}.switcher .pop{min-width:220px}.account{margin-left:auto!important}.account>summary{justify-content:center;width:40px;min-height:40px;border-radius:var(--radius);color:var(--muted)}.account>summary:after{content:none}.account>summary:hover,.account[open]>summary{background:var(--hover);color:var(--strong)}.account .pop{min-width:220px}.menu-theme{padding:var(--s1) var(--s2)}.menu-theme .button-group{display:flex}.menu-theme .button-group>button{flex:1}.top-tabs{display:none}.tabbar{position:fixed;inset:auto 0 0;z-index:var(--z-sticky);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:11px;font-weight:600}.tabbar a:hover{text-decoration:none}.tabbar a[aria-current]{color:var(--accent);font-weight:700;box-shadow:inset 0 2px 0 var(--accent)}.shell-main{padding-top:var(--s4);outline:0}.screen-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s3);margin-bottom:var(--s4)}.screen-head>*{margin-block:0;min-width:0}.back-link{display:inline-flex;align-items:center;gap:var(--s1);min-height:36px;margin-bottom:var(--s2);color:var(--muted);font-weight:550}button.back-link{margin-left:calc(var(--s2) * -1)}.rows .row>div>:is(pre,form,textarea,.note,.field){margin-block:var(--s3)}.rows .row>div>button,.rows .row>div>form+button{margin:0 var(--s2) var(--s2) 0}.rows .row pre{white-space:pre-wrap;overflow-wrap:anywhere}.rows .row form>button{margin-top:calc(var(--s2) * -1)}.settings-section .card>button,.settings-section .card>form+button{margin-top:var(--s2)}.webhooks :is(input:not([type=checkbox],[type=radio]),select){min-height:var(--control)}.webhooks pre{white-space:pre-wrap;overflow-wrap:anywhere}.webhook-group{margin-top:var(--s4);padding-left:var(--s3);border-left:1px solid var(--line)}.tokens-screen{display:grid;gap:var(--s5);max-width:var(--measure)}.tokens-screen>h1{margin:0}.tokens-screen input{min-height:var(--control)}.tokens-screen pre{white-space:pre-wrap;overflow-wrap:anywhere}.tokens-screen .card>button+h2{margin-top:var(--s5)}.login-page{display:grid;place-content:center;justify-items:center;gap:var(--s4);padding:var(--pad)}.login-card{width:min(380px,calc(100vw - var(--pad) * 2));padding:var(--s5)}.login-card .wordmark{display:block;margin-bottom:var(--s5);font-size:20px}.login-card .solid{width:100%}.shell-main>div>form:only-child{padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow)}.project-list{display:grid;gap:var(--s3);margin:0;padding:0;list-style:none}.project{display:grid;gap:var(--s3)}.project-name{color:var(--strong);font-size:16px;font-weight:700}.project-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2) var(--s4);margin:0}.project-numbers dt{color:var(--muted);font-size:var(--tiny)}.project-numbers dd{margin:0;color:var(--strong);font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}.project-numbers dd a{color:inherit}.project-numbers dd .muted{font-size:var(--tiny);font-weight:500}.settings-section{margin-bottom:var(--s6)}.settings-section>h2{margin-bottom:var(--s2);color:var(--muted);font-size:var(--small);text-transform:uppercase;letter-spacing:.04em}.settings-section .card>h3:first-child{margin-top:0}.settings-section h3{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line)}.settings-section form{margin-bottom:var(--s4)}@media(min-width:720px){.harbor{padding-bottom:var(--s7)}.tabbar{display:none}.top-tabs{display:flex;gap:var(--s1);margin-left:var(--s2)}.top-tabs a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--s3);border-radius:var(--radius);color:var(--muted);font-weight:550}.top-tabs a:hover{color:var(--strong);text-decoration:none}.top-tabs a[aria-current]{color:var(--accent);font-weight:700;box-shadow:inset 0 -2px 0 var(--accent)}.top-tabs .icon{width:18px;height:18px}.switcher>summary{max-width:260px}.shell-main{padding-top:var(--s5)}.project{grid-template-columns:minmax(0,1fr) auto;align-items:center}.project-numbers{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:124px;text-align:right}}.chart .chart-data .table-wrap{max-height:280px}.chart-panel .card-head{margin-bottom:var(--s2)}.traffic-chart .chart-plot{overflow-x:auto;overflow-y:hidden;padding:var(--s2) 0}.traffic-chart .chart-plot svg{min-width:0}.traffic-chart .chart-data td:first-child{white-space:nowrap}.chart-placeholder{padding:var(--s7) 0;color:var(--muted);text-align:center}.chart-tip{max-width:100%}.ranking .card-head{min-height:var(--segment)}.ranking-note{margin-bottom:var(--s2);font-size:var(--small)}.ranking-scroll{overflow-x:auto}.rank-table{table-layout:fixed;margin:0}.rank-table :is(th,td){padding:2px 0 2px var(--s3);border:0;vertical-align:middle}.rank-table thead th{padding-bottom:6px}.rank-table :is(th,td):first-child{padding-left:0}.ranking-count{width:9ch}.rank-label>*{display:block;width:100%;padding:6px 1ch;overflow:hidden;background:linear-gradient(var(--accent-wash),var(--accent-wash)) left / var(--v, 0%) 100% no-repeat;box-shadow:inset 2px 0 0 var(--accent);color:var(--strong);text-align:left;text-overflow:ellipsis;white-space:nowrap}.rank-detail{display:block;overflow:hidden;text-overflow:ellipsis}.rank-label>button:hover:not(:disabled){background:linear-gradient(var(--accent-wash),var(--accent-wash)) left / var(--v, 0%) 100% no-repeat,var(--hover);color:var(--accent)}.table-empty{margin:0;padding:var(--s5) 0;color:var(--muted);text-align:center}.ranking .more{margin-top:var(--s2)}.site-select{width:auto;max-width:56vw}.harbor .status{margin-left:var(--s2)}.range-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-bottom:var(--s4)}.range-menu{position:relative;margin:0}.range-menu>summary{min-height:var(--segment);padding:0 1ch;border:1px solid var(--line);color:var(--muted);font-size:var(--small)}.range-menu>summary.active{border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}.range-panel{width:min(360px,calc(100vw - var(--pad) * 2));padding:var(--s4)}.date-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.date-inputs label{font-size:var(--small)}.date-inputs input{margin-top:6px}.date-inputs>span,.date-inputs>button{grid-column:1 / -1}.range-panel .error{margin:var(--s3) 0 0}.harbor .updated{margin-left:auto;color:var(--faint);font-size:var(--small)}.range-bar .refresh{margin-right:calc(var(--s2) * -1)}.analytics-body{display:grid;gap:var(--s4)}.analytics-body>*{margin-block:0;min-width:0}.harbor .metric{cursor:help}.more-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.more-metrics .stat{padding:0;border:0;border-radius:0;background:none;box-shadow:none}.more-metrics .stat dd{font-size:18px}.rankings{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4)}.harbor .snippet{min-height:76px;font-family:var(--mono);font-size:var(--small)}@media(min-width:720px){.headline{grid-template-columns:repeat(4,minmax(0,1fr))}.headline .stat{padding:var(--s4) var(--s5)}.headline .stat dd{font-size:30px}.more-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media(min-width:960px){.rankings{grid-template-columns:repeat(2,minmax(0,1fr))}}.realtime{display:grid;gap:var(--s4)}.realtime h2{display:flex;align-items:center;gap:1ch;margin-bottom:var(--s2)}.live{width:8px;height:8px;border-radius:50%;background:var(--accent)}.realtime-count{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 1.5ch;margin-bottom:var(--s3)}.realtime-count strong{font-size:40px;line-height:1.1;font-variant-numeric:tabular-nums}.realtime-bars{display:flex;align-items:flex-end;gap:2px;height:56px;border-bottom:1px solid var(--line)}.realtime-bars i{flex:1;height:max(2px,var(--h));background:var(--accent)}.realtime-bars i.none{background:var(--line-strong)}.realtime-axis{display:flex;justify-content:space-between;margin:var(--s1) 0 0;font-size:var(--tiny)}.realtime-list .segmented{margin-bottom:var(--s2)}.realtime-list .table-empty{padding:var(--s4) 0;text-align:left}@media(prefers-reduced-motion:no-preference){.live{animation:harbor-live 1.6s ease-in-out infinite}}@keyframes harbor-live{50%{opacity:.25}}@media(min-width:720px){.realtime{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6)}}.page-title{margin-bottom:var(--s3)}.page-title h1{margin:0}.workspace-summary{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s5);margin:0 0 var(--s4)}.workspace-summary>div{display:flex;align-items:baseline;gap:var(--s2)}.workspace-summary dt{color:var(--muted);font-size:var(--small)}.workspace-summary dd{margin:0;color:var(--strong);font-weight:650;font-variant-numeric:tabular-nums}.harbor .issue-filters{max-width:none;margin-bottom:var(--s3)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.inbox-search{flex:1 1 100%;min-width:0}.inbox-search input{width:100%}.status-select{flex:1;min-width:0}.filter-popover{inset:auto;margin:0;position-area:bottom span-left;position-try-fallbacks:flip-block,flip-inline;width:min(480px,calc(100vw - var(--pad) * 2));max-height:calc(100dvh - var(--pad) * 2);padding:var(--s4);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);color:var(--text);box-shadow:var(--shadow-pop)}.filter-popover h2{margin-top:0}.filter-popover .toolbar{margin-bottom:0}.active-filters{margin-block:var(--s2) 0;align-items:center}.active-filters .chip{max-width:100%}.activity-disclosure{margin-bottom:var(--s3);padding:0 var(--card-pad);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow)}.activity-disclosure>summary{color:var(--muted);font-weight:500}.activity-disclosure[open]{padding-bottom:var(--s3)}.activity-disclosure section>h2{margin-top:var(--s2)}.inbox-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s2);min-height:calc(var(--control) + var(--s2));margin-top:var(--s2);padding-inline:var(--s3)}.inbox-toolbar>*{flex:none;margin:0}.inbox-toolbar .inbox-status{flex:1 0 auto;color:var(--muted);font-variant-numeric:tabular-nums}.inbox-toolbar button{min-height:34px;padding-inline:.5ch}.table-wrap:has(>.issue-table){border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow)}.issue-table .issue-cell{width:100%;max-width:0}.table-wrap>.issue-table :is(th,td):first-child{padding-left:var(--s4)}.table-wrap>.issue-table :is(th,td):last-child{padding-right:var(--s4)}.issue-table :is(th,td){padding-inline:var(--s3);vertical-align:top}.issue-table td{padding-block:var(--s3)}.issue-table .check{margin:0}.issue-table .select-col{width:auto;white-space:nowrap}.issue-table .trend-col{min-width:120px}.issue-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--strong);font-weight:650}.issue-title:hover{color:var(--accent)}.issue-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);margin:2px 0 0;color:var(--muted);font-size:var(--small)}.issue-meta .badge{flex:none}.issue-type{color:var(--muted)}.issue-heading{margin-bottom:var(--s3)}.issue-heading .issue-type{margin:0 0 var(--s1);color:var(--danger);font-family:var(--mono);font-size:var(--small);font-weight:600}.issue-heading h1{margin-bottom:var(--s2);white-space:pre-wrap}.issue-culprit{margin-bottom:var(--s2);color:var(--muted);font-family:var(--mono);font-size:var(--small);overflow-wrap:anywhere}.issue-facts{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s4);margin:0;color:var(--muted);font-size:var(--small)}.issue-facts strong{color:var(--strong)}.triage-toolbar{margin-bottom:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}.issue-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4)}.issue-workspace h2,.issue-workspace h3{margin-top:var(--s4);margin-bottom:var(--s2)}.debugger{padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow)}.event-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s3);margin-bottom:var(--s2)}.event-navigation h2{margin:0}.event-steps{display:flex;gap:var(--s3);margin-left:auto}.debug-tabs{margin-bottom:var(--s3)}.debug-panel{min-width:0}.debug-panel>.toolbar{margin-bottom:var(--s2)}.exception+.exception{margin-top:var(--s5)}.exception-title{margin-block:0 var(--s2);font-family:var(--mono);font-size:var(--small);white-space:pre-wrap;text-transform:none;letter-spacing:0;color:var(--strong)}.trace-frame{margin:0;padding-block:var(--s1);border-top:1px solid var(--line)}.trace-frame summary{position:relative;flex-wrap:wrap;gap:0 var(--s2);padding:var(--s2) var(--s5) var(--s2) 0;font-family:var(--mono);font-size:var(--small);font-weight:500}.trace-frame summary>span{display:block;min-width:0}.trace-frame summary:after{position:absolute;top:16px;right:4px}.frame-function{overflow-wrap:anywhere}.frame-file{flex-basis:100%;color:var(--muted);overflow-wrap:anywhere}.crash-mark{color:var(--danger)}.vendor-toggle{margin-top:var(--s2)}.code-context{margin-block:var(--s2);padding:var(--s2) 0;tab-size:4;font-size:var(--small)}.code-line{display:block;padding-right:var(--s3)}.code-line .ln{display:inline-block;min-width:5ch;padding-right:1ch;color:var(--faint);text-align:right;-webkit-user-select:none;user-select:none}.context-line{color:var(--muted)}.crashing-line{min-width:100%;width:max-content;color:var(--strong);background:var(--danger-wash);box-shadow:inset 3px 0 0 var(--danger)}.crashing-line .ln{color:var(--danger)}.history-disclosure{margin-top:var(--s4);padding-top:var(--s2);border-top:1px solid var(--line)}.history-disclosure summary{color:var(--muted)}.issue-sidebar{padding:var(--card-pad);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow)}.issue-sidebar>h2:first-child{margin-top:0}.issue-sidebar>details{margin:var(--s2) 0 0;border-top:1px solid var(--line)}.issue-sidebar>details>summary{color:var(--muted)}.summary-fields,.event-fields{--term: 110px}.field-pair{display:contents}.event-fields dd,.break-value{overflow-wrap:anywhere}.event-fields pre{margin:0}.issue-sidebar .activity-disclosure{padding:0;border-width:1px 0 0;border-radius:0;background:none;box-shadow:none}.issue-sidebar .activity-disclosure .chart-plot{overflow-x:auto}.tag-distribution td{padding-inline:0}.breadcrumb-table details{margin:0}.breadcrumb-table td:first-child{width:170px}.debugger pre,.issue-sidebar pre{max-width:100%}@media(min-width:720px){.inbox-search{flex:1 1 0}.status-select{flex:none;width:150px}}@media(min-width:1100px){.issue-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}@media(max-width:1099px){.issue-table .trend-col{display:none}}@media(max-width:719px){.filter-popover{position-area:none;position-try-fallbacks:none;inset:auto 0 0;width:100%;max-height:80dvh;margin:0;border-radius:var(--radius-card) var(--radius-card) 0 0}.filter-popover::backdrop{background:var(--overlay)}.issue-table thead{display:none}.issue-table,.issue-table tbody{display:block}.issue-table tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:var(--s2);align-items:start;padding:var(--s3) var(--s3) var(--s3) var(--s2);border-bottom:1px solid var(--line)}.issue-table tbody tr:last-child{border-bottom:0}table.issue-table td{display:block;padding:0;border:0}.issue-table .select-col{grid-row:span 2;width:auto}.issue-table .select-col .check{min-height:28px;padding:0 var(--s1)}.issue-table .issue-cell{grid-column:2 / 4;width:auto;max-width:none}.issue-table td.num.strong{grid-column:2;grid-row:2;margin-top:var(--s1);text-align:left;color:var(--muted);font-size:var(--small);font-weight:500}.issue-table td.num.strong:after{content:" events";content:" events" / ""}.issue-table td.num.muted{grid-column:3;grid-row:2;margin-top:var(--s1);font-size:var(--small)}.issue-title{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.event-steps{margin-left:0;width:100%}.code-context code{white-space:pre-wrap}.code-line{padding-left:4ch;text-indent:-4ch;overflow-wrap:anywhere}.code-line .ln{box-sizing:border-box;width:4ch;min-width:0;text-indent:0}.crashing-line{width:auto}.far-line{display:none}}.rank-label>button:before,.rank-label>button:after{content:none}.project-name:before{content:"> ";content:"> " / "";color:var(--accent);white-space:pre}.issue-heading h1,.exception-title{text-transform:none;letter-spacing:0}.issue-heading h1:before,.exception-title:before{content:none}.issue-title{font-weight:700}.tickets-status{margin-bottom:var(--s3)}.tickets-filters{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3)}.harbor .tickets-filters{max-width:none}.tickets-filters input[type=search]{flex:1 1 200px}.tickets-filters select{flex:1 1 160px;width:auto}.tickets-chips .chip{max-width:100%}.tickets-list{list-style:none;padding:0}.tickets-list>li+li{border-top:1px solid var(--line)}.tickets-row{display:block;padding:var(--s3) var(--s4);color:var(--text)}.tickets-row:hover{background:var(--hover);text-decoration:none}.tickets-row-title,.tickets-row-detail{display:flex;align-items:baseline;gap:var(--s2);min-width:0}.tickets-row-title>strong,.tickets-excerpt{flex:1;min-width:0}.tickets-row-detail{margin-top:var(--s1);color:var(--muted);font-size:var(--small)}.tickets-row-detail>span:first-child{max-width:30%}.tickets-wait{flex:none;font-variant-numeric:tabular-nums}.tickets-heading h1{margin-block:var(--s3);text-transform:none;letter-spacing:0}.tickets-heading h1:before{content:none}.tickets-heading select{width:auto}.tickets-workspace,.tickets-conversation{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4)}.tickets-messages{margin:0;list-style:none}.tickets-message{padding-block:var(--s3)}.tickets-message:first-child{padding-top:0}.tickets-message:last-child{padding-bottom:0}.tickets-message+.tickets-message{border-top:1px solid var(--line)}.tickets-message header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s3);margin-bottom:var(--s2);overflow-wrap:anywhere}.tickets-message header time{color:var(--muted);font-size:var(--small)}.tickets-note .tickets-body{padding:var(--s3);border-left:2px solid var(--warn);background:var(--warn-wash)}.tickets-support .tickets-body{padding-left:var(--s3);border-left:2px solid var(--accent)}.tickets-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.harbor .tickets-reply{max-width:none}.tickets-reply .segmented{margin-bottom:var(--s3)}.tickets-details h2:not(:first-child){margin-top:var(--s5)}.tickets-other{list-style:none;padding:0}.tickets-other li{display:grid;gap:var(--s1);margin-bottom:var(--s2);overflow-wrap:anywhere}.tickets-other a,.tickets-meta a{display:inline-flex;align-items:center;overflow-wrap:anywhere}.tickets-meta dt{color:var(--muted)}.tickets-meta dd{margin:0 0 var(--s2)}.tickets-meta a:not(.button){display:flex}.tickets-settings pre{white-space:pre-wrap;overflow-wrap:anywhere}@media(min-width:1100px){.tickets-workspace{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}
