body.pg{background:var(--io-paper);color:var(--io-ink);overflow-x:hidden}.tl-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--io-line-ondark)}.tl-hero #mesh{position:absolute;inset:0;width:100%;height:100%}.tl-hero .veil{position:absolute;inset:0;background:radial-gradient(75% 70% at 28% 42%,#0a0a0a40,#0a0a0ad1 80%);pointer-events:none}.tl-hero .inner{position:relative;z-index:2;padding:clamp(56px,8vw,110px) 0 clamp(48px,6.5vw,78px)}.tl-hero .crumb{margin-bottom:26px}.tl-hero h1{max-width:18ch;margin-top:8px}.tl-hero .io-lead{margin-top:22px;max-width:52ch}.tl-hero .tag{display:inline-block;font-family:var(--io-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--io-g400);border:1px solid var(--io-line-ondark-strong);border-radius:5px;padding:6px 10px;margin-bottom:16px}.tools{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tool{display:flex;flex-direction:column;color:inherit;text-decoration:none;min-height:260px}.tool .k{font-family:var(--io-mono);font-size:11px;letter-spacing:.08em;color:var(--io-g500);margin-bottom:18px}.tool h2{margin-bottom:11px}.tool>p{color:var(--io-g700);font-size:15.5px;line-height:1.55}.tool .go{margin-top:auto;padding-top:24px;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:var(--io-ink)}.tool .go .ar{transition:transform .2s}.tool:hover .go .ar{transform:translate(4px)}.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--io-line);border:1px solid var(--io-line);border-radius:12px;overflow:hidden;margin-top:34px}.meta .m{background:var(--io-paper);padding:18px 20px}.meta .m .k{display:block;font-family:var(--io-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--io-g500);margin-bottom:7px}.meta .m .v{font-family:var(--io-display);font-weight:600;font-size:16px}.warn{border:1px solid var(--io-line-strong);border-left:3px solid var(--io-ink);border-radius:10px;padding:20px 22px;margin-top:30px;background:var(--io-g100)}.warn h3{font-family:var(--io-display);font-weight:600;font-size:16px;margin-bottom:8px}.warn p{color:var(--io-g700);font-size:15px;line-height:1.6}.warn p+p{margin-top:10px}.gen{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:26px;align-items:start}.gen .panel{border:1px solid var(--io-line);border-radius:14px;padding:24px}.gen .row{margin-bottom:18px}.gen .row:last-child{margin-bottom:0}.gen label{display:block;font-family:var(--io-mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--io-g600);margin-bottom:8px}.gen .hint{font-size:13px;color:var(--io-g600);margin-top:7px;line-height:1.5}.gen .seg{display:flex;gap:0;border:1px solid var(--io-line-strong);border-radius:8px;overflow:hidden}.gen .seg button{flex:1;background:var(--io-paper);border:0;border-right:1px solid var(--io-line);padding:11px 8px;font-family:var(--io-mono);font-size:12.5px;color:var(--io-g700);cursor:pointer;min-height:42px}.gen .seg button:last-child{border-right:0}.gen .seg button[aria-pressed=true]{background:var(--io-ink);color:var(--io-paper)}.gen .seg button:focus-visible{outline:2px solid var(--io-ink);outline-offset:-2px}.out{border:1px solid var(--io-line-strong);border-radius:14px;overflow:hidden}.out .bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--io-line);background:var(--io-g100)}.out .bar span{font-family:var(--io-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--io-g600)}.out pre{margin:0;padding:20px;overflow-x:auto;background:var(--io-ink);color:var(--io-paper)}.out code{font-family:var(--io-mono);font-size:13px;line-height:1.7;white-space:pre}.out .empty{padding:20px;color:var(--io-g600);font-size:14.5px}.out+.out{margin-top:18px}@media(max-width:900px){.tools{grid-template-columns:1fr}.gen{grid-template-columns:minmax(0,1fr)}}.gen .panel{min-width:0}.gen .io-input,.gen .io-select{width:100%;max-width:100%;box-sizing:border-box}.faq{border-top:1px solid var(--io-line)}.faq details{border-bottom:1px solid var(--io-line)}.faq summary{list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;gap:20px;align-items:center;font-family:var(--io-display);font-weight:600;font-size:clamp(17px,1.9vw,20px);letter-spacing:-.01em}.faq summary::-webkit-details-marker{display:none}.faq summary .pm{width:22px;height:22px;flex-shrink:0;position:relative}.faq summary .pm:before,.faq summary .pm:after{content:"";position:absolute;background:var(--io-ink);transition:transform .25s}.faq summary .pm:before{top:10px;left:3px;right:3px;height:2px}.faq summary .pm:after{left:10px;top:3px;bottom:3px;width:2px}.faq details[open] summary .pm:after{transform:scaleY(0)}.faq .ans{padding:0 0 24px;font-size:15.5px;color:var(--io-g700);line-height:1.6;max-width:64ch}
