:root{color-scheme:light;--color-bg:#fff;--color-surface:#f8fafc;--color-surface-hover:#f1f5f9;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-input-border:#64748b;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-subtle:#eff6ff;--color-on-primary:#fff;--color-focus:#2563eb;--color-selection:#dbeafe;--color-success:#166534;--color-success-bg:#f0fdf4;--color-danger:#b91c1c;--color-danger-bg:#fef2f2;--color-warning:#92400e;--color-warning-bg:#fffbeb;--font-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-caption:.75rem;--text-small:.875rem;--text-body:1rem;--text-lead:1.125rem;--text-h3:1.25rem;--text-h2:clamp(1.5rem, 2.5vw, 2rem);--text-h1:clamp(2rem, 4vw, 3rem);--text-display:clamp(2.375rem, 5.2vw, 4rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--line-tight:1.12;--line-heading:1.3;--line-body:1.65;--line-reading:1.8;--tracking-heading:-.035em;--tracking-label:.08em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--layout-max:72rem;--layout-reading:46rem;--layout-gutter:clamp(1.25rem, 4vw, 2rem);--section-gap:clamp(3rem, 6vw, 5rem);--control-height:2.75rem;--control-compact:2.5rem;--radius-control:.375rem;--radius-panel:.5rem;--radius-pill:999px;--border-width:1px;--focus-width:2px;--focus-offset:3px;--shadow-overlay:0 8px 24px #0f172a1f;--motion-fast:.14s;--motion-standard:.2s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-6)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}:where(a,button,input,textarea,summary):focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}::selection{background:var(--color-selection)}[hidden]{display:none!important}h1,h2,h3{font-weight:var(--weight-semibold);line-height:var(--line-heading)}.wrap{width:100%;max-width:var(--layout-max);padding-inline:var(--layout-gutter);margin-inline:auto}.skip-link{left:var(--space-4);z-index:10;background:var(--color-bg);border:var(--border-width) solid var(--color-primary);padding:var(--space-3) var(--space-5);position:fixed;top:-10rem}.skip-link:focus{top:var(--space-3)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{min-height:var(--space-20);justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.brand{align-items:center;gap:var(--space-2);font-size:var(--text-h3);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);line-height:var(--line-tight);display:inline-flex}.brand-symbol{width:1.75rem;height:1.75rem;display:block}.brand-dot{color:var(--color-primary)}.site-header nav{gap:var(--space-6);font-size:var(--text-small);font-weight:var(--weight-medium);display:flex}.site-header nav a{min-height:var(--control-height);color:var(--color-text-secondary);align-items:center;display:inline-flex}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--color-primary)}.header-cta{font-size:var(--text-small);font-weight:var(--weight-medium);align-items:center;gap:var(--space-4);min-height:var(--control-height);display:inline-flex}.header-cta:hover{color:var(--color-primary)}.button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-5);border:var(--border-width) solid transparent;border-radius:var(--radius-control);font-size:var(--text-small);font-weight:var(--weight-medium);line-height:var(--line-heading);transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);display:inline-flex}.button.primary{color:var(--color-on-primary);background:var(--color-primary)}.button.primary:hover{background:var(--color-primary-hover)}.button.secondary{color:var(--color-text);background:var(--color-bg);border-color:var(--color-input-border)}.button.secondary:hover{background:var(--color-surface)}.button.small{min-height:var(--control-height);padding-inline:var(--space-4)}.text-link{align-items:center;gap:var(--space-3);min-height:var(--control-height);font-size:var(--text-small);font-weight:var(--weight-medium);white-space:nowrap;display:inline-flex}.text-link:hover{color:var(--color-primary)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);color:var(--color-primary);display:inline-block}.eyebrow.muted{color:var(--color-text-muted)}.hero{align-items:center;gap:var(--space-16);padding-top:var(--space-20);padding-bottom:var(--section-gap);grid-template-columns:1.1fr 1fr;display:grid}.hero h1{font-size:var(--text-display);font-weight:var(--weight-semibold);line-height:var(--line-tight);letter-spacing:var(--tracking-heading);margin:var(--space-5) 0 var(--space-6)}.ding-word{color:var(--color-primary)}.hero-copy>p{font-size:var(--text-lead);color:var(--color-text-secondary);margin:0 0 var(--space-8);max-width:32rem}.hero-note{font-size:var(--text-small);color:var(--color-text-secondary);margin-top:var(--space-4);display:block}.hero-demo{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;overflow:hidden}.demo-label{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.demo-file{color:var(--color-text-secondary)}.demo-tag{color:var(--color-primary);padding-block:var(--space-2)}#hero-json{padding:var(--space-6) var(--space-5);min-height:13rem;font-family:var(--font-mono);font-size:var(--text-small);line-height:var(--line-body);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.demo-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;display:flex}.demo-toolbar>span{font-size:var(--text-caption);color:var(--color-text-secondary)}.tools-section,.guide-section{padding-bottom:var(--section-gap)}.section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-6);display:flex}.section-heading h2{font-size:var(--text-h2);letter-spacing:var(--tracking-heading);margin:var(--space-2) 0 0}.collection-note{font-size:var(--text-small);color:var(--color-text-secondary);margin:var(--space-5) 0 0}.collection-note a{color:var(--color-primary);text-underline-offset:.2em;text-decoration:underline}.tool-list{border-top:var(--border-width) solid var(--color-border)}.tool-entry{grid-template-columns:var(--space-10) minmax(0, 1fr) 8rem var(--space-6);gap:var(--space-5);min-width:0;padding:var(--space-6) var(--space-2);border-bottom:var(--border-width) solid var(--color-border);transition:background-color var(--motion-fast) var(--ease-standard);align-items:center;display:grid}.tool-entry:hover{background:var(--color-surface)}.tool-symbol{white-space:nowrap;min-width:var(--space-10);min-height:var(--space-10);font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--text-h3);color:var(--color-primary);justify-content:center;align-items:center;display:inline-flex}.tool-entry :is(h2,h3){font-size:var(--text-h3);letter-spacing:-.015em;margin:0}.tool-entry p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-small)}.tool-entry:hover :is(h2,h3){color:var(--color-primary)}.tool-category{font-size:var(--text-small);color:var(--color-text-secondary)}.tool-entry-arrow{color:var(--color-text-secondary);font-size:var(--text-h3)}.guide-list{border-top:var(--border-width) solid var(--color-border)}.guide-list>a{grid-template-columns:8rem minmax(0, 1fr) var(--space-6);gap:var(--space-5);padding:var(--space-6) var(--space-2);border-bottom:var(--border-width) solid var(--color-border);align-items:center;display:grid}.guide-list>a:hover h3,.guide-list>a:hover h2{color:var(--color-primary)}.guide-kind{font-size:var(--text-small);color:var(--color-text-secondary)}.guide-list h3{font-size:var(--text-body);font-weight:var(--weight-medium);margin:0}.guide-arrow{color:var(--color-text-secondary);font-size:var(--text-h3)}.site-footer{border-top:var(--border-width) solid var(--color-border);padding-top:var(--space-10)}.footer-top{justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-8);display:flex}.footer-top p{margin:var(--space-3) 0 0;font-size:var(--text-small);color:var(--color-text-secondary)}.footer-links{align-items:center;gap:var(--space-6);font-size:var(--text-small);flex-wrap:wrap;display:flex}.footer-links a{min-height:var(--control-height);align-items:center;display:inline-flex}.footer-bottom{justify-content:space-between;gap:var(--space-6);border-top:var(--border-width) solid var(--color-border);padding-block:var(--space-4);font-size:var(--text-caption);color:var(--color-text-secondary);display:flex}.footer-bottom>div{gap:var(--space-5);flex-wrap:wrap;display:flex}.footer-bottom a{min-height:var(--space-6);align-items:center;display:inline-flex}.site-footer a:hover{color:var(--color-primary)}.page-intro{padding-top:var(--space-16);padding-bottom:var(--space-10)}.page-intro h1,.tool-intro h1{font-size:var(--text-h1);line-height:var(--line-tight);letter-spacing:var(--tracking-heading);margin:var(--space-4) 0}.page-intro p,.tool-intro>p{color:var(--color-text-secondary);max-width:var(--layout-reading);font-size:var(--text-body)}.catalogue{min-height:30rem;padding-bottom:var(--section-gap)}.search-form{align-items:center;gap:var(--space-3);max-width:var(--layout-reading);padding:var(--space-2);border:var(--border-width) solid var(--color-input-border);border-radius:var(--radius-control);background:var(--color-bg);display:flex}.search-form>span{font-size:var(--text-h3);color:var(--color-text-secondary);padding-left:var(--space-2)}.search-form input{min-width:0;padding:var(--space-2);color:var(--color-text);font-size:var(--text-body);background:0 0;border:0;flex:1}.search-form input::placeholder{color:var(--color-text-muted);opacity:1}.catalogue-toolbar{justify-content:space-between;align-items:center;gap:var(--space-5);margin:var(--space-6) 0;display:flex}.filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.filters button{min-height:var(--control-height);border:var(--border-width) solid transparent;border-radius:var(--radius-control);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:var(--text-small);background:0 0}.filters button:hover{background:var(--color-surface)}.filters button[aria-pressed=true]{background:var(--color-primary-subtle);color:var(--color-primary-hover)}#result-count{font-size:var(--text-small);color:var(--color-text-secondary)}.empty-state{text-align:center;padding:var(--space-16) 0}.empty-state h2{font-size:var(--text-h2)}.empty-state p{color:var(--color-text-secondary)}.tool-intro{padding-top:var(--space-6);padding-bottom:var(--space-6)}.breadcrumbs{align-items:center;gap:var(--space-3);font-size:var(--text-small);color:var(--color-text-secondary);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.breadcrumbs a{min-height:var(--space-6);align-items:center;display:inline-flex}.breadcrumbs a:hover{color:var(--color-primary)}.tool-intro .tool-symbol{justify-content:flex-start}.tool-features{padding-top:var(--space-6)}.tool-features h2{font-size:var(--text-h2);letter-spacing:var(--tracking-heading)}.tool-features .prose{max-width:var(--layout-reading)}.workbench{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-bg);overflow:hidden}.workbench-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;display:flex}.workbench-header>span{align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--color-text-secondary);display:inline-flex}.status-dot{border-radius:var(--radius-pill);background:var(--color-text-muted);flex-shrink:0;width:.375rem;height:.375rem;display:inline-block}.subtle-button{min-height:var(--control-height);padding:var(--space-2) var(--space-3);color:var(--color-primary);font-size:var(--text-small);background:0 0;border:0}.subtle-button:hover{text-underline-offset:.2em;text-decoration:underline}.editor-grid{gap:var(--space-6);padding:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.editor-single{padding:var(--space-6)}.workbench label{font-size:var(--text-small);font-weight:var(--weight-medium);margin-bottom:var(--space-2);display:block}.workbench textarea{resize:vertical;border:var(--border-width) solid var(--color-input-border);border-radius:var(--radius-control);width:100%;min-height:17.5rem;padding:var(--space-4);background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-small);line-height:var(--line-body);tab-size:2;display:block}.workbench textarea::placeholder{color:var(--color-text-muted);opacity:1}.workbench textarea[readonly]{background:var(--color-surface)}.workbench-actions{gap:var(--space-3);padding:0 var(--space-6) var(--space-4);flex-wrap:wrap;display:flex}.push-right{margin-left:auto}.tool-message,.tool-error{padding:0 var(--space-6) var(--space-5);font-size:var(--text-small);color:var(--color-success);margin:0}.tool-error{color:var(--color-danger)}.tool-message:empty{display:none}.count-grid{gap:var(--space-4);padding:0 var(--space-6) var(--space-6);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.count-grid>div{border-top:var(--border-width) solid var(--color-border);padding-top:var(--space-4)}.count-grid dt{font-size:var(--text-caption);color:var(--color-text-secondary)}.count-grid dd{margin:var(--space-2) 0 0;font-family:var(--font-mono);font-size:var(--text-h3);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.tool-explainer{gap:var(--space-12);padding-top:var(--space-12);padding-bottom:var(--space-12);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.tool-explainer h2,.faq-section h2{font-size:var(--text-h2);letter-spacing:var(--tracking-heading)}.steps{padding-left:var(--space-5);font-size:var(--text-body);color:var(--color-text-secondary)}.steps li{margin-block:var(--space-4);padding-left:var(--space-2)}.steps li::marker{color:var(--color-text);font-weight:var(--weight-medium)}.limitations{padding-left:var(--space-6);border-left:var(--border-width) solid var(--color-border)}.limitations h2{font-size:var(--text-h3);margin-top:0}.limitations ul{padding-left:var(--space-5);color:var(--color-text-secondary);font-size:var(--text-small);margin:0}.limitations li{margin-block:var(--space-3)}.faq-section{max-width:var(--layout-reading);padding-bottom:var(--section-gap)}.faq-section details{border-bottom:var(--border-width) solid var(--color-border);padding:var(--space-4) 0}.faq-section summary{cursor:pointer;min-height:var(--control-height);padding-block:var(--space-2);font-size:var(--text-body);font-weight:var(--weight-medium)}.faq-section details p{color:var(--color-text-secondary);font-size:var(--text-body)}.comparison{padding:var(--space-2) var(--space-6) var(--space-5)}.comparison h2{font-size:var(--text-body)}.comparison pre{max-height:28rem;margin:var(--space-4) 0 0;padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:var(--text-small);line-height:var(--line-body);overflow:auto}.comparison pre span{white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.65em;display:block}.diff-added{color:var(--color-success);background:var(--color-success-bg)}.diff-removed{color:var(--color-danger);background:var(--color-danger-bg)}.diff-same{color:var(--color-text-secondary)}.notice{margin:var(--space-4);padding:var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);font-size:var(--text-small)}.article-shell{max-width:var(--layout-reading);padding-top:var(--space-8);padding-bottom:var(--section-gap)}.article-shell h1{font-size:var(--text-h1);letter-spacing:var(--tracking-heading);margin:var(--space-4) 0 var(--space-5)}.article-description{font-size:var(--text-lead);color:var(--color-text-secondary)}.article-meta{margin:var(--space-5) 0 var(--space-8);font-size:var(--text-small);color:var(--color-text-secondary)}.prose{color:var(--color-text-secondary);font-size:var(--text-body);line-height:var(--line-reading);overflow-wrap:anywhere}.prose h2{font-size:var(--text-h2);color:var(--color-text);letter-spacing:var(--tracking-heading);margin-top:var(--space-10)}.prose h3{color:var(--color-text);font-size:var(--text-h3)}.prose a{color:var(--color-primary);text-underline-offset:.2em;text-decoration:underline}.prose code{font-family:var(--font-mono);font-size:var(--text-small);background:var(--color-surface);padding:var(--space-1);border-radius:var(--radius-control)}.prose pre{max-width:100%;padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);line-height:var(--line-body);overflow:auto}.prose pre code{background:0 0;padding:0}.prose li{margin-block:var(--space-2);padding-left:var(--space-1)}.prose strong{color:var(--color-text);font-weight:var(--weight-semibold)}.article-cta{margin-top:var(--space-10);padding-top:var(--space-6);border-top:var(--border-width) solid var(--color-border)}.article-cta p{margin:0 0 var(--space-4);color:var(--color-text-secondary);font-size:var(--text-small)}.guide-index{padding-bottom:var(--section-gap)}.guide-index .guide-list h2{font-size:var(--text-h3);margin:0}.guide-index .guide-list p{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-small)}.ad-slot{border-block:var(--border-width) solid var(--color-border);text-align:center;min-height:17.5rem;margin-block:var(--space-10);padding:var(--space-3)}.ad-slot>span{font-size:var(--text-caption);color:var(--color-text-secondary)}.not-found{text-align:center;min-height:30rem;padding-top:var(--space-20);padding-bottom:var(--section-gap)}.not-found .big-ding{font-family:var(--font-mono);font-size:var(--text-display);color:var(--color-primary)}.not-found h1{font-size:var(--text-h1);letter-spacing:var(--tracking-heading)}.not-found p{color:var(--color-text-secondary)}@media (width<=1024px){.hero{gap:var(--space-8)}.count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-top{align-items:flex-start}}@media (width<=767px){.site-header{min-height:var(--space-20);gap:var(--space-3);padding-block:var(--space-3);flex-wrap:wrap}.site-header nav{gap:var(--space-3)}.header-cta{display:none}.hero{gap:var(--space-10);padding-top:var(--space-10);grid-template-columns:minmax(0,1fr)}.hero h1{font-size:var(--text-display)}.hero-copy>p{font-size:var(--text-body)}.desktop-break{display:none}.section-heading{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.tool-entry{grid-template-columns:var(--space-8) minmax(0,1fr) var(--space-6);gap:var(--space-3);padding:var(--space-5) 0}.tool-entry .tool-symbol{min-width:var(--space-8)}.tool-entry :is(h2,h3){font-size:var(--text-lead)}.tool-entry-copy{grid-column:2}.tool-category{font-size:var(--text-caption);grid-column:2}.tool-entry-arrow{grid-area:1/3/3;align-self:center}.tool-entry .tool-symbol{grid-area:1/1/3;align-self:start}.guide-list>a{grid-template-columns:minmax(0,1fr) var(--space-6);gap:var(--space-2);padding:var(--space-5) 0}.guide-kind{font-size:var(--text-caption);grid-column:1}.guide-list h3,.guide-index .guide-list>a>div{grid-column:1}.guide-arrow{grid-area:1/2/3}.footer-top,.footer-bottom{gap:var(--space-5);flex-direction:column}.footer-links{gap:var(--space-5)}.page-intro{padding-top:var(--space-8);padding-bottom:var(--space-8)}.catalogue-toolbar{align-items:flex-start;gap:var(--space-3);flex-direction:column}.search-form>span{display:none}.search-form input{width:0;padding-inline:var(--space-1)}.search-form .button{padding-inline:var(--space-3)}.filters{gap:var(--space-1)}.filters button{padding-inline:var(--space-3)}.workbench-header{padding-inline:var(--space-4)}.editor-grid{padding:var(--space-4);gap:var(--space-5);grid-template-columns:minmax(0,1fr)}.editor-single{padding:var(--space-4)}.workbench textarea{min-height:13rem;font-size:var(--text-body)}.workbench-actions{padding-inline:var(--space-4);gap:var(--space-2)}.workbench-actions .button{padding-inline:var(--space-3)}.push-right{margin-left:0}.count-grid{padding-inline:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.tool-message,.tool-error,.comparison{padding-inline:var(--space-4)}.tool-explainer{gap:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-8);grid-template-columns:minmax(0,1fr)}.limitations{padding-left:0;padding-top:var(--space-5);border-left:0;border-top:var(--border-width) solid var(--color-border)}.article-shell{padding-top:var(--space-5)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
