:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ct-font:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", "Noto Sans SC", sans-serif;--ct-font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ct-bg:#080b12;--ct-bg-alt:#0b0f18;--ct-surface:#0d131e;--ct-surface-2:#131b28;--ct-surface-3:#1a2536;--ct-border:#202a39;--ct-border-strong:#2d3849;--ct-text:#edf1f7;--ct-text-2:#bdc7d6;--ct-muted:#94a2b6;--ct-accent:#89efce;--ct-accent-hover:#b5f7e2;--ct-accent-fill:#a4efd8;--ct-accent-fill-hover:#c4ffed;--ct-on-accent:#0d2622;--ct-accent-soft:#89efce1f;--ct-accent-2:#b3c8ff;--ct-glow:#89efce54;--ct-shadow:0 24px 100px #14382a21;--ct-series-1:#64dfc1;--ct-series-2:#6fb9ed;--ct-series-3:#b8a4f5;--ct-code-bg:#0b111b;--ct-code-text:#d3e2ef;--ct-syntax-comment:#7d91a7;--ct-syntax-string:#9ecb8a;--ct-syntax-number:#e0a86b;--ct-syntax-keyword:#c49cf0;--ct-syntax-type:#79b8f2;--ct-danger-text:#fca5a5;--ct-danger-bg:#2a0f12;--ct-danger-border:#7f1d1d;--ct-radius-sm:6px;--ct-radius:10px;--ct-radius-lg:14px;--ct-space-1:4px;--ct-space-2:8px;--ct-space-3:12px;--ct-space-4:16px;--ct-space-5:24px;--ct-space-6:32px;--ct-header-h:64px;--ct-content-w:1120px;--ct-page-w:1440px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ct-bg:#f6f8fb;--ct-bg-alt:#eef2f7;--ct-surface:#fff;--ct-surface-2:#eef2f7;--ct-surface-3:#e1ece8;--ct-border:#dbe2eb;--ct-border-strong:#c3cdda;--ct-text:#0d1522;--ct-text-2:#344054;--ct-muted:#556274;--ct-accent:#08775a;--ct-accent-hover:#055c45;--ct-accent-fill:#0b7d5f;--ct-accent-fill-hover:#08684f;--ct-on-accent:#fff;--ct-accent-soft:#08775a1a;--ct-accent-2:#3d5bd9;--ct-glow:#08775a40;--ct-shadow:0 24px 80px #1e32501a;--ct-series-1:#12a383;--ct-series-2:#2f7fc4;--ct-series-3:#7b5fd0;--ct-code-bg:#f3f6fa;--ct-code-text:#1f2d3f;--ct-syntax-comment:#5d6b80;--ct-syntax-string:#307030;--ct-syntax-number:#9a4d12;--ct-syntax-keyword:#8042ab;--ct-syntax-type:#2163a3;--ct-danger-text:#9f1c1c;--ct-danger-bg:#fdecec;--ct-danger-border:#f2b8b8}:root[data-theme=midnight]{--ct-bg:#080f20;--ct-bg-alt:#0a1328;--ct-surface:#101b35;--ct-surface-2:#192944;--ct-surface-3:#263c61;--ct-border:#2c3c5b;--ct-border-strong:#3a4d70;--ct-text:#edf2ff;--ct-text-2:#c6d2e8;--ct-muted:#a3b4d1;--ct-code-bg:#0b152a;--ct-syntax-comment:#8796b3}:root[data-theme=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ct-bg:#eee8dc;--ct-bg-alt:#e7e0d1;--ct-surface:#faf6ed;--ct-surface-2:#f0e9dc;--ct-surface-3:#e5dac4;--ct-border:#d4c9b6;--ct-border-strong:#bfb39d;--ct-text:#352e25;--ct-text-2:#4d4337;--ct-muted:#665a49;--ct-accent:#0a6b52;--ct-accent-hover:#07523f;--ct-accent-fill:#0b6f55;--ct-accent-fill-hover:#085a45;--ct-on-accent:#fff;--ct-accent-soft:#0a6b521a;--ct-accent-2:#3d5bd9;--ct-glow:#0a6b5240;--ct-shadow:0 24px 80px #503c1e1a;--ct-series-1:#12a383;--ct-series-2:#2f7fc4;--ct-series-3:#7b5fd0;--ct-code-bg:#f3eddf;--ct-code-text:#352e25;--ct-syntax-comment:#6e6250;--ct-syntax-string:#307030;--ct-syntax-number:#9a4d12;--ct-syntax-keyword:#8042ab;--ct-syntax-type:#2163a3;--ct-danger-text:#9f1c1c;--ct-danger-bg:#fbe9e4;--ct-danger-border:#e8b7aa}:is(.site-theme,.site-lang){flex-shrink:0;align-items:center;display:flex}:is(.site-theme,.site-lang) select{height:32px;font:500 13px/1 var(--ct-font);color:var(--ct-text);background:var(--ct-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%2394a2b6' stroke-width='1.6'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--ct-border-strong);border-radius:var(--ct-radius-sm);cursor:pointer;appearance:none;padding:0 28px 0 10px;transition:border-color .2s}:root:is([data-theme=light],[data-theme=paper]) :is(.site-theme,.site-lang) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23556274' stroke-width='1.6'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E")}:is(.site-theme,.site-lang) select:hover{border-color:var(--ct-accent)}:is(.site-theme,.site-lang) select:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px}.site-control-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-controls{align-items:center;gap:var(--ct-space-2);display:flex}:is(.site-header .brand,.VPNavBarTitle .title):before{content:"▥";color:var(--ct-accent);margin-right:8px;font-weight:400}*{box-sizing:border-box}html{background:var(--ct-bg)}body{background:var(--ct-bg);color:var(--ct-text);font-family:var(--ct-font);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit}:is(a,button):focus-visible{outline:2px solid var(--ct-accent);outline-offset:3px}.skip-link{z-index:30;border-radius:var(--ct-radius-sm);background:var(--ct-accent-fill);color:var(--ct-on-accent);padding:12px 16px;font-weight:600;text-decoration:none;position:absolute;top:-80px;left:16px}.skip-link:focus{top:8px}.site-header{z-index:20;align-items:center;column-gap:var(--ct-space-2);min-height:var(--ct-header-h);padding:0 var(--ct-space-6);background:color-mix(in srgb, var(--ct-bg) 90%, transparent);border-bottom:1px solid var(--ct-border);-webkit-backdrop-filter:blur(10px);flex-wrap:wrap;display:flex;position:sticky;top:0}.site-header .brand{height:var(--ct-header-h);letter-spacing:-.4px;color:var(--ct-text);white-space:nowrap;align-items:center;margin-right:auto;font-size:17px;font-weight:700;text-decoration:none;display:flex}.site-header>nav:not(.site-tabs){scrollbar-width:none;min-width:0;margin-right:var(--ct-space-3);display:flex;overflow-x:auto}.site-header>nav:not(.site-tabs) a{line-height:var(--ct-header-h);color:var(--ct-text);white-space:nowrap;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.site-header>nav:not(.site-tabs) a:hover,.site-header>nav:not(.site-tabs) a[aria-current=page]{color:var(--ct-accent)}.site-header .site-tabs{gap:var(--ct-space-1);padding:var(--ct-space-2) 0;border-top:1px solid var(--ct-border);scrollbar-width:none;flex-basis:100%;order:10;display:flex;overflow-x:auto}.site-tabs a{border-radius:var(--ct-radius-sm);color:var(--ct-muted);white-space:nowrap;padding:4px 10px;font-size:13px;font-weight:500;text-decoration:none}.site-tabs a:hover{color:var(--ct-text);background:var(--ct-surface-2)}.site-tabs a[aria-current=page]{color:var(--ct-accent);background:var(--ct-accent-soft)}.site-footer{justify-content:center;align-items:center;gap:var(--ct-space-2) var(--ct-space-5);padding:var(--ct-space-6) var(--ct-space-5);border-top:1px solid var(--ct-border);color:var(--ct-muted);text-align:center;flex-wrap:wrap;font-size:14px;display:flex}.site-footer a{color:var(--ct-text-2);text-decoration:none}.site-footer a:hover{color:var(--ct-accent)}.site-footer .brand{letter-spacing:-.3px;color:var(--ct-text);font-weight:700}@media (width<=760px){.site-header{padding:0 var(--ct-space-4)}.site-header>nav:not(.site-tabs){margin:0 calc(-1 * var(--ct-space-4));padding:0 var(--ct-space-1);border-top:1px solid var(--ct-border);flex-basis:100%;order:5}.site-header>nav:not(.site-tabs) a{padding:0 10px;font-size:13px;line-height:44px}.site-header .brand{height:56px;font-size:16px}:is(.site-theme,.site-lang) select{background-position:right 8px center;height:30px;padding-left:8px;padding-right:24px;font-size:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.intro-links{margin-top:8px;font-size:13px}.intro-links a{color:var(--ct-accent);text-decoration:none}.intro-links a:hover{text-decoration:underline}main{max-width:var(--ct-page-w);flex-direction:column;gap:20px;margin:0 auto;padding:24px 32px 48px;display:flex}.intro h1{letter-spacing:-.8px;margin:16px 0 6px;font-size:32px;font-weight:600;line-height:1.2}.intro p{color:var(--ct-muted);margin:0;line-height:1.6}.demo{background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:var(--ct-radius);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;display:grid;overflow:hidden}.demo-main{min-width:0;padding:16px 16px 12px}.demo h2{margin:0 0 2px;font-size:16px;font-weight:600}.demo-desc{color:var(--ct-muted);margin:0 0 12px;font-size:13px}.demo-host{flex-direction:column;gap:8px;display:flex;position:relative}.demo-host>canvas,.chart>canvas{flex:auto;width:100%;min-height:0;display:block}.chart{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.toolbar{color:var(--ct-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.toolbar button{font:inherit;color:var(--ct-text);background:var(--ct-surface-2);border:1px solid var(--ct-border);border-radius:var(--ct-radius-sm);cursor:pointer;padding:4px 10px}.toolbar button:hover{border-color:var(--ct-border-strong)}.toolbar button[aria-pressed=true]{background:var(--ct-accent-soft);border-color:var(--ct-accent)}.toolbar input{font:inherit;color:var(--ct-text);background:var(--ct-surface-2);border:1px solid var(--ct-border);border-radius:var(--ct-radius-sm);min-width:280px;padding:4px 10px}.toolbar input:focus{border-color:var(--ct-accent);outline:none}.side-panel{width:290px;color:var(--ct-muted);background:color-mix(in srgb, var(--ct-surface) 88%, transparent);border:1px solid var(--ct-border);pointer-events:none;border-radius:8px;padding:10px 12px;font-size:12.5px;position:absolute;top:8px;right:8px}.side-panel h3{color:var(--ct-text);margin:0 0 6px;font-size:13px;font-weight:600}.side-panel ol{white-space:nowrap;margin:0;padding-left:18px;line-height:1.6}.side-panel b{color:var(--ct-text);font-variant-numeric:tabular-nums}.demo-error{color:var(--ct-danger-text);background:var(--ct-danger-bg);border:1px solid var(--ct-danger-border);border-radius:var(--ct-radius-sm);padding:12px;font-size:13px}.demo-source{border-left:1px solid var(--ct-border);background:var(--ct-code-bg);min-width:0}.demo-source summary{color:var(--ct-muted);cursor:pointer;border-bottom:1px solid var(--ct-border);padding:10px 14px;font-size:12px}.demo-source pre{max-height:520px;margin:0;padding:12px 14px;font-size:12px;line-height:1.5;overflow:auto}.demo-source code{font-family:var(--ct-font-mono);color:var(--ct-code-text)}.tok-c{color:var(--ct-syntax-comment);font-style:italic}.tok-s{color:var(--ct-syntax-string)}.tok-n{color:var(--ct-syntax-number)}.tok-k{color:var(--ct-syntax-keyword)}.tok-t{color:var(--ct-syntax-type)}.scene-design{background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:var(--ct-radius);order:-1;padding:16px}body[data-family=scene] .intro{order:-2}.scene-design-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.scene-design h2{margin:0 0 4px;font-size:16px}.scene-design p{color:var(--ct-muted);margin:0;font-size:13px}.scene-design-fields{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.scene-design label{color:var(--ct-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.scene-design select,.scene-design button,.scene-design input[type=color]{font:inherit;color:var(--ct-text);background:var(--ct-surface-2);border:1px solid var(--ct-border);border-radius:var(--ct-radius-sm);min-height:36px}.scene-design select{padding:6px 28px 6px 10px}.scene-design button{cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:12px}.scene-design button:hover{border-color:var(--ct-accent)}.scene-design input[type=color]{cursor:pointer;width:64px;padding:4px}.scene-design input[type=range]{width:140px;height:28px;margin:0}.scene-design input{accent-color:var(--ct-accent)}.scene-design .scene-brightness{position:relative}.scene-brightness output{font-variant-numeric:tabular-nums;color:var(--ct-text);position:absolute;top:0;right:0}.scene-design .scene-check{cursor:pointer;flex-direction:row;align-items:center;gap:6px;min-height:36px}.scene-check input{width:16px;height:16px}.scene-design :is(button,select,input):focus-visible{outline:2px solid var(--ct-accent);outline-offset:3px}@media (width<=600px){main{padding:16px 12px}.intro h1{font-size:26px}.scene-design-heading{align-items:start}.scene-design-fields{gap:12px}.scene-design select{max-width:100%}}@media (width<=1000px){.demo{grid-template-columns:minmax(0,1fr)}.demo-source{border-left:none;border-top:1px solid var(--ct-border)}}.gallery{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.card{background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:var(--ct-radius);flex-direction:column;text-decoration:none;transition:border-color .12s;display:flex;overflow:hidden}.card:hover{border-color:var(--ct-border-strong)}.card .preview{height:170px;position:relative}.card .preview canvas{width:100%;height:100%;display:block}.card .body{border-top:1px solid var(--ct-border);padding:12px 14px 14px}.card h2{margin:0 0 4px;font-size:15px;font-weight:600}.card p{color:var(--ct-muted);margin:0;font-size:12.5px;line-height:1.45}.spark-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;font-size:12.5px;display:grid}.spark-row{grid-template-columns:74px 1fr 64px;align-items:center;gap:10px;height:36px;display:grid}.spark-row canvas{width:100%;height:28px;display:block}.spark-row .name{color:var(--ct-muted)}.spark-row .value{text-align:right;font-variant-numeric:tabular-nums}.split{flex:auto;grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid}.split figure{flex-direction:column;min-height:0;margin:0;display:flex}.split figcaption{color:var(--ct-muted);margin-bottom:4px;font-size:12px}.split img{object-fit:contain;border:1px dashed var(--ct-border);border-radius:var(--ct-radius-sm);flex:auto;width:100%;min-height:0}
