:root{--bg: #181818;--surface: #212121;--surface-2: #2a2a2a;--ink: #f0f0f0;--ink-2: #c4c4c4;--ink-3: #8f8f8f;--rule: #353535;--accent: #7fd1cc;--accent-ink: #0b1a1a;--accent-soft: #163a39;--ok: #7cd992;--ok-soft: #173224;--warn: #e5b85c;--warn-soft: #3a2c13;--bad: #f08a8a;--bad-soft: #3d1f1f;--code-bg: #0b0b0b;--font-display: "Montserrat", "Segoe UI", Helvetica, Arial, sans-serif;--font-body: "Montserrat", "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, "Liberation Mono", Menlo, monospace;--measure: 68ch;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0}h1{font-size:clamp(30px,3.6vw,44px);font-weight:800;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase}h2{font-size:28px;font-weight:700;line-height:1.25;margin-top:48px;margin-bottom:12px}h3{font-size:20px;font-weight:600;line-height:1.3;margin-top:28px;margin-bottom:8px}h4{font-size:16px;font-weight:700;line-height:1.35;margin-top:18px;margin-bottom:6px}@media(max-width:720px){h2{font-size:24px}h3{font-size:18px}}p,ul,ol{max-width:var(--measure);margin:0 0 14px;text-wrap:pretty}ul,ol{padding-left:22px}li{margin-bottom:6px}li::marker{color:var(--ink-3)}code,.mono{font-family:var(--font-mono);font-size:.9em;background:var(--surface-2);border-radius:3px;padding:1px 5px;color:var(--ink)}pre{background:var(--code-bg);border:1px solid var(--rule);border-radius:4px;padding:14px 16px;overflow-x:auto;font-family:var(--font-mono);font-size:13px;line-height:1.5;margin:12px 0 18px}pre code{background:transparent;padding:0;font-size:inherit}hr{border:0;border-top:1px solid var(--rule);margin:32px 0}strong{font-weight:600}small{color:var(--ink-3)}.eyebrow{font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.lead{font-size:19px;line-height:1.55;color:var(--ink-2);max-width:60ch;margin:14px 0 26px}@media(max-width:720px){.lead{font-size:17px}}.muted{color:var(--ink-3)}.site-header{background:var(--bg)}.site-header .bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px;padding:0 1% 0 3%}.site-header .logo{display:block;line-height:0}.site-header .logo img{height:73px;width:auto;display:block}.site-nav{display:flex;align-items:center;gap:46px}.site-nav a{position:relative;font-family:var(--font-display);font-size:20px;line-height:24px;font-weight:700;text-transform:uppercase;color:#f0f0f0;text-decoration:none;padding:6px 0;white-space:nowrap}.site-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#f0f0f0;opacity:0;transition:opacity .2s}.site-nav a:hover:after{opacity:1}.menu-check{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.menu-toggle{display:none}@media(max-width:1024px){.menu-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:8px;border-radius:3px;color:#f0f0f0;cursor:pointer}.menu-toggle .i-close{display:none}.menu-check:checked~.menu-toggle .i-open{display:none}.menu-check:checked~.menu-toggle .i-close{display:block}.menu-check:focus-visible~.menu-toggle{outline:2px solid #F0F0F0;outline-offset:2px}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;flex-direction:column;align-items:stretch;gap:0;background:#fff;box-shadow:0 16px 32px #00000059}.menu-check:checked~.site-nav{display:flex}.site-nav a{color:#33373d;padding:18px 21px;white-space:normal}.site-nav a:after{display:none}.site-nav a:hover{background:#f1f1f1}.site-nav a[aria-current=page]{background:#181818;color:#f0f0f0}}.kb-nav{background:var(--surface);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.kb-nav .bar{padding:8px 1% 8px 3%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:13px}.kb-nav a{color:var(--ink-2);text-decoration:none;padding:4px 0}.kb-nav a:hover,.kb-nav a[aria-current=page]{color:var(--accent)}.kb-nav .lang{margin-left:auto;display:flex;gap:10px;font-family:var(--font-display);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.kb-nav .lang a[aria-current=true]{color:var(--ink);font-weight:700}.page{max-width:1180px;margin:0 auto;padding:36px 24px 80px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px}.page.single{grid-template-columns:minmax(0,1fr)}@media(max-width:960px){.page{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 16px 64px}.aside{order:2}}main{min-width:0}.aside{font-size:14px}.aside .box{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:16px 18px;margin-bottom:18px}.aside .box h3{margin-top:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.aside ul{padding-left:0;list-style:none;margin:0}.aside li{margin-bottom:8px}.aside .cta{background:var(--accent-soft);border-color:var(--accent)}.aside .cta h3{color:var(--accent)}.btn{display:inline-block;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;padding:13px 22px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;border-radius:0}.btn:hover{background:var(--ink);color:var(--bg)}.btn.accent{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.accent:hover{background:transparent;color:var(--ink)}.crumbs{font-size:13px;color:var(--ink-3);margin-bottom:18px;display:flex;flex-wrap:wrap;gap:6px}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs span:before{content:"/";margin-right:6px;color:var(--rule)}.crumbs span:first-child:before{content:none}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:22px 0 8px}.facts>div{padding:12px 16px 12px 0}.facts .k{font-family:var(--font-display);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}.facts .v{font-size:14.5px;color:var(--ink)}.tablewrap{overflow-x:auto;margin:12px 0 22px;border:1px solid var(--rule);border-radius:4px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--rule)}th{font-family:var(--font-display);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;background:var(--surface-2);white-space:nowrap}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td .mono{white-space:nowrap}tbody tr:hover td{background:var(--surface-2)}.chip{display:inline-block;font-family:var(--font-display);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap;line-height:1.6}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.acc{background:var(--accent-soft);color:var(--accent)}.chip.neutral{background:var(--surface-2);color:var(--ink-2)}.chips{display:flex;flex-wrap:wrap;gap:6px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:16px 0 24px}.card{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:16px 18px}.card h3{margin-top:0;font-size:15px}.card p{font-size:14px;color:var(--ink-2);margin-bottom:0}.card a{text-decoration:none}.card a:hover{text-decoration:underline}.list{list-style:none;padding:0;max-width:none;border-top:1px solid var(--rule)}.list li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--rule);margin:0}.list li b{font-weight:600}.list li span{color:var(--ink-2);font-size:14.5px}@media(max-width:640px){.list li{grid-template-columns:1fr;gap:4px}}.tree{list-style:none;padding-left:0;max-width:none;font-size:14px}.tree ul{list-style:none;padding-left:22px;border-left:1px solid var(--rule);margin:4px 0 4px 8px}.tree li{margin:4px 0}.tree .ent{font-family:var(--font-mono);font-size:13px;color:var(--ink)}.tree .card-inline{color:var(--ink-3);font-size:12px;margin-left:6px}.steps{list-style:none;padding:0;max-width:none}.steps li{display:grid;grid-template-columns:120px 180px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--rule);margin:0;font-size:14.5px}.steps .when{font-family:var(--font-mono);color:var(--accent);font-size:13px}.steps .who{color:var(--ink-2)}@media(max-width:720px){.steps li{grid-template-columns:1fr;gap:4px}}.faq details{border-top:1px solid var(--rule);padding:10px 0;max-width:var(--measure)}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;font-weight:600;color:var(--ink)}.faq p{margin:8px 0 0;color:var(--ink-2)}.note{border-left:3px solid var(--accent);padding:4px 0 4px 14px;color:var(--ink-2);font-size:14.5px;max-width:var(--measure);margin:14px 0 18px}.badge-valid{display:inline-flex;align-items:center;gap:8px;background:var(--ok-soft);color:var(--ok);border-radius:4px;padding:6px 10px;font-size:12.5px;margin:6px 0 10px}.example-toggle{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.attr-matrix td:not(:first-child){text-align:center;font-family:var(--font-mono);font-size:12px}.attr-matrix .v{color:var(--ok);font-weight:700}.attr-matrix .o{color:var(--ink-3)}.attribution{max-width:1180px;margin:0 auto;padding:18px 24px 24px;font-size:12.5px;color:var(--ink-3);border-top:1px solid var(--rule)}.site-footer{background:#000;border-top:1px solid #F0F0F0}.site-footer .bar{display:flex;flex-wrap:wrap;align-items:center;gap:24px 3%;padding:55px 3% 44px}.site-footer .logo{display:block;line-height:0}.site-footer .logo img{height:48px;width:auto;display:block}.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px}.site-footer nav a{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.28px;text-transform:uppercase;color:#f0f0f0;text-decoration:none}.site-footer nav a:hover{color:#b5b5b5}@media(max-width:640px){.site-footer nav a{font-size:16px}}.validator{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.validator textarea{width:100%;min-height:260px;background:var(--code-bg);color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:12px;font-family:var(--font-mono);font-size:13px}.validator .controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.validator select,.validator input[type=file]{background:var(--surface);color:var(--ink);border:1px solid var(--rule);border-radius:4px;padding:8px 10px;font-size:14px}.validator button{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.08em;line-height:1.2;text-transform:uppercase;padding:13px 22px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);cursor:pointer}.validator button:hover{background:transparent;color:var(--ink)}.validator button.secondary{background:transparent;color:var(--ink);border-color:var(--ink-3)}.validator button.secondary:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.validator .result{background:var(--surface);border:1px solid var(--rule);border-radius:4px;padding:14px 16px}.validator .result h3{margin-top:0}.validator .finding{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid var(--rule);font-size:13.5px}.validator .finding .path{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);word-break:break-all}.validator .ok-banner{color:var(--ok)}.validator .bad-banner{color:var(--bad)}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
