@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg:#0f1117;--bg2:#161b27;--bg3:#1e2535;--border:#2a3347;--text:#e2e8f0;--text-muted:color-mix(in srgb, var(--text) 78%, var(--bg) 22%);--text-dim:color-mix(in srgb, var(--text) 55%, var(--bg) 45%);--text-soft:#48a1db;--text-accent:#4db155;--text-complementary:#dda400;--primary:#279cff;--primary-glow:#279cff26;--blue:#279cff;--green:#3db44a;--red:#dd4c62;--yellow:#e6ad00;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", ui-monospace, monospace;--font-ui:"Inter", system-ui, -apple-system, sans-serif;--radius:8px;--cm-font-size:14px;--output-font-size:13px}@supports (color:lab(0% 0 0)){:root{--text-soft:lab(62.7949% -13.8832 -37.6846);--text-accent:lab(64.8105% -44.9106 37.4389);--text-complementary:lab(71.0473% 18.5278 145.042);--primary:lab(61.9486% -4.43062 -60.3833);--primary-glow:lab(61.9486% -4.43062 -60.3833/.15);--blue:lab(61.9486% -4.43062 -60.3833);--green:lab(65.0263% -50.6023 42.8364);--red:lab(53.9245% 58.3107 20.0267);--yellow:lab(74.6481% 12.6892 76.8998)}}html[data-pg-theme=light] .pyodide-loading{background:var(--bg)}.pg-root *,.pg-root :before,.pg-root :after{box-sizing:border-box}.pg-root,.pg-root *{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.pg-root ::-webkit-scrollbar{width:8px;height:8px}.pg-root::-webkit-scrollbar{width:8px;height:8px}.pg-root ::-webkit-scrollbar-track{background:0 0}.pg-root::-webkit-scrollbar-track{background:0 0}.pg-root ::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:1px solid #0000;border-radius:4px}.pg-root::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:1px solid #0000;border-radius:4px}.pg-root ::-webkit-scrollbar-thumb:hover{background:var(--text-dim);background-clip:padding-box;border:1px solid #0000}.pg-root::-webkit-scrollbar-thumb:hover{background:var(--text-dim);background-clip:padding-box;border:1px solid #0000}.pg-root ::-webkit-scrollbar-corner{background:0 0}.pg-root::-webkit-scrollbar-corner{background:0 0}body.pg-active{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-ui);font-size:14px;overflow:hidden}.pg-app{grid-template-rows:40px 1fr;height:100dvh;display:grid}.pg-header{border-bottom:1px solid var(--border);background:var(--bg2);z-index:10;align-items:center;gap:12px;padding:0 16px;display:flex}.logo{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.brand-logo{width:auto;height:11px;display:block}.brand-name{font-family:var(--font-ui);color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600;text-decoration:none}.header-sep{flex:1}.playground-switcher{appearance:none;background-color:var(--bg3);color:var(--text);font-family:var(--font-ui);letter-spacing:-.01em;cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:15px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.playground-switcher:hover{background-color:var(--border)}.playground-switcher:focus-visible{border-color:var(--primary);outline:none}.playground-switcher-icon{color:var(--text-dim);display:inline-flex}.playground-switcher-lang-icon{flex-shrink:0;align-items:center;display:inline-flex}.bui-select-popup{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);z-index:200;min-width:180px;transform-origin:var(--transform-origin,top);outline:none;padding:4px;transition:opacity .15s,transform .15s;box-shadow:0 8px 32px #0008}.pg-lang-switcher-positioner,.pg-lang-switcher-popup{z-index:500}.bui-select-popup[data-starting-style],.bui-select-popup[data-ending-style]{opacity:0;transform:scale(.96)}.bui-select-item{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;outline:none;align-items:center;padding:7px 10px;font-size:13px;display:flex}.bui-select-item[data-highlighted],.bui-select-item:hover{background:var(--bg3)}.bui-select-item[data-selected]{color:var(--primary)}.bui-select-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-right:8px;display:inline-flex}.header-actions{background:0 0;align-items:stretch;display:flex}.header-action-wrap{align-items:stretch;display:flex;position:relative}.header-actions>*+*,.header-actions>.header-action-wrap+.header-action-wrap>.header-btn,.header-actions>.header-action-wrap+.header-btn,.header-actions>.header-btn+.header-action-wrap>.header-btn,.header-actions>.header-btn+.header-btn{border-left:1px solid var(--border)}.header-btn{color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:4px 12px;font-size:13px;transition:background .15s,color .15s;display:flex}.header-actions>*+.header-btn{border-left:1px solid var(--border)}.header-btn:hover:not(:disabled){background:var(--bg3);color:var(--text)}.header-btn:disabled{color:var(--text-dim);cursor:not-allowed}.header-btn:focus-visible{background:var(--bg3);color:var(--text);box-shadow:inset 0 0 0 1px var(--text-muted);outline:none}.header-btn[data-popup-open]{background:var(--bg3);color:var(--text)}.header-btn.icon-only{padding:4px 10px}.header-btn.icon-only svg.stroke-icon{fill:none;stroke:currentColor;flex-shrink:0}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:inline-flex}}.examples-btn{border-radius:var(--radius);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 12px;font-size:13px;transition:all .15s;display:flex}.examples-btn:hover{border-color:var(--primary);color:var(--text)}.examples-dropdown{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);z-index:100;width:220px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 32px #0008}.example-item{cursor:pointer;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 14px;font-size:13px;transition:all .1s}.example-item:last-child{border-bottom:none}.example-item:hover{background:var(--bg3);color:var(--text)}.example-item .ex-title{color:var(--text);margin-bottom:2px;font-weight:500}.example-item .ex-desc{color:var(--text-dim);font-size:11px}.panes{grid-template-columns:1fr 1fr;height:100%;display:grid;overflow:hidden}.editor-pane{border-right:1px solid var(--border);flex-direction:column;display:flex;position:relative;overflow:hidden}.pane-bar{border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;align-items:center;gap:8px;height:36px;padding:0 12px;display:flex}.pane-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:600}.pane-bar-sep{flex:1}.kbd{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);background:var(--bg);letter-spacing:.02em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.kbd-group{align-items:center;gap:4px;display:inline-flex}.kbd-plus{font-family:var(--font-mono);color:var(--text-dim);font-size:10px;font-weight:600}@media (hover:none) and (pointer:coarse),(max-width:540px){.kbd,.kbd-group,.kbd-plus{display:none}}.run-btn{background:var(--primary);color:#fff;font-family:var(--font-ui);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;padding:5px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.run-btn:hover{filter:brightness(1.1)}.run-btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.run-btn svg{fill:#fff;stroke:#fff;flex-shrink:0;width:12px;height:12px}.run-btn.running{opacity:.75;cursor:not-allowed}.run-btn-spinner{fill:none;animation:.75s linear infinite pg-spin}@keyframes pg-spin{to{transform:rotate(360deg)}}.run-btn-split{background:var(--primary);border-radius:4px;align-items:stretch;transition:all .15s;display:flex;overflow:hidden}.run-btn-split.running{opacity:.75}.run-btn-split-main{color:#fff;font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;display:flex}.run-btn-split-main:hover{filter:brightness(1.1)}.run-btn-split-main:disabled{opacity:.55;cursor:not-allowed;filter:none}.run-btn-split-main svg{fill:#fff;stroke:#fff;flex-shrink:0;width:12px;height:12px}.run-btn-split-divider{background:#ffffff4d;flex-shrink:0;width:1px}.run-btn-split-chevron{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:5px 8px;display:flex}.run-btn-split-chevron:hover{filter:brightness(1.1)}.run-btn-split-chevron:disabled{opacity:.55;cursor:not-allowed;filter:none}.run-btn-split-chevron svg{width:11px;height:11px}.run-split-dropdown{min-width:200px}.run-split-item{font-family:var(--font-ui);cursor:pointer;color:var(--text);border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.run-split-item[data-highlighted],.run-split-item:hover{background:var(--bg3)}.run-split-item-label{flex:auto}.run-split-item-kbd{color:var(--text-dim);flex-shrink:0;font-size:11px}.editor-wrap{flex:1;position:relative;overflow:hidden}.pg-root .cm-editor{height:100%!important;font-family:var(--font-mono)!important;font-size:var(--cm-font-size,14px)!important;background:var(--bg)!important;font-variant-ligatures:none!important;font-feature-settings:"calt" 0, "liga" 0, "clig" 0, "dlig" 0!important;line-height:1.7!important}.pg-root .cm-editor .cm-scroller,.pg-root .cm-editor .cm-content{font-variant-ligatures:inherit!important;font-feature-settings:inherit!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important}.pg-root .cm-editor .cm-scroller{height:100%}.pg-root .cm-gutters{background:var(--bg)!important;border-right:1px solid var(--border)!important}.pg-root .cm-lineNumbers .cm-gutterElement{color:var(--text-dim)!important}.pg-root .cm-selectionBackground{background:color-mix(in srgb, var(--primary) 22%, transparent)!important}.pg-root .cm-focused>.cm-scroller>.cm-selectionLayer .cm-selectionBackground,.pg-root .cm-line::selection,.pg-root .cm-line>span::selection,.pg-root .cm-line>span>span::selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.pg-root .cm-line::-moz-selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.pg-root .cm-line>span::-moz-selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.pg-root .cm-line>span>span::-moz-selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.pg-root .cm-s-tomorrow-night-eighties .cm-selectionBackground,.pg-root .cm-s-tomorrow-night-eighties.cm-focused>.cm-scroller>.cm-selectionLayer .cm-selectionBackground,.pg-root .cm-s-tomorrow-night-eighties .cm-line::selection,.pg-root .cm-s-tomorrow-night-eighties .cm-line>span::selection,.pg-root .cm-s-tomorrow-night-eighties .cm-line>span>span::selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.pg-root .cm-s-tomorrow-night-eighties .cm-line::-moz-selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.pg-root .cm-s-tomorrow-night-eighties .cm-line>span::-moz-selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.pg-root .cm-s-tomorrow-night-eighties .cm-line>span>span::-moz-selection{background:color-mix(in srgb, var(--primary) 30%, transparent)!important}.output-pane{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.output-body{flex-direction:column;flex:1 1 0;gap:12px;min-height:0;padding:16px 16px 32px;display:flex;overflow:hidden auto}.out-cell{flex-shrink:0}.output-body::-webkit-scrollbar{width:6px}.output-body::-webkit-scrollbar-track{background:0 0}.output-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.welcome{height:100%;color:var(--text-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px;display:flex}.welcome-icon{opacity:.5;font-size:32px}.welcome h3{color:var(--text-muted);margin:0;font-size:15px;font-weight:500}.welcome p{max-width:240px;margin:0;font-size:12px;line-height:1.5}.out-cell{border-radius:var(--radius);animation:.2s pg-fadeSlide;overflow:hidden}@keyframes pg-fadeSlide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.out-cell-header{background:var(--bg2);font-size:11px;font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;padding:6px 10px;display:flex}.out-cell-header .cell-type{font-weight:600}.out-cell-header .cell-time{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.out-cell-header .cell-time svg{color:var(--text-dim);flex-shrink:0}.out-cell.stdout{border-left:3px solid var(--green)}.out-cell.stderr{border-left:3px solid var(--red)}.out-cell.html{border-left:3px solid var(--primary)}.out-cell.plot,.out-cell.image{border-left:3px solid var(--yellow)}.out-cell-body{padding:12px}.out-cell.stdout .out-cell-body{font-family:var(--font-mono);font-size:var(--output-font-size,13px);color:var(--text);white-space:pre-wrap;word-break:break-word;line-height:1.6}.out-cell.stderr .out-cell-body{font-family:var(--font-mono);font-size:var(--output-font-size,13px);color:var(--red);white-space:pre-wrap;word-break:break-word;line-height:1.6}.out-cell.html .out-cell-body{padding:0;overflow-x:auto}.dataframe-wrap{padding:12px;overflow-x:auto}.out-cell.html table{border-collapse:collapse;font-family:var(--font-mono);color:var(--text);width:100%;min-width:max-content;font-size:12.5px}.out-cell.html th{background:var(--bg3);border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;color:var(--primary);white-space:nowrap;padding:7px 14px;font-weight:600}.out-cell.html td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;color:var(--text-muted);padding:6px 14px}.out-cell.html tr:hover td{background:var(--bg3)}.out-cell.html tr:last-child td{border-bottom:none}.out-cell.plot .out-cell-body{padding:0}.plotly-chart{width:100%;height:380px}.out-cell.image .out-cell-body{text-align:center}.out-cell.image img{border-radius:4px;max-width:100%}.clear-btn{border:1px solid var(--border);color:var(--text-dim);font-size:12px;font-family:var(--font-ui);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-weight:500;transition:all .15s;display:inline-flex}.clear-btn svg{flex-shrink:0}.clear-btn:hover{border-color:var(--text-muted);color:var(--text);background:var(--bg)}.icon-btn{border-radius:var(--radius);width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.icon-btn:hover{color:var(--text);border-color:var(--border);background:var(--bg3)}.icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.icon-btn svg{display:block}.out-cell-header .out-cell-copy{margin-left:4px}.info-popover{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);z-index:100;flex-direction:column;gap:8px;width:240px;padding:12px 14px;animation:.18s pg-fadeSlide;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 32px #0008}.info-popover-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.info-popover-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:600}.info-popover-val{color:var(--text);font-size:12.5px;font-family:var(--font-mono)}.info-popover-val a{color:var(--primary);text-decoration:none}.info-popover-val a:hover{text-decoration:underline}.info-github-link{align-items:center;gap:5px;display:inline-flex}.info-popover-notes{color:var(--text-dim);border-top:1px solid var(--border);padding-top:8px;font-size:11.5px;line-height:1.5}.settings-overlay{z-index:200;background:0 0;position:fixed;inset:0}.settings-panel{z-index:201;background:var(--bg2);border:1px solid var(--border);transform-origin:100% 0;border-radius:12px;flex-direction:column;width:540px;max-width:calc(100vw - 32px);max-height:calc(100vh - 80px);display:flex;position:fixed;top:40px;right:16px;overflow:hidden;box-shadow:0 16px 48px #0009,0 2px 8px #0004}.settings-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.settings-title{color:var(--text);letter-spacing:-.01em;font-size:13px;font-weight:600}.settings-sr-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-close{background:var(--bg3);width:22px;height:22px;color:var(--text-dim);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .12s;display:flex}.settings-close:hover{background:var(--border);color:var(--text)}.settings-close-floating{z-index:2;position:absolute;top:8px;right:10px}.settings-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.settings-tabs-list{border-bottom:1px solid var(--border);background:var(--bg2);flex-direction:row;flex-shrink:0;gap:2px;padding:6px 44px 0 10px;display:flex}.settings-tab{color:var(--text);font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.settings-tab:hover{background:var(--bg3)}.settings-tab[data-active]{color:var(--primary);background:var(--bg3);border-bottom-color:var(--primary);font-weight:600}.settings-tab:focus-visible{box-shadow:inset 0 0 0 2px var(--text-muted);outline:none}.settings-tab svg{flex-shrink:0}.settings-panel-pane{flex:1;min-height:0;overflow-y:auto}.settings-body{flex-direction:column;gap:20px;padding:14px 16px;display:flex}.settings-body-themes{padding:14px 16px}.settings-actions{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:14px;display:flex}.settings-action-btn{background:color-mix(in srgb, var(--bg3) 40%, transparent);color:var(--text-dim);font-family:var(--font-ui);border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;transition:background-color .15s,color .15s;display:inline-flex}.settings-action-btn:hover{background:color-mix(in srgb, var(--bg3) 70%, transparent);color:var(--text)}.settings-action-btn svg{color:currentColor;flex-shrink:0}.settings-action-danger,.settings-action-danger:hover{color:var(--red)}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.theme-card{background:var(--bg3);border:2px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;padding:0;font-family:inherit;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.theme-card:hover{border-color:var(--text-muted)}.theme-card:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.theme-card.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.theme-card-preview{font-family:var(--font-mono);white-space:pre;border-bottom:1px solid;min-height:70px;padding:10px 12px;font-size:11.5px;line-height:1.5;overflow:hidden}.theme-card-label{color:var(--text);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.theme-card-name{letter-spacing:-.01em;align-items:center;gap:6px;display:flex}.theme-card-default-badge{letter-spacing:.03em;color:var(--text-muted);opacity:.7;background:var(--bg2);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600}.theme-card-check{color:var(--primary);font-weight:700}@media (max-width:768px){.settings-panel{width:auto;max-width:none;max-height:calc(100vh - 16px);top:8px;left:8px;right:8px}.settings-tabs{flex-direction:row}.settings-tabs-list{border-bottom:none;border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:6px;padding:10px 6px}.settings-tab{border:1px solid #0000;border-radius:8px;justify-content:center;margin-bottom:0;padding:10px}.settings-tab svg{width:18px;height:18px}.settings-tab[data-active]{border-color:var(--primary);background:var(--bg3);color:var(--primary)}.settings-tab-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theme-grid{grid-template-columns:1fr}}.setting-row{flex-direction:column;gap:8px;display:flex}.setting-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.setting-label svg{color:var(--text-dim);flex-shrink:0}.font-size-row{align-items:center;gap:10px;display:flex}.font-size-val{font-family:var(--font-mono);color:var(--primary);text-align:right;min-width:30px;font-size:12px}input[type=range].fs-slider{appearance:none;background:var(--bg3);cursor:pointer;border-radius:2px;outline:none;flex:1;height:4px}input[type=range].fs-slider::-webkit-slider-runnable-track{border-radius:2px;height:4px}input[type=range].fs-slider::-webkit-slider-thumb{appearance:none;background:var(--primary);width:16px;height:16px;box-shadow:0 0 0 3px var(--primary-glow);border-radius:50%;margin-top:-6px;transition:box-shadow .15s}input[type=range].fs-slider:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px var(--primary-glow)}input[type=range].fs-slider:disabled{cursor:not-allowed;opacity:.5}.font-size-row.disabled .font-size-val{opacity:.5}.setting-checkbox-row{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.setting-checkbox-row input[type=checkbox]{appearance:none;cursor:pointer;background:var(--bg3);width:16px;height:16px;box-shadow:none;border:none;border-radius:4px;outline:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex;position:relative}.setting-checkbox-row input[type=checkbox]:focus-visible{box-shadow:0 0 0 2px var(--primary-glow)}.setting-checkbox-row input[type=checkbox]:checked{background:color-mix(in srgb, var(--primary) 80%, var(--bg3))}.setting-checkbox-row input[type=checkbox]:checked:after{content:"";border:1.5px solid var(--bg);border-top:none;border-left:none;width:4px;height:7px;display:block;transform:rotate(40deg)translate(-1px,-1px)}.setting-switch-row{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.bui-switch{background:var(--bg3);cursor:pointer;border:none;border-radius:999px;outline:none;flex-shrink:0;align-items:center;width:34px;height:20px;padding:0;transition:background-color .15s;display:inline-flex;position:relative}.bui-switch[data-checked]{background:var(--primary)}.bui-switch:focus-visible{box-shadow:0 0 0 3px var(--primary-glow)}.bui-switch-thumb{background:var(--text);border-radius:50%;width:14px;height:14px;transition:transform .15s,background-color .15s;display:block;transform:translate(4px)}.bui-switch[data-checked] .bui-switch-thumb{background:#fff;transform:translate(16px)}.bui-switch[data-disabled]{opacity:.4;cursor:not-allowed}.ai-byok-fields{background:var(--bg3);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.ai-byok-field{flex-direction:column;gap:4px;display:flex}.ai-byok-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:600}.ai-byok-input{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);border-radius:5px;outline:none;width:100%;padding:6px 8px;font-size:12px;transition:border-color .15s}.ai-byok-input::placeholder{color:var(--text-dim)}.ai-byok-input:focus{border-color:var(--primary)}.ai-byok-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.ai-byok-actions .settings-action-btn:disabled{opacity:.35;cursor:not-allowed}.ai-byok-privacy-note{color:var(--text-dim);margin:0;font-size:11px;font-style:italic;line-height:1.4}.theme-select-wrap{position:relative}.theme-select{background:var(--bg3);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-ui);appearance:none;cursor:pointer;border-radius:8px;outline:none;padding:8px 30px 8px 10px;font-size:13px;transition:border-color .15s}.theme-select:hover,.theme-select:focus{border-color:var(--primary)}.theme-select-arrow{pointer-events:none;color:var(--text-dim);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.theme-select-arrow svg{stroke:currentColor;fill:none;stroke-width:2px;width:12px;height:12px}.theme-preview{border:1px solid var(--border);font-family:var(--font-mono);color:#f8f8f2;white-space:pre;background:#282a36;border-radius:6px;padding:8px 10px;font-size:11.5px;line-height:1.5;transition:all .2s;overflow:hidden}.pkg-overlay{z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0005;position:fixed;inset:0}.pkg-drawer{z-index:301;background:var(--bg2);border-left:1px solid var(--border);pointer-events:auto;outline:none;flex-direction:column;width:380px;max-width:100vw;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 32px #0006}.pkg-drawer-content{flex-direction:column;flex:1;min-height:0;display:flex}.pkg-drawer>.mobile-menu-handle{display:none}@media (max-width:768px){.pkg-drawer>.mobile-menu-handle{display:block}}.pkg-drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.pkg-drawer-title{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.pkg-drawer-hint{color:var(--text-dim);margin-top:2px;font-size:11.5px;line-height:1.4}.pkg-count-badge{background:var(--primary-glow);color:var(--primary);border:1px solid var(--primary);border-radius:10px;padding:2px 7px;font-size:10px;font-weight:600}.pkg-search-wrap{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 16px;position:relative}.pkg-search{background:var(--bg3);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-ui);border-radius:8px;outline:none;padding:7px 10px 7px 32px;font-size:13px;transition:border-color .15s}.pkg-search:focus{border-color:var(--primary)}.pkg-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;top:50%;left:26px;transform:translateY(-50%)}.pkg-search-icon svg{stroke:currentColor;fill:none;stroke-width:2px;width:13px;height:13px}.pkg-body{flex:1;padding:8px 0;overflow-y:auto}.pkg-body::-webkit-scrollbar{width:5px}.pkg-body::-webkit-scrollbar-track{background:0 0}.pkg-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.pkg-category-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:10px 16px 4px;font-size:10px;font-weight:700}.pkg-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;align-items:flex-start;gap:10px;padding:8px 16px;transition:background .1s;display:flex}.pkg-item:hover{background:var(--bg3)}.pkg-item:focus-visible{background:var(--bg3);box-shadow:inset 2px 0 0 var(--primary);outline:none}.pkg-item-row{align-items:stretch;display:flex}.pkg-item-row:hover{background:var(--bg3)}.pkg-item-row:hover .pkg-item{background:0 0}.pkg-item-row .pkg-item{flex:1;min-width:0}.pkg-example-btn{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-ui);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;align-self:center;align-items:center;gap:5px;margin:8px 12px 8px 0;padding:4px 8px;font-size:11px;font-weight:500;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.pkg-example-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg2)}.pkg-example-btn svg{flex-shrink:0}.pkg-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;font-size:14px;display:flex}.pkg-info{flex:1;min-width:0}.pkg-name{font-family:var(--font-mono);color:var(--text);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.pkg-version{color:var(--text-dim);font-size:10px;font-weight:400;font-family:var(--font-ui)}.pkg-desc{color:var(--text-dim);margin-top:2px;font-size:11.5px;line-height:1.4}.pkg-footer{border-top:1px solid var(--border);color:var(--text-dim);flex-shrink:0;padding:10px 16px;font-size:11px;line-height:1.5}.pkg-footer a{color:var(--primary);text-decoration:none}.pkg-footer a:hover{text-decoration:underline}.pyodide-loading{background:var(--bg);z-index:999;flex-direction:column;justify-content:center;align-items:stretch;transition:opacity .4s;display:flex;position:fixed;inset:0;overflow:hidden}.pyodide-loading.hidden{opacity:0;pointer-events:none}.loading-hero{flex:1;align-items:center;min-height:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%)}.loading-hero-track{white-space:nowrap;will-change:transform;flex-shrink:0;gap:1.5em;animation:18s linear infinite pg-loadHero;display:flex}.loading-hero-text{font-family:var(--font-ui);letter-spacing:-.04em;color:var(--text);font-size:clamp(56px,14vw,180px);font-weight:900;line-height:1}@keyframes pg-loadHero{0%{transform:translate(0)}to{transform:translate(-25%)}}.loading-bottom{flex-direction:column;gap:10px;width:100%;padding:0 24px 16px;display:flex}.loading-quip{color:var(--text);font-size:13px;font-family:var(--font-ui);text-align:center;min-height:1.4em;line-height:1.4;animation:.5s pg-quipFade}@keyframes pg-quipFade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.loading-bar-wrap{background:var(--border);border-radius:2px;width:100%;height:3px;overflow:hidden}.loading-bar{background:var(--text);border-radius:2px;height:100%;animation:2.5s ease-in-out infinite pg-loadBar}@keyframes pg-loadBar{0%{width:5%;margin-left:0}50%{width:60%;margin-left:20%}to{width:5%;margin-left:95%}}.pyodide-loading.has-error .loading-hero-track{animation-play-state:paused}.pyodide-loading.has-error .loading-bar{background:var(--red);animation-play-state:paused}.pyodide-loading.has-error .loading-quip{color:var(--red);font-weight:500}.resizer{z-index:10;cursor:col-resize;background:0 0;justify-content:center;align-items:center;width:8px;transition:background .15s;display:flex;position:absolute;top:0;bottom:0;right:-4px}.resizer:before{content:"";background:var(--text-dim);opacity:.55;border-radius:1px;width:2px;height:36px;transition:all .15s}.resizer:hover:before,.resizer.dragging:before{background:var(--primary);opacity:1;width:3px;height:64px}.resizer:hover,.resizer.dragging{background:var(--primary-glow)}.export-dropdown{width:220px;top:calc(100% + 6px);left:0;right:auto}.export-item-text{min-width:0}.export-item .ex-title{justify-content:space-between;align-items:center;display:flex}.export-item .ex-desc{margin-top:4px}.sql-export-info-msg{color:color-mix(in srgb, var(--text) 50%, transparent);text-align:center;border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;margin-top:4px;padding:8px 12px;font-size:.8rem}.ext-badge{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:-.01em;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:1px 4px;font-size:10.5px;font-weight:400;line-height:1.4;display:inline-flex}.mobile-tabs{display:none}.mobile-tab{color:var(--text-dim);font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 12px;font-size:12px;font-weight:600;transition:color .12s,border-color .12s}.mobile-tab:hover{color:var(--text)}.mobile-tab.active{color:var(--text);border-bottom-color:var(--primary)}@media (max-width:768px){.pg-app{grid-template-rows:48px auto 1fr}.pg-header{gap:8px;padding:0 12px}.mobile-tabs{background:var(--bg2);border-bottom:1px solid var(--border);align-items:stretch;display:flex}.panes{grid-template-columns:1fr}.panes .editor-pane,.panes .output-pane{display:none}.panes[data-mobile-tab=editor] .editor-pane{border-right:none;display:flex}.panes[data-mobile-tab=output] .output-pane{display:flex}.resizer{display:none}.pg-root .cm-gutters{display:none!important}.pg-root .cm-line{padding-left:10px!important;padding-right:10px!important}}.bui-popup{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);z-index:9999;transform-origin:var(--transform-origin,top center);outline:none;transition:opacity .16s,transform .16s cubic-bezier(.32,.72,0,1);overflow:hidden;box-shadow:0 8px 32px #0008}.bui-popup[data-starting-style],.bui-popup[data-ending-style]{opacity:0;transform:scale(.96)translateY(-4px)}.bui-popup.examples-dropdown{position:static;top:auto;left:auto;right:auto}.bui-popup.export-dropdown{width:240px}.bui-popup.info-popover{width:260px;position:static;top:auto;right:auto}.example-item[data-highlighted]{background:var(--bg3);color:var(--text);outline:none}.mobile-menu-btn{color:var(--text)}.mobile-menu-backdrop{z-index:320}.mobile-drawer-viewport{z-index:321;pointer-events:none;position:fixed;inset:0}.mobile-menu-drawer{background:var(--bg2);border-top:1px solid var(--border);pointer-events:auto;border-top-left-radius:16px;border-top-right-radius:16px;outline:none;flex-direction:column;min-height:0;max-height:85dvh;transition:transform .28s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #0008}.mobile-menu-drawer[data-starting-style],.mobile-menu-drawer[data-ending-style]{transform:translateY(100%)}.mobile-menu-drawer[data-nested-drawer-open]{transform:translateY(calc(var(--nested-drawers,0) * -10px)) scale(calc(1 - (var(--nested-drawers,0) * .035)));opacity:.72}.mobile-menu-nested-drawer{max-height:78dvh}.mobile-menu-handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:8px auto 0}.mobile-menu-drawer-header{justify-content:space-between;align-items:center;padding:10px 16px 8px;display:flex}.mobile-menu-drawer-title{color:var(--text);letter-spacing:-.01em;font-size:13px;font-weight:600}.mobile-menu-drawer-body{flex-direction:column;flex:1;gap:4px;min-height:0;padding:4px 8px 16px;display:flex;overflow-y:auto}.mobile-menu-drawer-body::-webkit-scrollbar{width:5px}.mobile-menu-drawer-body::-webkit-scrollbar-track{background:0 0}.mobile-menu-drawer-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.mobile-menu-action{font-size:14px;font-family:var(--font-ui);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.mobile-menu-action:hover,.mobile-menu-action:focus-visible{background:var(--bg3)}.mobile-menu-chev{color:var(--text-dim);font-size:16px;line-height:1;transition:transform .15s}.mobile-menu-drawer-body>button.example-item{text-align:left;width:100%;font:inherit;color:var(--text-muted);background:0 0;border:none}.mobile-menu-drawer-body.info-popover{box-shadow:none;background:0 0;border:none;width:auto;max-width:none;padding:8px 12px 4px;position:static}.pkg-overlay{transition:opacity .2s}.pkg-overlay[data-starting-style],.pkg-overlay[data-ending-style]{opacity:0}.pkg-drawer{transition:transform .28s cubic-bezier(.32,.72,0,1)}.pkg-drawer[data-starting-style],.pkg-drawer[data-ending-style]{transform:translate(100%)}@media (max-width:768px){.pkg-drawer{border-left:none;border-top:1px solid var(--border);border-top-left-radius:16px;border-top-right-radius:16px;width:auto;max-width:none;max-height:85dvh;inset:auto 0 0;box-shadow:0 -8px 32px #0008}.pkg-drawer[data-starting-style],.pkg-drawer[data-ending-style]{transform:translateY(100%)}}.dataslope-run-overlay{pointer-events:none;opacity:0;z-index:4;height:44px;transition:opacity .18s,transform .18s;position:absolute;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(8px);-webkit-mask-image:linear-gradient(#0000 0%,#000 65%);mask-image:linear-gradient(#0000 0%,#000 65%)}.dataslope-run-overlay.active{opacity:1;transform:translateY(0)}.dataslope-waves{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.dataslope-wave{fill:color-mix(in oklab, var(--primary) 40%, transparent);will-change:transform;transform:translate(0)}.dataslope-wave--back{fill:color-mix(in oklab, var(--primary) 22%, transparent);animation:2.4s linear infinite dataslopeWaveBack}.dataslope-wave--front{fill:color-mix(in oklab, var(--primary) 45%, transparent);animation:1.4s linear infinite dataslopeWaveFront}.dataslope-glow{background:radial-gradient(120% 80% at 50% 110%, color-mix(in oklab, var(--primary) 40%, transparent) 0%, transparent 70%);animation:.9s ease-in-out infinite alternate dataslopePulse;position:absolute;inset:0}.dataslope-stream{background:linear-gradient(90deg, transparent 0%, color-mix(in oklab, var(--primary) 80%, white 20%) 50%, transparent 100%);filter:blur(.5px);height:2px;animation:1.1s cubic-bezier(.45,0,.2,1) infinite dataslopeStream;position:absolute;bottom:12px;left:0;right:0;transform:translate(-100%)}@keyframes dataslopeWaveBack{0%{transform:translate(0)}to{transform:translate(-240px)}}@keyframes dataslopeWaveFront{0%{transform:translate(0)}to{transform:translate(-240px)}}@keyframes dataslopePulse{0%{opacity:.45}to{opacity:.85}}@keyframes dataslopeStream{0%{opacity:0;transform:translate(-100%)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(100%)}}.dataslope-run-overlay.dataslope-run-overlay--mobile{display:none}@media (max-width:768px){.dataslope-run-overlay{height:38px}.output-pane>.dataslope-run-overlay{display:none}.dataslope-run-overlay.dataslope-run-overlay--mobile{z-index:330;display:block;position:fixed;bottom:0;left:0;right:0}}.settings-overlay{background:0 0;position:fixed;inset:0}.settings-panel{transform-origin:100% 0;transition:opacity .18s,transform .18s cubic-bezier(.34,1.2,.64,1)}.settings-panel[data-starting-style],.settings-panel[data-ending-style]{opacity:0;transform:scale(.92)translateY(-6px)}.confirm-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:400;background:#000a;transition:opacity .18s;position:fixed;inset:0}.confirm-backdrop[data-starting-style],.confirm-backdrop[data-ending-style]{opacity:0}.confirm-popup{background:var(--bg2);border:1px solid var(--border);z-index:401;border-radius:12px;outline:none;flex-direction:column;gap:10px;width:min(420px,100vw - 32px);padding:22px 22px 18px;transition:opacity .18s,transform .18s cubic-bezier(.32,.72,0,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 64px #000c}.confirm-popup[data-starting-style],.confirm-popup[data-ending-style]{opacity:0;transform:translate(-50%,-50%)scale(.94)}.confirm-title{color:var(--text);margin:0;font-size:15px;font-weight:600}.confirm-desc{color:var(--text);margin:0;font-size:13px;line-height:1.55}.confirm-desc strong{color:var(--text);font-weight:600}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.confirm-btn{font-family:var(--font-ui);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.confirm-btn-secondary{border-color:var(--border);color:var(--text);background:0 0}.confirm-btn-secondary:hover{background:var(--bg3);color:var(--text)}.confirm-btn-primary{background:var(--primary);color:#fff}.confirm-btn-primary:hover{filter:brightness(1.1)}.confirm-btn-danger{background:var(--red);color:#fff}.confirm-btn-danger:hover{filter:brightness(1.1)}.confirm-btn:focus-visible{box-shadow:0 0 0 2px var(--bg2), 0 0 0 4px var(--text-muted);outline:none}.toast-viewport{z-index:500;width:320px;max-width:calc(100vw - 32px);margin:0;position:fixed;bottom:16px;right:16px}.toast{--gap:.75rem;--peek:.65rem;--scale:calc(max(0, 1 - (var(--toast-index) * .1)));--shrink:calc(1 - var(--scale));--height:var(--toast-frontmost-height,var(--toast-height));--offset-y:calc(var(--toast-offset-y) * -1 + (var(--toast-index) * var(--gap) * -1) + var(--toast-swipe-movement-y));width:100%;height:var(--height);box-sizing:border-box;background:var(--bg2);color:var(--text);border:1px solid var(--border);font-family:var(--font-ui);transform-origin:bottom;cursor:default;-webkit-user-select:none;user-select:none;z-index:calc(1000 - var(--toast-index));transform:translateX(var(--toast-swipe-movement-x)) translateY(calc(var(--toast-swipe-movement-y) - (var(--toast-index) * var(--peek)) - (var(--shrink) * var(--height)))) scale(var(--scale));background-clip:padding-box;border-radius:8px;margin:0;padding:.75rem 2.25rem .75rem .875rem;font-size:12.5px;line-height:1.4;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .5s,height .15s;position:absolute;bottom:0;left:auto;right:0;box-shadow:0 4px 16px #0000002e,0 1px 4px #00000014}html[data-pg-theme=light] .toast{box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f}.toast[data-expanded]{transform:translateX(var(--toast-swipe-movement-x)) translateY(var(--offset-y));height:var(--toast-height)}.toast[data-starting-style],.toast[data-ending-style]{transform:translateY(150%)}.toast[data-limited],.toast[data-ending-style]{opacity:0}.toast[data-ending-style][data-swipe-direction=up]{transform:translateY(calc(var(--toast-swipe-movement-y) - 150%))}.toast[data-ending-style][data-swipe-direction=left]{transform:translateX(calc(var(--toast-swipe-movement-x) - 150%)) translateY(var(--offset-y))}.toast[data-ending-style][data-swipe-direction=right]{transform:translateX(calc(var(--toast-swipe-movement-x) + 150%)) translateY(var(--offset-y))}.toast[data-ending-style][data-swipe-direction=down]{transform:translateY(calc(var(--toast-swipe-movement-y) + 150%))}.toast:after{content:"";width:100%;height:calc(var(--gap) + 1px);position:absolute;top:100%;left:0}.toast-content{transition:opacity .25s;overflow:hidden}.toast-content[data-behind]{opacity:0}.toast-content[data-expanded]{opacity:1}.toast-title{color:var(--text);margin:0;font-size:12.5px;font-weight:600;line-height:1.35}.toast-desc{color:var(--text-dim);margin-top:2px;font-size:11.5px}.toast-warn{border-left:3px solid var(--red)}.toast-close{width:18px;height:18px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute;top:6px;right:6px}.toast-close:hover{color:var(--text);background:var(--bg3)}html[data-pg-theme=dark] .header-btn{color:#fff}html[data-pg-theme=dark] .header-btn:disabled{color:#ffffff73}html[data-pg-theme=dark] .header-btn:hover:not(:disabled),html[data-pg-theme=dark] .header-btn:focus-visible,html[data-pg-theme=dark] .header-btn[data-popup-open],html[data-pg-theme=dark] .welcome h3{color:#fff}.pragma-settings-body{gap:14px!important}.pragma-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.pragma-label-wrap{flex-shrink:0;align-items:center;gap:6px;display:flex}.pragma-label{color:var(--text);font-size:13px}.pragma-info-btn{width:18px;height:18px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,background-color .12s;display:inline-flex}.pragma-info-btn:hover{color:var(--text);background:var(--bg3)}.pragma-info-btn:focus-visible{box-shadow:0 0 0 2px var(--primary-glow);outline:none}.pragma-info-positioner{z-index:600}.pragma-info-popup{z-index:600;max-width:280px;padding:10px 12px}.pragma-info-text{color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.pragma-select-wrap{flex-shrink:0;position:relative}.pragma-select{appearance:none;background:var(--bg3);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:6px;outline:none;min-width:110px;padding:6px 28px 6px 10px;font-size:13px;transition:border-color .12s}.pragma-select:hover{border-color:var(--text-dim)}.pragma-select:focus{border-color:var(--primary)}.pragma-checkbox-row{gap:8px}.pragma-checkbox-label{color:var(--text-muted);min-width:54px;font-size:13px}.pragma-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.pragma-save-btn{background:var(--primary);border-radius:var(--radius);color:#fff;font-family:var(--font-ui);cursor:pointer;border:none;align-items:center;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .15s,filter .15s;display:inline-flex}.pragma-save-btn:hover:not(:disabled){filter:brightness(1.1)}.pragma-save-btn:disabled{opacity:.35;cursor:not-allowed}
.color-test-module__GCcMWW__root{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-ui)}.color-test-module__GCcMWW__header{z-index:100;background:var(--bg2);border-bottom:1px solid var(--border);padding:10px 16px;position:sticky;top:0}.color-test-module__GCcMWW__themeGrid{flex-wrap:wrap;gap:6px;display:flex}.color-test-module__GCcMWW__themeCard{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:4px;transition:border-color .15s,background .15s;display:flex}.color-test-module__GCcMWW__themeCard:hover{background:var(--bg3);border-color:var(--border)}.color-test-module__GCcMWW__themeCardActive{border-color:var(--text-complementary)!important;background:color-mix(in srgb, var(--text-complementary) 10%, var(--bg2))!important}.color-test-module__GCcMWW__themePreview{border:1px solid;border-radius:5px;justify-content:center;align-items:center;gap:4px;width:48px;height:30px;display:flex;position:relative}.color-test-module__GCcMWW__dot{border-radius:50%;width:8px;height:8px;display:inline-block}.color-test-module__GCcMWW__activeCheck{position:absolute;top:2px;right:3px}.color-test-module__GCcMWW__themeLabel{color:var(--text-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:64px;font-size:11px;overflow:hidden}.color-test-module__GCcMWW__content{flex-direction:column;gap:8px;max-width:960px;margin:0 auto;padding:24px;display:flex}.color-test-module__GCcMWW__section{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.color-test-module__GCcMWW__sectionTitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);margin:0 0 16px;padding-bottom:10px;font-size:13px;font-weight:600}.color-test-module__GCcMWW__swatchGrid{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.color-test-module__GCcMWW__swatch{flex-direction:column;align-items:center;gap:4px;width:90px;display:flex}.color-test-module__GCcMWW__swatchDual{width:132px}.color-test-module__GCcMWW__swatchHighlight .color-test-module__GCcMWW__swatchColors{outline:2px solid var(--text-complementary);outline-offset:2px;border-radius:7px}.color-test-module__GCcMWW__swatchColors{gap:4px;width:100%;display:flex}.color-test-module__GCcMWW__swatchColor{border:1px solid;border-radius:6px;flex:1;justify-content:center;align-items:center;min-width:0;height:40px;display:flex}.color-test-module__GCcMWW__swatchColorSolid{border:1px solid;border-radius:6px;flex-shrink:0;width:48px;height:40px}.color-test-module__GCcMWW__swatchSample{font-size:17px;font-weight:700}.color-test-module__GCcMWW__swatchMeta{justify-content:center;align-items:center;gap:3px;width:100%;margin-top:4px;display:flex}.color-test-module__GCcMWW__swatchHex{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em}.color-test-module__GCcMWW__copyBtn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:1px 3px;transition:color .12s,background .12s;display:flex}.color-test-module__GCcMWW__copyBtn:hover:not(:disabled){color:var(--text);background:var(--bg3)}.color-test-module__GCcMWW__copyBtn:disabled{opacity:.3;cursor:default}.color-test-module__GCcMWW__swatchName{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);text-align:center;word-break:break-all}.color-test-module__GCcMWW__swatchLabel{color:var(--text-muted);text-align:center;font-size:12px}.color-test-module__GCcMWW__typoStack{flex-direction:column;gap:12px;display:flex}.color-test-module__GCcMWW__typoCard,.color-test-module__GCcMWW__cmCard{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:16px}.color-test-module__GCcMWW__typoCardTitle{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-size:12px;font-weight:600}.color-test-module__GCcMWW__typoSamples{flex-direction:column;gap:6px;display:flex}.color-test-module__GCcMWW__typoH1{margin:0;font-size:24px;font-weight:700}.color-test-module__GCcMWW__typoH2{margin:0;font-size:20px;font-weight:600}.color-test-module__GCcMWW__typoH3{margin:0;font-size:16px;font-weight:500}.color-test-module__GCcMWW__codeBlock{background:var(--bg);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text);white-space:pre;border-radius:8px;margin:0;padding:14px 18px;font-size:13px;line-height:1.8;overflow-x:auto}.color-test-module__GCcMWW__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-test-module__GCcMWW__btn{cursor:pointer;font-family:var(--font-ui);border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .15s,filter .15s;display:inline-flex}.color-test-module__GCcMWW__btn:disabled{opacity:.4;cursor:not-allowed}.color-test-module__GCcMWW__btn:not(:disabled):hover{filter:brightness(1.1)}.color-test-module__GCcMWW__btnPrimary{background:var(--text-complementary);color:var(--bg)}.color-test-module__GCcMWW__btnSecondary{background:var(--bg3);color:var(--text);border:1px solid var(--border)}.color-test-module__GCcMWW__btnGhost{color:var(--text-soft);border:1px solid var(--border);background:0 0}.color-test-module__GCcMWW__btnDanger{background:color-mix(in srgb, var(--red) 18%, var(--bg3));color:var(--red);border:1px solid color-mix(in srgb, var(--red) 35%, transparent)}.color-test-module__GCcMWW__btnSm{padding:4px 8px;font-size:12px}.color-test-module__GCcMWW__btnLg{padding:9px 18px;font-size:15px}.color-test-module__GCcMWW__badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.color-test-module__GCcMWW__badgeDefault{background:var(--bg3);color:var(--text-muted);border:1px solid var(--border)}.color-test-module__GCcMWW__badgeSoft{background:color-mix(in srgb, var(--text-soft) 16%, var(--bg3));color:var(--text-soft)}.color-test-module__GCcMWW__badgeAccent{background:color-mix(in srgb, var(--text-accent) 16%, var(--bg3));color:var(--text-accent)}.color-test-module__GCcMWW__badgeComplementary{background:color-mix(in srgb, var(--text-complementary) 16%, var(--bg3));color:var(--text-complementary)}.color-test-module__GCcMWW__badgeSuccess{background:color-mix(in srgb, var(--green) 16%, var(--bg3));color:var(--green)}.color-test-module__GCcMWW__badgeWarning{background:color-mix(in srgb, var(--yellow) 16%, var(--bg3));color:var(--yellow)}.color-test-module__GCcMWW__badgeError{background:color-mix(in srgb, var(--red) 16%, var(--bg3));color:var(--red)}.color-test-module__GCcMWW__tag{background:var(--bg3);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:12px;display:inline-flex}.color-test-module__GCcMWW__tagAccent{border-color:color-mix(in srgb, var(--text-accent) 40%, transparent);color:var(--text-accent);background:color-mix(in srgb, var(--text-accent) 10%, var(--bg3))}.color-test-module__GCcMWW__iconGrid{flex-wrap:wrap;gap:12px;display:flex}.color-test-module__GCcMWW__iconItem{flex-direction:column;align-items:center;gap:6px;width:60px;display:flex}.color-test-module__GCcMWW__iconBox{background:var(--bg3);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.color-test-module__GCcMWW__iconLabel{color:var(--text-dim);text-align:center;font-size:12px}.color-test-module__GCcMWW__formGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:640px){.color-test-module__GCcMWW__formGrid{grid-template-columns:1fr}}.color-test-module__GCcMWW__formField{flex-direction:column;gap:6px;display:flex}.color-test-module__GCcMWW__label{color:var(--text-muted);font-size:13px;font-weight:500}.color-test-module__GCcMWW__input,.color-test-module__GCcMWW__select,.color-test-module__GCcMWW__textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-ui);border-radius:6px;outline:none;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s}.color-test-module__GCcMWW__input::placeholder,.color-test-module__GCcMWW__textarea::placeholder{color:var(--text-dim)}.color-test-module__GCcMWW__input:focus,.color-test-module__GCcMWW__select:focus,.color-test-module__GCcMWW__textarea:focus{border-color:var(--text-complementary);box-shadow:0 0 0 3px color-mix(in srgb, var(--text-complementary) 15%, transparent)}.color-test-module__GCcMWW__select{cursor:pointer}.color-test-module__GCcMWW__textarea{resize:vertical}.color-test-module__GCcMWW__inputIcon{position:relative}.color-test-module__GCcMWW__inputIconEl{color:var(--text-dim);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.color-test-module__GCcMWW__inputWithIcon{padding-left:30px}.color-test-module__GCcMWW__alertStack{flex-direction:column;gap:8px;display:flex}.color-test-module__GCcMWW__alert{border-style:solid;border-width:1px 1px 1px 3px;border-top-color:currentColor;border-bottom-color:currentColor;border-right-color:currentColor;border-radius:6px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;display:flex}.color-test-module__GCcMWW__alertInfo{background:color-mix(in srgb, var(--text-soft) 10%, var(--bg3));border-color:color-mix(in srgb, var(--text-soft) 30%, transparent);border-left-color:var(--text-soft);color:var(--text)}.color-test-module__GCcMWW__alertInfo svg{color:var(--text-soft);flex-shrink:0;margin-top:1px}.color-test-module__GCcMWW__alertSuccess{background:color-mix(in srgb, var(--text-accent) 10%, var(--bg3));border-color:color-mix(in srgb, var(--text-accent) 30%, transparent);border-left-color:var(--text-accent);color:var(--text)}.color-test-module__GCcMWW__alertSuccess svg{color:var(--text-accent);flex-shrink:0;margin-top:1px}.color-test-module__GCcMWW__alertComplementary{background:color-mix(in srgb, var(--text-complementary) 10%, var(--bg3));border-color:color-mix(in srgb, var(--text-complementary) 30%, transparent);border-left-color:var(--text-complementary);color:var(--text)}.color-test-module__GCcMWW__alertComplementary svg{color:var(--text-complementary);flex-shrink:0;margin-top:1px}.color-test-module__GCcMWW__alertWarning{background:color-mix(in srgb, var(--yellow) 10%, var(--bg3));border-color:color-mix(in srgb, var(--yellow) 30%, transparent);border-left-color:var(--yellow);color:var(--text)}.color-test-module__GCcMWW__alertWarning svg{color:var(--yellow);flex-shrink:0;margin-top:1px}.color-test-module__GCcMWW__alertError{background:color-mix(in srgb, var(--red) 10%, var(--bg3));border-color:color-mix(in srgb, var(--red) 30%, transparent);border-left-color:var(--red);color:var(--text)}.color-test-module__GCcMWW__alertError svg{color:var(--red);flex-shrink:0;margin-top:1px}.color-test-module__GCcMWW__inlineCode{font-family:var(--font-mono);background:var(--bg3);border:1px solid var(--border);color:var(--text-complementary);border-radius:4px;padding:1px 5px;font-size:.85em}.color-test-module__GCcMWW__listGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:640px){.color-test-module__GCcMWW__listGrid{grid-template-columns:1fr}}.color-test-module__GCcMWW__navList{background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.color-test-module__GCcMWW__navItem{color:var(--text-muted);border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;font-size:13px;transition:background .12s;display:flex}.color-test-module__GCcMWW__navItem:last-child{border-bottom:none}.color-test-module__GCcMWW__navItem:hover{background:var(--bg3);color:var(--text)}.color-test-module__GCcMWW__navItemActive{background:color-mix(in srgb, var(--text-complementary) 8%, var(--bg));color:var(--text)}.color-test-module__GCcMWW__bulletList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.color-test-module__GCcMWW__bulletItem{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;line-height:1.5;display:flex}
