.home h1,.home h2,.home h3,.home p,.home pre{margin:0}.home-hero>*,.home-demo>*,.home-features>*,.home-steps>*,.home-uses>*,.home-closing>*{width:100%;max-width:1200px;margin-inline:auto;box-sizing:border-box}.home-btn-primary,.home-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--d-r-1);font-size:13.5px;line-height:1.2;text-decoration:none;cursor:pointer}.home-btn-primary{background:var(--d-accent);color:var(--d-on-accent);font-weight:600;border:1px solid var(--d-accent)}.home-btn-primary:hover{filter:brightness(1.08)}.home-btn-primary:active{filter:brightness(.94)}.home-btn-secondary{background:transparent;color:var(--d-text-primary);font-weight:500;border:1px solid var(--d-border-strong)}.home-btn-secondary:hover{border-color:var(--d-accent);color:var(--d-accent)}.home-btn-secondary:active{background:var(--d-surface-2)}.home-link{display:inline-flex;align-items:center;gap:6px;padding-block:4px;margin-block:-4px;font-size:14px;font-weight:600;color:var(--d-accent);text-decoration:none}.home-link:hover{text-decoration:underline;text-underline-offset:3px}.home-hero{display:flex;flex-direction:column;align-items:center;gap:26px;padding:92px var(--d-gutter) 84px;text-align:center}.home-eyebrow,.home-hero .home-cta{width:auto}.home-eyebrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.home-chip{padding:4px 9px;border-radius:var(--d-r-1);background:var(--d-surface-2);font-family:var(--mono),monospace;font-size:11px;line-height:1.35;color:var(--d-text-secondary)}.home-hero h1{font-size:clamp(38px,5.2vw,74px);font-weight:700;letter-spacing:-.027em;line-height:1.14;color:var(--d-text-primary)}.home-hero h1 em{font-style:normal;color:var(--d-accent)}.home-lead{max-width:700px;font-size:15.5px;line-height:1.95;color:var(--d-text-secondary)}.home-cta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.home-demo{padding:0 var(--d-gutter) 100px}.home-canvas{overflow:hidden;background:var(--d-surface);border:1px solid var(--d-border);border-radius:6px}.home-canvas-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:40px;padding:0 14px;background:var(--d-surface-2);border-bottom:1px solid var(--d-border)}.home-canvas-file{display:flex;align-items:center;gap:12px;min-width:0}.home-dots{display:flex;align-items:center;gap:6px}.home-dots span{width:9px;height:9px;border-radius:50%;background:var(--d-border-strong)}.home-file{font-family:var(--mono),monospace;font-size:12px;color:var(--d-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-phase{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:4px 9px;border-radius:var(--d-r-1);background:var(--d-accent-soft);font-family:var(--mono),monospace;font-size:11px;color:var(--d-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-live-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--d-accent);animation:home-pulse 1.8s ease-in-out infinite}@keyframes home-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.home-live-dot{animation:none}}.home-canvas-body{display:flex;min-height:476px}.home-code{display:flex;flex-direction:column;gap:2px;flex:0 0 520px;width:520px;padding:18px 0;background:var(--d-code-bg);border-right:1px solid var(--d-border);overflow-x:auto;box-sizing:border-box}.home-code-line{display:flex;align-items:center;padding:2px 14px 2px 0;min-height:20px}.home-code-line[data-current=true]{background:var(--d-accent-soft)}.home-ln{flex:0 0 34px;width:34px;padding-right:14px;text-align:right;font-family:var(--mono),monospace;font-size:11px;color:var(--d-text-muted)}.home-code-line[data-current=true] .home-ln{color:var(--d-accent)}.home-code-text{font-family:var(--mono),monospace;font-size:12.5px;white-space:pre;color:var(--d-text-primary)}.home-code-line[data-kind=head] .home-code-text,.home-code-line[data-kind=step] .home-code-text{font-weight:700}.home-code-line[data-kind=say] .home-code-text,.home-code-line[data-kind=comment] .home-code-text{color:var(--d-text-secondary)}.home-canvas-stage{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;padding:24px;background:var(--d-surface)}.home-canvas-stage .dg-player{width:100%;max-width:440px}.home-canvas-stage .dg-bar,.home-use-thumb .dg-bar{display:none}.home-canvas-stage svg[data-dragon=figure]{display:block;width:100%;height:auto}.home-head{display:flex;flex-direction:column;gap:10px}.home-head-eyebrow{font-family:var(--mono),monospace;font-size:11px;letter-spacing:1.4px;color:var(--d-accent)}.home-head h2{font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.028em;line-height:1.25;color:var(--d-text-primary)}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;align-items:start}.home-features{display:flex;flex-direction:column;gap:48px;padding:0 var(--d-gutter) 100px}.home-feature{display:flex;flex-direction:column;gap:14px;padding-top:22px;border-top:2px solid var(--d-accent)}.home-feature-icon{display:block;width:20px;height:20px;background-color:var(--d-text-primary);mask:center / 20px 20px no-repeat}.home-feature-icon[data-icon=write]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M13%2021h8M21.2%206.8a2.8%202.8%200%200%200-4-4L3.8%2016.2a2%202%200%200%200-.5.8l-1.3%204.4a.5.5%200%200%200%20.6.6l4.4-1.3a2%202%200%200%200%20.8-.5z'/%3e%3c/svg%3e")}.home-feature-icon[data-icon=play]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M6%203.9a1%201%200%200%201%201.5-.9l12%208.1a1%201%200%200%201%200%201.8l-12%208.1A1%201%200%200%201%206%2020.1z'/%3e%3c/svg%3e")}.home-feature-icon[data-icon=share]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='18'%20cy='5'%20r='3'/%3e%3ccircle%20cx='6'%20cy='12'%20r='3'/%3e%3ccircle%20cx='18'%20cy='19'%20r='3'/%3e%3cpath%20d='M8.6%2013.5l6.8%204M15.4%206.5l-6.8%204'/%3e%3c/svg%3e")}.home-feature h3,.home-step h3{font-size:19px;font-weight:600;color:var(--d-text-primary)}.home-feature p,.home-step p{font-size:14px;line-height:1.85;color:var(--d-text-secondary)}.home-steps{display:flex;flex-direction:column;gap:48px;padding:76px var(--d-gutter) 100px;background:var(--d-surface-2)}.home-step{display:flex;flex-direction:column;gap:14px;min-width:0}.home-step-no{font-size:40px;font-weight:700;letter-spacing:-1.5px;line-height:1;color:var(--d-border-strong)}.home-step-code{padding:14px;background:var(--d-code-bg);border:1px solid var(--d-border);border-radius:4px;font-family:var(--mono),monospace;font-size:11.5px;line-height:1.75;color:var(--d-text-secondary);white-space:pre;overflow-x:auto}.home-uses{display:flex;flex-direction:column;gap:44px;padding:92px var(--d-gutter) 100px}.home-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-use{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2);color:inherit;text-decoration:none}.home-use:hover{border-color:var(--d-border-strong)}.home-use-thumb{height:172px;padding:12px 12px 0;overflow:hidden;background:var(--d-bg);border-bottom:1px solid var(--d-border);box-sizing:border-box}.home-use-thumb .dg-frame{display:flex;justify-content:center}.home-use-thumb svg[data-dragon=figure]{display:block;flex:none;max-width:100%;width:auto;height:auto}.home-use-body{display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:20px}.home-use-kind{padding:3px 8px;border-radius:var(--d-r-1);background:var(--d-surface-2);font-family:var(--mono),monospace;font-size:11px;line-height:1.35;color:var(--d-text-primary)}.home-use-body h3{font-size:18px;font-weight:600;line-height:1.45;color:var(--d-text-primary)}.home-use-body p{font-size:13.5px;line-height:1.8;color:var(--d-text-secondary)}.home-uses-more{display:flex}.home-closing{display:flex;flex-direction:column;align-items:center;gap:22px;padding:96px var(--d-gutter);background:var(--d-accent-soft);border-top:1px solid var(--d-border);text-align:center}.home-closing h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;letter-spacing:-.033em;line-height:1.2;color:var(--d-text-primary)}.home-closing p{max-width:560px;font-size:15px;line-height:1.9;color:var(--d-text-secondary)}.home-closing .home-cta{padding-top:8px}@media(max-width:1024px){.home-canvas-body{flex-direction:column;min-height:0}.home-code{flex:0 0 auto;width:100%;border-right:none;border-bottom:1px solid var(--d-border)}.home-canvas-stage{min-height:320px;padding:16px 12px}}@media(max-width:900px){.home-grid,.home-use-grid{grid-template-columns:minmax(0,1fr);gap:32px}.home-hero{padding-top:56px;padding-bottom:56px}.home-features,.home-uses{padding-bottom:64px}.home-steps{padding-top:56px;padding-bottom:64px}.home-closing{padding-block:64px}}@media(pointer:coarse){.home-btn-primary,.home-btn-secondary{box-sizing:border-box;min-height:44px}.home-link{padding-block:11px;margin-block:-11px}}.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;min-height:calc(100dvh - var(--d-topbar-h));padding:60px var(--d-gutter);box-sizing:border-box;text-align:center}.not-found h1,.not-found p{margin:0}.not-found-code{display:flex;align-items:center;gap:2px;font-size:clamp(72px,12vw,132px);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--d-border-strong)}.not-found-zero{color:var(--d-accent)}.not-found-ticks{display:flex;align-items:center;gap:8px;width:300px;max-width:100%}.not-found-ticks span{flex:1;height:3px;background:var(--d-surface-3)}.not-found h1{font-size:clamp(26px,3.4vw,38px);font-weight:700;letter-spacing:-.032em;line-height:1.3;color:var(--d-text-primary);text-wrap:balance;word-break:auto-phrase}.not-found h1 em{font-style:normal}.not-found-lead{max-width:620px;font-size:15px;line-height:1.95;color:var(--d-text-secondary)}.not-found-cta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding-top:10px}.not-found-btn-primary,.not-found-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--d-r-1);font-size:13.5px;line-height:1.2;text-decoration:none}.not-found-btn-primary{border:1px solid var(--d-accent);background:var(--d-accent);color:var(--d-on-accent);font-weight:600}.not-found-btn-primary:hover{filter:brightness(1.08)}.not-found-btn-secondary{border:1px solid var(--d-border-strong);background:transparent;color:var(--d-text-primary);font-weight:500}.not-found-btn-secondary:hover{border-color:var(--d-accent);color:var(--d-accent)}.not-found-path{font-family:var(--mono),monospace;font-size:12px;color:var(--d-text-muted);overflow-wrap:anywhere}.release{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:1440px;margin:0 auto;padding:54px var(--d-gutter) 44px;box-sizing:border-box}.release h1,.release p{margin:0}.release-crumb{display:flex;align-items:center;gap:7px;font-family:var(--mono),monospace;font-size:12px;color:var(--d-text-muted)}.release-crumb a{padding-block:4px;color:var(--d-text-muted);text-decoration:none}.release-crumb a:hover{color:var(--d-accent)}.release-crumb-here{color:var(--d-text-secondary)}.release-eyebrow{font-family:var(--mono),monospace;font-size:11px;letter-spacing:1.4px;color:var(--d-accent)}.release h1{font-size:clamp(28px,3.6vw,46px);font-weight:700;letter-spacing:-.035em;line-height:1.15;color:var(--d-text-primary)}.release-accent{color:var(--d-accent)}.release-lead{max-width:740px;font-size:15px;line-height:1.9;color:var(--d-text-secondary)}.release-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px}.release-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid var(--d-accent);border-radius:var(--d-r-1);background:var(--d-accent);font-size:13px;font-weight:600;line-height:1.2;color:var(--d-on-accent);text-decoration:none}.release-btn:hover{filter:brightness(1.08)}.release-btn-arrow{display:inline-flex;align-items:center}@media(max-width:760px){.release{padding-top:36px;padding-bottom:32px}}:root{--d-accent-soft: color-mix(in srgb, var(--d-accent) 14%, var(--d-surface));--d-err-soft: color-mix(in srgb, var(--d-err) 12%, var(--d-surface));--d-r-1: 3px;--d-r-2: 5px;--d-gutter: clamp(20px, 8.4vw, 120px);--d-topbar-h: 60px}html,body{margin:0;min-height:100%}body{background:var(--d-bg);color:var(--d-text-primary);font-family:var(--sans),sans-serif;font-size:13px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--d-accent);outline-offset:2px}.site{display:flex;flex-direction:column;min-height:100dvh}.site-main{flex:1;min-width:0}.site-head{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--d-topbar-h);padding:0 28px;background:var(--d-surface);border-bottom:1px solid var(--d-border);box-sizing:border-box}.site-brand{display:flex;align-items:center;gap:9px;flex:0 0 auto;text-decoration:none}.site-mark{display:block;width:19px;height:14px;background:var(--d-accent);clip-path:polygon(9.09% 93.75%,50% 6.25%,90.91% 93.75%,50% 65.63%)}.site-name{font-size:17px;font-weight:700;letter-spacing:-.3px;color:var(--d-text-primary)}.site-tagline{font-size:11px;color:var(--d-text-muted);white-space:nowrap}.site-brand:hover .site-name{color:var(--d-accent)}.site-nav{display:flex;align-items:center;justify-content:center;gap:2px;flex:1 1 auto;min-width:0}.site-nav-link{display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 11px 0;font-size:13px;line-height:1.35;color:var(--d-text-secondary);text-decoration:none;white-space:nowrap}.site-nav-link:after{content:"";display:block;width:100%;height:2px;background:transparent}.site-nav-link:hover{color:var(--d-text-primary)}.site-nav-link[aria-current=page]{color:var(--d-accent)}.site-nav-link[aria-current=page]:after{background:var(--d-accent)}.site-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.site-lang{display:flex;overflow:hidden;border:1px solid var(--d-border);border-radius:var(--d-r-1);background:var(--d-surface)}.site-lang button{padding:5px 9px;border:0;background:transparent;font-size:11px;line-height:1.35;color:var(--d-text-muted)}.site-lang button[aria-pressed=true]{background:var(--d-surface-3);color:var(--d-text-primary);font-weight:600}.site-lang:hover{border-color:var(--d-border-strong)}.site-palette{display:flex;gap:1px;padding:2px;border:1px solid var(--d-border);border-radius:var(--d-r-1);background:var(--d-surface)}.site-palette:hover{border-color:var(--d-border-strong)}.site-palette-btn{display:flex;align-items:center;justify-content:center;width:23px;height:21px;padding:0;border:0;border-radius:2px;background:transparent}.site-palette-btn[aria-pressed=true]{background:var(--d-surface-3)}.site-swatch{display:block;flex:none;width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,var(--sw-light) 50%,var(--sw-dark) 50%);box-shadow:inset 0 0 0 2px var(--sw-accent)}[aria-pressed=true]>.site-swatch{box-shadow:inset 0 0 0 2px var(--sw-accent),0 0 0 1.5px var(--d-surface),0 0 0 3px var(--d-text-primary)}.site-icon-btn{display:flex;align-items:center;justify-content:center;width:29px;height:27px;padding:0;border:1px solid var(--d-border);border-radius:var(--d-r-1);background:var(--d-surface);color:var(--d-text-secondary);font-size:14px;line-height:1}.site-icon-btn:hover{border-color:var(--d-border-strong);color:var(--d-text-primary)}.site-cta{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--d-r-1);background:var(--d-accent);color:var(--d-on-accent);font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap;text-decoration:none}.site-cta:hover{filter:brightness(1.08)}.site-cta:active{filter:brightness(.94)}.site-menu-btn{display:none}@media(max-width:1100px){.site-head{padding:0 16px}.site-tagline{display:none}}@media(max-width:900px){.site-cta{display:none}.site-nav-link{padding:9px 7px 0;font-size:12px}}@media(max-width:720px){.site-nav,.site-palette{display:none}.site-menu-btn{display:flex}}.site-scrim{position:fixed;inset:var(--d-topbar-h) 0 0;z-index:40;background:color-mix(in srgb,var(--d-text-primary) 28%,transparent)}.site-sheet{position:absolute;top:100%;right:0;left:0;z-index:45;display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--d-surface);border-bottom:1px solid var(--d-border);box-shadow:0 10px 24px color-mix(in srgb,var(--d-text-primary) 14%,transparent)}.site-sheet nav{display:flex;flex-direction:column;gap:2px}.site-sheet-link{display:block;padding:12px 14px;border-radius:var(--d-r-1);font-size:14px;font-weight:500;line-height:1.4;color:var(--d-text-secondary);text-decoration:none}.site-sheet-link:hover{background:var(--d-surface-3);color:var(--d-text-primary)}.site-sheet-link[aria-current=page]{color:var(--d-text-primary);font-weight:600;box-shadow:inset 3px 0 0 var(--d-accent)}.site-sheet-palette{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:4px;padding:10px 14px 4px;border-top:1px solid var(--d-border)}.site-sheet-label{flex-basis:100%;font-size:12px;color:var(--d-text-muted)}.site-sheet-swatch{display:inline-flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:7px 6px;text-align:center;border:1px solid var(--d-border);border-radius:var(--d-r-1);background:transparent;font-size:12.5px;line-height:1.3;color:var(--d-text-secondary)}.site-sheet-swatch[aria-pressed=true]{border-color:var(--d-text-primary);color:var(--d-text-primary);font-weight:600}.site-sheet-cta{margin-top:6px;padding:12px 14px;border-radius:var(--d-r-1);background:var(--d-accent);color:var(--d-on-accent);font-size:13.5px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none}@media(max-width:439px){.site-brand{min-height:44px}.site-lang button{min-width:44px;height:44px;padding:0 9px;font-size:12px}.site-icon-btn{width:44px;height:44px;font-size:16px}.site-sheet-link{box-sizing:border-box;min-height:44px}.site-sheet-swatch{min-height:44px}.site-sheet-cta{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box}}@media(pointer:coarse){.site-brand{min-height:44px}.site-nav-link{justify-content:flex-end;min-width:44px;min-height:44px;padding-right:9px;padding-left:9px;box-sizing:border-box}.site-lang button{min-width:44px;height:44px;padding:0 9px;font-size:12px}.site-palette{gap:0;padding:0}.site-palette-btn{width:44px;height:44px}.site-icon-btn{width:44px;height:44px;font-size:16px}.site-cta{min-height:44px;box-sizing:border-box}.site-sheet-link{box-sizing:border-box;min-height:44px}.site-sheet-swatch{min-height:44px}.site-sheet-cta{display:flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box}}@media(pointer:coarse)and (max-width:1056px){.site-cta{display:none}}@media(pointer:coarse)and (max-width:920px){.site-nav,.site-palette{display:none}.site-menu-btn{display:flex}}@media(prefers-reduced-motion:no-preference){.site-sheet{animation:site-sheet-in .14s ease-out}@keyframes site-sheet-in{0%{opacity:0;transform:translateY(-6px)}}}.pg{position:relative;display:grid;grid-template-columns:var(--pg-shelf, 240px) 0 var(--pg-code, 300px) 0 minmax(0,1fr);grid-template-areas:"shelf split-shelf code split-code stage";height:calc(100dvh - var(--d-topbar-h));background:var(--d-bg)}.pg:has(.pg-split[data-dragging]){cursor:col-resize;user-select:none}.pg-split{position:relative;z-index:5;min-width:0;cursor:col-resize;touch-action:none;outline:none}.pg-split[data-pane=shelf]{grid-area:split-shelf}.pg-split[data-pane=code]{grid-area:split-code}.pg-split:before{content:"";position:absolute;top:0;bottom:0;left:-5px;width:9px}.pg-split:is(:hover,:focus-visible,[data-dragging]):before{background:linear-gradient(var(--d-accent),var(--d-accent)) 4px 0 / 1px 100% no-repeat}.pg-split:after{content:"";position:absolute;top:50%;left:-4px;width:6px;height:32px;margin-top:-16px;border-radius:3px;background:var(--d-border-strong);box-shadow:0 0 0 2px var(--d-surface);pointer-events:none;transition:background-color .12s,height .12s,margin-top .12s}.pg-split:is(:hover,:focus-visible,[data-dragging]):after{height:40px;margin-top:-20px;background:var(--d-accent)}@media(pointer:coarse){.pg-split:before{left:-12px;width:23px}.pg-split:is(:hover,:focus-visible,[data-dragging]):before{background-position:11px 0}}.pg-gap{flex:1}.pg-tool{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:var(--d-r-1);background:transparent;color:var(--d-text-secondary)}.pg-tool:hover:not(:disabled){border-color:var(--d-border-strong);color:var(--d-text-primary)}.pg-tool[aria-pressed=true]{background:var(--d-accent-soft);border-color:var(--d-accent);color:var(--d-accent)}.pg-tool:disabled{opacity:.45;cursor:not-allowed}.pg-tool-primary,.pg-tool-primary:hover:not(:disabled){background:var(--d-accent);border-color:var(--d-accent);color:var(--d-on-accent)}.pg-tool-primary:hover:not(:disabled){filter:brightness(1.08)}.pg-icon{display:block;width:16px;height:16px;background-color:currentColor;mask:center / 16px 16px no-repeat}.pg-icon[data-icon=text-down]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M2.5%2012.5%205.5%204l3%208.5M3.4%2010h4.2M10.5%208.5h3'/%3e%3c/svg%3e")}.pg-icon[data-icon=text-up]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M2.5%2012.5%205.5%204l3%208.5M3.4%2010h4.2M10.5%208.5h3M12%207v3'/%3e%3c/svg%3e")}.pg-icon[data-icon=grid]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='%23000'%3e%3ccircle%20cx='4'%20cy='4'%20r='1.1'/%3e%3ccircle%20cx='8'%20cy='4'%20r='1.1'/%3e%3ccircle%20cx='12'%20cy='4'%20r='1.1'/%3e%3ccircle%20cx='4'%20cy='8'%20r='1.1'/%3e%3ccircle%20cx='8'%20cy='8'%20r='1.1'/%3e%3ccircle%20cx='12'%20cy='8'%20r='1.1'/%3e%3ccircle%20cx='4'%20cy='12'%20r='1.1'/%3e%3ccircle%20cx='8'%20cy='12'%20r='1.1'/%3e%3ccircle%20cx='12'%20cy='12'%20r='1.1'/%3e%3c/svg%3e")}.pg-icon[data-icon=fullscreen]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M6.5%206.5%202.5%202.5M2.5%205.5v-3h3M9.5%206.5l4-4M10.5%202.5h3v3M9.5%209.5l4%204M13.5%2010.5v3h-3M6.5%209.5l-4%204M5.5%2013.5h-3v-3'/%3e%3c/svg%3e")}.pg-icon[data-icon=fit]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M2.5%206V3.5a1%201%200%200%201%201-1H6M10%202.5h2.5a1%201%200%200%201%201%201V6M13.5%2010v2.5a1%201%200%200%201-1%201H10M6%2013.5H3.5a1%201%200%200%201-1-1V10'/%3e%3c/svg%3e")}.pg-icon[data-icon=zoom-out]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='7.2'%20cy='7.2'%20r='4.2'/%3e%3cpath%20d='M10.4%2010.4%2013.5%2013.5M5.4%207.2h3.6'/%3e%3c/svg%3e")}.pg-icon[data-icon=zoom-in]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='7.2'%20cy='7.2'%20r='4.2'/%3e%3cpath%20d='M10.4%2010.4%2013.5%2013.5M5.4%207.2h3.6M7.2%205.4v3.6'/%3e%3c/svg%3e")}.pg-icon[data-icon=import]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M11%205.5%208%202.5%205%205.5M8%202.5v8M3%209.5v3a1%201%200%200%200%201%201h8a1%201%200%200%200%201-1v-3'/%3e%3c/svg%3e")}.pg-icon[data-icon=export]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M5%206.5%208%209.5%2011%206.5M8%209.5v-7M3%209.5v3a1%201%200%200%200%201%201h8a1%201%200%200%200%201-1v-3'/%3e%3c/svg%3e")}.pg-icon[data-icon=list]{mask-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3%204.5h10M3%208h10M3%2011.5h10'/%3e%3c/svg%3e")}.pg-shelf{grid-area:shelf;display:flex;flex-direction:column;gap:12px;min-height:0;padding:16px 12px;box-sizing:border-box;background:var(--d-surface);border-right:1px solid var(--d-border)}.pg-new{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border:0;border-radius:var(--d-r-1);background:var(--d-accent);color:var(--d-on-accent);font-size:13px;font-weight:600}.pg-new:hover{filter:brightness(1.08)}.pg-new-plus{font-size:15px;font-weight:400;line-height:1}.pg-shelf-tabs{display:flex;gap:4px;border-bottom:1px solid var(--d-border)}.pg-shelf-tabs button{flex:1;padding:8px 6px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--d-text-muted);font-size:13px}.pg-shelf-tabs button:hover{color:var(--d-text-primary)}.pg-shelf-tabs button[aria-selected=true]{border-bottom-color:var(--d-accent);color:var(--d-text-primary);font-weight:600}.pg-filter{width:100%;height:34px;padding:0 10px;box-sizing:border-box;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:var(--d-surface-2);color:var(--d-text-primary);font:inherit;outline:none}.pg-filter:focus,.pg-filter:focus-visible{border-color:var(--d-accent);outline:none}.pg-filter::placeholder{color:var(--d-text-muted)}.pg-shelf-list{flex:1;min-height:0;overflow-y:auto;padding-bottom:8px}.pg-group{margin-bottom:14px}.pg-group-title{margin:0;padding:8px 8px 4px;font-family:var(--mono),monospace;font-size:10px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--d-text-muted)}.pg-item{display:block;width:100%;margin-bottom:1px;padding:7px 9px;border:0;border-radius:var(--d-r-1);background:transparent;color:var(--d-text-secondary);font-size:13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-item:hover{background:var(--d-surface-3);color:var(--d-text-primary)}.pg-item[aria-current=true]{background:var(--d-accent-soft);color:var(--d-accent);font-weight:600}.pg-shelf-hint{margin:0 0 8px;padding:0 8px;font-size:11px;line-height:1.5;color:var(--d-text-muted)}.pg-entry{display:flex;flex-direction:column;gap:3px;width:100%;margin-bottom:2px;padding:7px 10px;box-sizing:border-box;border:0;border-radius:var(--d-r-1);background:transparent;text-align:left}.pg-entry-button:hover{background:var(--d-surface-3)}.pg-entry-name{font-size:12.5px;font-weight:600;color:var(--d-text-primary)}.pg-entry-code{font-family:var(--mono),monospace;font-size:11.5px;line-height:1.55;color:var(--d-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.pg-entry>.pg-entry-code:first-child{color:var(--d-text-primary)}.pg-entry-note{font-size:11px;line-height:1.5;color:var(--d-text-muted)}.pg-shelf-empty{margin:0;padding:8px 10px;font-size:12px;color:var(--d-text-muted)}.pg-shelf-scrim,.pg-shelf-toggle{display:none}.pg-code{grid-area:code;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--d-code-bg);border-right:1px solid var(--d-border)}.pg-bar,.pg-stage-bar{display:flex;flex:none;align-items:center;gap:4px;height:46px;padding:0 10px;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px solid var(--d-border);background:var(--d-surface)}.pg-bar::-webkit-scrollbar,.pg-stage-bar::-webkit-scrollbar{display:none}.pg-bar>*,.pg-stage-bar>*{flex-shrink:0}.pg-tabs{display:inline-flex}.pg-tabs button{padding:5px 8px;border:1px solid var(--d-border-strong);background:transparent;color:var(--d-text-secondary);font-family:var(--mono),monospace;font-size:11px;line-height:1.4}.pg-tabs button:first-child{border-radius:var(--d-r-1) 0 0 var(--d-r-1)}.pg-tabs button+button{border-left:0;border-radius:0 var(--d-r-1) var(--d-r-1) 0}.pg-tabs button:hover{color:var(--d-text-primary)}.pg-tabs button[aria-selected=true]{background:var(--d-accent);border-color:var(--d-accent);color:var(--d-on-accent);font-weight:600}.pg-bar>.pg-file{flex:1 1 0;min-width:56px;padding:5px 4px;border:1px solid transparent;border-radius:var(--d-r-1);background:transparent;color:var(--d-text-muted);font-family:var(--mono),monospace;font-size:11px;text-overflow:ellipsis}.pg-bar>.pg-file:hover{border-color:var(--d-border)}.pg-bar>.pg-file:focus,.pg-bar>.pg-file:focus-visible{border-color:var(--d-accent);color:var(--d-text-primary);outline:none}.pg-fold{display:none;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:transparent;color:var(--d-text-secondary);font-size:12px}.pg-code-body{flex:1;display:flex;min-height:0;font-family:var(--mono),monospace;font-size:12px;line-height:20px}.pg-code-body[hidden]{display:none}.pg-gutter{flex:none;width:36px;overflow:hidden;padding:12px 0;border-right:1px solid var(--d-border);color:var(--d-text-muted);font-size:11px;text-align:right;user-select:none}.pg-gutter>div{padding-right:8px}.pg-gutter .is-error{background:var(--d-err-soft);color:var(--d-err);font-weight:700}.pg-field{position:relative;display:flex;flex:1;min-width:0}.pg-paint{position:absolute;inset:0;margin:0;padding:12px 14px 12px 10px;overflow:hidden;color:var(--d-text-primary);font:inherit;white-space:pre;tab-size:2;pointer-events:none}.pg-paint:after{content:" "}.pg-paint [data-syn=kind]{color:var(--d-syn-kind);font-weight:700}.pg-paint [data-syn=head]{color:var(--d-syn-head);font-weight:600}.pg-paint [data-syn=as]{color:var(--d-syn-as)}.pg-paint [data-syn=arrow]{color:var(--d-syn-arrow);font-weight:700}.pg-paint [data-syn=key]{color:var(--d-syn-key)}.pg-paint [data-syn=value]{color:var(--d-syn-value)}.pg-paint [data-syn=comment]{color:var(--d-syn-comment);font-style:italic}.pg-paint [data-syn=code]{color:var(--d-syn-code)}.pg-paint [data-syn=punct],.pg-paint [data-syn=json-punct]{color:var(--d-syn-punct)}.pg-paint [data-syn=json-key]{color:var(--d-syn-json-key)}.pg-paint [data-syn=json-string]{color:var(--d-syn-json-string)}.pg-paint [data-syn=json-number]{color:var(--d-syn-json-number)}.pg-paint [data-syn=json-literal]{color:var(--d-syn-json-literal)}.pg-text{position:relative;flex:1;min-width:0;margin:0;padding:12px 14px 12px 10px;border:0;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--d-text-primary);font:inherit;white-space:pre;overflow:auto;resize:none;tab-size:2}.pg-code-body[data-composing] .pg-text{color:var(--d-text-primary);-webkit-text-fill-color:var(--d-text-primary)}.pg-code-body[data-composing] .pg-paint{visibility:hidden}.pg-text:focus,.pg-text:focus-visible{outline:none}.pg-text::selection{background:color-mix(in srgb,var(--d-accent) 24%,transparent)}.pg-notices{flex:none;max-height:180px;overflow-y:auto;padding:10px 16px;border-top:1px solid var(--d-border);font-size:12.5px}.pg-notices[data-state=error]{padding:11px 16px 12px;background:var(--d-err-soft)}.pg-ok{margin:0;font-size:12px;color:var(--d-ok)}.pg-waiting{margin:0;font-size:12px;color:var(--d-text-muted)}.pg-notices-head{margin:0 0 8px}.pg-notices-badge{display:inline-block;padding:2px 8px;border:1px solid var(--d-err);border-radius:9px;color:var(--d-err);font-family:var(--mono),monospace;font-size:11px;font-weight:600}.pg-notice-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.pg-notice{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:2px}.pg-notice-line{flex:none;padding:1px 7px;border:1px solid color-mix(in srgb,var(--d-err) 45%,transparent);border-radius:var(--d-r-1);background:var(--d-surface);color:var(--d-err);font-family:var(--mono),monospace;font-size:11px;font-weight:600}.pg-notice-line:hover{background:var(--d-err);border-color:var(--d-err);color:var(--d-surface)}.pg-overlaps,.pg-hints{margin-top:10px;padding:10px 12px 11px;border-radius:var(--d-r-2);background:color-mix(in srgb,var(--d-warn) 10%,var(--d-surface))}.pg-overlaps-badge,.pg-hints-badge{display:inline-block;padding:2px 8px;border:1px solid var(--d-warn);border-radius:9px;color:var(--d-warn);font-family:var(--mono),monospace;font-size:11px;font-weight:600}.pg-overlap-step,.pg-hint-line{flex:none;padding:1px 7px;border:1px solid color-mix(in srgb,var(--d-warn) 45%,transparent);border-radius:var(--d-r-1);background:var(--d-surface);color:var(--d-warn);font-family:var(--mono),monospace;font-size:11px;font-weight:600}.pg-overlap-step:hover,.pg-hint-line:hover{background:var(--d-warn);border-color:var(--d-warn);color:var(--d-surface)}.pg-notice-text{flex:1 1 160px;min-width:0;line-height:1.6;color:var(--d-text-primary);overflow-wrap:anywhere}.pg-stage{grid-area:stage;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--d-bg)}.pg-stage-bar{padding:0 14px}.pg-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono),monospace;font-size:11.5px;color:var(--d-text-muted)}.pg-live-dot{width:6px;height:6px;border-radius:50%;background:var(--d-accent);animation:pg-live 1.8s ease-in-out infinite}@keyframes pg-live{50%{opacity:.4}}.pg-swatches{display:flex;gap:8px;margin-left:14px}.pg-swatch{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent}.pg-swatch-dot{flex:none;box-sizing:border-box;width:16px;height:16px;border:2px solid;border-radius:50%}.pg-swatch[aria-pressed=true]>.pg-swatch-dot{box-shadow:0 0 0 2px var(--d-surface),0 0 0 4px var(--d-text-primary)}.pg-tool-sep{width:1px;height:18px;margin:0 4px;background:var(--d-border)}.pg-zoom{min-width:44px;margin-left:4px;padding-left:10px;border-left:1px solid var(--d-border);font-family:var(--mono),monospace;font-size:11px;color:var(--d-text-muted);text-align:right}.pg-figure{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.pg-export-menu,.pg-export-failed{position:fixed;z-index:20;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:var(--d-surface);box-shadow:0 6px 18px color-mix(in srgb,var(--d-text-primary) 18%,transparent)}.pg-export-menu{display:flex;flex-direction:column;min-width:96px;padding:4px}.pg-export-item{padding:7px 12px;border:0;border-radius:var(--d-r-1);background:transparent;color:var(--d-text-primary);font-family:var(--mono),monospace;font-size:12px;text-align:left;cursor:pointer}.pg-export-item:hover,.pg-export-item:focus-visible{background:var(--d-accent-soft);color:var(--d-accent)}.pg-export-failed{max-width:min(360px,calc(100vw - 16px));margin:0;padding:8px 12px;box-sizing:border-box;color:var(--d-text-primary);font-size:12px;line-height:1.5}.pg-figure[data-grid]{background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--d-border-strong) 70%,transparent) 1px,transparent 0);background-size:24px 24px}.pg-player,.pg-player>.dg-player{flex:1;display:flex;flex-direction:column;min-height:0}.pg-figure .dg-player .dg-frame{flex:1;display:flex;min-height:0;padding:16px 0;overflow:auto;border-radius:0}.pg-figure[data-phased] .dg-player .dg-frame{padding-top:48px}.pg-figure .dg-frame svg{display:block;flex:none;max-width:100%;height:auto;margin:auto}.pg-figure .dg-frame svg[data-view=fixed]{width:var(--fig-w, auto);max-width:none}.pg-figure .dg-bar{padding:0 16px 6px}.pg-figure :is(.dg-no,.dg-tt,.dg-tb){zoom:var(--say, 1)}.pg-phase{position:absolute;top:14px;left:14px;z-index:3;max-width:calc(100% - 28px);margin:0;padding:4px 9px;box-sizing:border-box;border-radius:var(--d-r-1);background:var(--d-accent-soft);color:var(--d-accent);font-family:var(--mono),monospace;font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.pg-phase-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--d-accent);vertical-align:1px}.pg-kept{position:absolute;top:14px;right:14px;z-index:3;max-width:45%;margin:0;padding:4px 10px;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:var(--d-surface);color:var(--d-text-secondary);font-size:12px;pointer-events:none}.pg-stage-foot{display:flex;flex:none;flex-direction:column;gap:7px;padding:10px 16px 12px}.pg-progress{display:flex;gap:6px}.pg-progress-seg{flex:1;height:3px;border-radius:2px;background:var(--d-border)}.pg-progress-seg[data-done=true]{background:var(--d-accent)}.pg-hint{margin:0;font-size:11.5px;color:var(--d-text-muted)}.pg-hint code{padding:1px 6px;border-radius:var(--d-r-1);background:var(--d-code-bg);color:var(--d-text-primary);font-family:var(--mono),monospace}@media(prefers-reduced-motion:reduce){.pg-live-dot{animation:none}.pg-split:after{transition:none}}@media(max-width:1100px){.pg{grid-template-columns:var(--pg-code, 300px) 0 minmax(0,1fr);grid-template-areas:"code split-code stage"}.pg-shelf{position:absolute;top:0;bottom:0;left:0;z-index:40;width:min(280px,84vw);transform:translate(-101%);visibility:hidden;transition:transform .18s ease,visibility 0s linear .18s;box-shadow:0 0 0 1px var(--d-border),8px 0 24px #0000002e}.pg-shelf[data-open]{transform:none;visibility:visible;transition:transform .18s ease,visibility 0s}.pg-shelf-scrim{position:absolute;inset:0;z-index:39;display:block;padding:0;border:0;background:color-mix(in srgb,var(--d-text-primary) 28%,transparent)}.pg-shelf-toggle{display:inline-flex}}@media(max-width:760px){.pg{height:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "code"}.pg-shelf,.pg-shelf-scrim{position:fixed;top:var(--d-topbar-h)}.pg-stage{height:min(72dvh,600px)}.pg-stage:has(svg[data-view=follow]){height:auto}.pg-code{border-right:0;border-top:1px solid var(--d-border)}.pg-fold{display:inline-flex}.pg-code-body{flex:none;height:50vh}}@media(pointer:coarse){.pg-new{box-sizing:border-box;min-height:44px}.pg-shelf-tabs button{min-height:44px}.pg-filter{height:44px}.pg-export-item{min-height:44px}.pg-item{line-height:30px}:is(.pg-stage-bar,.pg-bar) .pg-tool{width:44px;height:44px}.pg-tabs button{min-width:44px;height:44px}.pg-bar>.pg-file{box-sizing:border-box;min-width:44px;height:44px}.pg-swatches{gap:0;margin-left:6px}.pg-swatch{width:44px;height:44px;border-radius:var(--d-r-1)}.pg-stage{container:pg-stage / inline-size}@container pg-stage (width < 730px){.pg-stage-bar :is(.pg-live,.pg-swatches){display:none}}}@media(pointer:coarse)and (min-width:440px){.pg-bar{gap:2px;padding:0 4px}.pg-tabs button{padding:0 4px}}@media(max-width:439px){.pg-stage-bar :is(.pg-live,.pg-swatches){display:none}:is(.pg-stage-bar,.pg-bar) .pg-tool{width:44px;height:44px}.pg-stage-bar,.pg-bar{padding:0 8px}.pg-stage-bar{justify-content:flex-end}.pg-stage-bar .pg-gap{display:none}.pg-tool-sep{margin:0 2px}.pg-stage-bar .pg-zoom-fit{width:auto;min-width:44px;padding:0 6px;border-color:var(--d-border-strong);font-family:var(--mono),monospace;font-size:11px}.pg-tabs button{min-width:44px;height:44px;padding:0 10px}.pg-bar>.pg-file{box-sizing:border-box;min-width:44px;height:44px}.pg-fold{height:44px}.pg-figure[data-playground=figure] .pg-phase{display:none}.pg-figure[data-playground=figure][data-phased]:not(:has(.pg-kept)) .dg-player .dg-frame{padding-top:16px}.pg-kept{max-width:calc(100% - 28px)}}@media(prefers-reduced-motion:reduce){.pg-shelf,.pg-shelf[data-open]{transition:none}}.catalog-page{max-width:1440px;margin:0 auto;padding:0 var(--d-gutter) 110px;box-sizing:border-box;color:var(--d-text-primary)}.catalog-hero{display:flex;flex-direction:column;gap:16px;padding:54px 0 44px}.catalog-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-family:var(--mono),monospace;font-size:12px;color:var(--d-text-muted)}.catalog-crumb a{color:var(--d-text-muted);text-decoration:none}.catalog-crumb a:hover{color:var(--d-accent)}.catalog-crumb-here{color:var(--d-text-secondary)}.catalog-title{margin:0;font-size:clamp(30px,3.8vw,46px);font-weight:700;letter-spacing:-.035em;line-height:1.15}.catalog-desc{max-width:760px;margin:0;font-size:15px;line-height:1.9;color:var(--d-text-secondary)}.catalog-meta{display:flex;align-items:center;gap:10px}.catalog-count{padding:4px 9px;border-radius:var(--d-r-1);background:var(--d-surface-2);font-family:var(--mono),monospace;font-size:11px;color:var(--d-text-secondary)}.catalog-count-filter{background:var(--d-accent-soft);color:var(--d-accent)}.catalog-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.catalog-index-card{display:flex;flex-direction:column;gap:18px;min-width:0;min-height:206px;padding:0 0 22px;overflow:hidden;box-sizing:border-box;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2);color:var(--d-text-primary);text-decoration:none}.catalog-index-card:hover{border-color:var(--d-border-strong)}.catalog-index-card-top{display:flex;flex-direction:column;gap:9px;padding:0 22px}.catalog-index-card-head{display:flex;align-items:center;gap:10px}.catalog-index-card-no{font-family:var(--mono),monospace;font-size:11px;letter-spacing:1px;color:var(--d-accent)}.catalog-index-card-count{font-family:var(--mono),monospace;font-size:11px;color:var(--d-text-muted)}.catalog-index-card-title{margin:0;font-size:20px;font-weight:600}.catalog-index-card-desc{margin:0;font-size:13.5px;line-height:1.8;color:var(--d-text-secondary)}.catalog-index-card-face{position:relative;flex:none;height:188px;margin:14px 14px 0;overflow:hidden}.catalog-index-card-stage{position:absolute;top:0;left:50%;width:max-content;transform-origin:top center;pointer-events:none}.catalog-index-card-figure .dg-bar{display:none}.catalog-index-card-link{margin-top:auto;padding:0 22px;font-size:13px;font-weight:600;color:var(--d-accent)}.catalog-section{display:flex;flex-direction:column;gap:20px;margin-top:56px}.catalog-hero+.catalog-section{margin-top:0}.catalog-section-head{display:flex;flex-direction:column;gap:6px;padding-bottom:14px;border-bottom:1px solid var(--d-border)}.catalog-section-title{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em}.catalog-section-lead{margin:0;font-size:13.5px;line-height:1.8;color:var(--d-text-secondary)}.catalog-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin:0;padding:0;list-style:none}.catalog-icon{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 8px 12px;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2)}.catalog-icon-chip{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--d-accent-soft)}.catalog-icon-chip svg{width:28px;height:28px;color:var(--d-accent)}.catalog-icon-name{font-family:var(--mono),monospace;font-size:12.5px;color:var(--d-text-primary)}.catalog-part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:12px}.catalog-part-card{display:flex;flex-direction:column;gap:10px;min-height:92px;padding:14px 16px;box-sizing:border-box;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2);color:var(--d-text-primary);text-decoration:none}.catalog-part-card:hover{border-color:var(--d-border-strong)}.catalog-part-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.catalog-part-card-name{font-size:15px;font-weight:600}.catalog-part-card-kind{padding:2px 7px;border-radius:var(--d-r-1);background:var(--d-accent-soft);font-size:11px;color:var(--d-accent)}.catalog-part-card-words,.catalog-part-words{display:flex;flex-wrap:wrap;gap:6px}.catalog-part-card-words code,.catalog-part-words code{padding:2px 6px;border-radius:var(--d-r-1);background:var(--d-surface-2);font-family:var(--mono),monospace;font-size:11.5px;color:var(--d-text-secondary)}.catalog-part-sample-about{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12.5px;line-height:1.7;color:var(--d-text-secondary)}.catalog-part-facts{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0}.catalog-part-fact{display:flex;align-items:center;gap:10px}.catalog-part-fact dt{font-family:var(--mono),monospace;font-size:11px;color:var(--d-text-muted)}.catalog-part-fact dd{margin:0}.catalog-part-kinds{display:flex;flex-wrap:wrap;gap:6px}.catalog-part-kinds a{padding:3px 9px;border:1px solid var(--d-border);border-radius:var(--d-r-1);font-size:12.5px;color:var(--d-text-primary);text-decoration:none}.catalog-part-kinds a:hover{border-color:var(--d-accent);color:var(--d-accent)}.catalog-part-settings{margin-top:0;margin-bottom:56px}.catalog-part-setting-list{display:flex;flex-direction:column;gap:16px}.catalog-part-setting{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);overflow:hidden;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2)}.catalog-part-setting-text{display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px;border-right:1px solid var(--d-border)}.catalog-part-setting-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:600}.catalog-part-setting-title code{font-family:var(--mono),monospace;color:var(--d-text-primary)}.catalog-part-setting-kind{font-size:12px;font-weight:500;color:var(--d-text-muted)}.catalog-part-setting-code{margin:0;padding:12px 14px;overflow-x:auto;background:var(--d-code-bg);border-radius:var(--d-r-1);font-family:var(--mono),monospace;font-size:12px;line-height:1.7;color:var(--d-text-primary)}.catalog-part-setting-figure{min-width:0}.catalog-part-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.catalog-part-figures[data-count="1"]{grid-template-columns:minmax(0,720px)}.catalog-part-figure{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2)}.catalog-part-figure-title{margin:0;padding:12px 18px;border-bottom:1px solid var(--d-border);font-family:var(--mono),monospace;font-size:12px;font-weight:500;color:var(--d-text-secondary)}.catalog-part-stage{display:flex;justify-content:center;padding:22px}.catalog-part-stage .dg-player{width:100%;max-width:560px}.catalog-part-stage svg[data-dragon=figure]{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}.catalog-part-source{margin:0;padding:14px 18px;overflow-x:auto;background:var(--d-code-bg);border-top:1px solid var(--d-border);font-family:var(--mono),monospace;font-size:12.5px;line-height:1.8;color:var(--d-text-primary)}.catalog-part-open{align-self:flex-start;padding:12px 18px}.catalog-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.catalog-sidebar{position:sticky;top:calc(var(--d-topbar-h) + 16px);display:flex;flex-direction:column;gap:14px;max-height:calc(100dvh - var(--d-topbar-h) - 32px);padding:14px;box-sizing:border-box;overflow:auto;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2)}.catalog-search-wrap{display:flex;flex-shrink:0;align-items:center;gap:8px;min-height:38px;padding:0 12px;box-sizing:border-box;background:var(--d-surface-2);border:1px solid var(--d-border);border-radius:10px;transition:border-color .14s ease,box-shadow .14s ease}.catalog-search-wrap:hover{border-color:var(--d-border-strong)}.catalog-search-wrap:focus-within{background:var(--d-surface);border-color:var(--d-accent);box-shadow:0 0 0 3px var(--d-accent-soft)}.catalog-search-icon{flex:none;width:14px;height:14px;background-color:var(--d-text-muted);mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='7.2'%20cy='7.2'%20r='4.2'/%3e%3cpath%20d='M10.4%2010.4%2013.5%2013.5'/%3e%3c/svg%3e") center / 14px 14px no-repeat}.catalog-search-wrap:focus-within .catalog-search-icon{background-color:var(--d-accent)}.catalog-search{flex:1;align-self:stretch;min-width:0;border:none;outline:none;background:transparent;font:inherit;font-size:13.5px;color:var(--d-text-primary)}.catalog-search::placeholder{color:var(--d-text-muted)}.catalog-search-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;font-size:15px;line-height:1;color:var(--d-text-muted)}.catalog-search-clear:hover{background:var(--d-surface-3);color:var(--d-text-primary)}.catalog-list{display:flex;flex-direction:column;gap:2px}.catalog-list-empty{margin:0;padding:14px 9px;font-size:12.5px;line-height:1.7;color:var(--d-text-muted)}.catalog-list-item{padding:7px 9px;border:none;border-radius:var(--d-r-1);background:transparent;font-size:13px;line-height:1.5;color:var(--d-text-secondary);text-align:left}.catalog-list-item:hover{background:var(--d-surface-2)}.catalog-list-item[aria-current=true]{background:var(--d-accent-soft);color:var(--d-accent);font-weight:600}.catalog-preview{min-width:0}.catalog-preview-card{display:flex;flex-direction:column;overflow:hidden;background:var(--d-surface);border:1px solid var(--d-border);border-radius:var(--d-r-2)}.catalog-preview-card [hidden]{display:none}.catalog-preview-head{padding:20px 22px}.catalog-preview-title{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.35}.catalog-preview-sub{max-width:720px;margin:9px 0 0;font-size:14px;line-height:1.85;color:var(--d-text-secondary)}.catalog-preview-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 18px;border-top:1px solid var(--d-border)}.catalog-tablist{display:flex;gap:4px}.catalog-preview-tab{flex-shrink:0;padding:7px 14px 8px;border:none;border-bottom:2px solid transparent;background:transparent;font-size:13px;color:var(--d-text-secondary);white-space:nowrap}.catalog-preview-tab:hover{color:var(--d-text-primary)}.catalog-preview-tab[aria-selected=true]{border-bottom-color:var(--d-accent);color:var(--d-text-primary)}.catalog-preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-left:auto}.catalog-option{display:flex;align-items:center;gap:8px}.catalog-option-label{font-size:11px;letter-spacing:.06em;color:var(--d-text-secondary);white-space:nowrap}.catalog-select-field{position:relative;display:inline-flex;align-items:center}.catalog-select-field:after{content:"";position:absolute;top:12px;right:9px;border-top:5px solid var(--d-text-secondary);border-right:4px solid transparent;border-left:4px solid transparent;pointer-events:none}.catalog-select{appearance:none;min-height:28px;padding:4px 26px 4px 9px;border:1px solid var(--d-border-strong);border-radius:5px;background:var(--d-bg);font-size:12px;color:var(--d-text-primary)}.catalog-zoom{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--d-border);border-radius:var(--d-r-2);background:var(--d-surface)}.catalog-zoom-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;padding:0;border:none;border-radius:var(--d-r-1);background:transparent;color:var(--d-text-primary)}.catalog-zoom-btn:hover:not(:disabled){background:var(--d-surface-2)}.catalog-zoom-btn:disabled{opacity:.4;cursor:default}.catalog-zoom-value{min-width:48px;font-family:var(--mono),monospace;font-size:11.5px;color:var(--d-text-secondary);text-align:center}.catalog-expand-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:transparent;font-size:12.5px;color:var(--d-text-primary)}.catalog-expand-btn:hover{border-color:var(--d-accent);color:var(--d-accent)}.catalog-preview-stage{flex:none;height:clamp(360px,58vh,620px);border-top:1px solid var(--d-border);background:var(--d-bg)}.catalog-preview-stage:has(svg[data-view=follow]){height:auto}.catalog-preview-stage.pg-figure[data-tall=grow]{height:auto}.catalog-preview-stage.pg-figure[data-tall=grow] .dg-player .dg-frame{flex:none;box-sizing:border-box;height:var(--frame-h)}.catalog-preview-stage.pg-figure[data-tall=follow]{height:clamp(360px,58vh,620px)}.figure-waiting{display:flex;align-items:center;justify-content:center;min-height:160px;height:100%;margin:0;font-size:14px;color:var(--d-text-secondary)}.catalog-later-failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:160px;padding:24px;text-align:center}.catalog-later-failed-text{margin:0;font-size:14px;color:var(--d-text-secondary)}[data-catalog=stage]>.figure-waiting{align-items:flex-start;padding-top:40px}[data-catalog=stage]>.catalog-later-failed{justify-content:flex-start;padding-top:40px}.catalog-later-reload{min-height:36px;padding:0 16px;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:var(--d-surface);font-size:13px;font-weight:600;color:var(--d-text-primary)}.catalog-later-reload:hover{border-color:var(--d-accent);color:var(--d-accent)}.catalog-preview-stage .dg-say{display:none}.catalog-preview-note{display:flex;flex-direction:column;gap:10px;padding:12px 22px 16px;border-top:1px solid var(--d-border)}.catalog-step-note{margin:0;font-size:13.5px;line-height:1.8;white-space:pre-line;color:var(--d-text-secondary)}.catalog-source{display:flex;flex-direction:column;border-top:1px solid var(--d-border)}.catalog-source-bar{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 18px;background:var(--d-surface-2);border-bottom:1px solid var(--d-border)}.catalog-source-tabs{display:flex}.catalog-source-tab{padding:6px 14px;border:1px solid var(--d-border-strong);background:transparent;font-family:var(--mono),monospace;font-size:11.5px;color:var(--d-text-secondary)}.catalog-source-tab:first-child{border-radius:var(--d-r-1) 0 0 var(--d-r-1)}.catalog-source-tab+.catalog-source-tab{border-left:none;border-radius:0 var(--d-r-1) var(--d-r-1) 0}.catalog-source-tab:hover{color:var(--d-text-primary)}.catalog-source-tab[aria-pressed=true]{background:var(--d-accent);border-color:var(--d-accent);color:var(--d-on-accent);font-weight:600}.catalog-source-copy{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:6px 12px;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:transparent;font-size:12.5px;color:var(--d-text-primary)}.catalog-source-copy:hover{border-color:var(--d-accent);color:var(--d-accent)}.catalog-copy-icon{width:14px;height:14px;background-color:currentColor;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20fill='none'%20stroke='%23000'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3crect%20x='5.5'%20y='5.5'%20width='8'%20height='8'%20rx='1.5'/%3e%3cpath%20d='M10.5%205.5v-2a1%201%200%200%200-1-1h-6a1%201%200%200%200-1%201v6a1%201%200%200%200%201%201h2'/%3e%3c/svg%3e") center / 14px 14px no-repeat}.catalog-source-code{max-height:62vh;margin:0;padding:18px 22px;overflow:auto;background:var(--d-code-bg);font-family:var(--mono),monospace;font-size:12.5px;line-height:1.75;color:var(--d-text-secondary)}.catalog-preview-foot{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--d-border)}.catalog-preview-link{font-size:13px;font-weight:600;color:var(--d-accent);text-decoration:none}.catalog-preview-link:hover{text-decoration:underline;text-underline-offset:3px}.catalog-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:color-mix(in srgb,var(--d-text-primary) 46%,transparent)}.catalog-overlay-card{display:flex;flex-direction:column;width:min(1200px,100%);height:100%;overflow:hidden;background:var(--d-surface);border:1px solid var(--d-border-strong);border-radius:var(--d-r-2)}.catalog-overlay-head{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 20px;background:var(--d-surface-2);border-bottom:1px solid var(--d-border)}.catalog-overlay-title{margin:0;font-size:16px;font-weight:600}.catalog-overlay-desc{margin:6px 0 0;font-size:13px;line-height:1.8;color:var(--d-text-secondary)}.catalog-overlay-close{display:flex;flex:none;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--d-border-strong);border-radius:var(--d-r-1);background:transparent;font-size:18px;line-height:1;color:var(--d-text-secondary)}.catalog-overlay-close:hover{border-color:var(--d-accent);color:var(--d-accent)}.catalog-overlay-stage{background:var(--d-bg)}.catalog-overlay-stage .dg-frame svg[data-view=follow]{width:auto}@media(max-height:760px){.catalog-overlay{padding-top:8px;padding-bottom:8px}}@media(max-width:1100px){.catalog-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.catalog-body,.catalog-part-setting{grid-template-columns:minmax(0,1fr)}.catalog-part-setting-text{border-right:0;border-bottom:1px solid var(--d-border)}.catalog-part-figures{grid-template-columns:minmax(0,1fr)}.catalog-sidebar{position:static;max-height:340px}.catalog-index-grid{grid-template-columns:minmax(0,1fr)}.catalog-hero{padding:36px 0 32px}.catalog-preview-actions{margin-left:0}.catalog-overlay{padding:8px}}@media(max-width:860px),(pointer:coarse){.catalog-expand-btn{min-height:44px;padding:6px 14px}}@media(max-width:439px){.catalog-overlay-desc{display:none}.catalog-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:439px),(pointer:coarse){.catalog-search-wrap{min-height:46px}.catalog-search-clear{width:44px;height:44px;margin-right:-12px;border-radius:0}.catalog-search-clear:hover{background:transparent}.catalog-list-item{min-height:44px}.catalog-preview-tab{min-width:44px;min-height:44px}.catalog-select{min-height:44px}.catalog-select-field:after{top:20px}.catalog-zoom-btn{width:44px;height:44px}.catalog-zoom-fit{width:auto;min-width:52px;border:1px solid var(--d-border-strong);font-family:var(--mono),monospace;font-size:11.5px}.catalog-source-bar{padding-top:6px;padding-bottom:6px}.catalog-source-tab,.catalog-source-copy{min-height:44px}.catalog-preview-foot{padding-top:4px;padding-bottom:4px}.catalog-preview-link{display:inline-flex;align-items:center;min-height:44px}.catalog-overlay-close{width:44px;height:44px}}@media(pointer:coarse){.catalog-crumb{gap:12px}.catalog-part-kinds a{display:inline-flex;align-items:center;min-height:44px}.catalog-crumb a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 10px;margin:-12px -10px}}
