.cp-playground{--cp-mono:var(--blume-font-mono,ui-monospace, SFMono-Regular, monospace);--cp-border:var(--blume-border);--cp-surface:var(--blume-muted);--cp-page:var(--blume-background,Canvas);--cp-hover:color-mix(in srgb, currentColor 6%, transparent);--cp-dim:var(--blume-muted-foreground);--cp-accent:var(--blume-accent,#7253ed);--cp-syntax-keyword:#d73a49;--cp-syntax-string:#032f62;--cp-syntax-number:#005cc5;--cp-syntax-builtin:#6f42c1;--cp-syntax-comment:#6a737d;flex-direction:column;gap:1rem;max-width:90rem;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex}:root[data-theme=dark] .cp-playground{--cp-syntax-keyword:#f97583;--cp-syntax-string:#9ecbff;--cp-syntax-number:#79b8ff;--cp-syntax-builtin:#b392f0}.cp-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.cp-header h1{margin:0 0 .35rem;font-size:1.5rem;line-height:1.2}.cp-subtitle{max-width:60ch;color:var(--cp-dim);margin:0;font-size:.9rem;line-height:1.55}.cp-subtitle code{font-family:var(--cp-mono);font-size:.85em}.cp-performance-notice{border:1px solid color-mix(in srgb, var(--cp-accent) 45%, var(--cp-border));background:color-mix(in srgb, var(--cp-accent) 8%, var(--cp-page));border-radius:4px;padding:1rem 1.25rem}.cp-performance-notice h2{margin:0 0 .4rem;font-size:1rem;font-weight:650;line-height:1.4}.cp-performance-notice p{max-width:90ch;margin:0;font-size:.9rem;line-height:1.6}.cp-run{background:var(--cp-accent);color:#fff;font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-weight:600;display:inline-flex}.cp-run:disabled{opacity:.55;cursor:not-allowed}.cp-run kbd{font-family:var(--cp-mono);opacity:.8;font-size:.75em}.cp-layout{grid-template-columns:16rem minmax(0,1fr) 15rem;align-items:start;gap:1rem;display:grid}@media (width<=1100px){.cp-layout{grid-template-columns:minmax(0,1fr)}.cp-schema{order:3}.cp-sidebar-body{max-height:24rem}}.cp-presets{flex-direction:column;gap:1.25rem;max-height:44rem;display:flex;overflow-y:auto}.cp-preset-group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--cp-dim);margin:0 0 .4rem;font-size:.7rem;font-weight:700}.cp-presets ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.cp-preset{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:.5rem .6rem;display:block}.cp-preset:hover{background:var(--cp-hover)}.cp-preset-active{border-color:var(--cp-accent);background:color-mix(in srgb, var(--cp-accent) 10%, transparent)}.cp-preset-title{font-size:.85rem;font-weight:600;display:block}.cp-preset-blurb{color:var(--cp-dim);margin-top:.15rem;font-size:.75rem;line-height:1.45;display:block}.cp-sidebar{flex-direction:column;gap:.75rem;min-width:0;display:flex}.cp-tabs{border-bottom:1px solid var(--cp-border);gap:.25rem;display:flex}.cp-tab{color:var(--cp-dim);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.35rem;margin-bottom:-1px;padding:.4rem .55rem;font-size:.8rem;display:inline-flex}.cp-tab:hover{color:inherit}.cp-tab-active{color:inherit;border-bottom-color:var(--cp-accent);font-weight:600}.cp-tab-count{background:var(--cp-hover);font-family:var(--cp-mono);border-radius:999px;padding:.05rem .35rem;font-size:.68rem;font-weight:400}.cp-sidebar-body{max-height:41rem;overflow-y:auto}.cp-saved-list,.cp-imported-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.cp-saved{border:1px solid #0000;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .2rem .15rem .4rem;display:flex}.cp-saved:hover{background:var(--cp-hover)}.cp-saved-active{border-color:var(--cp-accent);background:color-mix(in srgb, var(--cp-accent) 10%, transparent)}.cp-saved-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:auto;gap:.1rem;padding:.35rem .15rem;display:flex}.cp-saved-name{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.cp-saved-date{color:var(--cp-dim);font-size:.7rem}.cp-saved-input{border:1px solid var(--cp-accent);background:var(--cp-page);min-width:0;color:inherit;font:inherit;border-radius:3px;flex:auto;padding:.35rem .4rem;font-size:.82rem}.cp-saved-actions{opacity:0;flex:none;gap:.1rem;display:flex}.cp-saved:hover .cp-saved-actions,.cp-saved-actions:focus-within{opacity:1}.cp-saved-action{color:var(--cp-dim);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.15rem .3rem;font-size:.85rem;line-height:1}.cp-saved-action:hover{background:var(--cp-hover);color:inherit}.cp-imported{border:1px solid var(--cp-border);border-radius:4px;padding:.5rem .55rem}.cp-imported-head{align-items:center;gap:.35rem;display:flex}.cp-imported-name{min-width:0;font-family:var(--cp-mono);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.75rem;overflow:hidden}.cp-imported-meta{color:var(--cp-dim);margin:.2rem 0 0;font-size:.7rem}.cp-imported-error{color:#d94f4f;margin:.35rem 0 0;font-size:.7rem;line-height:1.45}.cp-imported-use{border:1px solid var(--cp-border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:3px;margin-top:.4rem;padding:.2rem .5rem;font-size:.72rem}.cp-imported-use:hover{background:var(--cp-hover)}.cp-toolbar{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.cp-toolbar-gap{flex:auto}.cp-tool-button{border:1px solid var(--cp-border);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.78rem;display:inline-flex}.cp-tool-button:hover:not(:disabled){background:var(--cp-hover)}.cp-tool-button:disabled{opacity:.45;cursor:not-allowed}.cp-export{position:relative}.cp-export-menu{z-index:5;border:1px solid var(--cp-border);background:var(--cp-page);border-radius:4px;min-width:15rem;padding:.3rem;position:absolute;top:calc(100% + .3rem);right:0;box-shadow:0 4px 16px #0000001f}.cp-export-note{color:var(--cp-dim);margin:.2rem .35rem .4rem;font-size:.7rem;line-height:1.45}.cp-export-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.3rem .35rem;font-size:.78rem;display:flex}.cp-export-item:hover{background:var(--cp-hover)}.cp-export-ext{font-family:var(--cp-mono);color:var(--cp-dim);font-size:.7rem}.cp-plan{border:1px solid var(--cp-border);border-radius:4px;margin:0;overflow:hidden}.cp-plan figcaption{border-bottom:1px solid var(--cp-border);background:var(--cp-surface);color:var(--cp-dim);padding:.4rem .7rem;font-size:.75rem}.cp-plan figcaption code{font-family:var(--cp-mono)}.cp-plan pre{max-height:min(60vh,34rem);font-family:var(--cp-mono);margin:0;padding:.75rem;font-size:.72rem;line-height:1.5;overflow:auto}.cp-notice{border:1px solid var(--cp-border);border-left:1px solid var(--cp-accent);background:var(--cp-surface);border-radius:4px;margin:0;padding:.55rem .7rem;font-size:.78rem;line-height:1.5}.cp-main{flex-direction:column;gap:.75rem;min-width:0;display:flex}.cp-editor-shell{border:1px solid var(--cp-border);background:var(--cp-surface);border-radius:4px;min-height:14rem;max-height:28rem;overflow:auto}.cp-editor{height:100%}.cm-tooltip.cp-completion{border:1px solid var(--cp-border);background:var(--cp-page);border-radius:4px;overflow:hidden;box-shadow:0 4px 16px #0000001f}.cm-tooltip.cp-completion>ul{max-height:16rem;font-family:var(--cp-mono);font-size:.78rem}.cm-tooltip.cp-completion>ul>li{color:inherit;align-items:baseline;gap:.5rem;padding:.2rem .5rem;display:flex}.cm-tooltip.cp-completion>ul>li[aria-selected]{background:color-mix(in srgb, var(--cp-accent) 16%, transparent);color:inherit}.cm-tooltip.cp-completion .cm-completionLabel{text-overflow:ellipsis;flex:auto;overflow:hidden}.cm-tooltip.cp-completion .cm-completionMatchedText{color:var(--cp-accent);font-weight:700;text-decoration:none}.cm-tooltip.cp-completion .cm-completionDetail{color:var(--cp-dim);flex:none;font-size:.9em;font-style:normal}.cm-tooltip.cp-completion .cm-completionIcon{opacity:.6;padding-right:.35rem}.cm-tooltip.cm-completionInfo{border:1px solid var(--cp-border);background:var(--cp-page);border-radius:4px;max-width:24rem;padding:.5rem .65rem;font-family:inherit;font-size:.78rem;line-height:1.5}.cp-status{color:var(--cp-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:1.6rem;font-size:.8rem;display:flex}.cp-status-metrics,.cp-status-extensions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.cp-status-item strong{color:inherit;font-variant-numeric:tabular-nums}.cp-running{color:var(--cp-accent)}.cp-scan{border:1px solid var(--cp-border);background:var(--cp-surface);border-radius:6px;gap:.7rem;margin:0;padding:.85rem 1rem .9rem;display:grid}.cp-scan-waiting{color:var(--cp-dim);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.cp-scan-head{color:var(--cp-dim);flex-wrap:wrap;align-items:baseline;gap:.6rem;font-size:.78rem;display:flex}.cp-scan-file{font-family:var(--cp-mono);color:inherit;font-weight:600}.cp-scan-more{border:1px solid var(--cp-border);border-radius:999px;padding:.05rem .4rem;font-size:.68rem}.cp-scan-readout{align-items:baseline;gap:.5rem;min-height:1.2rem;font-size:.78rem;display:flex}.cp-scan-readout code{font-family:var(--cp-mono);font-size:.78rem}.cp-scan-type,.cp-scan-hint{color:var(--cp-dim)}.cp-scan-tag-on{color:var(--cp-accent)}.cp-scan-tag-off{color:var(--cp-dim)}.cp-scan-grid{gap:2px;display:grid;position:relative;overflow:hidden}.cp-scan-row{grid-template-columns:repeat(var(--cp-scan-cols), minmax(0, 1fr));gap:1px;display:grid}.cp-scan-header{margin-bottom:2px}.cp-scan-hd,.cp-scan-cell{background:color-mix(in srgb, currentColor 8%, transparent);border:0;border-radius:1px;width:100%;padding:0;transition:background-color .22s,opacity .22s;display:block}.cp-scan-hd{cursor:pointer;height:11px}.cp-scan-cell{height:6px}.cp-scan-on{background:color-mix(in srgb, var(--cp-accent) 28%, transparent)}.cp-scan-read .cp-scan-on{background:var(--cp-accent)}.cp-scan-read .cp-scan-cell.cp-scan-on{background:color-mix(in srgb, var(--cp-accent) 78%, transparent)}.cp-scan-hd.cp-scan-hover{outline:1px solid var(--cp-accent);outline-offset:0}.cp-scan-running .cp-scan-grid:after{content:"";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--cp-accent) 22%, transparent) 45%, color-mix(in srgb, var(--cp-accent) 22%, transparent) 55%, transparent 100%);pointer-events:none;animation:1.4s linear infinite cp-scan-sweep;position:absolute;inset:0}@keyframes cp-scan-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.cp-scan-metrics{flex-wrap:wrap;gap:1.6rem;display:flex}.cp-scan-metric{gap:.1rem;display:grid}.cp-scan-metric-label{color:var(--cp-dim);font-size:.7rem}.cp-scan-metric-value{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:600}.cp-scan-metric-note{color:var(--cp-dim);font-size:.68rem}.cp-scan-note{color:var(--cp-dim);margin:0;font-size:.72rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.cp-scan-hd,.cp-scan-cell{transition:none}.cp-scan-running .cp-scan-grid:after{animation:none}}.cp-badge{border:1px solid var(--cp-border);font-family:var(--cp-mono);border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .45rem;font-size:.7rem;display:inline-flex}.cp-badge-version{opacity:.65}.cp-badge-failed{opacity:.7;border-style:dashed}.cp-table-scroll{border:1px solid var(--cp-border);border-radius:4px;max-height:min(60vh,34rem);overflow:auto}.cp-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.8rem;font-family:var(--cp-mono)}.cp-table th,.cp-table td{border-bottom:1px solid var(--cp-border);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:32rem;padding:.35rem .6rem;overflow:hidden}.cp-table thead th{z-index:1;background-color:var(--cp-page);background-image:linear-gradient(var(--cp-surface), var(--cp-surface));box-shadow:inset 0 -1px 0 var(--cp-border);font-weight:600;position:sticky;top:0}.cp-table tbody tr:hover{background:var(--cp-hover)}.cp-rownum{color:var(--cp-dim);text-align:right;font-variant-numeric:tabular-nums}.cp-null{color:var(--cp-dim);font-style:italic}.cp-pager{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.cp-page-button{border:1px solid var(--cp-border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .7rem;font-size:.8rem}.cp-page-button:hover:not(:disabled){background:var(--cp-hover)}.cp-page-button:disabled{opacity:.4;cursor:default}.cp-page-count{font-variant-numeric:tabular-nums;color:var(--cp-dim);font-size:.8rem}.cp-truncated,.cp-empty{color:var(--cp-dim);margin:.6rem 0 0;font-size:.8rem}.cp-empty{padding:1.5rem 0}.cp-schema{flex-direction:column;gap:.5rem;max-height:44rem;display:flex;overflow-y:auto}.cp-schema-title{letter-spacing:.08em;text-transform:uppercase;color:var(--cp-dim);margin:0;font-size:.7rem;font-weight:700}.cp-dim-text{color:var(--cp-dim);margin:0;font-size:.75rem;line-height:1.5}.cp-schema-list{margin:0;padding:0;list-style:none}.cp-schema-item{width:100%;color:inherit;font-family:var(--cp-mono);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;justify-content:space-between;gap:.5rem;padding:.25rem .35rem;font-size:.72rem;display:flex}.cp-schema-item:hover{background:var(--cp-hover)}.cp-schema-name{text-overflow:ellipsis;overflow:hidden}.cp-schema-type{color:var(--cp-dim);white-space:nowrap}.cp-boot{color:var(--cp-dim);align-items:center;gap:.6rem;padding:2.5rem 0;font-size:.9rem;display:flex}.cp-spinner{border:2px solid var(--cp-border);border-top-color:var(--cp-accent);border-radius:50%;width:.9rem;height:.9rem;animation:.8s linear infinite cp-spin}@keyframes cp-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cp-spinner{animation-duration:2.4s}}.cp-error{border:1px solid color-mix(in srgb, #d94f4f 45%, var(--cp-border));background:#d94f4f0f;border-radius:4px;padding:.85rem 1rem}.cp-error h2{margin:0 0 .45rem;font-size:.9rem}.cp-error pre{background:var(--cp-surface);font-family:var(--cp-mono);white-space:pre-wrap;word-break:break-word;border-radius:3px;margin:0;padding:.5rem .6rem;font-size:.76rem;overflow-x:auto}.cp-error p{color:var(--cp-dim);margin:.6rem 0 0;font-size:.8rem;line-height:1.55}.cp-footer{color:var(--cp-dim);font-size:.75rem}.cp-footer p{max-width:68ch;margin:0}.cp-footer p+p{margin-top:.35rem}.cp-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
