:root{color-scheme:light dark;--k-brand: light-dark(#f47171, #e78383);--k-bg: light-dark(#fdfdfd, #0f0f10);--k-surface: light-dark(#f4f4f5, #1a1a1c);--k-surface-hi: light-dark(#e4e4e7, #27272a);--k-border: light-dark(#d4d4d8, #2a2a2c);--k-selection: light-dark(#b3d4fc, #264f78);--k-top: var(--k-brand);--k-high: light-dark(#fb8023, #fbb47e);--k-normal: light-dark(#27272a, #d4d4d8);--k-low: light-dark(#71717a, #a1a1aa);--k-bottom: light-dark(#a1a1aa, #71717a);--k-danger: light-dark(#dc2626, #f87171);--k-warn: light-dark(#b45309, #fbbf24);--k-info: light-dark(#2563eb, #93c5fd);--k-ref-bg: color-mix(in srgb, var(--k-brand) 18%, transparent);--k-highlight-bg: light-dark(rgba(254, 222, 80, .55), rgba(250, 204, 21, .22));--k-shadow-color: light-dark(rgba(0, 0, 0, .12), rgba(0, 0, 0, .5));--k-chart-1: var(--k-top);--k-chart-2: light-dark(#059669, #34d399);--k-chart-3: var(--k-info);--k-chart-4: light-dark(#d97706, #fbb47e);--k-chart-5: light-dark(#7c3aed, #a78bfa);--k-chart-6: light-dark(#0891b2, #22d3ee);--k-chart-7: light-dark(#be185d, #f472b6)}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html,body{margin:0;padding:0;height:100vh;overflow:hidden}body{font-family:ui-monospace,monospace;font-size:14px;background:var(--k-bg);color:var(--k-normal);display:flex;flex-direction:column}#workspace{flex:1;display:flex;flex-direction:row;gap:0;overflow:hidden;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow 80ms ease}#workspace.k-dropping{box-shadow:inset 0 0 0 2px var(--k-brand)}.k-panel{flex:1 1 0;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--k-border)}.k-panel:last-child{border-right:none}.k-splitter{flex:0 0 4px;cursor:col-resize;background:transparent}.k-splitter:hover{background:var(--k-surface-hi)}.k-panel-title{padding:16px 16px 8px 12px;font-size:28px;font-weight:600;line-height:1.2;color:var(--k-brand);background:transparent;display:flex;align-items:center;gap:8px;opacity:.55}.k-panel-focused .k-panel-title{opacity:1}.k-panel-title-name{outline:none;white-space:pre;caret-color:var(--k-brand)}.k-panel-title-name[aria-readonly=true]{cursor:default}.k-panel-title-dot{position:relative;width:8px;height:8px;border-radius:50%;background:transparent;flex:0 0 8px;transition:background .12s ease}.k-panel-title-dot-dirty{background:var(--k-low)}.k-panel-title-dot-error{background:var(--k-danger)}.k-panel-title-dot[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:0;background:var(--k-surface);color:var(--k-normal);border:1px solid var(--k-border);border-radius:4px;padding:4px 8px;font:400 12px/1.4 ui-monospace,monospace;white-space:normal;max-width:260px;width:max-content;pointer-events:none;opacity:0;transition:opacity 80ms ease .18s;box-shadow:0 2px 8px var(--k-shadow-color);z-index:200}.k-panel-title-dot[data-tooltip]:hover:after{opacity:1}.k-panel-title-delete{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--k-low);cursor:pointer;border-radius:4px;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.k-panel-title-delete svg{width:16px;height:16px;display:block}.k-panel-title:hover .k-panel-title-delete,.k-panel-title-delete:focus-visible{opacity:1}.k-panel-title-delete:hover{background:var(--k-surface-hi);color:var(--k-danger)}.k-panel-title-delete[hidden]{display:none}.k-panel-title-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--k-low);cursor:pointer;border-radius:4px;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.k-panel-title-close svg{width:14px;height:14px;display:block}.k-panel-title:hover .k-panel-title-close,.k-panel-title-close:focus-visible{opacity:1}.k-panel-title-close:hover{background:var(--k-surface-hi);color:var(--k-normal)}.k-panel-title-close[hidden]{display:none}.k-panel-host{flex:1;position:relative;overflow:auto}.k-panel-toolbar{display:none;flex-wrap:wrap;gap:6px;padding:8px 12px 10px}.k-panel[data-kind=command_panel] .k-panel-toolbar{display:flex}.k-panel-toolbar-button{display:inline-flex;align-items:baseline;gap:6px;padding:4px 12px;border:1px solid var(--k-border);border-radius:999px;background:var(--k-bg);color:var(--k-normal);font:inherit;font-size:12px;line-height:1.4;cursor:pointer;-webkit-user-select:none;user-select:none}.k-panel-toolbar-button:hover{background:var(--k-surface-hi)}.k-panel-toolbar-button:active{background:var(--k-surface)}.k-panel-toolbar-cmd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;color:var(--k-normal)}.k-panel-toolbar-dash,.k-panel-toolbar-desc{color:var(--k-low)}.k-panel-media-body{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px;box-sizing:border-box;background:var(--k-bg)}.k-panel-media-body>img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 2px 12px var(--k-shadow-color)}.k-panel-media-body>video,.k-panel-media-body>audio{max-width:100%;max-height:100%}.k-panel-media-body>embed{width:100%;height:100%;border:none}.k-panel-media-binary{display:flex;flex-direction:column;gap:12px;align-items:center;padding:24px 32px;border:1px solid var(--k-border);border-radius:8px;background:var(--k-surface)}.k-panel-media-binary-label{color:var(--k-low);font-size:13px}.k-panel-media-binary a{color:var(--k-brand);text-decoration:underline;font-size:14px}.k-content{padding:12px;white-space:pre-wrap;line-height:1.5;outline:none;caret-color:var(--k-normal);position:relative;z-index:1;min-height:100%;box-sizing:border-box}@media (min-width: 900px){#workspace:has(.k-panel:only-child) .k-panel-title{width:70%;box-sizing:border-box;margin-left:auto;margin-right:auto}#workspace:has(.k-panel:only-child) .k-content{max-width:70%;margin-left:auto;margin-right:auto}}.k-debug-panel{flex:0 0 auto;max-height:35vh;display:flex;flex-direction:column;border-top:1px solid var(--k-border);background:var(--k-bg);font-size:11px}.k-debug-panel.collapsed .k-debug-body,.k-debug-panel.collapsed .k-debug-grip{display:none}.k-debug-grip{flex:0 0 5px;cursor:ns-resize;background:transparent;border-top:1px solid var(--k-border);transition:background 80ms ease-out}.k-debug-grip:hover{background:var(--k-border)}.k-debug-header{display:flex;gap:8px;align-items:center;padding:4px 12px;background:var(--k-surface);font-weight:600;opacity:.8}.k-debug-header button{background:var(--k-surface-hi);color:inherit;border:1px solid var(--k-border);padding:1px 8px;font:inherit;cursor:pointer;border-radius:3px}.k-debug-header button:hover{background:var(--k-border)}.k-debug-tabs{display:flex;gap:4px}.k-debug-tabs button[aria-pressed=true]{background:var(--k-bg);color:var(--k-top);border-color:var(--k-top);font-weight:600}.k-debug-tabs button[aria-pressed=true]:hover{background:var(--k-bg)}.k-debug-toolbar{flex:0 0 auto;display:flex;gap:6px;align-items:center;padding:4px 12px;background:var(--k-surface);border-bottom:1px solid var(--k-border);font-size:11px}.k-debug-toolbar-label{color:var(--k-low);font-weight:600}.k-debug-toolbar button{background:var(--k-surface-hi);color:inherit;border:1px solid var(--k-border);padding:1px 8px;font:inherit;cursor:pointer;border-radius:3px}.k-debug-toolbar button:hover{background:var(--k-border)}.k-debug-toolbar button[aria-pressed=true]{background:var(--k-bg);color:var(--k-top);border-color:var(--k-top);font-weight:600}.k-debug-body{margin:0;padding:8px 12px;overflow:auto;white-space:pre;color:var(--k-low);line-height:1.4;flex:1 1 auto;min-height:0}.k-theme-panel{position:fixed;top:12px;right:12px;z-index:100;width:280px;max-height:80vh;display:flex;flex-direction:column;font-family:ui-monospace,monospace;font-size:11px;color:var(--k-normal);background:var(--k-surface);border:1px solid var(--k-border);border-radius:6px;box-shadow:0 4px 16px var(--k-shadow-color)}.k-theme-panel.collapsed{max-height:none}.k-theme-panel.collapsed .k-theme-panel-body,.k-theme-panel.collapsed .k-theme-panel-footer{display:none}.k-theme-panel-header{display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--k-surface-hi);border-bottom:1px solid var(--k-border);border-radius:6px 6px 0 0}.k-theme-panel.collapsed .k-theme-panel-header{border-bottom:none;border-radius:6px}.k-theme-panel-title{font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:10px;flex:1 1 auto}.k-theme-panel-select,.k-theme-panel-button{background:var(--k-bg);color:inherit;border:1px solid var(--k-border);font:inherit;padding:1px 6px;border-radius:3px;cursor:pointer}.k-theme-panel-select:hover,.k-theme-panel-button:hover{background:var(--k-surface)}.k-theme-panel-body{flex:1 1 auto;overflow-y:auto;padding:4px 8px 8px}.k-theme-panel-group{margin:8px 0 4px}.k-theme-panel-group-title{font-weight:600;opacity:.6;text-transform:uppercase;font-size:9px;letter-spacing:.05em;padding-bottom:2px;margin-bottom:2px;border-bottom:1px solid var(--k-border)}.k-theme-panel-row{display:flex;align-items:center;gap:6px;padding:2px 0}.k-theme-panel-token{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.k-theme-panel-swatch{width:22px;height:18px;padding:0;border:1px solid var(--k-border);border-radius:3px;background:transparent;cursor:pointer}.k-theme-panel-hex{width:64px;font:inherit;font-size:10px;font-variant-numeric:tabular-nums;color:inherit;opacity:.6;text-align:right;background:transparent;border:1px solid transparent;padding:1px 3px;border-radius:3px;box-sizing:border-box}.k-theme-panel-hex:hover{border-color:var(--k-border);opacity:1}.k-theme-panel-hex:focus{outline:none;border-color:var(--k-brand);opacity:1}.k-theme-panel-row.overridden .k-theme-panel-hex{opacity:1;color:var(--k-brand)}.k-theme-panel-reset{width:20px;height:18px;padding:0;background:transparent;border:1px solid var(--k-border);color:inherit;font:inherit;font-size:10px;border-radius:3px;cursor:pointer}.k-theme-panel-reset:disabled{opacity:.25;cursor:default}.k-theme-panel-reset:not(:disabled):hover{background:var(--k-surface-hi)}.k-theme-panel-footer{padding:4px 8px;border-top:1px solid var(--k-border);font-size:10px;opacity:.6;text-transform:uppercase;letter-spacing:.05em}.k-container,.k-span{display:inline}.k-panel-host{overflow-anchor:none}.k-content,.k-content>*{overflow-anchor:none}.k-panel-host *::selection{background:transparent}.k-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:0}.k-overlay-rect{position:absolute}.k-overlay-selection .k-overlay-rect{background:var(--k-selection)}.k-style-top{color:var(--k-top);font-weight:600}.k-style-high{color:var(--k-high)}.k-style-normal{color:var(--k-normal)}.k-style-low{color:var(--k-low)}.k-style-bottom{color:var(--k-bottom)}.k-bold{font-weight:700}.k-italic{font-style:italic}.k-underline{text-decoration:underline}.k-strikethrough{text-decoration:line-through}.k-highlight{background:var(--k-highlight-bg)}.k-bold.expanded{font-weight:inherit}.k-italic.expanded{font-style:inherit}.k-underline.expanded,.k-strikethrough.expanded{text-decoration:none}.k-highlight.expanded{background:transparent}.k-callout{display:block;background:var(--k-surface);padding:6px 0;margin:2px 0;border-radius:4px}.k-code{display:block;background:var(--k-surface);padding:6px 0;margin:2px 0;border-radius:4px;font-family:ui-monospace,monospace}.k-callout.expanded,.k-code.expanded{display:inline;background:transparent;padding:0;margin:0;border-radius:0}.k-callout:not(.expanded)+.k-nl-lead,.k-callout:not(.expanded)+.k-nl-lead+.k-nl,.k-code:not(.expanded)+.k-nl-lead,.k-code:not(.expanded)+.k-nl-lead+.k-nl{display:none}.k-image,.k-audio,.k-video,.k-image-block,.k-audio-block,.k-video-block{margin:0}.k-media{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.k-media-marker{color:transparent;font-size:0}.k-chart-marker{color:transparent;font-size:0;white-space:pre;-webkit-user-select:none;user-select:none;display:inline-block;min-height:296px;min-width:1px;vertical-align:top}[data-chart-mounted]>.k-chart-marker{display:none}.k-chart{display:block;margin:.5em 0;max-width:560px!important;-webkit-user-select:none;user-select:none}.k-chart svg{display:block}.k-chart,.k-chart svg{--plot-background: var(--k-bg, white)}.k-chart g[aria-label=tip] tspan{font-weight:400}.k-chart g[aria-label=tip] path{stroke:color-mix(in srgb,currentColor 30%,transparent);stroke-width:1}.k-chart-hint{font-size:11px;opacity:.55;margin:0 0 4px;font-style:italic;max-width:560px;-webkit-user-select:none;user-select:none}[data-chart-mounted]:has(.k-chart-pie-tip){position:relative}.k-chart-pie-tip{position:absolute;pointer-events:none;opacity:0;visibility:hidden;background:var(--k-bg, white);color:var(--k-fg, currentColor);border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:4px;padding:4px 8px;font-size:12px;white-space:pre;z-index:1;box-shadow:0 3px 4px color-mix(in srgb,currentColor 20%,transparent);transition:opacity .12s ease-out,visibility 0s linear .12s}.k-chart-pie-tip.visible{opacity:1;visibility:visible;transition:opacity .12s ease-out,visibility 0s linear 0s}.k-image>.k-text[data-vis=display]:has(>.k-media-marker),.k-audio>.k-text[data-vis=display]:has(>.k-media-marker),.k-video>.k-text[data-vis=display]:has(>.k-media-marker){display:inline}.k-image-block>.k-text[data-vis=display]:has(>.k-media-marker),.k-audio-block>.k-text[data-vis=display]:has(>.k-media-marker),.k-video-block>.k-text[data-vis=display]:has(>.k-media-marker){display:block}.k-media-dim{opacity:.2}.k-image>.k-text[data-vis=both],.k-audio>.k-text[data-vis=both],.k-video>.k-text[data-vis=both]{display:none}.k-image .k-media{display:inline-block;vertical-align:middle;width:1.5em;height:1.5em;background-size:contain;background-repeat:no-repeat;background-position:center}.k-audio .k-media,.k-video .k-media{display:inline-block;vertical-align:middle;height:1.5em}.k-image-block,.k-audio-block,.k-video-block{display:block}.k-image-block .k-media{display:block;width:100%;max-width:480px;max-height:320px;background-size:contain;background-repeat:no-repeat;background-position:center left}.k-audio-block .k-media,.k-video-block .k-media{display:block;max-width:100%}.k-image-block:not(.expanded)+.k-nl-lead,.k-image-block:not(.expanded)+.k-nl-lead+.k-nl,.k-audio-block:not(.expanded)+.k-nl-lead,.k-audio-block:not(.expanded)+.k-nl-lead+.k-nl,.k-video-block:not(.expanded)+.k-nl-lead,.k-video-block:not(.expanded)+.k-nl-lead+.k-nl{display:none}.k-video-block>iframe.k-media{width:560px;height:315px;max-width:100%;border:0}.k-video>iframe.k-media{width:2.5em;height:1.5em;border:0}.k-image-block>.k-text,.k-audio-block>.k-text,.k-video-block>.k-text{color:var(--k-low);font-style:italic}.k-hide-marker{display:inline-block;width:.6em;height:.6em;border-radius:50%;border:1px dotted var(--k-low);background:transparent;color:transparent;vertical-align:middle;cursor:pointer}.k-header{font-weight:700}.k-header:has(>.k-span[data-vis=source][data-len="2"]){font-size:1.4em}.k-header:has(>.k-span[data-vis=source][data-len="3"]){font-size:1.3em}.k-header:has(>.k-span[data-vis=source][data-len="4"]){font-size:1.3em}.k-link,.k-url,.k-email{color:var(--k-brand);text-decoration:underline;cursor:pointer}.k-ref-clickable{cursor:pointer}.k-bullet-marker{color:var(--k-low)}.k-ordered-marker{color:var(--k-low);font-variant-numeric:tabular-nums}.k-container[data-vis=source],.k-span[data-vis=source]{display:none}.expanded>.k-container[data-vis=source],.expanded>.k-span[data-vis=source]{display:inline}.expanded>.k-container[data-vis=display],.expanded>.k-span[data-vis=display]{display:none}.k-container:has(+.k-container[data-override="1"]){display:none}.k-container.expanded:has(+.k-container[data-override="1"]){display:revert}.k-container.expanded+.k-container[data-override="1"]{display:none}.k-error{text-decoration:underline wavy var(--k-danger);text-decoration-skip-ink:none}.k-warning{text-decoration:underline wavy var(--k-warn);text-decoration-skip-ink:none}.k-hint{text-decoration:underline dotted var(--k-info);text-decoration-skip-ink:none}.k-annotations-layer{position:absolute;top:0;left:0;pointer-events:none;z-index:2}.k-annotation{position:absolute;font-style:italic;opacity:.65;white-space:pre}.k-anno-error{color:var(--k-danger)}.k-anno-fail{color:color-mix(in srgb,var(--k-danger) 55%,var(--k-warn))}.k-anno-warning{color:var(--k-warn)}.k-anno-hint{color:var(--k-info)}.k-popup{position:absolute;z-index:50;background:var(--k-surface);border:1px solid var(--k-border);border-radius:4px;padding:4px 6px;font-family:ui-monospace,monospace;font-size:13px;color:var(--k-normal);max-width:480px;box-shadow:0 4px 16px var(--k-shadow-color)}.k-popup-line{white-space:pre-wrap;padding:1px 4px;border-radius:2px}.k-popup-hover{padding:6px 8px;max-width:520px;display:flex;flex-direction:column;gap:4px;font-family:var(--k-ui-font, system-ui, -apple-system, sans-serif)}.k-popup-hover-type{font-family:ui-monospace,monospace;font-size:12px;color:var(--k-low);white-space:pre-wrap;word-break:break-word;padding-bottom:4px;border-bottom:1px solid var(--k-border)}.k-popup-hover-type:last-child{border-bottom:0;padding-bottom:0}.k-popup-hover-doc{font-size:13px;color:var(--k-normal);line-height:1.45;max-height:240px;overflow-y:auto}.k-popup-hover-doc>:first-child{margin-top:0}.k-popup-hover-doc>:last-child{margin-bottom:0}.k-popup-hover-doc p{margin:0 0 6px}.k-popup-hover-doc h1,.k-popup-hover-doc h2,.k-popup-hover-doc h3{margin:6px 0 4px;font-weight:600}.k-popup-hover-doc h1{font-size:14px}.k-popup-hover-doc h2{font-size:13px}.k-popup-hover-doc h3{font-size:13px;color:var(--k-low)}.k-popup-hover-doc ul,.k-popup-hover-doc ol{margin:4px 0;padding-left:18px}.k-popup-hover-doc li{margin:2px 0}.k-popup-hover-doc code,.k-popup-hover-doc .k-doc-ref{font-family:ui-monospace,monospace;font-size:12px;background:var(--k-surface-hi);padding:0 4px;border-radius:3px}.k-popup-hover-doc .k-doc-ref{color:var(--k-top)}.k-popup-hover-doc pre.k-doc-block{font-family:ui-monospace,monospace;font-size:12px;background:var(--k-surface-hi);padding:4px 6px;border-radius:3px;margin:4px 0;white-space:pre-wrap;overflow-x:auto}.k-popup-hover-doc strong{font-weight:600}.k-popup-hover-doc em{font-style:italic}.k-popup-hover-doc mark{background:var(--k-surface-hi)}.k-popup-hover-origin{font-size:11px;color:var(--k-low);font-style:italic;padding-top:4px;border-top:1px solid var(--k-border)}.k-popup-hover-origin:before{content:"from ";opacity:.7}.k-popup-hover-origin-link{appearance:none;background:transparent;border:0;padding:0;margin:0;font:inherit;font-style:inherit;color:var(--k-info);cursor:pointer;text-decoration:none}.k-popup-hover-origin-link:hover,.k-popup-hover-origin-link:focus-visible{text-decoration:underline}.k-hover-target{background:color-mix(in srgb,var(--k-info) 14%,transparent);border-radius:2px}.k-popup-completion{padding:0;min-width:240px;max-width:480px;display:flex;flex-direction:column}.k-completion-list{padding:2px;max-height:240px;overflow-y:auto;flex:1 1 auto;display:grid;grid-template-columns:fit-content(220px) auto minmax(0,1fr);column-gap:12px;align-content:start}.k-completion-detail{border-top:1px solid var(--k-border);padding:4px 6px;background:var(--k-surface);display:flex;flex-direction:column;gap:2px;flex:0 0 auto}.k-completion-detail-empty{display:none}.k-completion-detail-doc{color:var(--k-normal);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-completion-detail-origin{color:var(--k-low);font-size:11px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-completion-detail-origin:before{content:"from ";opacity:.7}.k-completion-detail-origin-link{appearance:none;background:transparent;border:0;padding:0;margin:0;font:inherit;font-style:inherit;color:var(--k-info);cursor:pointer;text-decoration:none}.k-completion-detail-origin-link:hover,.k-completion-detail-origin-link:focus-visible{text-decoration:underline}.k-popup-completion .k-popup-line{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:baseline;cursor:pointer;padding:1px 4px}.k-popup-completion .k-popup-line:hover{background:var(--k-surface-hi)}.k-popup-name{color:var(--k-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-popup-type{color:var(--k-bottom);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.k-popup-selected{background:var(--k-surface-hi)}.k-popup-selected .k-popup-name{color:var(--k-top)}.k-completion-chip{font-size:11px;color:var(--k-low);-webkit-user-select:none;user-select:none;white-space:nowrap}.k-completion-match{font-weight:700;color:var(--k-top)}
