:root{--wf-bg:#efe7d6;--wf-paper:#fffaf0;--wf-ink:#161410;--wf-muted:#5f584d;--wf-line:#d8ccb4;--wf-accent:#1f7a6a;--wf-accent-soft:#1f7a6a1f;--wf-copper:#b85c38;--wf-gold:#e8c07a;--wf-header:#12211c;--wf-header-text:#f4ece0;--wf-header-muted:#c9d4ce;--wf-danger:#9b2c2c;--wf-ok:#1f7a6a;--wf-radius:18px;--wf-shadow:0 18px 40px #12211c14;--wf-max:1160px;--wf-font:"Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--wf-serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--wf-mono:ui-monospace, "Cascadia Code", "SF Mono-Regular", Menlo, Consolas, monospace}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--wf-font);color:var(--wf-ink);background:radial-gradient(1200px 480px at 10% -10%,#1f7a6a1f,transparent 55%),radial-gradient(900px 420px at 100% 0,#b85c381a,transparent 50%),var(--wf-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:1.05rem;line-height:1.65}.app-root,body{min-height:100vh}.app-root{flex-direction:column;display:flex}a{color:var(--wf-accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--wf-ink)}:focus-visible{outline:3px solid var(--wf-copper);outline-offset:3px}.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}.skip-link{z-index:1000;position:absolute;top:12px;left:-999px}.skip-link:focus{background:var(--wf-paper);color:var(--wf-ink);border-radius:999px;padding:.7rem 1rem;left:12px}.site-header{background:var(--wf-header);color:var(--wf-header-text);z-index:50;border-bottom:1px solid #f4ece014;position:sticky;top:0}.header-inner{width:min(100% - 2rem,var(--wf-max));grid-template-columns:1fr auto;align-items:center;gap:1rem 1.5rem;margin:0 auto;padding:.9rem 0;display:grid}.site-title{font-family:var(--wf-serif);letter-spacing:-.03em;margin:0;font-size:1.25rem;font-weight:700;line-height:1.15}.site-title a{color:var(--wf-header-text);text-decoration:none}.site-title span{font-family:var(--wf-font);letter-spacing:.12em;text-transform:uppercase;color:var(--wf-gold);margin-bottom:.15rem;font-size:.72rem;font-weight:600;display:block}.menu-toggle{color:var(--wf-header-text);cursor:pointer;font:inherit;background:0 0;border:1px solid #f4ece033;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .8rem;display:inline-flex}.primary-nav{grid-column:1/-1;display:none}.site-header.is-open .primary-nav{display:block}.primary-nav ul{margin:0;padding:.4rem 0 0;list-style:none}.primary-nav a{color:var(--wf-header-text);border-bottom:1px solid #f4ece014;padding:.7rem .2rem;text-decoration:none;display:block}.site-content{flex:1;padding:2.2rem 0 4rem}.shell{margin:0 auto}.ad-slot,.shell{width:min(100% - 2rem,var(--wf-max))}.ad-slot{margin:1.5rem auto 0}.hero{margin-bottom:2rem}.kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--wf-copper);margin:0 0 .45rem;font-size:.72rem;font-weight:700}.hero h1,.page-title{font-family:var(--wf-serif);letter-spacing:-.03em;margin:0 0 .6rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1.08}.lede{color:var(--wf-muted);max-width:44rem;margin:0;font-size:1.08rem}.search-wrap{background:var(--wf-paper);border:1px solid var(--wf-line);max-width:36rem;box-shadow:var(--wf-shadow);border-radius:999px;align-items:center;gap:.4rem;margin:1.6rem 0 0;padding:.2rem .25rem .2rem 1rem;display:flex}.search-wrap input{font:inherit;min-width:0;color:var(--wf-ink);background:0 0;border:0;flex:1;padding:.7rem 0}.search-wrap input:focus{outline:none}.search-wrap input::placeholder{color:var(--wf-muted)}.cat-pills{flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 0;padding:0;list-style:none;display:flex}.cat-pills a,.chip{background:var(--wf-paper);color:var(--wf-ink);border:1px solid var(--wf-line);border-radius:999px;padding:.45rem .9rem;font-size:.95rem;text-decoration:none;display:inline-block}.cat-pills a.is-active,.chip.is-active{background:var(--wf-header);color:var(--wf-header-text);border-color:var(--wf-header)}.section-title{font-family:var(--wf-serif);letter-spacing:-.02em;margin:2.2rem 0 1rem;font-size:1.55rem}.tools-grid{gap:1.1rem;display:grid}.tool-card{background:var(--wf-paper);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow);border:1px solid #1614100f;grid-template-columns:88px minmax(0,1fr);min-width:0;transition:transform .18s,box-shadow .18s;display:grid;overflow:hidden}.tool-card:hover{transform:translateY(-2px);box-shadow:0 22px 44px #12211c1f}.tool-card a.card-link{color:inherit;text-decoration:none;display:contents}.tool-card-media{color:#e8c07a;background:#12211c;place-items:center;min-height:100%;padding:.7rem;display:grid}.tool-icon{width:48px;height:48px;display:block}.tool-hero{grid-template-columns:auto 1fr;align-items:start;gap:1rem 1.1rem;margin-bottom:.4rem;display:grid}.tool-hero .tool-icon{width:56px;height:56px}.seo-copy{border-top:1px solid var(--wf-line);max-width:46rem;margin-top:2rem;padding-top:1.4rem}.seo-copy h2,.seo-copy h3,.seo-copy h4{font-family:var(--wf-serif);letter-spacing:-.02em}.seo-copy h2{font-size:1.55rem}.seo-copy h3{margin-top:1.4rem;font-size:1.2rem}.seo-copy h4{margin:1rem 0 .25rem;font-size:1.05rem}.seo-copy li,.seo-copy p{color:var(--wf-ink)}.seo-copy .faq-item p{color:var(--wf-muted);margin-top:0}.search-terms{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.search-terms li{background:var(--wf-accent-soft);color:var(--wf-ink);border-radius:999px;padding:.28rem .75rem;font-size:.88rem}.tool-card-body{padding:.95rem 1.05rem 1.05rem}.tool-card-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--wf-copper);margin:0;font-size:.7rem;font-weight:700}.tool-card-title{font-family:var(--wf-serif);letter-spacing:-.02em;margin:.2rem 0 .35rem;font-size:1.2rem;line-height:1.25}.tool-card-excerpt{color:var(--wf-muted);margin:0;font-size:.95rem}.panel{background:var(--wf-paper);box-shadow:var(--wf-shadow);border:1px solid #1614100d;border-radius:24px;padding:clamp(1.1rem,3vw,2rem)}.crumbs{color:var(--wf-muted);flex-wrap:wrap;gap:.35rem .5rem;margin:0 0 1rem;font-size:.9rem;display:flex}.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover,.privacy{color:var(--wf-accent)}.privacy{background:var(--wf-accent-soft);border-radius:999px;align-items:center;gap:.45rem;margin:.4rem 0 .35rem;padding:.25rem .75rem;font-size:.82rem;font-weight:600;display:inline-flex}.privacy.abuse-line{color:var(--wf-muted);background:0 0;border-radius:0;max-width:42rem;margin:0 0 1rem;padding:0;font-weight:500;display:block}.privacy.abuse-line a{color:var(--wf-accent);text-underline-offset:2px;text-decoration:underline}.tool-layout{gap:1.4rem;display:grid}.io-grid{gap:1rem;display:grid}.field{gap:.4rem;display:grid}.field-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.label,label{font-size:.92rem;font-weight:650}input[type=color],input[type=datetime-local],input[type=email],input[type=number],input[type=text],input[type=url],select,textarea{border:1px solid var(--wf-line);width:100%;font:inherit;color:var(--wf-ink);background:#fff;border-radius:12px;padding:.75rem .85rem}.code-out,textarea{font-family:var(--wf-mono);resize:vertical;min-height:220px;font-size:.88rem;line-height:1.55}.code-out{color:#f4ece0;white-space:pre-wrap;word-break:break-word;background:#12211c;border-radius:14px;margin:0;padding:1rem 1.1rem;overflow:auto}.btn-row{flex-wrap:wrap;gap:.55rem;display:flex}.button,button{background:var(--wf-accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.62rem 1.05rem;text-decoration:none;display:inline-flex}.button.ghost,button.ghost{color:var(--wf-ink);border:1px solid var(--wf-line);background:0 0}button:disabled{opacity:.55;cursor:not-allowed}.status{border-radius:12px;padding:.75rem .9rem;font-size:.95rem}.status.ok{color:#14574b;background:#1f7a6a1f}.status.err{color:var(--wf-danger);background:#9b2c2c1a}.note{color:var(--wf-muted);font-size:.92rem}.help{margin-top:1.6rem}.help h2{font-family:var(--wf-serif);letter-spacing:-.02em;font-size:1.4rem}.help ul{padding-left:1.15rem}.related-grid{gap:.8rem;margin-top:1rem;display:grid}.kv{gap:.55rem}.kv,.kv-row{display:grid}.kv-row{border-bottom:1px solid var(--wf-line);grid-template-columns:140px 1fr;gap:.6rem;padding:.55rem 0}.kv-row dt{color:var(--wf-muted);font-size:.88rem}.kv-row dd{word-break:break-word;font-family:var(--wf-mono);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-size:.88rem;display:flex}.preview-card{border:1px solid var(--wf-line);background:#fff;border-radius:16px;overflow:hidden}.preview-card .media{aspect-ratio:1.91;background:#12211c 50%/cover no-repeat}.preview-card .body{padding:.85rem 1rem 1rem}.preview-card .domain{color:var(--wf-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.preview-card h3{margin:.2rem 0;font-size:1.05rem}.preview-card p{color:var(--wf-muted);margin:0;font-size:.92rem}.swatch{border-radius:16px;width:100%;min-height:120px}.md-preview,.swatch{border:1px solid var(--wf-line)}.md-preview{background:#fff;border-radius:14px;min-height:220px;padding:1rem 1.1rem}.md-preview :first-child{margin-top:0}.md-preview pre{color:#f4ece0;background:#12211c;border-radius:10px;padding:.8rem 1rem;overflow:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}td,th{text-align:left;border-bottom:1px solid var(--wf-line);vertical-align:top;padding:.55rem .5rem}th{color:var(--wf-muted);font-weight:650}.site-footer{background:var(--wf-header);color:var(--wf-header-text);margin-top:auto}.footer-inner{width:min(100% - 2rem,var(--wf-max));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.4rem;margin:0 auto;padding:1.6rem 0 1.4rem;display:flex}.site-footer a{color:var(--wf-header-muted);text-decoration:none}.site-footer a:hover{color:var(--wf-gold)}.copyright{color:var(--wf-header-muted);margin:0;font-size:.92rem}.footer-copy{gap:.35rem;display:grid}.abuse-hint{color:var(--wf-header-muted);max-width:36rem;margin:0;font-size:.85rem}.abuse-hint a{color:var(--wf-gold);text-underline-offset:2px;text-decoration:underline}.consent-row{align-items:flex-start;gap:.6rem;max-width:42rem;font-size:.92rem;font-weight:500;line-height:1.45;display:flex}.consent-row input{flex-shrink:0;margin-top:.25rem}.check-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.45rem 1rem;display:grid}.check-grid label{align-items:center;gap:.5rem;font-weight:500;display:flex}.range-row{gap:.25rem;display:grid}.range-row input[type=range]{width:100%}.split-2{gap:1rem;display:grid}@media (width>=800px){.header-inner{grid-template-columns:auto 1fr;padding:.7rem 0}.menu-toggle{display:none}.primary-nav{grid-column:auto;display:block}.primary-nav ul{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.15rem;padding:0;display:flex}.primary-nav a{border:0;border-radius:999px;padding:.55rem .8rem}.primary-nav a:hover{background:#f4ece014}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.io-grid{grid-template-columns:1fr 1fr}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-2{grid-template-columns:1fr 1fr}}@media (width>=1080px){.related-grid,.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.lang-switch{align-items:center;gap:.35rem;display:inline-flex}.lang-switch a{color:inherit;border-radius:999px;padding:.25rem .65rem;font-size:.85rem;text-decoration:none}.lang-switch a.is-active{background:var(--wf-gold);color:#12211c}.site-header .lang-switch a{color:var(--wf-header-text)}.site-header .lang-switch a.is-active{color:#12211c}.kv-editor{gap:.45rem;display:grid}.kv-edit-row{grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:.4rem;display:grid}.tab-list{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.tab-list button.is-active{background:var(--wf-header);color:var(--wf-header-text);border-color:var(--wf-header)}.api-play{gap:1.2rem;display:grid}.api-method{align-items:end}.url-lg{font-family:var(--wf-mono);font-size:.95rem}.html-preview{border:1px solid var(--wf-line);background:#fff;border-radius:14px;width:100%;min-height:280px}.json-toggle{padding:.2rem .55rem}.json-leaf,.json-toggle{font-family:var(--wf-mono);font-size:.82rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
